sparseSpatialSampling.geometry.coordinates_2d module

Implement a class for using 2D coordinates as a geometry object.

class sparseSpatialSampling.geometry.coordinates_2d.GeometryCoordinates2D(name, keep_inside, coordinates, refine=False, min_refinement_level=None)[source]

Bases: GeometryObject

Implements a class for using coordinates as geometry objects representing the numerical domain or geometries inside the domain (2D case only).

Note

The coordinates need to form an enclosed area.

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.

  • coordinates (list | numpy.ndarray) – Coordinates of the geometry or domain. They need to form an enclosed area.

  • 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 is resolved with the maximum refinement level present at its surface after S³ has generated the grid.

property center: torch.Tensor

Return the center coordinates based on the main width of the area enclosed by the coordinates.

Returns:

center coordinates of the area enclosed by the coordinates.

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 area enclosed by the coordinates.

Returns:

Main width of the area enclosed by the coordinates.

Return type:

float

pre_check_cell(cell_nodes, refine_geometry=False)[source]

Pre-check if a cell is within the rectangular bounding box of the geometry object.

This method is faster than checking the polygon directly and is especially useful when generating large numbers of cells outside the bounding box.

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