Mondaic
This API reference is not for the latest stable Salvus version.

salvus.project.meshing

Meshing functionality for SalvusProject.

Functions

mesh_cartesian_ocean_lm()

def mesh_cartesian_ocean_lm(
    domain: salvus.project.domain.Domain,
    background_model: salvus.project.configuration.model.background._BackgroundBase,
    min_vertical_coordinate: float,
    max_vertical_coordinate: float,
    mesh_configuration: salvus.project.configuration.mesh_configuration.MeshConfiguration,
    topography_configuration: Optional[
        salvus.project.configuration.topography._TopographyConfigurationInternal
    ],
    bathymetry_configuration: Optional[
        salvus.project.configuration.bathymetry._BathymetryConfigurationInternal
    ],
    bm_shift: float = 0.0,
    interlayer_coarsening_policy: Optional[InterlayerCoarseningPolicy] = None,
) -> salvus.mesh.unstructured_mesh.UnstructuredMesh:
    ...

Mesh 2- or 3-D cartesian domain with oceans using the layered mesher.

Parameters
  • domain salvus.project.domain.Domain — The domain.
  • background_model salvus.project.configuration.model.background._BackgroundBase — The background model.
  • min_vertical_coordinate float — The minimum vertical coordinate in the mesh.
  • max_vertical_coordinate float — The maximum vertical coordinate in the mesh.
  • mesh_configuration salvus.project.configuration.mesh_configuration.MeshConfiguration — The mesh configuration.
  • topography_configuration Optional[salvus.project.configuration.topography._TopographyConfigurationInternal] — The topography configuration.
  • bathymetry_configuration Optional[salvus.project.configuration.bathymetry._BathymetryConfigurationInternal] — The bathymetry configuration.
  • bm_shift float — For UTM domains — shift away from the reference datum.
  • interlayer_coarsening_policy Optional[InterlayerCoarseningPolicy] — An optional interlayer coarsening policy that allows for overriding the default InterlayerDoubling policy. Can be useful for challenging meshes with thin layers.
Returns salvus.mesh.unstructured_mesh.UnstructuredMesh — A cartesian mesh with oceans.

mesh_from_circular_domain()

def mesh_from_circular_domain(
    domain: salvus.project.domain.dim2.CircularDomain,
    topography: Optional[
        salvus.project.configuration.topography._TopographyConfigurationInternal
    ],
    bathymetry: Optional[
        salvus.project.configuration.bathymetry._BathymetryConfigurationInternal
    ],
    mesh_parameters: salvus.project.configuration.mesh_configuration.MeshConfiguration,
    model: salvus.project.configuration.model._ModelConfigurationInternal,
    verbosity: int = 1,
) -> salvus.mesh.unstructured_mesh.UnstructuredMesh:
    ...

Build a mesh from a 2-D circular domain.

Parameters
  • domain salvus.project.domain.dim2.CircularDomain — Domain.
  • topography Optional[salvus.project.configuration.topography._TopographyConfigurationInternal] — Topography configuration.
  • bathymetry Optional[salvus.project.configuration.bathymetry._BathymetryConfigurationInternal] — Bathymetry configuration.
  • mesh_parameters salvus.project.configuration.mesh_configuration.MeshConfiguration — The mesh parameters.
  • model salvus.project.configuration.model._ModelConfigurationInternal — The model configuration.
  • verbosity int — Verbosity level.
Returns salvus.mesh.unstructured_mesh.UnstructuredMesh

mesh_from_domain()

def mesh_from_domain(
    domain: salvus.project.domain.Domain,
    mesh_configuration: salvus.project.configuration.mesh_configuration.MeshConfiguration,
    model_configuration: salvus.project.configuration.model._ModelConfigurationInternal,
    topography_configuration: Optional[
        salvus.project.configuration.topography._TopographyConfigurationInternal
    ] = None,
    bathymetry_configuration: Optional[
        salvus.project.configuration.bathymetry._BathymetryConfigurationInternal
    ] = None,
    verbosity: int = 1,
    interlayer_coarsening_policy: Optional[InterlayerCoarseningPolicy] = None,
) -> salvus.mesh.unstructured_mesh.UnstructuredMesh:
    ...

