PDE solver on 2D sphere

Hi,
I would like to solve a spatio-temporal non-linear PDE on a 2D sphere (not a 'shell' with a finite thickness).
I see there is a number of mesh generators (cubed sphere, icosahedral grid) for Matlab, but how to integrate them with a PDE solver?
Is it possible with PDEtoolbox or other Matlab tools? Any examples?
Climate modelers probably do this all the time...

5 comentarios

Amal George M
Amal George M el 3 de Sept. de 2018
Hi Mark,
MATLAB Partial Differential Equations Toolbox support both 2D and 3D geometries. You can find a couple of examples at this link . Time dependency can also be integrated into the problem, by providing a list of time instances to the ' solvepde ' function.
Syntax:
result = solvepde(model,timelist);
Here is an example involving time-varying results.
Hope this helps.
Mark vanRossum
Mark vanRossum el 3 de Sept. de 2018
Thank you, but I would like to solve on a sphere, which is a 2D object embedded in 3D space.
I don't see how that fits in the PDEtoolbox which either requires 3D objects (which a sphere is not) or 2D objects embedded in 2D space.
The only solution I currently see is to make it a shell of finite thickness.
Torsten
Torsten el 3 de Sept. de 2018
You could calculate on a rectangle if you use spherical coordinates ...
Best wishes
Torsten.
Mark vanRossum
Mark vanRossum el 3 de Sept. de 2018
That's a good idea Torsten. Will the poles give trouble, and do I need special boundary conditions there?
Torsten
Torsten el 3 de Sept. de 2018
I don't know. My guess is that the periodic boundary condition will be the most difficult part to deal with when using the PDE toolbox.
Best wishes
Torsten.

Iniciar sesión para comentar.

Respuestas (1)

Ravi Kumar
Ravi Kumar el 4 de Sept. de 2018

0 votos

If you are referring to thin walled hollow sphere, a 3-D volume as your problem domain, then you can create such geometry in PDE Toolbox as:
radius = 1;
thickness = radius/10;
gm = multisphere([radius-thickness, radius], 'Void',[1,0]);
model = createpde;
model.Geometry = gm;
pdegplot(model,'FaceLabels','on','FaceAlpha',0.3,'CellLabels','on')
print('Hollow_Sphere','-dpng','-r200')

Productos

Versión

R2018a

Preguntada:

el 29 de Ag. de 2018

Respondida:

el 4 de Sept. de 2018

Community Treasure Hunt

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

Start Hunting!

Translated by