pyopensn.mesh.ExtruderMeshGenerator

class pyopensn.mesh.ExtruderMeshGenerator

Extruded mesh generator.

Wrapper of opensn::ExtruderMeshGenerator.

Execute(self: pyopensn.mesh.MeshGenerator) pyopensn.mesh.MeshContinuum

Final execution step.

__init__(self: pyopensn.mesh.ExtruderMeshGenerator, **kwargs) None

Construct an extruded mesh generator.

Extrude 2D geometry using extrusion layers. Each layer is specified by either:

  • n and z to compute the z-levels automatically.

  • n and h to compute the h-levels automatically.

The list of layers can be specified with a mixture of both ways.

Parameters:
  • scale (float, default=1.0) – Uniform scale to apply to the mesh after reading.

  • inputs (List[pyopensn.mesh.MeshGenerator], default=[]) – A list of MeshGenerator objects.

  • partitioner (pyopensn.mesh.GraphPartitioner, default=None) – Handle to a GraphPartitioner object to use for parallel partitioning. This will default to PETScGraphPartitioner with a “parmetis” setting.

  • replicated_mesh (bool, default=False) – Flag, when set, makes the mesh appear in full fidelity on each process.

  • layers (List[Dict]) – List of layers. Parameters of each layers are represented as Python dictionary.

  • top_boundary_name (str, default='ZMAX') – The name to associate with the top boundary.

  • bottom_boundary_name (str, default='ZMIN') – The name to associate with the bottom boundary.

Examples

>>> emg = ExtruderMeshGenerator(
...     layers=[{"n": 1, "z": 2}, {"n": 2, "h": 0.5}]
... )