Create a concrete unstructured mesh from a few pieces of information.

This function is the central entry point to generate meshes from whatever information is defined in the project. An important design aspect of this function is that it must be unit testable.

Parameters
  • domain salvus.project.domain.Domain — The domain of interest.
  • mesh_configuration salvus.project.configuration.mesh_configuration.MeshConfiguration — All model independent mesh parameters.
  • model_configuration salvus.project.configuration.model._ModelConfigurationInternal — A set of background and volume models.
  • topography_configuration Optional[salvus.project.configuration.topography._TopographyConfigurationInternal] — A list of topography models.
  • bathymetry_configuration Optional[salvus.project.configuration.bathymetry._BathymetryConfigurationInternal] — A list of bathymetry models.
  • verbosity int — Verbosity level of the operation.
  • interlayer_coarsening_policy Optional[InterlayerCoarseningPolicy] — An optional interlayer coarsening policy that allows for overriding the default InterlayerDoubling policy. Can be useful for challenging meshes with thin layers. Currently only considered for meshes with bathymetry in cartesian domains.
Returns salvus.mesh.unstructured_mesh.UnstructuredMesh

mesh_from_spherical_polygon()

def mesh_from_spherical_polygon(
    domain: salvus.project.domain.dim3.SphericalDomain,
    topography: Optional[
        salvus.project.configuration.topography._TopographyConfigurationInternal
    ],
    bathymetry: Optional[
        salvus.project.configuration.bathymetry._BathymetryConfigurationInternal
    ],
    mesh_parameters: salvus.project.configuration.mesh_configuration.MeshConfiguration,
    spherical_polygon: Optional[
        salvus.project.domain.spherical_geometry.polygon.SphericalPolygon
    ],
    model: salvus.project.configuration.model._ModelConfigurationInternal,
    verbosity: int = 1,
) -> salvus.mesh.unstructured_mesh.UnstructuredMesh:
    ...

Build a mesh from a spherical polygon.

Parameters
  • domain salvus.project.domain.dim3.SphericalDomain — Domain.
  • topography Optional[salvus.project.configuration.topography._TopographyConfigurationInternal] — Topography configuration.
  • bathymetry Optional[salvus.project.configuration.bathymetry._BathymetryConfigurationInternal] — Bathymetry configuration.
  • mesh_parameters salvus.project.configuration.mesh_configuration.MeshConfiguration — The mesh parameters.
  • spherical_polygon Optional[salvus.project.domain.spherical_geometry.polygon.SphericalPolygon] — The spherical polygon to use.
  • model salvus.project.configuration.model._ModelConfigurationInternal — The model configuration.
  • verbosity int — Verbosity level.
Returns salvus.mesh.unstructured_mesh.UnstructuredMesh

simple_mesh_selector()

def simple_mesh_selector(
    domain: salvus.project.domain.Domain,
    background_model: salvus.project.configuration.model.background._BackgroundBase,
    min_vertical_coordinate: float,
    max_vertical_coordinate: float,
    mesh_configuration: salvus.project.configuration.mesh_configuration.MeshConfiguration,
    bm_shift: float = 0.0,
) -> salvus.mesh.unstructured_mesh.UnstructuredMesh:
    ...

Helper function to construct meshes from domains and other parameters.

Parameters
  • domain salvus.project.domain.Domain — Domain.
  • background_model salvus.project.configuration.model.background._BackgroundBase — Background model.
  • min_vertical_coordinate float — The minimum vertical coordinate in the mesh.
  • max_vertical_coordinate float — The maximum vertical coordinate in the mesh.
  • mesh_configuration salvus.project.configuration.mesh_configuration.MeshConfiguration — The mesh configuration.
  • bm_shift float — For UTM domains — shift away from the reference datum.
Returns salvus.mesh.unstructured_mesh.UnstructuredMesh