Mondaic

salvus.mesh.algorithms.distributed_mesh.mesh_to_mesh

salvus.mesh.algorithms.distributed_mesh.mesh_to_mesh salvus mesh algorithms distributed_mesh mesh_to_mesh

Mesh to mesh interpolation for distributed meshes.

Functions

interpolate_mesh_to_mesh()

def interpolate_mesh_to_mesh(
    mesh_source: salvus.mesh.data_structures.distributed_mesh.distributed_mesh.DistributedMesh,
    mesh_target: salvus.mesh.data_structures.distributed_mesh.distributed_mesh.DistributedMesh,
    halo_width_in_meters: float,
    block_mapping: types = None,
    fields_to_interpolate: types = None,
    execution_policy: salvus._core.lib.salvus_core_python_bindings.ExecutionPolicy = salvus._core.lib.salvus_core_python_bindings.ExecutionPolicy,
) -> (
    salvus.mesh.data_structures.distributed_mesh.distributed_mesh.DistributedMesh
): ...

Interpolate a distributed mesh to another distributed mesh.

Parameters
  • mesh_source salvus.mesh.data_structures.distributed_mesh.distributed_mesh.DistributedMesh — The source distributed mesh.
  • mesh_target salvus.mesh.data_structures.distributed_mesh.distributed_mesh.DistributedMesh — The target distributed mesh.
  • halo_width_in_meters float — The width of the halo in meters. To avoid artifacts in the interpolation, the source mesh is extended by a halo around the target mesh. This parameter controls the width of that halo.
  • block_mapping types — An optional tuple or list of tuples specifying the block mappings between mesh_source and mesh_target. If None, all blocks are considered and matched one-to-one based on their values.
  • fields_to_interpolate types — An optional subset of fields to interpolate. If None, all element nodal fields will be interpolated.
  • execution_policy salvus._core.lib.salvus_core_python_bindings.ExecutionPolicy — Execution policy governing the maximum allowable parallelism of child routines.
Returns salvus.mesh.data_structures.distributed_mesh.distributed_mesh.DistributedMesh — The interpolated distributed mesh.