3D diffusion equation in cylinder

조회 수: 30 (최근 30일)
Ahmed Aldohbeyb
Ahmed Aldohbeyb 2017년 5월 29일
댓글: Precise Simulation 2021년 11월 5일
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

채택된 답변

Precise Simulation
Precise Simulation 2017년 11월 22일
편집: Precise Simulation 2017년 11월 22일
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
Rae K.
Rae K. 2021년 9월 10일
편집: Rae K. 2021년 9월 10일
@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
Precise Simulation 2021년 11월 5일
The cylgrid function is available as part of the toolbox installation:

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Torsten
Torsten 2017년 5월 30일
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.

카테고리

Help CenterFile Exchange에서 Boundary Conditions에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by