Author: Will Eaton, Princeton University 2021
Last modified: April 12th 2022
Contact: weaton@princeton.edu
Short description:
A small repo containing scripts to inject shapes such as ellipsoids, slabs and cylinders into 3D cartesian models for use in AxiSEM3D.
Full documentation can be found ... . If you have any questions please open an issue or contact me via email.
Three classes provide the functionality of this package:
Modelis used to create a background cartesian grid into which shapes can be added. This can represent the entire domain you are simulating, or a subset of it. It holds, among other things, three arraysVP,VSandRHOwhich eventually stored in NetCDF files for AxiSEM-3D to read.Shapeis an abstract base class. Subclasses of this (e.g.EllipsoidorCylinder) can be instantiated and injected into the model arrays (e.g.VP) using anInjectorobjectInjectorare instantiated by passing in aModelobject, and are used to injectShapeobjects into theModelarrays.
Shapes can be created with dimensions and orientation specified by the user. Originally these codes were just written for injecting spheres. As such, the position of shapes is located by a central point of the shape, rather than an edge. I may add more flexibility for this in the future.
I recommend viewing your generated models in Paraview to check everything has worked, before running simulations.
- Complete testing of all scripts
- Global (spherical) wrapper for use in non-cartesian Axisem-3D.
- Parallel grid searches for shape construction?