Using Matlab for solving 3d PDE and creating geometry

20 vues (au cours des 30 derniers jours)
amit amit
amit amit le 10 Déc 2018
Modifié(e) : Ravi Kumar le 1 Mai 2024
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 commentaire
sevgi
sevgi le 7 Mar 2024
hello, I have a similar problem. did you find a solution

Connectez-vous pour commenter.

Réponses (1)

Ravi Kumar
Ravi Kumar le 30 Avr 2024
Modifié(e) : Ravi Kumar le 1 Mai 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.

Produits


Version

R2017a

Community Treasure Hunt

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

Start Hunting!

Translated by