ogstools.meshlib.region package#
- ogstools.meshlib.region.to_region_prism(layer_set, resolution)[source]#
- Convert a layered geological structure into a RegionSet using prism meshing. - This function takes a - boundary_set.LayerSetand converts it into a- region.RegionSetobject using prism or tetrahedral meshing technique. The function will use prism elements for meshing if possible; otherwise, it will use tetrahedral elements.- Parameters:
- layer_set (LayerSet): A - boundary_set.LayerSet. resolution (float): The desired resolution in [meter] for meshing. It must greater than 0.
- Returns:
- RegionSet: A - boundary_set.LayerSetobject containing the meshed representation of the geological structure.
- Raises:
- ValueError: If an error occurs during the meshing process. 
- Example:
- layer_set = LayerSet(…) resolution = 0.1 region_set = to_region_prism(layer_set, resolution) 
 - Return type:
 
- ogstools.meshlib.region.to_region_simplified(layer_set, xy_resolution, rank)[source]#
- Convert a layered geological structure to a simplified meshed region. - This function converts a layered geological structure represented by a LayerSet into a simplified meshed region using the specified xy_resolution and rank. - Parameters:
- (LayerSet) (layer_set) – A LayerSet object representing the layered geological structure. 
- (float) (xy_resolution) – The desired spatial resolution of the mesh in the XY plane. 
- (int) (rank) – The rank of the mesh (2 for 2D, 3 for 3D). 
 
- Return type:
 - Returns:
- RegionSet: A RegionSet object containing the simplified meshed representation of the geological structure. 
- Raises:
- AssertionError: If the length of the bounds retrieved from the layer_set is not 6. 
- Example:
- layer_set = LayerSet(…) xy_resolution = 0.1 # Example resolution in XY plane rank = 2 # Mesh will be 2D region_set = to_region_simplified(layer_set, xy_resolution, rank) 
 
- ogstools.meshlib.region.to_region_voxel(layer_set, resolution)[source]#
- Convert a layered geological structure to a voxelized mesh. - This function converts a layered geological structure represented by a LayerSet into a voxelized mesh using the specified resolution. - Parameters:
- layer_set (LayerSet): A LayerSet object representing the layered geological structure. resolution (list): A list of [x_resolution, y_resolution, z_resolution] for voxelization. 
- Returns:
- Mesh: A Mesh object containing the voxelized mesh representation of the geological structure. 
- Raises:
- ValueError: If an error occurs during the voxelization process. 
- Example:
- layer_set = LayerSet(…) resolution = [0.1, 0.1, 0.1] # Example voxelization resolutions in x, y, and z dimensions voxel_mesh = to_region_voxel(layer_set, resolution) 
 - Return type:
 
- class ogstools.meshlib.region.RegionSet[source]#
- Bases: - object- A class representing a set of regions composed of subsets, each identified by MaterialID. - The RegionSet class represents a collection of regions, where each region is composed of subsets. Each subset within a region is uniquely identified by “MaterialID”. - box_boundaries()[source]#
- Retrieve the boundaries of the mesh in local coordinate system (u, v, w). - This function extracts the boundaries of the mesh along the u, v, and w directions of the local coordinate system. The u-axis corresponds to the x-coordinate, the v-axis corresponds to the y-coordinate, and the w-axis corresponds to the z-coordinate. - Returns:
- tuple: A tuple (u_min, u_max, v_min, v_max, w_min, w_max) representing the boundaries of the mesh in the local coordinate system. 
- Notes:
- If the original mesh was created from boundaries, this function returns the original boundaries. 
- The returned boundaries adhere to the definition of [Pyvista Box](https://docs.pyvista.org/version/stable/api/utilities/_autosummary/pyvista.Box.html). 
 
- Example:
- mesh = … u_min, u_max, v_min, v_max, w_min, w_max = mesh.box_boundaries() 
 - Return type:
- tuple[UnstructuredGrid, …] 
 
 
- ogstools.meshlib.region.to_boundary(surface_mesh, filter_condition)[source]#
- Extract cells from a surface mesh that meet a filter condition for normals. - This function takes a surface mesh represented by a pv.PolyData object and extracts cells that match a specified filter condition based on the normals of the mesh. - Parameters:
- surface_mesh (PolyData) – The input surface mesh. 
- filter_condition (Callable[[ndarray], ndarray]) – A callable filter condition that takes an array of normals as input and returns an array indicating whether the condition is met. 
 
- Return type:
- UnstructuredGrid 
 - Returns:
- pv.UnstructuredGrid: A mesh containing only the cells that meet the filter condition. 
- Example:
- surface_mesh = … specific_cells = to_boundary(surface_mesh, lambda normals: [n[2] > 0.5 for n in normals]) 
 
