OGSTools 0.7.1 Release Notes#
Works with ogs==6.5.6
Python: 3.10 - 3.13
Breaking changes#
API breaking changes#
meshlib.gen_bhe_mesh uses now shapely for meshing geometries see !324:
Supports georeferenced modeling in any metric CRS.
Flexible model area shapes (no rectangle restriction).
Prism mesh works for all cases; structured mesh for well-arranged setups.
Limitation: multiple refinement lines in one split surface not yet supported.
now output an additional submesh for groundwater downstream
how to specify the input, to get the same behavior as before:
length and width need to be replaced by model_area
Example:
length=150, width=100: model_area=Polygon.from_bounds(xmin=0, ymin=0, xmax=150, ymax=100)
dist_box_x and dist_box_y need to be replaced by refinement_area (defined in global coordinate system and not relative to the BHE as before)
Example:
dist_box_x=10, dist_box_y=5: Polygon.from_bounds( xmin=min(bhe.x for bhe in bhe_array)-10, ymin=min(bhe.y for bhe in bhe_array)- 5, xmax=max(bhe.x for bhe in bhe_array)+10, ymax=max(bhe.y for bhe in bhe_array)+ 5, )
Groundwater.flow_direction needs to be replaced by upstream and downstream
Example:
"x": upstream=(179,181), downstream=(359,1)
Deprecations#
Planned for
ot.meshes_from_gmsh
(replacement already available:Meshes.from_gmsh
)
Examples#
Changes (non API-breaking)#
Bugfixes#
plot
: Fixed contour plots with very small value ranges (< 1e-12) to display correctlyProject
run_model
: Fix execution of wrapper commands (e.g. source MKL)Add the missing tag outputs to allow multiple output definitions
Logparser: fix model_time analysis
MeshSeries
:Fixed accessing meshes of extended MeshSeries from PVD files by ensuring timestep_files is updated correctly after extend().
Improved scale method to prevent crashes in complex, performance-intensive workflows; new implementation reuses cached meshes for better stability and memory efficiency.
fix extract probe for MeshSeries with a single point meshes
Mesh
:Fixed crash in Mesh.difference() when meshes contain _active datasets; computation now handles active field arrays
Feflow
:Fixed handling of vector and tensor properties with NaN values (#135): tuples containing only NaNs are now dropped correctly, and tensor values are no longer misclassified
Features#
Added
MaterialManager
andMediaSet
to core API and further helper classes:Phase
,Medium
,Material
,Component
It introduces a modular and schema-driven material handling system for OGS project files.
It includes:
A YAML-based material database
Schema filtering via MaterialList
Export to XML (.to_prj()) compatible with OGS
Examples for TH2M
It is limited to TH2M for now
Added
Meshes
classfrom_simulator
works directly with the OGS mesh in a running simulationfrom_gmsh
isot.meshes_from_gmsh
save
performs identify_subdomains, and checks for overwritefrom_msh
Uses the newly introduced
extract_boundaries
for simple extraction of boundary meshes from a 2D domain mesh
from_yaml
Introduces a new tool to generate Gmsh meshes from YAML geometry descriptions.
Based on a simple declarative schema (parameters, points, lines, surfaces, groups)
Generates .msh files via Gmsh,
meshes_from_yaml
Added
plot.contourf_pv
for pyvista plots which work withVariables
.plot.contourf
now dispatches depending on the value of the new argumentinteractive
:None (default): 2D mesh -> matplotlib plot, 3D mesh -> interactive pyvista plot
True: always interactive pyvista plot
False: 2D mesh -> matplotlib plot, 3D mesh -> pyvista plot screenshot
Added
to_polar
method for Variables. Useful, to convert stresses to a cylindrical or spherical coordinate system.Added
SimulationController
as wrapper forOGSSimulation
to allow interruption and continuing simulationsBHE
Allow ID notation
Infrastructure#
Updated requirements!
Added Binder links to example notebooks for interactive execution.
Removed EXPERIMENTAL folder -> see Gitlab open issues
Re-enable testing for Mac
Faster pipeline execution (10min -> 6min)
Documentation#
Added tutorials for interactive ogs simulation
Tests#
Imports#
Maintainer TODOs#
next sub release#
next main release#
deprecation notice for
ot.meshes_from_gmsh