Using Matlab for solving 3d PDE and creating geometry

8 visualizzazioni (ultimi 30 giorni)
Hi I need to solve a 3D diffusion equation on a geometry of a sphere inside a cube.
However - I saw that in PDE toolbox I can only create a sphere inside a sphere or a cube inside a cube. Therefore I would like to ask:
  1. How can I create this kind of geometry?
  2. How would I then manage the boundary conditions?
  3. What is the right syntax for coefficient speficiation in 3D (speficially here the sphere is a source and the cube has no source)?
Thanks.

Risposte (1)

Ravi Kumar
Ravi Kumar il 30 Apr 2024
Modificato: Ravi Kumar il 1 Mag 2024
Here is an example.
gmCube = fegeometry(multicuboid(1,1,1));
gmCube = gmCube.translate([0,0,-0.5]); % Translate so that the cube is centered at the origin.
gmSphere = fegeometry(multisphere(0.25));
gmSphereInCube = addCell(gmCube,gmSphere);
pdegplot(gmSphereInCube,'CellLabels','on','FaceAlpha',0.5)
If you are using MATLAB R2022b or older, then skip the fegeometry() calls.

Prodotti


Release

R2017a

Community Treasure Hunt

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

Start Hunting!

Translated by