# Set non-constant boundary condition proportional to solution at that point and time

1 Ansicht (letzte 30 Tage)
Ollie Bardsley am 5 Nov. 2020
Kommentiert: Ollie Bardsley am 5 Nov. 2020
Hiya,
I'm attempting to model diffusion from a 3D geometry using PDE Toolbox. I have set up a cylinder and wish for diffusion to occur at a rate proportional to the concentration at that point. I have specified the following:
%Apply F1 rate of flux = 0
applyBoundaryCondition(model,"neumann","Face",1,"g",0,"q",0);
%Apply F2 rate of flux = 3e-6 mol/m2/s = 3e-24 mol/nm2/s
applyBoundaryCondition(model,"neumann","Face",2,"g",3e-24,"q",0);
%Apply F3 rate of exit = 3e-6 mol/m2/s = 3e-24 mol/nm2/s
applyBoundaryCondition(model,"neumann","Face",3,"g",@myfunc,"q",0);
tlist = 0:1e8:1e9;
solution = solvepde(model,tlist);
sol = solution.NodalSolution;
function bcMatrix = myfunc(location,state)
R=1
bcMatrix = R*state.u
end
I was hoping to set my Neumann boundary condition 'g' parameter equal to some constant R multiplied by the concentration on that boundary at that point. I read the forums trying to find an answer but couldn't find one!
##### 0 Kommentare-1 ältere Kommentare anzeigen-1 ältere Kommentare ausblenden

Melden Sie sich an, um zu kommentieren.

### Akzeptierte Antwort

Ravi Kumar am 5 Nov. 2020
Hi Ollie,
The function you have written does exactly what you describe. What is the issue you are encountering?
Regards,
Ravi
##### 1 KommentarKeine anzeigenKeine ausblenden
Ollie Bardsley am 5 Nov. 2020
Hiya Ravi,
Thank you for the response. I'm confused because it's taking a ridiculously long time to produce a result from? I had presumed this was because something was wrong with the function...
Best wishes
Ollie

Melden Sie sich an, um zu kommentieren.

### Kategorien

Mehr zu Eigenvalue Problems finden Sie in Help Center und File Exchange

R2020b

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!