3D diffusion equation in cylinder
33 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Ahmed Aldohbeyb
el 29 de Mayo de 2017
Comentada: Precise Simulation
el 5 de Nov. de 2021
Hi everyone, I am new in Matlab and I need some help. I want know if there is a way to solve the PDE for diffusion in a cylinder with 2 cm radius and 10 cm height.
thanks
0 comentarios
Respuesta aceptada
Precise Simulation
el 22 de Nov. de 2017
Editada: Precise Simulation
el 22 de Nov. de 2017
Modelling and simulation of convection and diffusion for a 3D cylindrical (and other) domains is possible with the Matlab Finite Element FEM Toolbox , either by using the built-in GUI or as a m-script file as shown below.
% Set up 3D cylindric domain.
fea.sdim = { 'x' 'y' 'z' };
fea.grid = cylgrid( 4, 3, 20, 0.02, 0.1 );
% plotgrid( fea ) % Plot mesh.
% Add covection and diffusion physics mode.
fea = addphys( fea, @convectiondiffusion, {'C'} );
% Define diffusion coefficient.
fea.phys.cd.eqn.coef{2,end} = {'d_coef'};
fea.expr = { 'c', {'1.23'} ;
'd_coef', {'(1+c)^2/((1+c)^2+1)'} };
% Set reaction source term to 1e3.
fea.phys.cd.eqn.coef{6,end} = {1e3};
% Use C = -1 on side boundaries, and insulation
% flux boundary conditions on the top and bottom.
fea.phys.cd.bdr.sel = [ 3 1 1 1 1 3 ];
[fea.phys.cd.bdr.coef{1,end}{2:5}] = deal(-1);
% Check, parse, and solve problem with stationary solver.
fea = parsephys( fea );
fea = parseprob( fea );
fea.sol.u = solvestat( fea );
% Postprocessing.
postplot( fea, 'sliceexpr', 'C' )
title( 'Concentration, C' )
6 comentarios
Rae K.
el 10 de Sept. de 2021
Editada: Rae K.
el 10 de Sept. de 2021
@Precise Simulation The cylgrid function doesn't appear to be part of the Matlab Finite Element FEM Toolbox, or appear anywhere in MATLAB Help/Answers other than this post.
Precise Simulation
el 5 de Nov. de 2021
The cylgrid function is available as part of the toolbox installation:
Más respuestas (1)
Torsten
el 30 de Mayo de 2017
If you have experience with the discretization of partial differential equations, you can write your own MATLAB code.
Otherwise, I'd suggest you use the PDE toolbox.
Best wishes
Torsten.
0 comentarios
Ver también
Categorías
Más información sobre Boundary Conditions en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!