Using Matlab for solving 3d PDE and creating geometry

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.

1 comentario

sevgi
sevgi el 7 de Mzo. de 2024
hello, I have a similar problem. did you find a solution

Iniciar sesión para comentar.

Respuestas (1)

Ravi Kumar
Ravi Kumar el 30 de Abr. de 2024
Editada: Ravi Kumar el 1 de Mayo de 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.

Productos

Versión

R2017a

Preguntada:

el 10 de Dic. de 2018

Editada:

el 1 de Mayo de 2024

Community Treasure Hunt

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

Start Hunting!

Translated by