ogstools.meshlib.gmsh_meshing module#
- ogstools.meshlib.gmsh_meshing.rect(lengths=1.0, n_edge_cells=1, structured_grid=True, order=1, out_name=Path('unit_square.msh'), msh_version=None)[source]#
- Parameters:
lengths (float | list[float])
n_edge_cells (int | list[int])
structured_grid (bool)
order (int)
out_name (Path)
msh_version (float | None)
- Return type:
None
- ogstools.meshlib.gmsh_meshing.cuboid(lengths=1.0, n_edge_cells=1, structured_grid=True, order=1, out_name=Path('unit_cube.msh'), msh_version=None)[source]#
- Parameters:
lengths (float | list[float])
n_edge_cells (int | list[int])
structured_grid (bool)
order (int)
out_name (Path)
msh_version (float | None)
- Return type:
None
- class ogstools.meshlib.gmsh_meshing.Groundwater[source]#
Bases:
object
Groundwater(begin: float = -30, isolation_layer_id: int = 1, flow_direction: str = ‘+x’)
- begin: float = -30#
depth of groundwater begin (negative) in m
- isolation_layer_id: int = 1#
number of the groundwater isolation layer (count starts with 0)
- flow_direction: str = '+x'#
groundwater inflow direction as string - supported ‘+x’, ‘-x’, ‘-y’, ‘+y’
- __init__(begin=-30, isolation_layer_id=1, flow_direction='+x')#
- Parameters:
begin (float)
isolation_layer_id (int)
flow_direction (str)
- Return type:
None
- class ogstools.meshlib.gmsh_meshing.BHE[source]#
Bases:
object
(B)orehole (H)eat (E)xchanger
- x: float = 50.0#
x-coordinate of the BHE in m
- y: float = 50.0#
y-coordinate of the BHE in m
- __init__(x=50.0, y=50.0, z_begin=-1.0, z_end=-60.0, borehole_radius=0.076)#
- Parameters:
x (float)
y (float)
z_begin (float)
z_end (float)
borehole_radius (float)
- Return type:
None
- z_begin: float = -1.0#
BHE begin depth (zero or negative) in m
- z_end: float = -60.0#
BHE end depth (zero or negative) in m
- borehole_radius: float = 0.076#
borehole radius in m
- ogstools.meshlib.gmsh_meshing.gen_bhe_mesh_gmsh(length, width, layer, groundwater, BHE_Array, target_z_size_coarse=7.5, target_z_size_fine=1.5, n_refinement_layers=2, meshing_type='structured', dist_box_x=5.0, dist_box_y=10.0, inner_mesh_size=5.0, outer_mesh_size=10.0, propagation=1.1, order=1, out_name=Path('bhe_mesh.msh'))[source]#
Create a generic BHE mesh for the Heat_Transport_BHE-Process with additionally submeshes at the top, at the bottom and the groundwater inflow, which is exported in the Gmsh .msh format. For the usage in OGS, a mesh conversion with msh2vtu with dim-Tags [1,3] is needed. The mesh is defined by multiple input parameters. Refinement layers are placed at the BHE-begin, the BHE-end and the groundwater start/end. See detailed description of the parameters below:
- Parameters:
length (float) – Length of the model area in m (x-dimension)
width (float) – Width of the model area in m (y-dimension)
layer (float | list[float]) – List of the soil layer thickness in m
groundwater (Groundwater | list[Groundwater]) – List of groundwater layers, where every is specified by a tuple of three entries: [depth of groundwater begin (negative), number of the groundwater isolation layer (count starts with 0), groundwater inflow direction as string - supported ‘+x’, ‘-x’, ‘-y’, ‘+y’], empty list [] for no groundwater flow
BHE_Array (BHE | list[BHE]) – List of BHEs, where every BHE is specified by a tuple of five floats: [x-coordinate BHE, y-coordinate BHE, BHE begin depth (zero or negative), BHE end depth (negative), borehole radius in m]
target_z_size_coarse (float) – maximum edge length of the elements in m in z-direction, if no refinemnt needed
target_z_size_fine (float) – maximum edge length of the elements in the refinement zone in m in z-direction
n_refinement_layers (int) – number of refinement layers which are evenly set above and beneath the refinemnt depths (see general description above)
meshing_type (str) – ‘structured’ and ‘prism’ are supported
dist_box_x (float) – distance in m in x-direction of the refinemnt box according to the BHE’s
dist_box_y (float) – distance in m in y-direction of the refinemnt box according to the BHE’s
inner_mesh_size (float) – mesh size inside the refinement box in m
outer_mesh_size (float) – mesh size outside of the refinement box in m
propagation (float) – growth of the outer_mesh_size, only supported by meshing_type ‘structured’
order (int) – Define the order of the mesh: 1 for linear finite elements / 2 for quadratic finite elements
out_name (Path) – name of the exported mesh, must end with .msh
- Returns:
a gmsh .msh file
- Return type:
None
- ogstools.meshlib.gmsh_meshing.gen_bhe_mesh(length, width, layer, groundwater, BHE_Array, target_z_size_coarse=7.5, target_z_size_fine=1.5, n_refinement_layers=2, meshing_type='structured', dist_box_x=5.0, dist_box_y=10.0, inner_mesh_size=5.0, outer_mesh_size=10.0, propagation=1.1, order=1, out_name=Path('bhe_mesh.vtu'))[source]#
Create a generic BHE mesh for the Heat_Transport_BHE-Process with additionally submeshes at the top, at the bottom and the groundwater inflow, which is exported in the OGS readable .vtu format. Refinement layers are placed at the BHE-begin, the BHE-end and the groundwater start/end. See detailed description of the parameters below:
- Parameters:
length (float) – Length of the model area in m (x-dimension)
width (float) – Width of the model area in m (y-dimension)
layer (float | list[float]) – List of the soil layer thickness in m
groundwater (Groundwater | list[Groundwater]) – List of groundwater layers, where every is specified by a tuple of three entries: [depth of groundwater begin (negative), number of the groundwater isolation layer (count starts with 0), groundwater inflow direction, as string - supported ‘+x’, ‘-x’, ‘-y’, ‘+y’], empty list [] for no groundwater flow
BHE_Array (BHE | list[BHE]) – List of BHEs, where every BHE is specified by a tuple of five floats: [x-coordinate BHE, y-coordinate BHE, BHE begin depth (zero or negative), BHE end depth (negative), borehole radius in m]
target_z_size_coarse (float) – maximum edge length of the elements in m in z-direction, if no refinemnt needed
target_z_size_fine (float) – maximum edge length of the elements in the refinement zone in m in z-direction
n_refinement_layers (int) – number of refinement layers which are evenly set above and beneath the refinemnt depths (see general description above)
meshing_type (str) – ‘structured’ and ‘prism’ are supported
dist_box_x (float) – distance in m in x-direction of the refinemnt box according to the BHE’s
dist_box_y (float) – distance in m in y-direction of the refinemnt box according to the BHE’s
inner_mesh_size (float) – mesh size inside the refinement box in m
outer_mesh_size (float) – mesh size outside of the refinement box in m
propagation (float) – growth of the outer_mesh_size, only supported by meshing_type ‘structured’
order (int) – Define the order of the mesh: 1 for linear finite elements / 2 for quadratic finite elements
out_name (Path) – name of the exported mesh, must end with .vtu
- Returns:
list of filenames of the created vtu mesh files
- Return type:
list[str]