OGSTools 0.5.0 Release Notes#
Recommended OGS Version: 6.5.4
API breaking changes#
FeflowModel-class introduced:
FeflowModel.mesh -> to get the mesh with all FEFLOW properties, replaces feflowlib.convert_properties_mesh()
FeflowModel.ogs_bulk_mesh -> to get the mesh with only materialIDs
FeflowModel.subdomains -> access the boundary conditions and the source terms of the FEFLOW model, replaces feflowlib.extract_point_boundary_conditions(), feflowlib.extract_cell_boundary_conditions()
FeflowModel.process -> see the process to be simulated
FeflowModel.material_properties -> access the material_properties, replaces feflowlib.get_material_properties_of_H_model(), feflowlib.get_material_properties_of_HT_model(), feflowlib.get_material_properties_of_CT_model()
FeflowModel.project -> access the project file
FeflowModel.setup_prj() -> create the project file, replaces feflowlib.setup_prj_file()
FeflowModel.save() -> save the mesh, subdomain, and the project-file
FeflowModel.run() -> run the FEFLOW model in OGS
MeshSeries.data –> MeshSeries.values
MeshSeries.clear –> MeshSeries.clear_cache
In aggregate functions func str is replaced by callables (e.g. numpy.min)
meshlib.gmsh_meshing.remesh_with_triangle –> meshlib.gmsh_meshing.remesh_with_triangles
msh2vtu python interface was replaced with meshes_from_gmsh
CLI tool msh2vtu is not affected by this
parameter keep_ids was removed (in our OGS world there is no reason to keep the gmsh data names and the wrong data types in the meshes, which would happen if k was used)
parameter log_level was changed to log (True or False)
removed:
MeshSeries.spatial_data_unit/spatial_output_unit/time_unit (see MeshSeries.scale())
plot.linesample/linesample_contourf
meshlib.data_processing.interp_points/distance_in_profile/sample_polyline (see updated line sample example)
Bugfixes#
FeflowModel: fix material_properties for HT process
FeflowModel: could not convert mixed celltypes in FEFLOW mesh
Failed sub library imports led to incomplete and unhandled package import
MeshSeries was unable to handle xdmf with just one timestep correctly
MeshSeries kept the hdf5 file handle open - parallel read access was not possible
OMP_NUM_THREADS was not working on Windows
plot functions had sometimes different color schemes in the color bar
Tortuosity was not a medium property
BHE mesh (z coordinate negative)
Features#
FeflowModel: heterogeneous material properties are now saved on the mesh and not a separate mesh
FeflowModel: allow generic creation of project files for unsupported processes to have a proposal of a project file, which needs to be modified manually to have working OGS model
FeflowModel: allow configuration of time stepping and error tolerance for all processes
FeflowModel: use materialIDs from FEFLOW-user-data, if defined
MeshSeries gets copy() method.
MeshSeries gets transform() method, that applies an arbitrary transformation function to all time steps.
MeshSeries get extract() method to select points or cells via ids
MeshSeries can be sliced to get new MeshSeries with the selected subset of timesteps
MeshSeries gets a modify function that applies arbitrary function to all timestep - meshes.
MeshSeries gets a save function (only for pvd implemented yet)
difference() between two meshes is now possible even with different topologies
Project write_input, path can be specified
MeshSeries gets scale() method to scale spatially or temporally
variables.get_preset will now return a Variable corresponding to the spatial coordinates if given “x”, “y” or “z”
plot module gets line() function as a general purpose 1D plotting function
plot.setup get spatial_unit and time_unit which are used for labeling
Infrastructure#
Python 3.13 support (CI testing)
Testing of all supported Python version 3.10-3.13 (pip and conda)
Testing with pinned dependencies in regression tests and with open dependencies in maintenance tests
msh2vtu - complete overhaul
Examples#
All examples use
import ogstools as ot
. To not be confused with ogs python bindingsNew examples to show post-conversion modifications of FEFLOW model(modify boundary conditions and project-file)
Footnotes#
All related Merge requests are tagged with 0.5.0 Release https://gitlab.opengeosys.org/ogs/tools/ogstools/-/merge_requests?scope=all&state=merged&milestone_title=0.5.0%20Release