3D model shapes for AxiSEM-3D
Author: Will Eaton, Princeton University 2021
Last modified: April 12th 2022
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 arrays
RHOwhich eventually stored in NetCDF files for AxiSEM-3D to read.
Shapeis an abstract base class. Subclasses of this (e.g.
Cylinder) can be instantiated and injected into the model arrays (e.g.
VP) using an
Injectorare instantiated by passing in a
Modelobject, and are used to inject
Shapeobjects into the
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.
Still to do:
- Complete testing of all scripts
- Global (spherical) wrapper for use in non-cartesian Axisem-3D.
- Parallel grid searches for shape construction?
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Hashes for axisem3Dshapes-1.0.3-py3-none-any.whl