Set non-constant boundary condition proportional to solution at that point and time
    13 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
    Ollie Bardsley
 le 5 Nov 2020
  
    
    
    
    
    Commenté : Ollie Bardsley
 le 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! 
I have been trying to model this for hours!! Please help!!
0 commentaires
Réponse acceptée
  Ravi Kumar
      
 le 5 Nov 2020
        Hi Ollie, 
The function you have written does exactly what you describe. What is the issue you are encountering?
Regards, 
Ravi
Plus de réponses (0)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!