sparseSpatialSampling.geometry.prism_geometry module

Implements a class for using prisms (3D) as geometry object.

class sparseSpatialSampling.geometry.prism_geometry.PrismGeometry3D(name, keep_inside, positions, refine=False, min_refinement_level=None)[source]

Bases: GeometryObject

Implement a class for using prisms (3D) as geometry objects representing the numerical domain or geometries inside the domain.

Note

The prism is defined by two triangles connected by an extrusion axis. The triangles must be aligned along a coordinate axis.

Parameters:
  • name (str) – Name of the geometry object.

  • keep_inside (bool) – If True, the points inside the object are kept; if False, they are masked out.

  • positions (list[list[Union[list, tuple]]]) –

    Two lists of 3D coordinates, each containing the three vertices of the start and end triangles, e.g.:

    [[[x1, y1, z1], [x2, y2, z2], [x3, y3, z3]], [[x1', y1', z1'], [x2', y2', z2'], [x3', y3', z3']]]

  • refine (bool) – If True, the mesh around the geometry object is refined after \(S^3\) generates the mesh.

  • min_refinement_level (int | None) – Minimum refinement level for resolving the geometry. If None and refine=True, the geometry will be resolved with the maximum refinement level present at its surface after \(S^3\) has generated the grid.

check_cell(cell_nodes, refine_geometry=False)[source]

Check if a cell is valid or invalid based on the specified settings.

Parameters:
  • cell_nodes (pt.Tensor) – Vertices of the cell to be checked.

  • refine_geometry (bool) – If False, cells are masked out while generating the grid. If True, checks whether a cell is located in the vicinity of the geometry surface to refine it subsequently. This parameter is provided by \(S^3\).

Returns:

True if the cell is invalid, False if the cell is valid.

Return type:

bool

property type: str

Return the name of the geometry object.

Returns:

Name of the geometry object.

Return type:

str