Set non-constant boundary condition proportional to solution at that point and time
1 次查看(过去 30 天)
显示 更早的评论
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!
I have been trying to model this for hours!! Please help!!
0 个评论
采纳的回答
Ravi Kumar
2020-11-5
Hi Ollie,
The function you have written does exactly what you describe. What is the issue you are encountering?
Regards,
Ravi
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Boundary Conditions 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!