S

salvus_mesher

The next generation mesh generator for 2D and 3D spectral element methods.

Name Last Update
conf Loading commit data...
example Loading commit data...
pymesher Loading commit data...
.coveragerc Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gitlab-ci.yml Loading commit data...
.travis.yml Loading commit data...
README.md Loading commit data...
conftest.py Loading commit data...
setup.py Loading commit data...

build status coverage report

Salvus Mesher

The next generation mesh generator for 2D and 3D spectral element methods.

Installation

salvus_mesher currently depends on pyexodus for writing exodus files:

conda install -c conda-forge numpy scipy matplotlib pyyaml jsonschema pytest flake8 pytest-mpl pyyaml
# On Python 2 also
conda install -c conda-forge mock
pip install https://github.com/SalvusHub/pyexodus/archive/master.zip

Install pymesher from salvus_mesher directory.

pip install -v -e .

If you compiler supports openmp, you can use it with:

CFLAGS="-fopenmp" pip install -v -e .

Run tests:

python -m pymesher.tests

Usage

Generate a Mesh with default settings:

python -m pymesher.interface

Generate Salvus Meshes:

usage: python -m pymesher.interface [-h] [--generate_plots] [--quiet]
                                    [--output_filename OUTPUT_FILENAME]
                                    [--overwrite_file] [--input_file FILENAME]

CLI interface for the Salvus mesher.

optional arguments:
  -h, --help            show this help message and exit
  --generate_plots      Show plots while meshing. WARNING: slow and memory
                        intensive for short periods. In 3D only useful for
                        very small meshes.
  --quiet, -q           Silence output.
  --output_filename OUTPUT_FILENAME, -o OUTPUT_FILENAME
                        Output filename for the mesh.
  --overwrite_file      Overwrite mesh file if it exists.
  --input_file FILENAME
                        Use a YAML or JSON file as an input.

Available Commands:
  Globe3D           Generate a 3D cubed sphere mesh.
  SphericalChunk3D  Generate a single chunk 3D mesh.
  Circular2D        Generate a circular 2D mesh.
  AxiSEM            Generate an AxiSEM mesh.
  Cartesian2D       Generate a 2D cartesian mesh.
  Cartesian3D       Generate a 3D cartesian mesh.

Combine a subcommand with -h to get detailed options:

python -m pymesher.interface Globe3D -h