Information about meshgrid in pdetool. How can I define specific mesh?

조회 수: 5 (최근 30일)
yogan sganzerla
yogan sganzerla 2017년 11월 3일
답변: Precise Simulation 2017년 11월 4일
Hello, I am developing a project to study a heat transfer in a plate. I am using pdetool to solve the EDP.
I would like to know a little bit more about the mesh...
Now, I have this mesh:
But I would like the mesh like squares:
Is it possible?
Cheers

답변 (2개)

Ravi Kumar
Ravi Kumar 2017년 11월 3일
Hi Yogan,
PDE Toolbox does not support quadrilateral elements as shown in your second picture. If your purpose is the find the solution on a rectangular grid, then you can first solve using the PDE Toolbox triangular mesh and then interpolate the solution onto a rectangular grid. Refer to the documentation following documentation page for examples:
https://www.mathworks.com/help/pde/ug/pde.steadystatethermalresults.interpolatetemperature.html
Also, I would suggest use the programmatic approach as shown in the documentation not the PDE App.

Precise Simulation
Precise Simulation 2017년 11월 4일
If you prefer to set up and solve heat transfer plate and other PDE problems with a structured quadrilateral mesh, it is possible to use the rectgrid function included in the finite element FEA toolbox . The following code shows a small example of defining and solving heat conduction in a rectangular 2D domain with structured quadrilateral mesh cells (alternatively, you can use the GUI at first, and then save you model as an editable m-file script file to see how the FEA script modeling and definition works):
% Define geometry and grid.
nx = 20;
ny = 5;
dim = [ 0, 4; 0, 1 ];
fea.grid = rectgrid( nx, ny, dim );
fea.sdim = { 'x' 'y' };
% Add heattransfer multiphysics mode.
fea = addphys( fea, @heattransfer );
rho = 1;
k = '1e-3*(1 + x)';
cp = 'cos(x)';
fea.phys.ht.eqn.coef{1,end} = { rho };
fea.phys.ht.eqn.coef{2,end} = { cp };
fea.phys.ht.eqn.coef{3,end} = { k };
% Use temperature boundary conditions (1)
% on the left (4) and right (2) edges.
fea.phys.ht.bdr.sel([2 4]) = 1;
Tl = 300;
Tr = 450;
fea.phys.ht.bdr.coef{1,end}{2} = Tr;
fea.phys.ht.bdr.coef{1,end}{4} = Tl;
% Check, parse, and solve stationary problem.
fea = parsephys( fea );
fea = parseprob( fea );
fea.sol.u = solvestat( fea );
% Plot grid and solution.
postplot( fea, 'surfexpr', 'T', 'linestyle', '-' )

카테고리

Help CenterFile Exchange에서 Geometry and Mesh에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by