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.

property center: torch.Tensor

Return the center coordinates based on the main width of the prism.

Returns:

center coordinates of the prism.

Return type:

pt.Tensor

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 main_width: float

Return the width of the main dimension of the prism.

Returns:

Main width of the prism.

Return type:

float

property type: str

Return the name of the geometry object.

Returns:

Name of the geometry object.

Return type:

str