Recent Releases of ogs
ogs - 6.5.5
Process' changes
New HMPhaseField process
- !4809 Adds a hydromechanical phase-field process to address typically the hydraulic fracture problem using the phase-field fracture method.
Deprecated processes removed
- !5329 Previously deprecated processes removed: SmallDeformationNonlocal, StokesFlow, TES, ThermoMechanicalPhasefield, and ThermalTwoPhaseFlowPrho.
Component transport process / reactive transport process with coupling of PHREEQC
- !5243 Set the position function in the assembler, so that the retardation factor can be position dependent.
HeatTransportBHE
- !5179 Improve weighting factor calculation used for Algebraic BC in the HEATTRANSPORTBHE process.
Richard's mechanics process
- !5255 Bugfix; compute initial strain from displacement field, do not use strain integration point data.
- !5316 Add parallel assembly.
SmallDeformation
- !5220 Add parallel assembly.
ThermoHydroMechanics
- !5288 Add parallel assembly.
Numerics
- !5221 Reuse Jacobian once every n steps to accelerate non-linear solution.
- !5187 Multithreading for CG solver can be enabled by setting matrix type (LowerUpper).
- !5236 Time dependent deactivation in a domain bounded by a circle or a sphere.
- !5237 Analytic block in the numerical Jacobian for CentralDifferences.
- !5256 Improvements in ForwardDifferencesJacobian: eliminates one redundant local assembly and leverages the pre-computed analytical Jacobian block.
- !5318 Multipliers of IterationBasedTimestepping can be linearly interpolated with
<multiplier_interpolation_type>PiecewiseLinear</multiplier_interpolation_type> - !5262 Initial implementation of PETSc version of flux corrected transport - at the moment only for one MPI process
- !4926 Introduce an iteration number based reduction of Newton-damping.
Tools
- !5224 Remove
tetgendependency. We do not bundletetgenanymore. Please install it with your package manager or Conda. - !5276 A tool
mergeMeshToBulkMeshmerges one mesh into a bulk mesh, which can be used in simulations of excavation, backfilling, and successive geo-engineering operations.
Python & Jupyter
- !5216 Conda package includes MFront functionality, see also https://github.com/conda-forge/ogs-feedstock/pull/14.
- !5222 Bump ogstools (used in benchmarks on the website) to 0.6.0.
- !5238 New module ogs.mpl for MPL properties. Basic structure and for now only Constant and Linear properties bound, but more are coming.
- !5304 PyVista 0.45, removes vtk-osmesa dependency and
xvfb-runhacks
Testing
- !5204 Adds a performance test verifying the functionality of !5194 in our CI. This MR can serve as a blueprint for other similar (performance) tests in the future. The MR contains a documentation section in the dev guide, too.
Logging
- !5295 Introduces the command line option (--log-parallel). New default behaviour under MPI: Only rank 0 writes. With option: legacy behaviour.
- !5295 Overhaul of log outputs. New log lines, more systematic, less redundancy.
- !5295 Signal handling introduced: Terminate and interrupt signals are logged
Infrastructure
- !5323 [web] Multi-site search on opengeosys.org, Doxygen and ogstools.
Material Property Library (MPL)
- !5254 Add residual saturation in sigmoid function.
- !5246 Add possibility to use time and spatial position in Curve, Linear, Exponential and Function property.
- !5317 Add the possibility to use curves in Function property.
Bug fixes
- !5227 Avoid dead-lock in MPI when AssemblyException is thrown.
- !5325 Fix XDMF/HDF5 output on sub-meshes.
Documentation
- !5244 Add a documentation page, showing how to establish a OGS mesh based on a PETREL structural model.
- !5275 Liquid flow documentation.
Version info
- !5281 Compiler updates and c++23 standard:
- Compiler: gcc-13.3, clang-16.0,
msvc17.0 Visual Studio 2022 toolchain 143 - Libraries: boost-1.84
- Compiler: gcc-13.3, clang-16.0,
- !5314 Update spdlog to 1.15.3 (updates fmt to 11.2.0)
- !5329 Sundials
cvodesolver dependency removed (used only by TES process, which is now deleted)
- C++
Published by bilke about 1 year ago
ogs - 6.5.4
In this release the LargeDeformation process was extended to deal with nearly incompressible materials.
Several usability and speed improvements in the HeatTransportBHE process were implemented.
And for the material properties a "catch all" material ids option <medium id="*"> was added, simplifying input in the project files.
In the LargeDeformation process, the F-bar method for finite element (FE) analysis of large deformation of nearly incompressible materials is implemented to address volumetric locking phenomena that occur in standard FE analysis under these conditions.
The algorithms of the F-bar method are derived for the total Lagrangian formulation of finite strain and implemented in the LargeDeformation process.
This update introduces a new optional input tag, f_bar, to the LargeDeformation process. The tag accepts two values: element_center_value, which indicates that ${\mathbf F}0$ is computed at the element center, and `elementaverage`, which specifies that ${\mathbf F}_0$ is computed as an element average.
Process' changes
- !5093 SmallDeformationNonlocal, StokesFlow, TES, ThermoMechanicalPhaseField, and TwoPhaseFlow-PRho processes were not extended for some time and are now marked as deprecated. They will be removed in the 6.5.5 release.
HeatTransportBHE
!5106 Add id-notation to
<borehole_heat_exchanger>with the possibility to catch all BHE withid="*".!5121 Add optional mass lumping.
!5194 Add assembly optimization for soil part in linear cases with
<linear>.
LargeDeformation
- !5045 F bar method for total Lagrangian formulation.
LIE
- !5144 Replacing the parameter medium properties of HM#LIE with MPL ones. A Python script,
convert_LIE_HM2MPL.py, to convert the project files to the present syntax is added to the input data directory:Tests/Data/LIE/HydroMechanics.
LiquidFlow process
- !5112 Gas flow calculation in LiquidFLow. For this purpose, an optional input tag,
equation_balance_typewas introduced, which allows user to choose the volume-based or the mass-based PDE for this process.
Richard's mechanics process
- !5120 Total initial stress input.
ThermoRichardsMechanics
- !5083 concludes a long series of developments making "extended" MFront material models usable with the TRM process: This MR finally adds a bunch of 0D and 1D test cases of a bentonite material behaviour implemented in GeneralMod and interfaced with OpenGeoSys via MFront. This is a joint work of BGETEC, CEA, TUBAF, Charles University, ČVUT and UFZ.
Numerics
- !5182 Fixed parallel execution for Eigen linear solvers.
Generic features
- !5150 Added
LeastSquareCGsolver andLeastSquareDIAGONALpreconditioner from Eigen
Python & Jupyter
Testing
B-bar tests
Additional tests for the B-bar methods have been added to further evaluate their effectiveness:
- !5105 A Jupyter Notebook benchmark for M for evaluating the B-bar method with simple tests and some others.
- !5134 3D Cooks's Membrane test for M.
Code improvements
- !5132 Reduce some redundancy in LiquidFlow and Hydromechanics.
CMake
- !5146 [CMake] Split LIE to LIEM and LIEHM for optional compilation.
File I/O
- !5127 Improve reading binary files with memory mapped I/O. Add the possibility to read
curvedefinitions andfixed_output_timesfrom binary files in the project directory.
Material Property Library (MPL)
- !5111 Improved error reporting and added a "catch all" material ids option
<medium id="*">. - !5126 Generalised SaturationVanGenuchten to independent pressure and saturation exponents. When single (pressure) exponent is used the saturation exponent is set to 1/(1-m) keeping the old behaviour.
Documentation
- !5165 [web] Improvement of the document of the Theis' problem.
Version info
- C++
Published by bilke over 1 year ago
ogs - 6.5.3
Breaking changes
- !5063 changes the handling of mesh file paths in the
prjfile: If such a path is a relative path with a directory separator (/or\), this path will be resolved relative to the mesh directory (-mflag) or theprjfile if the former is not passed. Before, such relative paths were resolved relative to the process's working directory. MR !5063 resolved that inconsistency. - !5030 Change time incrementing algorithm to use Kahan summation. This hopefully avoids any 1e-16 time steps near fixed output and end times.
New processes
- !4481 adds the two-phase well-bore process.
Process' changes
- !5050 Removed K and M matrices from
assembleWithJacobian*interface as these are not needed. - !5054 Generalize openMP parallel assembly (Newton scheme) to staggered processes.
HeatTransportBHE
- !5025 [BHE] Add Algebraic BC in the assemble of the HeatTransportBHE Process.
HydroMechanics
- !5054 Use openMP parallel assembly for monolithic and staggered schemes.
LIE
- !5078 Fix a memory leakage bug in LIE#HM when matrix is disabled for the flow process.
- !5081 B bar method for HM#LIE.
- !5084 B bar method for M#LIE.
Generic features
- !5088 Consistent high-precision output using max_digits10 especially for time and time increments.
Tools
- !5049 Generalised xyz interface to read any xyz raster file (was just complete rectangle images previously)
Data Explorer
- !5049 Generalised xyz interface to read any xyz raster file (was just complete rectangle images previously)
Python & Jupyter
- !5058 Refactored python bindings build structure and migrated Snakemake tests into pytests. Removed Snakemake dependency.
Testing
- !4757 Reenabling TH2M process in the CI for Windows. Still takes long time to compile.
Infrastructure
- !5023 [cmake,guix] Guix package (and container) includes OGSUSENETCDF=ON.
- !5024 Container includes
mpirun-executable.
- C++
Published by bilke almost 2 years ago
ogs - 6.5.2
Breaking changes
- !4919 Removes the
molar_fluxsecondary variable in favour of flux output for all chemical species. - !4971 THM and RM processes use current state for $C_{\text elastic}$ computation and no longer the "null"-state.
- !4984 renames the cell averaged stress output from
stress_avgtosigma_avgto be consistent withsigmaandsigma_ipoutputs.
Process' changes
- !4982 Correct domain deactivation behaviour for multi-variable processes; Assembly is not run iff the element is deactivated for all variables.
- !4984 introduces generic cell averaged output for all processes using reflections for IP data I/O (ATM these are TRM, LD, SD, TH2M). This enables cell average output of all IP data (except material models' internal state data) for these processes.
TH2M
- !4980 finalizes at large the extraction of the constitutive relations into individual models, similar to how it is done in ThermoRichardsMechanics.
Component transport process / reactive transport process with coupling of Phreeqc
- !4919 Adds flux output
<c>Fluxfor all chemical species<c>.
SmallDeformation
Generic features
- !5009 Enables using Python and volumetric source terms as nodal source terms.
Testing
- !5003 [ci] Fixes for win jupyter ctests
Bug fixes
- !4919 Fixes the flux output computation in the ComponentTransport process. (The FEM assembly was/is correct.)
CMake
- !4978 New CMake-preset
sanitizer. - !4990 Refactored Eigen / MKL / OpenMP setup: Introduced new CMake option
OGS_EIGEN_PARALLEL_BACKENDwhich isOpenMPby default. When usingOGS_USE_MKL=ONthen the backend isMKL. Also updated Eigen to a recent master.
Infrastructure
- !4973 Removed ogs-container-maker dependency. OGS user container are now generated with GNU Guix. Due to improvements in dependency management (CPM) third-party developer container (e.g. C++ VSCode Devcontainer) are sufficient to use for OGS development.
- !4974 Removed ThirdParty-folder.
- !5011 Provide MKL container on https://www.opengeosys.org/releases/.
File I/O
- !4989, !4996
ogsandpartmeshcreate output directory when invoked with-o-parameter. - !4997
ogs -m-switch: fallback to reading gml from.prj-file directory.
Material Property Library (MPL)
- !4992 Allow access of
deformation_gradient,mechanical_strain,stress,total_strain, andtotal_stressin the exprtk expressions of the MPL Function property.
Documentation
Version info
- !4974 VTK 9.3.0
- !5014, !4992, https://gitlab.opengeosys.org/ogs/ogs/-/commit/5390a73f2475c3b55ae5eed95f5379790196cf15 ~gcc 11.4~ gcc 11.3
- C++
Published by bilke about 2 years ago
ogs - 6.5.1
This release introduces a suite of enhancements and new features across various processes within OpenGeoSys. Notably, the introduction of FCT numerical stabilization and optimization of the assembly process for HeatConduction, memory optimizations in LiquidFlow processes, and Newton implementation in the HeatTransportBHE implementation represent significant steps forward in improving the efficiency, stability, and flexibility of simulations. Additionally, the ability to input total stress as initial conditions in HydroMechanics and ThermoRichardsMechanics offer users greater control of their models. For the LIE mechanics and hydro-mechanics processes the strain and stress are now output as vectorial quantities, which should simplify post-processing.
For the future we also aim for more frequent releases (around every 3 months) and with this we discontinue the bugfix branches.
Process' changes
Component transport process / reactive transport process with coupling of Phreeqc
- !4825 adds new numerical stabilization type "FCT" and apply it to the ComponentTransport process.
- !4873 adds heat transport equation to enable non-isothermal component (HTC) process only in staggered way.
HeatConduction
- !4867 adds the options
<linear>and<linear_solver_compute_only_upon_timestep_change>that accelerate the assembly to the T process. These options are already present for the ComponentTransport process.
HeatTransportBHE
- !4956 add the Newton nonlinear iteration feature to HeatTransportBHE process.
HydroMechanics
- !4915 Enables to input total stress as the initial stress.
LargeDeformation
- !4861 Add volume ratio to output
LIE
- !4851 For HM process, improved output such as added output for nodal values of the secondary variables, and vectorized the output of the element-wise averaged multi-component secondary variables.
- !4904 For M process, vectorized the output of the multi-component secondary variables.
LiquidFlow process
- !4962 Use shape matrix cache in LiquidFlow process to reduce memory consumption of local assemblers
ThermoHydroMechanics
- !4929 Enables to input total stress as the initial stress.
ThermoRichardsMechanics
- !4908 Enables proper restart with material models such as
PorosityFromMassBalancevia the new setting<initialize_porosity_from_medium_property>. - !4923 Enables to input total stress as the initial stress.
- !4942 Changes the flavour of TRM that uses the extended OGS-MFront interface such that this flavour uses the full stiffness matrix to compute solid compressibility instead of only the elastic tangent stiffness.
Constitutive relations (material models)
- !4887 Linear elastic transverse isotropy model. Besides, this MR adds unit tests for LinearElasticOrthotropic too.
Parameters
- !4882 Local coordinate system containing implicit bases.
Numerics
- !4795 Class StaggeredCoupling.
Generic features
- !4891 adds the possibility to read/write matrix-valued IP data (and extrapolated data thereof) for processes doing I/O via reflections (currently most notably TRM)
Python & Jupyter
- !4866 All
ruffissues fixed or silenced.
Testing
- !4889 [cmake] Improvements to ctest (regex output checks with e.g.
PASS_REGULAR_EXPRESSION).
Bug fixes
- !4863 [cmake] Fix MKL dependency installation. Fixes Windows binary downloads.
CMake
- !4814 Refactor netCDF library finding and removed everything Conan-related.
- !4839 Simplify PETSc finding.
pkg-configis now required for finding PETSc via CMake.
Infrastructure
- !4858 [ci] Build container with netcdf (ogscm only, not in Guix container yet).
- !4864 [ci] Docker Upgrade Ubuntu base image to 23.04 and gcc to 12.
- !4898 Builds on cdash.opengeosys.org can be traced back to their GitLab CI job by an additional notes file which is added to the cdash build.
- !4945 [ci] Remove linux docker jobs: test coverage is already in the other jobs and moved docker jobs to native linux jobs.
- !4961 Added some helper scripts for release automation.
File I/O
- !4872 Enable long paths in executables on Windows.
Material Property Library (MPL)
- !4808 OGS distinguishes now between
liquid_phase_pressureandgas_phase_pressure. This is required to for certain MPL properties such that they can be used across different processes. HM, as a single-phase process, sets both pressures equal to allow for gas and liquid phase properties.
Version info
- C++
Published by bilke over 2 years ago
ogs - 6.5.0
The release includes a new finite strain mechanics process, several run time performance optimizations, and new output options.
The LargeDeformation process for finite strain mechanical analysis was implemented. It is set up in a Total Lagrangian formulation. The process uses MFront/MGIS interface for the constitutive relations of the solid, which also takes care of the corresponding pull-back operations. The implementation will be the basis for simulations of large deformation processes, such as salt creep, crushed salt compaction, bentonite swelling or soil mechanics problems.
Optimizations include:
- OpenMP assembly in TH2M/TRM/TRF, configurable OGS_ASM_THREADS=<n>.
Note that this might introduce race conditions, so better double-check simulation results when you use this feature.
- CT linear case optimization with speedups of around 10 for certain linear setups.
Configurable via the <linear> and <linear_solver_compute_only_upon_timestep_change> prj file settings.
Note: these are expert options; OGS won't check if it's valid to use them, this is the sole responsibility of the user.
Output for the users and developers was extended.
Finer-grained control options for result output (subdomains, variables) were implemented on the user's side.
For developers possibility to output assembled local and global matrices is now available.
It is configurable via the OGS_LOCAL_MAT_OUT_PREFIX="<some prefix>", OGS_LOCAL_MAT_OUT_ELEMENTS="0 1 5 16 123" and OGS_GLOBAL_MAT_OUT_PREFIX="some prefix>" environment variables.
The local matrix output is available for all processes, and the global matrix output only for small deformation, TRF, TRM and TH2M at the moment.
For better tests the vtkdiff was extended to compare integration point data.
This new feature should be used in newly added CTests.
Other notable changes include, local coupling scheme for staggered processes, and thermo-mechanical part of a freezing liquid was implemented in ThermoHydroMechanics process; hydraulic part to come soon.
Breaking changes
This section lists changes in OGS that might make OGS terminate due to missing or unused configuration or might change OGS behaviour.
- !4811 TRM/TRF vapour properties moved.
- !4800
<media>used in two phase flow p-rho. - !4766
<dimension>configuration removed in HM, LIE/HM, LIE/M, RM, TH2M, THM, TRM. - !4699
x_dotrenamed tox_previn all assembly routines.
For new processes developed in private branches this change might entail a silent change of meaning, i.e., the code still compiles, but produces nonsensical simulation results. - !4403 The small deformation process now computes
eps_previnstead of storing it. > The only problem appeared for the back-filling (subdomain deactivation) case where a different strain was stored. This is a not so simple issue to be dealt with in the future. - !4557 If some variables are specified for output, only those will be output, i.e., users might miss some outputs compared to before this MR. Please check/adapt your prj files if necessary.
New processes
- !4821 Large deformations process.
Process' changes
ThermoRichardsFlow
- !4811 additional gas phase added in the project file for vapour properties. This also includes property name changes. Compatibility script: movevapourpropertiestogas_phase.py
ThermalTwoPhaseFlowPrho
- !4800 Use
<media>in the two phase flow p-rho process reusing MPL implementations of constitutive relations.
Component transport process / reactive transport process with coupling of Phreeqc
- !4713 and !4747 add an option
<linear>that speeds up the simulation of linear problems. - !4730 adds an option
<linear_solver_compute_only_upon_timestep_change>that speeds up simulations of linear problems further.
HT
- !4613 enables use of lower dimensional fracture elements in HT process.
HydroMechanics
- !4766
<dimension>keyword removed. Script to adapt all project files found recursively: removedimensionkeyword.py - !4578 Improvement of the fixed stress splitting approach in the staggered scheme
Richard's mechanics process
- !4766
<dimension>keyword removed. Script to adapt all project files found recursively: removedimensionkeyword.py
SmallDeformation
- !4403 Compute eps_prev instead of storing it.
- !4643 Modified cam clay version with constant elasticity: clean-up, bug-fix and renaming (ModCamClaysemiExplconstE.mfront).
- !4604 Modified cam clay version with pressure-dependent elasticity (original MCC model) added (ModCamClay_semiExpl.mfront).
- !4739 SmallDeformation uses media for solid density evaluation.
- !4763 Extract constitutive relations into graph-like structure.
- !4766
<dimension>keyword removed. Script to adapt all project files found recursively: removedimensionkeyword.py
ThermoHydroMechanics
- !4528 Extract constitutive relations update.
- !4723 "Correct history variable update for freezing. Testing 9% volumetric strain expansion.
- !4766
<dimension>keyword removed. Script to adapt all project files found recursively: removedimensionkeyword.py
ThermoRichardsMechanics
- !4811 additional gas phase added in the project file for vapour properties. This also includes property name changes. Compatibility script: movevapourpropertiestogas_phase.py
Constitutive relations (material models)
- Solids, multi-material internal states variable output and restart:
- !4794 Add deformation gradient, second Piola-Kirchoff stress tensor, and Green-Lagrange strain to MFront interface and the MPL.
- !4794 MFront uses gradients from latest iteration for the new behaviour data state from now on.
Generic features
- !4507 adds a simple way to access blocks of finite element degrees of freedom:
auto const [x1, x2, x3] = NumLib::localDOF<N1, NumLib::Vectorial<N2, 2>, N3>(x);. - !4522 adds a generic algorithm computing numerical derivatives.
- !4546 adds the possibility to output local and global matrices for debugging purposes.
- !4556 provides an OpenMP parallelized assembly for the Newton-Raphson solution scheme for TRM, TH2M and TRF that can be enabled via the environment variable
OGS_ASM_THREADS=<NUMBER_OF_THREADS>. Solving the TH2M process with the Picard non-linear solver is not possible, anymore. - !4798 Neumann-type boundary condition: If possible evaluate parameter in Gauss points.
- !4668 Reset integration point data by materialIDs.
Tools
- !4560 New tool createTetgenSmeshFromRasters
- !4773
partmeshis now build with the official METIS. - !4598 Use numerical element volume calculation in AddElementQuality.
Data Explorer
- !4580 Raster data can now be saved to files
- !4580 Raster files loaded into the Data Explorer can now be converted into *.asc format (same as via the Raster2ASC command line interface)
Python & Jupyter
- !4575 Migrated wheel build backend to scikit-build-core
- !4547 Relax Python requirements a bit, update PyVista to 0.39.
- !4620 Python interface to access OGS mesh. Following properties of a MeshLib::Mesh can be accessed by the OGSMesh python wrapper:
- coordinates of the mesh nodes
- cell information (vtk cell types and the node ordering are used)
- properties assigned to MeshItemType::Node and MeshItemType::Cell can be read
- properties assigned to cells can be read and set
- properties assigned to nodes/points can be read and set
- !4654 [wheel] Changes version scheme to
guess-next-dev. Increments version number for development (master) wheels. - !4824 Fix most of the warnings issued by
ruffin python code and notebooks.
Bug fixes
- !4582 [MeL/IO] Increase time value output precision for xdmf.
- !4666 Reset solution after rejected initial time step.
- !4749 fixes a one time step lag of the output flow rates in ComponentTransport when used together with the
<linear>optimization. - !4753 Suppress default output if fixed output time steps are given.
- !4784 Simplifies the code and fixes a possible bug with dangling pointers in staggered coupled simulations
- !4797 Frees some global matrices/vectors after use (bug introduced in !4749)
- !4455 Fixed K_pT term of latent heat in TRM and TRF
CMake
- !4525 [wheel,web] Use env var CMAKE_ARGS to override CMake preset for wheel.
- !4538 Re-enable compilation on Eigen 3.4.0.
- !4521 Removed option
OGS_USE_PYTHON. OGS is now always built with Python (boundary conditions) support. - !4561 Better third-party license collection.
- !4707 Refactored check header job.
- !4750, !4473 Use bundled fmt from spdlog.
- !4785 [cmake] Updated sanitizers logic. Changes CMake options
OGS_ADDRESS_SANITIZERtoENABLE_ASANandOGS_UNDEFINED_BEHAVIOR_SANITIZERtoENABLE_UBSAN.
Infrastructure
- !4542 [ci] Introduced MR label ci::unit_tests which runs unit tests only (skips ctests).
- !4550, !4685, !4820 Introducing reproducible builds with GNU Guix.
- !4592 [eve] Updated to toolchain 2022b.
- !4722 [ci] Deployed guix container to eve, see docs.
- !4727 Added CI label
ci::web only (fast)which skips notebook execution. - !4704 Notebooks can be placed in
web/contentas well. - !4762 [ci,nb] Refactored notebook testrunner, notebooks now use regular TOML frontmatter.
- !4769 [ci] Limit max notebook runtime in MR pipelines to 10 minutes.
- !4776 [cmake] Refactored coverage: simplified CMake logic, removed bilke/cmake-modules-dependency.
- !4781 [guix] Include or package dependencies. This will allow building specific commits, e.g.:
guix build [...] --with-commit=ogs=[some commit hash] ogs. - !4789 [cmake] Refactored MKL find logic to use CONFIG mode.
- !4796 [guix] Build enhancements channel repo. Also added MFront support in !4810.
File I/O
!4557 Breaks default behaviour Updating prj files may be necessary
- Only the variables listed in the prj file output section are outputted
xml <output> ... <variables> <variable>X</variable> <variable>Z</variable> </variables> </output>A possibly existing property Y will not be written! - In case of empty variables section all available variables are outputted
xml <output> ... <variables> </variables> </output>- OGS tools write all available properties to the result file!4594 Output sub-mesh specified by material ids. Elements of the corresponding material IDs of the mesh will be extracted to a separate sub-mesh. The bulk-mesh properties are transferred to the sub-mesh. The file name of the sub-mesh in the example below will be
bulkmesh_0_2_4.
xml
<output>
...
<meshes>
<mesh>bulkmesh</mesh> <!-- output entire bulk mesh -->
<mesh material_ids="0,2,4">bulkmesh</mesh> <!-- output only those parts with specified mat IDs -->
</meshes>
</output>
Material Property Library (MPL)
- !4531 adds the water saturation temperature calculated according to the IAPWSIF97 in Region4.
- !4543 adds the water liquid saturation density and enthalpy calculated from pressure based on the IAPWSIF97 in Region4.
- !4562 adds the water temperature in IAPWSIF97 region1 calculated from pressure and enthalpy.
- !4564 adds the water enthalpy in IAPWSIF97 region1 calculated from pressure and temperature.
- !4524 adds the water vapour saturation density and enthalpy calculated from pressure based on the IAPWSIF97 in Region4.
- !4636 initialization of internal state variables for solid models. New section in the project file:
xml
<constitutive_relation> <initial_values> <state_variable name="InternalVariable" parameter="InitialValue"/> </initial_values> </constitutive_relation>
- !4667 adds the cubic law permeability calculation method for fractures.
- !4648 $\phi (1-S_L)$ is removed from vapour diffusion models, VapourDiffusionFEBEX and VapourDiffusionPMQ.
Numerics
- !4387 Generalized numerical stabilizer and consequently applied full upwind stabilizer to HC.
Documentation
- !4727 [web] Added possibility to directly convert a Notebook to webpage.
- !4728 [web] Improved installation instructions and links.
- !4704 Tutorial of creating mesh with BHEs.
- !4804 [web] Better search.
- !4783 Tutorial of creating mesh with inclined BHEs.
Version info
- !4537 Boost 1.73.0
- !4561 nlohmann/json 1.10.5
- !4418 googletest 1.13.0
- !4706 spdlog 1.12.0
- !4801 Tested hdf5 version is 1.14.3 when built via ogs (minimum still at 1.10.7).
- C++
Published by bilke over 2 years ago
ogs - 6.4.4
Highlights
Some notable additions in this release include the output of residuum vectors on submeshes (now for the TRM and TH2M processes only), restart for parallel simulations were made possible as well as CI coverage for the PETSc configuration was increased and the infrastructure for Jupyter notebooks was extended.
There were also some substantial efforts to enhance the documentation especially for the project file, specific process configurations and tools.
Further CI improvements include the possibility to select subsets of test jobs via merge request labels to shorten feedback cycles and we added performance tracing of benchmarks via our CDash-platform.
Process' changes
LiquidFlow
- !4203 Make process per default non-linear. One can enforce linear treatment in project file as follows:
xml
<process>
<!-- usual process specification -->
<linear>true</linear>
</process>
TH2M
- !4362 Added a Jupyter notebook version of the Bourgeat test case
- !4392 Function-type parameters can be used for MPL property and constituitive relation parameters. Fixes the "coordinates not set for spatial position"-error.
- !4485 Enabled output of extrapolated node wise intrinsic permeability.
PhaseField
- !4299 Added a variational phase-field hydraulic fracture model in toughness dominated regime (K-regime).
Component transport process / reactive transport process with coupling of Phreeqc
- !4451 Added flow rates output for all components.
- !4228 Use inclined elements in ComponentTransport.
ThermoHydroMechanics
- !4386 Implemented freezing terms for the energy equation.
ThermoRichardsMechanics and ThermoHydroMechanics
- !4363 Added a constitutive setting to the TRM process to make it possible to use either the existing mechanical material models or mechanical material models that use the new extended OGS-MFront interface.
- !4410 Kelvin Vectors can now be formed from matrices, allowing the use of arbitrarily rotated anisotropic thermal expansivities if read in as a parameter property.
Constitutive relations (material models)
- !4296 Extended the OGS-MFront interface beyond passing only stresses, strains and temperatures.
- !4304 All saturation dependent thermal conductivity models have been merged into one (
SaturationWeightedThermalConductivity) and can be accessed by specifying the mean type:arithmetic_linear,arithmetic_squarerootand geometric. - !4378 IAPWS density and viscosity as well as Vogels viscosity model were added to MPL.
- !4391 Upgraded TFEL / MGIS to 4.0 branch.
Generic features
- !4393 Added support to assemble and output residuum vectors on submeshes for the TRM and TH2M processes.
Tools
- !4327 Added a tool writing integration point data from OGS output meshes to a new point cloud mesh whose nodes are the integration points of the input mesh.
- !4360 Fixed issue where elevation information wasn't added for [OUTFALLS]- and [STORAGE]-entities.
- !4452 Added a tool for converting any ascii raster formats OGS can read into *.asc-format.
- !4264 Added integration point data partitioning in partmesh.
- !4294 Added a new tool to convert pvtu-files to vtu-files: pvtu2vtu.
- !4352 Added partitioning and reading of non-IP field data.
- !4492 Extended
checkMesh- andeditMaterialID-tools to optionally output all existing MaterialIDs for a mesh (previously it was just displaying the range). - !4513 [partmesh] Renumbered the bulk node IDs of the bulk mesh.
Data Explorer
- !4430 Reader for XYZ raster files added.
Python & Jupyter
- !4285 Adds a simple wrapper around OGS CLI tools such that they can be easily used from Python. Available in the OGS wheels/via pip.
- !4300 Enables Python BCs and STs in the OGS Python wheels.
- !4502, !4512 Added support for markdown-based notebooks via jupytext.
Testing
- !4408 Refactored PyVista in notebooks testing logic: no more special treatment for headless systems. User is responsible for providing a window environment, e.g. via
xvfb-run, which is shortly documented. Added documentation on how to shorten pipeline run times by modifying the corresponding files. Added pipeline variableCTEST_INCLUDE_REGEXwhich corresponds to the-Rctest argument. - !4421 [ci] New job include-what-you-use.
- !4437 Enabled large tests on PETSc configs in CI. Also added a CI variable
CTEST_ARGSfor temporarily selecting benchmarks in CI.
Bug fixes
- !4281 Fixed IP data access to Kelvin vector valued data. The error was introduced in !4222.
- !4302 Reimplement Robin-BCs which were incorrect for 2D and 3D setups.
- !4369 Fixed the restart feature of the TRM process, which was broken since !4316.
- !4397 Fixed PhaseField's BC for parallel simulations.
- !4453 Corrected initial residuum computations when start time is negative.
CMake
- !4306 Enabled MSVCs Multi-ToolTask scheduler for build parallelism and better multi-platform ccache setup.
- !4408 Test properties can now directly be set. Simplifies CMake logic a bit and is potentially more powerful.
- !4417 Don't include GKlibSystem.cmake (it defined
NDEBUGon Debug configs!) from METIS and fixed some compile errors in asserts. - !4423 Moved VTK from CPM to external dependencies.
- !4473 fmt-library is now used as a regular library. Before it was used as a spdlog-bundled library.
- !4494, !4497 [cmake] Cache external dependencies in
$CPM_SOURCE_CACHE. - !4365 Simplified CMake test infrastructure (replaced
MeshTest()with regulardAddTest()and newTESTER vtkdiff-mesh).
Infrastructure
- !4266 Enabled precompiled headers using CMake
target_precompile_headersfeature. Some improvement for release builds and around 30% improvement for debug builds. - !4329 Refactored notebook testing.
- !4370 Added uploading OGS Python wheels to the GitLab registry.
- !4401 Better web site and report previews on merge requests.
- !4443 Run ctests serially on ubuntu1 for performance metrics collected via CDash.
- !4464 [ci] Pipeline refactoring:
- Added scheduled pipeline for wheel build.
ci::web onlypipeline: just add this label to the MR to limit CI to Jupyter notebook runs and web site creation.- Changed
ci skip-label toci::skip. - !4465
ci::linux onlyandci::mac onlyandci::win onlylabels for running platform specific builds only.
- !4491 [ci] Introduced MR label
ci_largefor enabling large tests. - !4502 Added a "Launch in BinderHub"-button to notebooks on the website: launches Jupyter Lab instance pre-configured with ogs via wheel, clones the current ogs repo in it and opens the respective notebook ready to run. Please note that startup times may be several minutes and the computing resource are limited (1 core, 2GB RAM). For improved performance we would need to setup own infrastructure. Also currently only works for serial ogs configs.
- !4515 Updated Juwels modules for new 2023 stage.
File I/O
- !4375 [ogs] Added
-sparameter used for locating Python BC scripts. - !4430 Reader for XYZ raster files added.
- !4431 Geometrical sets can be defined in the output section of the project file.
Material Property Library (MPL)
- !4445 Added IAPWS thermal conductivity model for water.
Documentation
- !4487,!4498,!4496 Added and extended documentation for many preprocessing- and mesh generation-tools.
- !4442 Added a new ogs beginner user guide.
- !4438, !4450 More process documentation.
Version info
- C++
Published by bilke over 3 years ago
ogs - 6.4.3
See www.opengeosys.org/releases/6.4.3/ for binary downloads.
Highlights
- We are happy to announce that the TH2M-process is now feature complete and has evaporation and dissolution implemented.
The TH2M process describes a two-phase, two-component approach, which is fully coupled with thermodynamic and geomechanical processes. Due to the complex process couplings, many different processes (e.g. in repository systems) can be investigated numerically, including media dry-out and resaturation, consolidation, stress- or deformation-dependent permeabilities, thermal expansion and heat-induced stresses, gas transport processes in fully or partially saturated media and others.
The two-component approach also enables the description of phase transition processes (evaporation, solution) under an equilibrium condition. The TH2M model is verified and validated on a benchmark suite which provides a hierarchical classification of different coupling combinations of the individual processes.
Stabilization is the numerical approach to eliminate the spatial oscillations produced by the Galerkin finite element method for the advection diffusion transport equation. There are two stabilization schemes, isotropic diffusion and full upwinding, are available now in HT and ThermoHydroMechanics.
Python bindings were extended in two ways: OGS got python wheels and can be now installed with pip, and has got a basic python interface to run a simulation from within python.
For developers the biggest improvement is the inclusion of the Eric Niebler's ranges library. Already used in few places in OGS it greatly improves code readability through easier composition.
Process' changes
- !4087 Adding forward differences numerical Jacobian computation. It is less expensive then central differences, but not necessarily slower overall, and sometimes even faster.
- !4161 Refactoring of domain deactivation.
- !4204 Removes the IntegrationMethod template parameter from local assemblers that use Taylor-Hood elements.
- !4217 Removes the IntegrationMethod template parameter from the remaining local assemblers (processes, STs, BCs).
- !4233 Parameter type Function can be used for MPL property and constituitive relation parameters in THM, TRM and TR.
- !4210 [PL/TH2M] Add/correct residuum output.
- !4247 MPL: Reimplement VariableArray as own class. Less memory and a little faster. Easier usage.
TH2M
The TH2M process describes a two-phase, two-component approach, which is fully coupled with thermodynamic and geomechanical processes. Due to the complex process couplings, many different processes (e.g. in repository systems) can be investigated numerically, including media dry-out and resaturation, consolidation, stress- or deformation-dependent permeabilities, thermal expansion and heat-induced stresses, gas transport processes in fully or partially saturated media and others. The two-component approach also enables the description of phase transition processes (evaporation, solution) under an equilibrium condition. To validate the TH2M model, a benchmark suite was created that provides a hierarchical classification of different coupling combinations of the individual processes. This proves the validity and correct implementation of all terms of the model equations.
- !4131 Dissolution of gas into the liquid phase, completing the phase transition feature in TH2M
- !4131 Two tests validate the dissolution process and the diffusive transport of the dissolved gas in the water phase
PhaseField
- Spectral decomposition for energy split has been added.
ThermoRichardsFlow
- !4100 Adding thermo-osmotic and thermo-filtration effects
ThermalTwoPhaseFlowPP
- !4136 Adding a third component with equilibrium partitioning between liquid and gas phases.
- !4194 Correct the energy equation and heat pipe benchmark results.
Component transport process / reactive transport process with coupling of Phreeqc
- !4106 Enable chemical speciation parallelization on CPU.
- !4130 Update the description of governing equations in the documentation of the process.
- !4207 Enable a new type of chemical solver "self-contained chemical solver".
HeatTransportBHE
- !4102
Server Communication (Python Interface) pre and post timestep: Enabling the server communication (python interface) before (pre) and after (post) time step. - !4208
PowerCurveFlowCurve-function: Adding PowerCurveFlowCurve function to flowandtemperature_control options in HeatTransportBHE process.
LiquidFlow process
- !4201 Aperture size for inclined element.
ThermoRichardsMechanics and ThermoHydroMechanics
- !4100 Adding thermo-osmotic and thermo-filtration effects / fixing contributions in THM.
- !4153 Separates the constitutive setting of the TRM process from computations involving shape matrices .
- !4198 Splits the constitutive setting of the TRM process into modular pieces.
- !4236 Re-enables pressure and temperature dependent density models in TRM.
Constitutive relations (material models)
Thermal models
- !4162 Adding temperature-dependent thermal properties due to first order phase change of pore fluid making
HeatConductionprocess nonlinear for capturing soil freezing phenomena
Numerics
- !4178 Isotropic diffusion stabilization for solving the advection-diffusion equation.
- !4185 Apply the isotropic diffusion stabilization to ThermoHydroMechanics process.
- !4165 Full up winding scheme for HT.
- !4196 Applied the full upwind stabilization to THM process.
Tools
- !4176 Most of the tools should now also work when OGS was built with PETSc.
- !4252 Allow the removal of point-elements from meshes via the
removeMeshElements-tool. - !4270 Added "MeshMapping"-tool for handling all options for 2D mesh mapping, i.e. mapping based on a raster or another mesh, or to a static value.
Data Explorer
- !4250 Adding support for *.2dm triangle meshes via GMS Import.
- !4252 Allow the removal of point-elements from meshes.
- !4265 Added resolution aware scaling for GUI elements
Python / Jupyter
- !4135 Restored ipyvtklink and static PyVista rendering backend. Also added msh2vtu.
- !4049 First basic implementation (init, exec, finalize) of a Python interface to drive OGS from Python.
- !4263 Python wheels for module (see !4049) and ogs binaries.
- !4242 A jupyter notebook for Theis solution is added.
Testing
- !4086 Use VTK wheels from PyVista on Python 3.10 (when using the auto-generated Python virtual environment by setting
OGS_USE_PIP=ON). - !4199 [ci] Trigger project-specific downstream pipeline.
- !4221 [ci] Added new manual job 'advanced container' which builds and tests ogs with
OGS_USE_INSITU=ON.
Bug fixes
- !4089
checkMesh: Fixed -p parameter. Properties were always printed even if the-p-parameter was not given. - !4093
VerticalSliceFromLayers: Fixed mesh generation to be consistent with 3D mesh generation (i.e. meshes are built from bottom and top). This may require a fairly up-to-date GMSH version (GMSH 4.9.5 was working in our tests). - !4115:
- Fixes one wrongly oriented edge in Quad8 elements. Also affects Quad9 elements. Corrects the surface normal computation, in particular.
- Provides a corrected surface normal implementation for line elements.
- Corrects the determination whether a point is inside a line segment.
- !4164 Fix pvtu output when VTK is build via CPM.
- !4195 Excavation of neighbouring subdomains now produce expected results along the common boundary.
- !4226 Fixes setting the previous temperature value in the OGS MFront interface.
- !4243 Fixed a run time error when Python BC is used in the code built with PETSc.
- !4246 Fixed a bug in Python source term with PETSc.
CMake
- !4081, !4101 Some CMake cleanup and renovations. Better Python finding logic.
- !4129 [cpm] Removed MPI dependencies in VTK.
- !4132 Use only MKLs OpenMP implementation.
- !4167 Some RPATH fixes for lib64-based systems. Also removed option
OGS_INSTALL_EXTERNAL_DEPENDENCIES, useOGS_INSTALL_DEPENDENCIESinstead!. ProperRPATHboth for the build tree as well as the install tree. - !4221 Re-enabled insitu functionality. Renamed CMake variable
OGS_INSITUtoOGS_USE_INSITU.
Infrastructure
- !4137 Refactored cpm offline cache handling.
- !4145 Refactored
MetisSetup.cmakeandpartmeshnow uses 64 bit indices (was 32 bit before). - !4094 Introducing cdash.opengeosys.org, a test report dashboard.
File I/O
- !4082 Copy bulk mesh node property values to sub-meshes specified for output.
- !4126 [jupyter] Added gmsh and msh2vtu to Jupyter image.
- !4121 PVD to XDMF (VTK to HDF5) conversion tool added.
- !4176 Single threaded PETSc simulations now also writes
.vtuinstead of.pvtufiles. - !4192 Added output of active/inactive elements for subdomain deactivation.
- !4188 Refactoring / restructuring the Output class; enabled XDMF / HDF5 output for staggered scheme.
Documentation
- !4193 Added docs on jupyter notebook generated web pages.
- !4190 VS Code development container. See docs at https://www.opengeosys.org/docs/devguide/advanced/vscode-devcontainer/.
- !4197 [web] Added mermaid diagrams.
- !4205 Added a Citation File Format for citation metadata.
- !4239 [web] Added a 1-D decay-chain benchmark in section
Reactive Transport. - !4140 Added an instruction for how to conduct parallel computing with PETSc.
Version info
- !4081, !4049 CMake ~~3.16~~ 3.22
- !4108 GCC 10.2.0
- !4108 VTK 9.1.0
- !4108 Ubuntu 22.04
- !4189 Apple clang 13.1.6
- !4189 Clang 13
- !4189 New range-v3 library version 0.12.0
- !4227 spdlog 1.10.0
- C++
Published by bilke almost 4 years ago
ogs - 6.4.2
See www.opengeosys.org/releases/6.4.2/ for binary downloads.
Overview
Some of the highlights of this release are: the extension of the TH2M process to handle phase transitions, more processes can be run in parallel with PETSc and Taylor-Hood Elements, the new HDF5-based input/output routines, and the introduction of Jupyter Notebook based benchmarks (see an example).
Process' changes
- !3963 Enabled equation wise flexibility in the use of compensatenonequilibriuminitialresiduum.
TH2M
- !3839 Extend Jacobian with Laplacian's derivatives.
- !3942 Thermal conductivity of the medium can now be defined in the input file.
- !4034 Phase transition was revised and some errors were fixed. Energy transport now includes diffusion processes, diffusion in the mass balance is now dependent on capillary pressure. Tests have been added, including the revised heatpipe with analytical solution.
Component transport process / reactive transport process with coupling of Phreeqc
- !3796 Extend the input of surface complexation sites in moles via the MaterialPropertyLib for HC-Phreeqc coupling.
- !3903 Enable to use cation exchange and surface complexation models simultaneously for HC-Phreeqc coupling.
- !3918 Add a "fixing pe" option.
- !3931 Support the use of PETSc nonlinear solver.
- !4004 Add Newton's method based linearization scheme for solving non-conservative formulation.
- !4006 Output total mass flux and residual mass flux by node-wise.
Thermo-Richards-Mechanics
- !3980 Added liquid density and viscosity output.
- !3547 Implementation of the vapour diffusion and the latent heat terms of TRM.
HeatConduction
- !3972 Assembly in inclined elements.
Hydro-Mechanics
- !3848 Use permeability strain derivative in the jacobian for HM (for embedded fracture permeability model).
Heat Transport BHE
- !4007 Changed python based Server Communication process (e.g. with SimulationX) from postTimestep to preTimestep.
ThermalTwoPhaseFlowPP
Material models
- !3929 Add the Verma-Pruess porosity-permeability model.
- !3941 Modify the "EffectiveThermalConductivityPorosityMixing" property to allow for two- and three phase media.
- !3945 New property IdealGasLawBinaryMixture.
- !3923 [MPL/RelPermNonWettingPhaseVanGenuchtenMualem] replace the Newton-Raphson method with the Regula–Falsi Method.
- !3992 Enabled fracture normal rotation with the EmbeddedFracturePermeability model.
Numerics
- !3871 Integration order 4 implemented for Tetrahedrals. For an overview over OGS's integration methods see also !4021.
- !3907 Added new Eigen iterative solvers: BiCGSTABL, IDRS and IDRSTABL.
- !3882 Adds support for Taylor-Hood elements to Python boundary conditions and Python source terms.
- !3963 Enabled equation wise flexibility in the use of compensatenonequilibriuminitialresiduum.
- !3991 Enable to use 13 node pyramid and 15 node prism.
Parallel computing
- !3805 [partmesh] Removed the option of
-qor--lh_elementsfor the implementation of parallel computing with Taylor Hood elements. - !3866 Parallel computing with Taylor-Hood elements: implementation and tests with HydroMechanics process.
- !3920 Enable parallel computing in TRM with Taylor-Hood elements.
- !3919 Enable node search function work under MPI.
- !4047 Enable parallel computing in TH2M with Taylor-Hood elements.
File I/O
- !3857 VTK mesh converter: safely convert all integer types.
- !3915 HDF output option: Fast file I/O and data integrity
- !4033 Rename HydraulicFlow and HeatFlux to VolumetricFlowRate (for volumetric formulations (mass balance divided by density) / MassFlowRate and HeatFlowRate.
Utility
- !3863 Added the conversion of quadratic quadrilateral elements in GMSH2OGS
GeoLib
- !3935 Change TemplateVec::getVector() return value from
vector<T*> const*tovector<T*> const&
Project file syntax
- !3962 Apply patches marked with
after_includes="true"-attribute after<include>s are evaluatetd, docs.
ogs
- !3976 Added parameter
-mfor specifying a mesh input directory.
Testing
- !3930 Notebooks are now tested as part of
ctest. See docs for more info. - !3901 [TRM] Added a benchmark of point heat source for TRM.
- !4001 Added a simple MKL benchmark.
- !4005 Run TaskCDECOVALEX2023 with parallel computing.
- !4021 Adds extensive unit tests for OGS's quadrature schemes. Now for each supported integration method and integration on each mesh element type we test, which polynomial order we can integrate exactly.
- !4012 Added parallel computing benchmarks for ThermoRichardsFlow.
Bug fixes
- !3932 Fixed several memory leaks and access bugs.
- !3956 THM: Fix temperature equation for case w/o thermal osmosis.
- !3978 Fix access of transport porosity as medium property in TRM.
- !3919 Enable node search function work under MPI.
- !4021 Fixes pyramid integration for integration order 1. Note, the location of the single integration point was changed! If you have any restart data with integration order 1, the respective location will silently change. However, that seems acceptable since before the pyramid order 1 integration was just wrong.
- !4051 Changes the input storage order of tensorial properties of MPL. Now it is row major, before it was column major. The new row major storage order is the storage order that naturally arises in prj files. The old behavior was not a bug per se, but could very likely lead to subtle errors with asymmetric tensorial properties.
- !4055 Fixing a bug in Process::setInitialConditions under PETSc.
CMake
- !3910 Updated Conan CMake integration.
- !3940 Select lld over GNU gold over regular linker. Speeds up link times.
- !3950, !4030 Added option ~~
OGS_INSTALL_PETSC~~OGS_INSTALL_EXTERNAL_DEPENDENCIESto install (locally build) PETSc or MFront / TFEL intoCMAKE_INSTALL_PREFIX. - !3951 Removed
std::filesystemhacks for older compilers. - !3983 [cmake] Refactored (and fixed) processes setup logic.
- !3989, !3995 Offline build with cpm and external dependencies cache. See docs.
- !3999 Added option
OGS_DEPENDENCY_VERSIONSto overwrite entries in versions.json. - !4001, !4056 Use a better FindMKL.cmake which includes also linker flags.
- !4027 Configure VTK modules and CMake options in versions.json.
- !4041 Replaced poetry by simple python / pip calls:
- Poetry is not required anymore for automatic Python package installation. Only a Python interpreter is required (nowadays they already include
venvandpip). - Renamed CMake option
OGS_USE_POETRYtoOGS_USE_PIP(which now defaults toOFF!). Before poetry was used per default when it was found, now this behavior is reversed (needs to explicitly switched toON).
- Poetry is not required anymore for automatic Python package installation. Only a Python interpreter is required (nowadays they already include
- !4059 Added --download-hypre to local CPM build.
Infrastructure
- !3874 Allow utils build on PETSc config.
- !3876 Added Jupyter image with PETSc support, image name:
registry.opengeosys.org/ogs/ogs/ogs-petsc-jupyter. - !3597 Added CI linux build with debug checks, address and undefined behaviour sanitizers.
- !3994 [ci] Added msvc-code-analysis.yml for GitHub Actions.
- !4067 [web] Restructuring to use Hugo page bundles.
- !4069 [ci] Deploy CLI on Windows GUI downloads.
Version info
- !3844 Update gtest to version 1.11.0
- !3910 Minimum Conan version 1.36.0
- !3951 Minimum gcc version 9.1
- !3968 Update exprtk to newest version Dec. 2021.
- !4018 Update minimum PETSc version to 3.16.3.
- C++
Published by bilke over 4 years ago
ogs - 6.4.1
See www.opengeosys.org/releases/6.4.1/ for binary downloads.
Overview
This release features the implementation of the Thermo-Hydro-Hydro-Mechanical (TH2M) fully coupled process. The process is intended for modeling two-component two-phase flow in deformable porous media under non-isothermal conditions. Testing is in progress and development continues, so handle with care or wait a little longer until it got more refined.
Another new process, the StokesFlow process, is mainly used for simulating the low-Reynolds-number incompressible flow in fractures. The Stokes equations are solved using the standard Taylor-Hood scheme. Additionally including the Darcy term in the momentum balance equations, the StokesFlow process module is capable of modeling the fluid flow in fractured porous media.
The local assembly on inclined elements, which can be used to simulate the fluid low in fracture, are implemented. As a first application, LiquidFlow is enabled to use such local assembly.
Also work continued on new material models, e.g. the Günther Salzer model for transient and stationary rock salt creep, an improved HDF5-based output file handling which allows for parallel postprocessing as well as the introduction of a first iteration of a Jupyter Notebook based user workflow. Stay tuned for more on interactive computing in future releases.
New processes
TH2M
A thermal two-phase flow in deformable solid media process.
- !3588 Added an infrastructure for the TH2M Process that handles different models of phase transitions.
- !3550 Monolithic scheme implementation using central differences Jacobian.
- !3656 Collect all constitutive variables updates in single function.
- !3684 HM flow-fully-saturated tests; liquid and gas formulations.
- !3759 Restart; integration point data I/O.
- !3763 Extract constitutive variables.
- !3762 Excavation. Enable domain deactivation.
- !3777 Switch to constant solid volume fraction
- !3767 Implement partial analytical Jacobian, working for saturated media.
- !3802 Gas and liquid phase density output directly from ip_data array.
Stokes flow
- !3617 Monolithic scheme implementation.
- !3658 Documentation
- !3668 Extended to Stokes-Brinkman variant.
Process' changes
- !3583 THM and TRM process need a thermal conductivity property on the medium level
- !3561 Excavation support for coupled mechanics processes and Dirichlet boundary conditions on the excavated surfaces were added.
- !3580 [THM] Replaced total thermal strain with incremental thermal strain
- !3742 [THM] Adding integration point output for stress and strain and a restart test. !3706 Separate createLocalAssemblers respectively for BC/Source term and system of equations.
PhaseField
- !3749 added constrained minimisation to the phase-field solution scheme.
- !3779 added AT1 regularisation of the total energy (see (https://link.springer.com/content/pdf/10.1007/s13137-019-0126-6.pdf) for details).
ThermoRichardsFlow
- !3419 added ThermoRichardsFlow process with optional corrections for solid elasticity under simplified assumptions (see Improved predictions of thermal fluid pressurization in hydro-thermal models based on consistent incorporation of thermo-mechanical effects in anisotropic porous media for details)
Component transport process / reactive transport process with coupling of Phreeqc
- !3695 Enabled to input the amount of ion exchangers in subdomains via the MaterialPropertyLib
- !3648 Added capability to model ion exchange reactions.
- !3563 Added optional functionality for chemically induced porosity change.
- !3567 Added optional functionality for irreversible equilibrium reactions to the ChemistryLib.
- !3721 Provided a simple means of considering temperature effect on the diffusive transport process.
- !3744 Allowed chemical calculations by means of the look-up table approach.
- !3781 Solved the reaction equation in the reaction stage instead of doing extrapolation from integration points onto mesh nodes.
- !3810 Incorporate the effect of change of storage capacity.
HeatTransportBHE
- !3793 Add server communication feature after each time step
HydroMechanics
- !3607 Simulation on a vertical slice of a 3D domain.
LIE
- !3672 Use the existing class to compute the rotation matrix in LIE, which also corrects the orientation of the displacement jump.
- !3676 Corrected the velocity and its orientation in the fracture.
- !3834 Corrected matrix sizes in velocity computation.
LiquidFlow process
- !3610 Use specific body force instead of darcy_gravity. Users LiquidFlow project files has to be adapted!
- !3623 Use body force vector in the local assembler.
- !3632 Add local assembly in inclined elements for simulating flow in fracture.
Richard's component transport process
Richard's mechanics process
- !3574 Extend integration point data output to solid material state internal variables used by e.g. MFront. This makes correct restart possible.
- !3690 Local Newton-Raphson: add optional scaling for convergence tests, which is used in the computation of micro-porosity.
SmallDeformation
- !3683 Use the element wise reference temperature.
ThermoMechanics
- 3738 Fixed integration point (IP) data IO for restart computation.
ThermoRichardsMechanics and ThermoHydroMechanics
- !3583 THM and TRM process need a thermal conductivity property on the medium level
- !3758 THM/TRM; Add heat flux output. Corrected HydraulicFlow.
- !3611 TRM; Include the thermal strain into total mechanical strain.
- !3714 Replaced the hard coded solid density model in THM with the MPL property. With changes, the input parameter of
reference_temperatureis removed. - !3718 Enabled integration point data I/O in THM
Material models
- !3572 IdealGasLaw now uses molar mass from VariableArray rather than from another MPL-Property.
- !3579 New saturation-capillary pressure relation, SaturationExponential, mainly for testing and prototyping purposes.
- !3546 Implementing medium level property to mix thermal conductivities from phases.
- !3599 Added orthotropic embedded fracture permeability model
- !3640 A Function type MPL property using exprtk, similar to the Function type parameter. All scalar variables from VariableArray can be used.
- !3721 Added temperature dependent model for molecular diffusion.
- !3745 New stationary creep model for rock salt.
- !3747 The damage-free version of the Günther Salzer model for transient and stationary rock salt creep.
Numerics
- !3676 Dropped the rotation of the shape function gradients. These changes also correct the velocity and its orientation in the fracture.
Data Explorer
- !3578 Elevation of station data can be mapped based on meshes or rasters
Testing
- !3586 Modular project files by patching a base project file with multiple patch files with syntax for adding, removing and modifying parts of the base. The selection is done via XPath expressions.
- !3664 First implementation of a code coverage visualization.
Bug fixes
- !3615 Bug fixing in EffectiveThermalConductivityPorosityMixing: Avoided the porosity calculation
- !3566 Fixed a bug in NodalSourceTerm when the Taylor-Hood elements are used.
- !3682 Fixed the output of phase compositions in TH2M process
- !3585 Use correct saturatation for swelling stress update in output of the RichardsMechanics process.
- !3652 Fixed a MFront related bug in HydroMechanics.
- !3756 Speedup Dirichlet BCs for deactivated subdomains avoiding costly reallocations.
- !3788 Use local topology information while removing global numbering dependencies in Mesh. Resolves base node id larger then higher order node id warning.
- !3797 Refactored material ID list parser, prevents some (unlikely) bugs with malformed prj files.
- !3816 Fix Brooks-Corey saturation derivative.
- !3834 Fixed an Eigen matrix size related bug in LIE, which sporadically causes LIE benchmark failed on Mac OS.
CMake
- !3592 Added build and test presets.
- !3624 Job pools for Ninja: optimizes build parallelization (full cores for everything but processes, processes depend on available memory)
- !3671 Integrate tfel with
ExternalProject_Add()instead of Conan. - !3687 Qt is not handled by Conan anymore! Use aqt to install it on your system.
- !3698 Moved LIS dependency from Conan to ExternalProject.
- !3727 Added support for ccache on Windows, dropped clcache.
- !3707 CMake test presets, requires CMake 3.21.
Infrastructure
- !3555 and !3835 Clang-format all of the code base. Thriving for consistency.
- !3562 Added threshold for Doxygen warnings (16).
- !3570 Enabled compiler warnings for executables.
- !3622 Correct naming of private data members using trailing underscore.
- !3671 Enabled mfront on CI mac job.
- !3712 Added library dependency reports to Doxygen documentation. Added Lizard code complexity report to Doxygen CI job as a build artifact.
- !3720 Added clang-format check in pre-commit.
- !3751 OGS binaries are now in the
PATHin the container environment. Execution via--app ogsis not required anymore. - !3755, !3757 Initial Apple ARM (M1) support.
- !3761 CI now runs with Pipelines for merged results. Also switched to
git clang-formatinstead ofclang-format. - !3776 Added predefined container with Jupyter Notebook, ogs and Python tools.
File I/O
- !3598 Time is additional dimension HDF5 output data - allows slicing with h5py
- !3604 HDF5 can now contain multiple meshes (boundary conditions) and an attribute "times" with time step values for each step
- !3764 HDF5 can now be written to multiple files. The number of files can be adapted to allow different I/O-patterns (1-file-per-process, single-file, 1-file-per-node).
Version info
- !3647 MFront based on TFEL branch rliv-3.4
- !3757 Conan 1.34.0 (optional)
- !3707 CMake presets require CMake 3.21.
- C++
Published by bilke over 4 years ago
ogs - 6.4.0
See www.opengeosys.org/releases/6.4.0/ for binary downloads.
The current release forms the basis for the upcoming TH2M process and further extension of the newly implemented non-isothermal Richards mechanics. The highlights of this release are collected in the overview with details below.
Overview
The reactive transport process and its Phreeqc interface were enhanced: extended the porosity interface and provide two ways of calculating solid/liquid ratio. Many new material models were implemented including the Clausius-Clapeyron vapor pressure, the Somerton's thermal conductivity, the FEBEX and PMQ type vapour diffusion, a water vapour density property, and a linear latent heat of water property. A new process – the non-isothermal Richards mechanics – was implemented and extends our ability for complex thermo-hydro-mechanical interaction simulations further. The simpler Richards mechanics process was enhanced by a double structure porosity model, which has been used for simulations with Bentonite. And finally, modelling of the excavations got a fine-grained time control over the excavation progress.
The development and continuous integration environment was enhanced with automated spell-checking of code and documentation and a collection of code coverage metrics for the merge requests. Code has be become more consistent in formatting by using the clang-format and cmake-format tools. Most of the third-party libraries, which are required for certain OGS configurations, are now managed by a more integrated approach using CPM – the CMake Package Manager – instead of git submodules and Conan packages. We may phase out Conan for package management in the future but at the moment there are still Conan packages in use, most notably Qt and PETSc.
We implemented a release branch with bug fixes workflow, see #3093 and the Discourse announcement.
Features
- !3549 Adapted license wording to fully conform to BSD 3-clause license.
New processes
- !3166 Non-isothermal Richards mechanics (monolithic scheme).
Process' changes
Component transport process / reactive transport process with coupling of Phreeqc
- !3326 Hide chemical solver interface inside the ComponentTransportProcess.
- !3358 Utilize MPL for the setup of chemical system.
- !3362 Update porosity accessing interface in support of incremental model type in ComponentTransportProcess.
- !3467 Replaced molecular diffusion with pore diffusion in ComponentTransportProcess.
- !3364 Rename reactant amount as molality.
- !3372 !3490 !3507 Set solid/liquid ratio according to solid volume fraction, porosity and fluid density.
Common process' changes
- !3325 Include swelling stress into total strain. Fixing effective stress usage.
- !3355 Improve generic interface for setting initial conditions.
- !3538 Time dependent excavation. Extending time intervals to time curves.
Hydro mechanical processes
- !3405 !3441 Add double structure model to RichardsMechanics process using micro-saturation model and compatible with swelling.
- !3429 Use MPL in ThermoMechanics.
- !3459 Changed the strain and stress output in HydroMechanics.
- !3477 !3503 Fix a bug in RichardsMechanics where the initial stress was ignored when using central differences Jacobian.
- !3498 Permeability, porosity, storage, and transport porosity are now medium properties in RichardsMechanics.
- !3114 Permeability, storage, Biot coefficient, and porosity are now medium properties in ThermoHydroMechanics, HydroMechanics and RichardsFlow.
Boundary condition
- !3531 Separate time dependent Dirichlet boundary conditions and subdomain deactivation boundary conditions.
Numerics
- !3422 Improving numerical stability in RM and TRM by using secant derivative of dSLdp_cap in local assembler.
- !3431 Local Newton-Raphson methods supports increment tolerance additionally to the residuum tolerance now. Previously used
error_tolerancetag is deprecated. - !3468 Update PETSc SNES solver and add interface for constraint variables.
Parameter
- !3342 New parameter type "RandomFieldMeshElementParameter".
Time stepping
- !3411 Fixed a bug in IterationNumberBasedTimeStepping.
- !3416 Fixed a bug that skips output after a rejected time step followed by successful time step.
Material models
- !3316 A vapour pressure model 'Clausius-Clapeyron'.
- !3356 'Modified Cam clay' model for cohesion-less soil materials.
- !3423 Split the relative permeability property by phase.
- !3439 Gas pressure permeability model.
- !3449 Added a function of formKelvinVectorFromThermalExpansivity.
- !3450 Somerton's thermal conductivity model for soil.
- !3498 PermeabilityOrthotropicPowerLaw, PorosityFromMassBalance and TransportPorosityFromMassBalance are now defined on the medium level.
- !3491 Added vapour diffusion type and the FEBEX type vapour diffusion property.
- !3527 A vapour diffusion property of VapourDiffusionPMQ .
- !3489 A water vapour density property.
- !3519 A linear latent heat of water property.
- !3542 Add a notion of fluid phase to MPL allowing HM process to use Gas or AqueousLiquid for fluid phase.
Bug fixes
- !3361 !3400 CMake fixes when using the MKL library.
- !3397 Skip secondary variables evaluation if the nonlinear-solver failed, e.g. for MFront material model.
File I/O
- !3383 Add iteration number output option to file names.
- !3307 New HDF5 writer based on collective MPI IO
- !3371 Node partitioned mesh reader handles all available element types.
- !3532 Remove unused XmlNumInterface.
- !3533 Sort and cleanup XML interfaces.
Code base changes
- !3502 Using
std::optionalthrough all of the code base replacingboost::optional. - !3517 Using
std::anyreplacing theboost::any.
Replacing the old implementations on small vectors and matrices with Eigen equivalents: - !3354 Change signatures of compute{2,3}DRotationMatrixToX - !3319 !3320 !3346 [GeoLib] Substitute Vector3 by Eigen - !3345 [GL] Change interface of computeRotationMatrixToXY. - !3359 Final removal of MaL::DenseMatrix and MaL::Vector3 - !3512 Replace scalarProduct() with Eigen::VectorXX::dot().
Testing and documentation
- !3377 Added gmldiff tool.
- !3351 xdmfdiff enabled for testing
- !3446 Removed Parsl test. We will focus on Snakemake for workflow management instead.
- !3448 Revived code coverage.
- !3486 Doxygen will now generate full docs (suitable for all configurations).
- !3505 [web] Updated development workflow and Conan usage.
- !3552 Full-text search for Doxygen.
Tools and utilities
- !3534 Adjusted reviseMesh command line utility to handle all mesh properties instead of just MaterialIDs
New tools
- !3433 Creating a 3D voxel grid out of a list of 2D mesh layers
- !3433 Marking all elements in a 3D voxel grid intersected by a 2D mesh (e.g. a fault)
Updates
- !3482 GMSH2OGS can now extract boundary/subdomain meshes consisting of line elements.
CI & Infrastructure
- !3343 Enable C++20 support.
- !3381 Serial container is build with Python support.
- !3385 Container have virtualenv installed to create custom Python environments.
- !3401 Website provides binaries for release branch with bug fixes.
- !3448 Code coverage reports for merge requests.
- !3472 Automatic spell checker (codespell) as pre-commit check.
- !3508 Serial container includes MFront support.
- !3539 Fixed Doxygen warnings output.
CMake
- !3428 Introduction of CMake presets for common build configurations.
- !3435 Removed option
OGS_USE_EIGEN. Eigen is used through all of the code for long time already. - !3437 Replaced git submodules with CPM. See docs.
- !3466 Reverted back to out-of-source builds in presets.
- !3494 More Conan packages moved to CPM. Renamed CMake option
BUILD_TESTINGtoOGS_BUILD_TESTING. - !3496 Preparation of code formatting with clang-format and cmake-format.
- !3504 Replaced Conan VTK module with CPM.
- !3505 Enabled build configuration with sources from tar/zip archive (previously full git repo was required).
- !3509 Added cmake-lint as a pre-commit check.
- !3518 Added cmake-format as a pre-commit check and formatted all CMake files except of Third-party and
Tests.cmake. - !3535 Simplified ccache setup, added third-party license info into installed ogs packages, simplified MSVC folder setup.
Version info
- !3343 MSVC compiler 19.24
- ~~!3343 Boost 1.67.0~~
- !3508 Boost 1.69.0
- !3343 Eigen 3.3.9
- ~~!3374 Conan 1.32.1~~
- !3473 Conan 1.33.0
- !3428 CMake 3.19 (only when using CMake presets)
- !3504 VTK 8.2.0
- C++
Published by bilke over 5 years ago
ogs - 6.3.3
Overview
This release contains a lot of improvements in all processes and also new material properties. Mostly bug fixes and documentation and procedures improvements. Stay tuned for the next major release 6.4.0 featuring new processes implementations.
Features
- You can
<include file="../path/to/file.xml">other XML files into a.prj-file. !3081
Process' changes
- Reactive transport process:
- allow to assign chemical formula alternative to a component when defining water composition. !3122
- output equilibrium and kinetic reactants (immobile phase) in amount. !3138, !3141
- Heat Transport BHE process: allow to specify a flow and temperature control condition with the BHE inflow rate and temperature values both following the corresponding curves. !3125
- ThermoHydroMechanics:
- The storage is now derived from the fluid density and the solid bulk modulus. !3159
- Fix bug in temperature equation for non-zero velocity. !3193
- HydroMechanics: Allow linear shape functions for displacement. !3334
- Use MPL properties in HeatConduction process. !3062
- Fix bug in deactivation of subdomains !3065
- Exterior forces output in LiquidFlow and HeatConduction. !3068
- Allow thermal expansion to be anisotropic in ThermoHydroMechanics process. !3107
- Improve generic interface for updating medium property variables. !3262
- Improve generic interface for computing secondary variables. !3227
- Component transport process: output flow velocity averaged over integration points. !3254
Boundary condition and source terms
- Added a special Dirichlet boundary condition called "SolutionDependentDirichlet". The value assigned for the boundary condition is dependent on the process solution of last time step. !3085, !3123
- Cleanup of source term implementations (use volumetric source terms for line source terms). !3233
Numerics
- Changed the way to pass dot x for staggered scheme. !3082
- Add dotx to postNonLinearSolver. !3164
- The extrapolators now accept an empty integration point values vector, in which case these are ignored. For now relevant only for LIE/SD process. !3117
- LIE; Update Heaviside function to [-1/2,1/2] range. !3140
Parameter
- The "Function" type parameter becomes independent from a domain specification, i.e. it is not any longer possible and necessary to specify a domain via a mesh tag !3054
- Extend the "Function" type parameter to handle time in the expressions introducing the t variable, additionally to the currently available x, y, z. !3054
- Pass curves to the "Function" parameter, such that they can be used in expressions like
curveA(sin(t)). !3058 - Increased the tolerance for |A|=1 test in coordinate system. !3203
Time stepping
- Fixed bugs in the fixed time output. !3026
- Removed the fixed output time data from time stepper classes. !3080
- Allow time stepping continue after nonlinear fails in the staggered coupling loop. !3106
Material models
- New material models:
- strain dependent permeability !3236
- relative permeability model 'RelativePermeabilityUdell'. !3290
- saturation dependent thermal conductivity. !3298
- permeability model 'Kozeny-Carman Model'. !3264
- Linear, saturation dependent swelling stress model. !3096
- Pass variables from previous time step to MPL Property::value() calls where increments are required. All *rate variables were removed in favor of the increments. !3102
- Use 2D coordinate system for LinearElasticOrthotropic solid material. A bugfix, now allowing 2D anisotropy and solid material orthotropy to be used simultaneously. !3165
- Unused MPL properties are shown as warnings after successful run in debug mode. !3197
- Error message now informs user of missing properties on the medium scale. !3337
- Bugfix of a 2D case in MFront's implementation of Mohr-Coulomb-Abbo-Sloan anisotropic model. !3260
- Update interface of the solid material models now accepting MPL Variables. !3261
File I/O
- New optional output format XDMF:
- light data is written into .xdmf file and heavy data into .h5 file. !3184
- reduced number of iNodes for HPC applications and removed redundancies in file output. !3246
Visualization
- Refactored insitu-functionality for VTK 9 / ParaView 5.8. The mpi container generated by the CI job now contains this functionality. !3092
partmeshtool now exports "vtkGhostType" array indicating duplicate cells. !3111- Fixed ghost element bug #3035. !3299
Documentation and webpages
- Update the HeatTransportBHE PipeNetwork Tutorial to TESPy version 0.3.x API. !3070
- Three-part video tutorial available on YouTube. !3278
- New benchmark based the Liakopoulos experiment for RichardsMechanics. !3175
- New test of heat transport in liquid flow with a constant velocity, HeatTransportInStationaryFlow. !3194, !3328
- Fixed a formula display in "BGRa creep model". !3329
- Switched from Pandoc to GoldMark Markdown parser. !3076
- Added troubleshooting web page for runtime issues. !3129
- Web site usage tracking with Plausible, No personal data is tracked. Fully GDPR-compliant. !3168
- Added web pages on how to get support and fill a bug report. Also enabled GitLabs Service Desk feature. !3270
Tests
- CTests now have labels based on their subdir in
ProcessLib. !3079 - LARGE benchmarks are determined by their
RUNTIMEgiven inAddTest()/OgsTest(). Current threshold: 60 s. !3079 - Added
DISABLED-paramter toAddTest()/`OgsTest(). !3079 - Run PETSc LARGE benchmarks in CI. !3079
- Add tests for mesh element quality criteria, fixing bug in AngleSkew criterion. !3279
- Updated to MathJax 3 for web formulas. !3300
- Better ctest dependencies and gui utils tests. !3323
- Changed the output name in square5500x5500staggeredschemeadaptive_dt.prj. !3331
New tools
- Support for processing large meshes on envinf1. !3099
- Raster2PointCloud: Converts raster data into point clouds with an intensity-based density of randomised points per pixel for visualisation in ParaView/Unity. !3077
- Conversion of linear to quadratic mesh now supports Quad4 to Quad9 conversion. !3090
- Raster2Mesh: Converts an ASCII raster file into 2D mesh. Pixel values can be interpreted as elevation of mesh nodes or as scalar values for mesh elements. !3109
- AssignRasterDataToMesh: Adds raster information as a scalar array to an existing 2D mesh. !3174
- ExtractMaterials: Splits a mesh with n material groups into n meshes, each containing only the elements of the same material. !3116
partmesh: Added optional-x-argument to specify metis input mesh. !3171- IntegrateBoreholesIntoMesh: Integrates boreholes/BHEs as line elements into pre-existing mesh. !3188
- VerticalSliceExtraction: Constructs a vertical 2D slice out of a collection of horizontal 2D layers. !3273
- AddElementQuality: Adds evaluation of element quality criterion as data array to the mesh. !3283
CI & Infrastructure
cppcheck-report. !3053.- Package DataExplorer into container. !3105
- Unified and local (in the build-dir) Python environment with Poetry. !3133
- Python formatting check with black. !3158 and #3044
- Install dependencies for redistributable packages. !3226
- Publish to Docker container for serial configuration. !3271
CMake
- Reduced CMake runtime by 2-3 s. !3084
- Updated submodule MGIS for proper tfel finding. !3127
- Added option
OGS_USE_XDMF(defaults toOFF) for enabling Xdmf output. !3295 - Use generator expressions for targetlinklibraries(). !3297
- Move global preprocessor definitions to targets. !3330
Version info
- Pandoc requirement for web site removed! !3076
- PETSc 3.11.2. !3094
- Update exprtk submodule to the most recent master commit (d312ba9 ) dated 1 Jan. 2020. !3112
- Apple Clang (Xcode) 11.0 required. !3115
- New (optional) dependency: HDF5 1.10.5. (!3246, !3295)
- New (optional) dependency: Libxml2 2.9.10. (!3246, !3295)
- C++
Published by bilke over 5 years ago
ogs - 6.3.2
Overview
We have migrated to GitLab (issue 2947 on GitHub)! See GitLab migration guide.
The source code license was slightly modified, PR 2977 on GitHub!
Features
Process' changes
- Reactive transport process: perform chemical calculation on the integration points !3017, !3018, !3019
- HeatConduction; Add Newton assembly and mass lumping. Results of the mass-lumping are discussed on the benchmarks web page. !3045
Numerics
- Implementation of primary variable constraint Dirichlet-type boundary condition !3014
- Add the PETSc-SNES non-linear solver to possible list of solvers. This is still experimental feature. !3049
New tools
- Rename AddTopLayer to AddLayer (tool can also add bottom layer) !3015
Infrastructure
- Git LFS files were converted to plain git, issue 2961 on GitHub, see GitLab migration guide.
- Migrated from Jenkins to GitLab CI.
- Update MGIS to latest release following tfel version 3.3.0 !3028
Version info
- tfel-3.3.0
- C++
Published by bilke almost 6 years ago
ogs - 6.3.1
Overview
This is the last release before the announced license change (see #2973 pull request), and we are moving to GitLab! GitHub has served us well in the past years but we would like to employ the more powerful feature set of GitLab. See the announcement for more details.
Features
Process' changes
- LiquidFlow move porosity/storage from MPL solid phase to medium scale. #2872
- Reactive transport process: enrich Phreeqc interface using direct memory access approach for equilibrium-controlled reactions. #2883
- Rename Groundwater flow to SteadyStateDiffusion. #2860
- ThermoHydroMechanics now accepts linear shape functions for displacement. #2885
- Output intgration point data in RichardsMechanics process for proper restart option. #2911
- RichardsMechanics now uses the alternative mass balance formulation. #2914, #2921
- Computation of all secondary variables for output and restart in RichardsMechanics process is now consistent with the latest solution. #2936
- RichardsMechanics now relies on the solid's bulk modulus and Biot coefficient to compute grain compressibility. #2955
Numerics
- Add bulk element mappings for triangles. #2901
- Add mapping from points of a pyramid face to points in the pyramid element. #2913
- Remove unused time discretization schemes. Only backward Euler is being used now. This simplifies certain upcoming refactorings. #2908
Input and output
- Fixed bug of fixed time output not being written in case of repeated time step. #3000
Material models
- New MPL property:
- Added back names of properties for better error messages. #2958
- Store properties' definition scale for each property. #2958
- Improve error handling in MPL when accessing a property of wrong type. #2941
Add computation of bulk modulus for MFront solid material models. #2955
Add solid pressure. Used by RichardsMechanics for solid density update. #2999
Generalize exponential property, which now has an additive offset. #3008
File I/O
- Write PVD files for each subdomain output. #2949.
Testing and documentation
- Refactored FileTools.cpp to use std::filesystem. #2918
- Added documentation on how to use windows subsystem for linux (WSL). #2946
- Test definitions in the project files now support regular expressions. #2945
New tools
- Tool to convert PVTU-meshes into regular, non-partishioned meshes and remove ghost information. #2876
- Add prism element type to structured mesh generator tool. #2903
- Create regular mesh consisting of pyramid elements. #2909
- Correct reordering for pyramid elements in NodeReorder tool. #2937
Data Explorer
- Adding an array to a 2D mesh based on a raster file is now possible. #2984
Infrastructure
- Serial container image is built with Python enabled. #2765
- Added CMake-function
ogs_add_library()as a drop-in replacement for theadd_library()-function. #2881 - Bumped minimum compiler and use
std::filesystemfor temporary file creation. #2827 - Replace
logoglogger with a modern and type safespdloglogger. It also includes the formatting libraryfmt, which is a great alternative to the iostreams. #2875, #2873, #2891, #2882 - Add GMRES restart to linear solver options. #2910
- More flexible algorithm to specify the file names of the output in the project file. #2927
- Now x_dot and dt are being passed to the
computeSecondaryVariables()function allowing rate dependent secondary variable evaluation. #2935 - The order of
postTimeStep()andcomputeSecondaryVariables()has been changed, s.t. all quantities computed in the secondary variables computation are available before the post time-step call. #2936 - Added GitLab CI config. #2968
CMake options changes
- Removed option
OGS_USE_PCH, added optionOGS_USE_UNITY_BUILDSto speed up compilation by using Unity builds. #2906
Version info
New compiler minima (#2827):
- gcc: 9.0, see also #3006
- clang: 9
- msvc: 2019
- C++
Published by bilke about 6 years ago
ogs - 6.3.0
In this release the Material Property Library is significantly enriched with new constitutive relations and gets wide use in the processes.
Other significant changes are:
Features
Process' changes
- Richards mechanics process now correctly computes porosity changes in presence of swelling. #2825
- HydroMechanics process has now the option to use mass lumping. #2826
- HydroMechanics process now uses permeability in tensor form with corresponding output. #2848
- Reactive transport process has a mesh tag for restricting the place where chemical reactions take place within a specified subdomain. #2851
Numerics
- Pass
x_dotto processes' assemble functions. Used by rate-dependent material models. #2795 - triangular elements with 7 integration points (order 4). #2798
Input and output
- Output of surface fluxes (for 2D and 3D bulk domains) for balance computations is now available for LiquidFlow process. #2760
- Compute and output element-average porosity in RichardsMechanics process. #2803
- Output of fixed time when using IterationBasedTimeStepping is now available. #2831
Material models
- Enable orthotropy in MFront solid material model interface. #2774
- Enable shared medium definition for multiple materials. #2786
- Implement van Genuchten saturation and relative permeability models in MPL. #2788
- Convert processes to use MPL for the fluid and porous media models:
- Hydro-mechanics. #2779
- Richards-mechanics. #2787
- LiquidFlow. #2807
- GroundwaterFlow. #2820
- Pass time increment dt to the material models. #2801
- Add initialValue(x, t) for material properties. #2804
- Implement mass balance porosity, used in RichardsMechanics. #2804, #2829
- Orthotropic permeability power law, used in RichardsMechanics. #2813
- Implement saturation dependent swelling, used in RichardsMechanics. #2819, #2832
- Bishop's effective stress models; power law and saturation cutoff, used in RichardsMechanics. #2823
File I/O
Testing and documentation
- A new test verifies the correct conversion from PropertyType enum to string and back. #2770
New tools
- ExtractEntireSurface: The tool extracts either lines in case of a 2D bulk mesh as input or quads/triangles in case of a 3D bulk mesh as input. #2764
Infrastructure
- Added a Code of Conduct. #2834
Fixes
- Fixed bugs in the element deactivation #2753, #2789.
CMake options changes
- Added version requirements file in json-format to have a single source used by CMake and the web site generator. #2783
Version info
- See versions.json
- C++
Published by endJunction over 6 years ago
ogs -
Features
Other process' changes
- Surface sorption / desorption process implemented. #2658
- Tag to fix amount of a KineticReactant in ChemistryLib. #2638
- Replaced the material parameters of ThermoHydroMechanicsProcess with MPL. #2614
- Explicit tag to set initial stresses in
SmallDeformation,ThermoMechancis,HydroMechanics, andRichardsMechanicsprocesses. #2635 - Invoke material parameters that are associated with
component transport processfrom MPL. #2646 - Integrated another Phreeqc interface using direct memory access approach for reactive transport modeling. #2640
- Replaced the specific material properties of TwoPhaseFlowWithPP with generalized MPL. #2644
- Pass
dtthrough interfaces instead of storage in process' data or coupled solutions. #2673
Numerics
- Generalized implementation for specification of the non-equilibrium initial states. #2633
- Bulk element point mapping for tetrahedrons added. #2662
- Repeat time step if assembly failed. Specifically for MFront material models if the integration fails, the time step will be repeated given adaptive time stepping scheme. #2730
Boundary condition
- Add possibility to specify 'lower' dimensional Robin/Neumann boundary conditions. #2710
Source term
- Line source terms are available. #2685
Input and output
- [HT] Test if all the needed material properties read from project file. #2727
- Extend internal state variables (MFront) output to TM, RM, and HM. #2732
Material models
- New ParameterProperty can be used for heterogeneous spatial distributed MPL properties. #2616, #2683
- Include MFrontGenericInterface as submodule and update to version tfel-3.2.1. #2631
- Add Mohr-Coulomb-Abbo-Sloan (and its orthotropic version) to MFront material models. #2634
- Extend
LinearPropertyfor linear dependency upon multiple dependent variables. #2649 - New
IdealGasLawMPL property for pure phases consisting of ideal gases. #2651 - New MPL property
Saturationbased on the Brooks and Corey material model. #2652 - New MPL property
Relative Permeabilitybased on the Brooks and Corey material model. #2656 - New MPL properties
SaturationandRelative Permeabilityaccording to the original Liakopoulos multiphase flow experiment. #2657
File I/O
- A no longer used
RapidStnInterfaceforstnfiles is dropped. The usedXmlStnInterfaceremains. #2609
New tools
- command line utility to interpolate equidistant raster files between two boundary rasters (for vertical refinement of subsurface layers). #2621
- command line utility to convert 2D meshes into ESRI shape files. #2627
- command line utility to conver netCDF-files into OGS meshes. #2654
- command line utility for for 3D mesh to grid conversion. #2704
Other notable code changes
- Split BuildInfo from BaseLib into separate libs to reduce re-linking after changes in the info variables. #2625
- Remove almost unused "named functions". #2708
Infrastructure
- Update tetgen to version 1.5.1 released on 18. of August 2018. #2618
- Add options to enable gcc sanitizer flags. #2706
Jenkins
- Builds Singularity container with OGS compiled for different MPI versions on master, #2628
- Run benchmarks in Singularity container, #2648
CMake options changes
- Added option to set OGSBUILDPROCESSES=OFF to disable building of all processes. #2752
Web / Docs
- Added links to latest benchmark pages to homepage, added sticky navigation. #2620
- Website is now fully built (including generation of CSS and JS files) by Netlify, #2731
Version info
- Hugo 0.60.1 (for website generation). #2731
- Conan 1.21.0, #2654, #2756
- C++
Published by endJunction over 6 years ago
ogs - 6.2.1
Features
New processes
- A thermo-hydro-mechanical (THM) process, monolithic implementation for Newton non-linear solver. #2446
Other process' changes
- Non-equilibrium initial state in the small deformation, HM, and TM processes. #2501, #2561, and #2544
- A reactive transport process, integrated IPhreeqc Module 3.5.0 for reactive transport modeling. #2494, #2512
- Fix velocity output in HM. #2507
- Store process' names in the Process class instead of an outside map. #2534
- Generalize permeability models for the fracture flow in LIE/HM:
- CubicLaw (just generalization). #2542
- ConstantPermeability. #2543
- Add simple mass lumping to the RichardsMechanics. #2590
Numerics
Parameter
- new TimeDependentHeterogeneousParameter. #2588 Feature can be used for time dependent heterogeneous boundary condition or source term specification.
Boundary condition
Source term
Input and output
- HT process: Use MaterialPropertyLibrary for solid phase properties, too. This makes it necessary to changed the project files. #2487
- Reactive transport process: Output time-series amounts of kinetic reactants and equilibrium phases defined under the subtree of chemical system. #2564
Material models
- Orthotropic elasticity model. #2428
- Dupuit permeability relation. #2330
File I/O
- Gocad TSurface reader has been added #2547
- Gocad PLine reader has been added #2586
Testing and documentation
New tools
- GocadTSurfaceReader command line utility #2547/#2586
New tools and CLI usage
- Add switch multiple-nodes-allowed to tool constructMeshesFromGeometry, #2459
- Add option to vtkdiff tool to compare meshes using absolute tolerances and connectivity, #2485
- Scalar arrays are copied when using the ExtractSurface-tool, #2492
Data Explorer
- Mesh to shape export is now writing all cell-based scalar arrays to the DBF-file, #2436
- Added support of world files to georeference arbitrary raster files, #2460
- Scalar arrays are copied when extracting mesh surfaces, #2492
- Gocad TSurfaces can be imported into Data Explorer #2547
- Gocad PLines can be imported into Data Explorer #2586
Other notable code changes
- Conversion to linear mesh is now independent of node numbering. #2519
Development workflows
- Added git hooks via pre-commit. See docs/devguide/getting-started/get-the-source-code/ for installation instructions, #2599
Infrastructure
Jenkins
- Added web link checker, #2572
- Reordered Jenkins pipeline for better concurrency, #2560
- Updated Docker base images to Ubuntu 18.04, #2493
- Migrated from envinf1 to frontend2, #2440
- Conan: Use lower-case package names for qt, vtk and shapelib, #2450, #2573
CMake options changes
- Bumbed miniumum CMake version to 3.12, #2597
- Added option
OGS_CONAN_BUILD_TYPEto overwrite Conan build type, #2577
Web / Docs
- Added embedded screen recordings with https://asciinema.org, #2510
Version info
- CMake minimum 3.12
- VTK minimum 8.2
- C++
Published by bilke almost 7 years ago
ogs - 6.2.0
Changelog
Features
New processes
- HeatTransportBHE process supporting 1U, CXA, and CXC BHE types. #2221, #2332, #2271, #2275
- Staggered implementation of a thermo-mechanical with phasefield process. #2102
- Richards mechanics process. #2189
- Small deformation process with non-local integration of damage. #2294
- Staggered implementation of phasefield process. #2052
- ComponentTransport process in revised formulation. #2200
- Multi-component transport process. #2304
Other process' changes
- A Jacobian tester: a process's Jacobian assembly can be compared to a numerical Jacobian (mostly for development. #2238
- Add
setInitialConditions()call to processes and local assemblers. #2334 - Several bug fixes for LIE/HM process including "fracture into matrix leak-off", Darcy velocity output in the fracture. #2129
- Support for intersecting fractures (x-crossing and t-junction) in LIE/SD process. #2235, #2293
- Fixed the calculation of the Darcy velocity in staggered TH. #2127
Numerics
- Staggered scheme for coupled processes with different orders of elements. #2016
- Subdomain deactivation within time intervals. #2297
- Add a driver for an iteration based time stepping algorithm. #2318
Boundary condition
- Implementation of Python boundary conditions. #2170
- Implementation of constraint boundary conditions. #2145
- Dirichlet boundary condition within a time interval. #2272
- BoundaryElementSearch: Return bulk element id and bulk element face id. #2125
- Removed Neumann boundary condition for displacement jumps in LIE processes. #2153
Source term
- Use parameter for source terms. #2061
- Volumetric source terms implementation. #2220, #2234, #2241, #2261
Input and output
- Writing and reading of integration point data. Implemented sigma and epsilon output for some processes. #2071, #2203, #2324
- Add input of vtu-meshes for boundary conditions additionally to the gml input. This is later used by the heterogeneous parameters and source terms. #2140, #2141, #2156
- Parameters may now be explicitly defined on arbitrary subdomains. This merges the Heterogeneous Dirichlet and Neumann boundary conditions with their, previously only homogeneous, counterparts. #2376
- Parameters now support space-dependent function input via exprtk library. #2325, #2339
- Output of primary variables on arbitrary subdomains. #2372, #2299
- Output is possible at specific times for adaptive time stepping and evolutionaryPIDController. #2079
- Calculate and output specific flux. #2411
- Enable surface flux calculation for component transport process. #2168
- Interpolated pressure (on higher order elements' nodes) output for Richards-mechanics and hydro-mechanics processes. #2228
- Improve output of nodal aperture and aperture vector in LIE/HM. #2050
- Add output of nodal forces and hydraulic flow in mechanics and coupled mechanics processes, SD, HM, LIE/SD, LIE/HM. #2118
- Enable surface flux calculation for HT process. #2132
- Fixed pvd output. #2036
Material models
- BGRa creep model. #2167
- New cohesive zone mode I fracture model for LIE processes. #2142, #2157
- Add MFront/TFEL solid constitutive relation support via.
MFrontGenericInterfaceSupport library. CMake option
OGS_USE_MFRONT. #2259 - Infrastructure for multi-phase, multi-component material properties library. #2303, #2415
- Anisotropic tensors may now be given in given local coordinate system. #2370
- Non-constant density model implementation in HC process. #2200
- Add second derivatives of permeability functions in Richards flow. #2188
- Different solid material models can now be defined on different materialIDs. #2216, #2262, #2270
- Move solid constitutive relation creation in single place. #2160
Testing and documentation
- Migrated Appveyor tests to Azure Pipelines. #2342
- Added cppcheck, clang-tidy and include-what-you-use. #2078, #2328, #2377
- Added check for header standalone compilation, can be enabled with
OGS_CHECK_HEADER_COMPILATION=ON. #2043 - Jenkins shows nice summaries of compiler warnings. #2206
- Large tests are fixed and run on Jenkins upon master merge. #2056, #2155
- Re-enabled code coverage reports (for the testrunner only) with Codecov. #2333, #2336
- Commits containing
[ci skip]in the commit message do not trigger a Jenkins build. - Add
vtkdifftest configuration to project files, s.t. the vtkdiff tests are performed after successful run comparing output to reference files. This possibility is also reflected in a new CMake functionOgsTestas an alternative to theAddTest. #2255, #2257
New tools
TecPlotTools: splitting files containing multiple zones into seperate TecPlot files. #2114TecPlot-Reader: converting TecPlot rasters into OGS meshes (one file per zone, containing all variables as scalar arrays). #2114constructMeshesFromGeometry: Construction of boundary meshes from bulk mesh and gml files. #2144identifySubdomains: Identification of boundary meshes (or any subdomains in general) in the bulk mesh. Performs geometrical tests and creates and verifies necessarybulk_node_idsandbulk_element_idsmaps. #2227, #2252Mesh2Raster: converts 2D OGS meshes into raster files of arbitrary pixel size, where node elevation is represented by pixel value. #2367GocadSGridReadertool reading the Gocad/SKUA stratigraphic grid format and writing the data in the vtu format. #2316
New tools and CLI usage
ogs --helpshows the given CMake options. #2210- Unify command line version info output. #2194
- Rewrite
partmeshtool and add partitioning of boundary meshes (or subdomains in general) according to the partition of the bulk mesh. #2159, #2178, #2195 - Add new features to
ExtractSurfacetool. #2387, #2401 - updated utility
moveMeshNodes: algorithm for mesh on mesh mapping now calculates exact node elevation instead of using interpolation. #2390
Data Explorer
- Listing of source terms and boundary conditions in Data Explorer DataView (no visualisation yet). #2110
- Mesh element removal can now remove elements based on value ranges of arbitrary scalar arrays (currently only int- and double arrays are supported). #2115
- added custom VTK filter to represent raster data as point clouds. #2121
- geometrical points can now be converted into station points. #2369
- fixed issue with geometrical surfaces not being loaded correctly. #2388
- Replace deprecated QVTKWidget with QVTKOpenGLWidget #2432
Other notable code changes
- C++17 standard is enabled and is allowed in the production code (given the compiler support). #2298
- Separate monolithic ProcessLib into individual processes. Now it is possible to build ogs with selected processes only. This also improves linking times. #2017
- Parameters are extracted in own library. #2413
- Port secondary variable extrapolation and output for PETSc builds. #2082
- Extend Kelvin mapping functions and move implementation to MathLib. #2060, #2075, #2044
- Collect generic algorithms in single header file. #2161
- Remove unused MeshSubsets class. #2135
- Removed writing of xsd header in XML files, #2198
Infrastructure
- Migrated LFS storage from GitLab to Artifactory. #2359
- Optimized ctest runtime by starting long-running benchmarks first. #2310
- Proper RPATH handling for shared library installations. #2208
- Package OGS inside container with Singularity; more docs. #2193, #2356
- Migrated opengeosys.org to a static site generator (Hugo) unifying documentation and general OGS info. #2088, #2095, #2123
- Speed-up CMake run time. #2072, #2392
CMake options changes
OGS_USE_PYTHONenables Python BCs. #2170OGS_BUILD_TESTSwas renamed toBUILD_TESTING. #2350- Added
OGS_USE_CVODE. #2344 - Added
OGS_BUILD_PROCESSESfor;-separated list of processes to build. #2233 OGS_USE_CONAN=ONis now the default whenconanwas found. #2207
Version info
- CMake minimum version 3.10
- Visual Studio minimum (and tested) version 2017
- GCC minimum version 6.2 (tested: 6.4)
- Clang minimum version 3.5 (tested: 7.0)
- Boost minimum version 1.66.0
- VTK minimum version 8.1. #2158
- Qt tested version 5.11.2
- Python tested version 3.7.2
- C++
Published by bilke over 7 years ago
ogs - 6.1.0
Overview of changes since 6.0.8 release.
The changes since the prerelease 6.1.0-rc1 contain few bug fixes and improvements of the CI.
Features:
New processes:
- ComponentTransport https://github.com/ufz/ogs/pull/1758
- PhaseField https://github.com/ufz/ogs/pull/1813 and https://github.com/ufz/ogs/pull/1895
- RichardsComponentTransport https://github.com/ufz/ogs/pull/1929
- ThermoMechanics https://github.com/ufz/ogs/pull/1800
- TwoPhaseFlow p-rho https://github.com/ufz/ogs/pull/1613
Other process' changes:
- New equation assembly approach for the staggered scheme. With that, the coupling assembly computations are changed from performing assembly across the different Process classes for a coupling to a single Process class for coupled processes, which was assumed only for the monolithic before. With the changes, the original Process class that for monolithic scheme originally can now handle both of the monolithic and staggered schemes. So far, HT classes get the staggered scheme based on this new framework of assembly. https://github.com/ufz/ogs/pull/1970
- Heterogeneous liquid flow properties (https://github.com/ufz/ogs/pull/1979, https://github.com/ufz/ogs/pull/2017)
- New boundary conditions added: Nonuniform Dirichlet (https://github.com/ufz/ogs/pull/1952) and Neumann (https://github.com/ufz/ogs/pull/1891), and normal traction (https://github.com/ufz/ogs/pull/1896)
- Framework for time stepping and a first application of adaptive time stepping, EvolutionaryPIDcontroller, and automatic time step control (https://github.com/ufz/ogs/pull/1803).
- Nodal source terms (https://github.com/ufz/ogs/pull/1977)
- Fix deformation processes to work correctly with PETSc parallelization (https://github.com/ufz/ogs/pull/1838).
- Fix the access to local data of PETScVector (https://github.com/ufz/ogs/pull/1797).
- Add damping factor to global Newton. https://github.com/ufz/ogs/pull/2004
- Extend extrapolator to vectorial quantities and replace the component-wise output of Darcy velocity and the stress/strain in mechanical processes with single vectorial output.
Material model changes
- Separate FractureModels in LIE https://github.com/ufz/ogs/pull/1971
- Add material forces as published in http://www.sciencedirect.com/science/article/pii/S0093641317303865 https://github.com/ufz/ogs/pull/1936
Testing and documentation:
- Insitu visualization with ParaView Catalyst. See presentation. #1744, #1732. As a consequence VTK 7.1 is now required.
- Benchmark docs are now part of the code (in
web/content) and can contain interactive 3D visualizations via vtk.js. #1706, #1714, #1723, #1729. - Migrated handling of test data files from git-submodule to git-lfs, see docs. #1964, #1982, #1984, #2010, #2012. Now git-lfs is required. Check the installation instructions.
Infrastructure:
- Fully moved to Conan for automatic third-party library handling. Can be enabled with
OGS_USE_CONAN=ON, see docs. #1907 - Conan version 1.0 is now required.
- Dropped travis CI environment and added few new tests on Jenkins because of simpler maintenance.
CMake options changes:
OGS_EIGEN_DYNAMIC_SHAPE_MATRICESdefaults to OFF on Release config, ON otherwise. Can be overridden by explicitly setting the option. #1673- New
OGS_EIGEN_INITIALIZE_MATRICES_BY_NANdefaults to ON for easier spotting of non-initialized matrices. When OFF, the Eigen's default initialization to 0 is skipped resulting in slightly faster execution. https://github.com/ufz/ogs/pull/1917 - Set default Eigen's cmake flag disabling vectorization since this lead to several problems in different environments. https://github.com/ufz/ogs/pull/1919 and the issue linked there https://github.com/ufz/ogs/issues/1881
Other
- PETSc config is tested on Jenkins (envinf1)
- OGS binaries are provided as eve / envinf1 modules. See docs for details. #1753
- Migrated Data Explorer to Qt5. #1622, #1625
- Windows builds are tested on MSVC 2017 on own hardware and on MSVC 2015 on AppVeyor. #1802
- Minimum GCC version is 4.9 (tested on Travis and Docker builds), 6.2 is tested on UFZ cluster system (envinf1). #1810
- Removed Windows 32-bit builds from testing --> no Windows XP binaries are provided anymore. #1988
- Migrated Jenkins Pipeline scripts to new syntax called Declarative Pipeline. #1976
- Tests to check the gradient of shape function by comparing the given and the computed element volumes (https://github.com/ufz/ogs/pull/1873).
- C++
Published by endJunction over 8 years ago
ogs - 2017
Features:
New processes:
- ComponentTransport https://github.com/ufz/ogs/pull/1758
- PhaseField https://github.com/ufz/ogs/pull/1813 and https://github.com/ufz/ogs/pull/1895
- RichardsComponentTransport https://github.com/ufz/ogs/pull/1929
- ThermoMechanics https://github.com/ufz/ogs/pull/1800
- TwoPhaseFlow p-rho https://github.com/ufz/ogs/pull/1613
#### Other process' changes:
- New equation assembly approach for the staggered scheme. With that, the coupling assembly computations are changed from performing assembly across the different Process classes for a coupling to a single Process class for coupled processes, which was assumed only for the monolithic before. With the changes, the original Process class that for monolithic scheme originally can now handle both of the monolithic and staggered schemes. So far, HT classes get the staggered scheme based on this new framework of assembly. https://github.com/ufz/ogs/pull/1970
- Heterogeneous liquid flow properties (https://github.com/ufz/ogs/pull/1979, https://github.com/ufz/ogs/pull/2017)
- New boundary conditions added: Nonuniform Dirichlet (https://github.com/ufz/ogs/pull/1952) and Neumann (https://github.com/ufz/ogs/pull/1891), and normal traction (https://github.com/ufz/ogs/pull/1896)
- Framework for time stepping and a first application of adaptive time stepping, EvolutionaryPIDcontroller, and automatic time step control (https://github.com/ufz/ogs/pull/1803).
- Nodal source terms (https://github.com/ufz/ogs/pull/1977)
- Fix deformation processes to work correctly with PETSc parallelization (https://github.com/ufz/ogs/pull/1838).
- Fix the access to local data of PETScVector (https://github.com/ufz/ogs/pull/1797).
- Add damping factor to global Newton. https://github.com/ufz/ogs/pull/2004
- Extend extrapolator to vectorial quantities and replace the component-wise output of Darcy velocity and the stress/strain in mechanical processes with single vectorial output.
Material model changes
- Separate FractureModels in LIE https://github.com/ufz/ogs/pull/1971
- Add material forces as published in http://www.sciencedirect.com/science/article/pii/S0093641317303865 https://github.com/ufz/ogs/pull/1936
Testing and documentation:
- Insitu visualization with ParaView Catalyst. See presentation. #1744, #1732. As a consequence VTK 7.1 is now required.
- Benchmark docs are now part of the code (in
web/content) and can contain interactive 3D visualizations via vtk.js. #1706, #1714, #1723, #1729. - Migrated handling of test data files from git-submodule to git-lfs, see docs. #1964, #1982, #1984, #2010, #2012. Now git-lfs is required. Check the installation instructions.
Infrastructure:
- Fully moved to Conan for automatic third-party library handling. Can be enabled with
OGS_USE_CONAN=ON, see docs. #1907
CMake options changes:
OGS_EIGEN_DYNAMIC_SHAPE_MATRICESdefaults to OFF on Release config, ON otherwise. Can be overridden by explicitly setting the option. #1673- New
OGS_EIGEN_INITIALIZE_MATRICES_BY_NANdefaults to ON for easier spotting of non-initialized matrices. When OFF, the Eigen's default initialization to 0 is skipped resulting in slightly faster execution. https://github.com/ufz/ogs/pull/1917 - Set default Eigen's cmake flag disabling vectorization since this lead to several problems in different environments. https://github.com/ufz/ogs/pull/1919 and the issue linked there https://github.com/ufz/ogs/issues/1881
Other
- PETSc config is tested on Jenkins (envinf1)
- OGS binaries are provided as eve / envinf1 modules. See docs for details. #1753
- Migrated Data Explorer to Qt5. #1622, #1625
- Windows builds are tested on MSVC 2017 on own hardware and on MSVC 2015 on AppVeyor. #1802
- Minimum GCC version is 4.9 (tested on Travis and Docker builds), 6.2 is tested on UFZ cluster system (envinf1). #1810
- Removed Windows 32-bit builds from testing --> no Windows XP binaries are provided anymore. #1988
- Migrated Jenkins Pipeline scripts to new syntax called Declarative Pipeline. #1976
- Tests to check the gradient of shape function by comparing the given and the computed element volumes (https://github.com/ufz/ogs/pull/1873).
- C++
Published by endJunction over 8 years ago
ogs - 6.0.8 with insitu visualization capabilities
See #1744. Just used this release for DOI generation.
- C++
Published by bilke over 9 years ago
ogs - M and HM processes with Lower-Interface Elements.
The highlight of the release is the implementation of the Lower-Interface Elements for both the small deformation process (M) and hydro-mechanics process (HM) allowing fractures to be incorporated in the solution domain. For the liquid flow and two-phase flow processes several material models for the fluids pressure, density, permeability, and viscosity were added.
Features:
- Implementation of hydro-mechanics (HM) with LIE. #1537-#1541
- Implementation of small deformation (M) with LIE. #1452
- Fracture constitutive models. #1434
- Hydro-Mechanics process. #1508
- First version of monolithic hydro-thermal process implementation with Boussinesq approximation using constant viscosity. #1534
- Two phase flow process with pp model implementation. #1530
- Richards flow process implementation. #1473
- Liquid process. #1468
- Classes for relative permeability models. #1531
- Classes for capillary models. #1517, #1578
- Ehlers single-surface yield function constitutive relation model. #1556
- Support scaling, GMRES, and Pardiso in Eigen linear solvers. #1509 #1510
- Piecewise linear Monotonic curve and a generic curve parser. #1529
- Support searching boundary nodes in MeshLib::NodeSearch. #1459
- Support specifying the shape function order in process variables. #1503
- Command line option --unbuffered-std-out to deactivate buffer for standard output. #1514
- CMake option OGSFATALABORT for debugging. #1432
- Set the default OGSLOGLEVEL to debug in release builds. #1522
- Add integration order in input files. #1464
Utilities
New utilities: - createQuadraticMesh #1500 - convertToLinearMesh #1554 - postLIE #1555
New features: - extend NodeReordering to correct ordering of nonlinear nodes #1519
Infrastructure:
- Ctest now works on Windows too by removing time-wrappers. #1480
- Moved to public Jenkins instance at jenkins.opengeosys.org. #1505
- Doxygen warnings parser in Jenkins will mark a build as unstable if there are Doxygen warnings. #1585
- Benchmarking on Jenkins now saves the standard output into a file for each test. #1528
Fixes:
- Fix LocalToGlobalIndexMap with mutliple variables and with multiple componets. #1433 #1440
- Fix PropertyVector
for multi-component case. #1441 - Fix checking IDs of nonlinear nodes. #1495
- Fix incorrect use of getNumberOfBaseNodes(). #1515
- Fix computing sparsity pattern for mixed shape function order cases. #1548
- Fix that iterations and residuals were not printed when Eigen linear solver fails. #1499
- Fix all of the Doxygen warnings in the code. #1569 #1573
- Fix all of the input file/keyword documentation and its generation.
- C++
Published by endJunction over 9 years ago
ogs - Mechanics and heat conduction.
Features
The main features of this release is the implementation of two new processes, the small deformation, and the heat conduction. Some extensions were done to the DOF table to be able to manage multi-component/multi-variable processes. Also, during implementation of the Robin boundary conditions, the base classes for the boundary conditions were generalized. - Add small deformation process with linear elastic material model. The implementation is based on the Kelvin mapping. #1340 - Added B-Matrices and Kelvin mapping tools for deformation processes. #1359 - Heat conduction process implementation. #1328 - Finalize support for multicomponent boundary conditions adding configuration parser. #1343 - Added uniform Robin boundary condition. #1336 - Added a generic natural boundary condition class. #1337 - Added Robin boundary condition. #1336 - Reworked the Parameter class. It now serves as a basis for BCs and ICs. #1357, #1356 - Added time-dependent Dirichlet BCs. #1380 - Add calculation of surface flux, tests for groundwater flow. #1429 - Implemented numerical Jacobian assembly for Newton-Raphson solver. #1352 - Added the new parameter type "Group" which can be used for setting material ID dependent values. #1426 - Added fluid property class and several fluid density and viscosity models based on it. #1398, #1435 - Enabled solving of axially symmetric problems on 2D meshes for all currently implemented processes. #1443 - Added time measurement for assembly and solvers. #1322 - Added named functions, out of which expressions can be built up at run-time from the prj file, which can be used to output additional nodal quantities. #1314, #1315 - Added component-wise norms, and flexible convergence criteria for nonlinear solvers. #1349, #1342 - Restructured the time loop. #1364
Utilities
New utilities:
- createNeumannBc: The tool integrates the given element property and writes
the computed data as a PropertyVector with the name node_aggregated_gwn
into the mesh. The tool also outputs an OGS-5 direct source term (Neumann
boundary condition) data file. #1346
- scaleProperty for simple rescaling of mesh properties. #1347
- convertGEO for geometric file conversion, e.g. gli to glm. #1360
- swapNodeCoordinateAxes to swap node coordinate values, e.g. XY to XZ plane. #1361
New feature:
- Support tetrahedra types in generateStructuredMesh. #1353
Infrastructure
- Migrated all important Jenkins jobs to script-based Jenkins Pipeline functionality. For an introduction see docs.opengeosys.org - Continuous Integration. #1392, #1396, #1404, #1411, #1424, #1428, #1436
- Moved CMake logic for packaging executable dependencies (such as shared libs) to the install and package targets instead of running after each executable gets build. #1458
- Increase minimum clang compiler version to 3.5 in course of updating travis build enviroment to Ubuntu LTS 14.04. #1448
- Added a script that generates crosslinked Doxygen pages out of ctest input files #1348
Fixes:
- Fix an issue that a shape vector was defined as a column vector. Corrected to a row vector . #1288
- Fix usage of
boost::optional<T const&>, which has changed in version 1.61. #1385 - Fix Grid (enlarge bounding box to fit all points). #1369
- Fix mapping of geometries to mesh surfaces. #1327. #1368
- Fix transmitting raster data to element properties. #1347
- Fixed missing XSD files in packages. #1410
- Fix a shape vector to a row vector. #1288
- Fix FEFLOW import. #1397
- Fix NodeReordering to check ordering of each element. #1425
- Fix builds linking shared VTK library. #1431
- Fix global Newton iteration counter. #1341
- Correct few loops over mesh nodes, which should run over the mesh subsets. #1437
- Fix shape function computation for 2D elements lying in the x-y-plane #1318
- Fix AddTest, s.t. ctest now really checks results. #1325
- Made Eigen preconditioner configurable. #1367
- C++
Published by endJunction almost 10 years ago
ogs -
Features:
- Transferred the TES process, a monolithically coupled THC model for simulating thermochemical energy storag devices, from OGS5. #1181
- Add external ode-solver interface with Sundials CVODE library. #1109
- Introduced a general scheme for documenting OGS6 input file settings. #978
- Add piecewise linear curves parser to the project files. The curves are specified by two vectors, the coordinates and values. They can be used for example to map temporal dependencies (time-dependent boundary conditions) or as approximations of coefficient dependencies (e.g. pressure-saturation curves). #1149
- Extend the LocalAssemblerInterface by adding default implementations of pre/postTimestep and assembleJacobian functions. The current time and time step size are passed in the preTimestep call to the particular processes. #1214
- Add support multi-variable/multi-component in the DOF table interface and extend the initial conditions to multi-components. #1224
- Major rework of the general process interface. That also affects the interface of concrete processes and local assemblers. least squares optimization. #1145
- Added functionality for the output of secondary variables. #1171
- Added material properties for zeolite adsorption and Calcium oxide/hydroxide reactions. #1178
- Added copy constructor for the class Surface, minor improvements in GeoLib. #1237
- Added classes GeoLib::LineSegment and GeoLib::Polyline::SegmentIterator. #1139
- GMSHInterface can handle stations as constraints. #1212
- Added functionality to duplicate geometric data. #1229
- Station names can be modified in Data Explorer #1273
Infrastructure
- Fix circular dependencies on library level. This allows for dynamic linking
which is faster than static and can be used in debug builds, where the
compilation time is more important than the runtime.
- Enable shared linking of ogs libraries. #1133
- Break FileIO on ApplicationsLib dependency. #1138
- Remove MeshLib on FileIO dependency. #1143, #1153
- Cleanup some of AssemblerLib dependencies. #1166
- Split AssemblerLib and move to MathLib and NumLib #1208
- Move InsituLib to MeshLib #1208
- Remove MathLib depends on NumLib #1208
- Remove dependency of FileIO on Data Explorer #1302
- Introduced Conan package manager for automatic fetching of build dependencies, #1141
- Inconsistent formatting of tabs and spaces was finally resolved: now all formatting, indentation and alignment, are done with four spaces. #1201
- Windows 32-bit builds are disallowed because they are not supported. Can be forced by setting OGS32BIT=ON. #1230
- Simplified FindEigen.cmake, #1209
- git diff --check is run in its own Travis job, #1207
- Moved some IO implementations from FileIO to BaseLib/IO, GeoLib/IO, MeshLib/IO, #1182, #1235
- Eigen is not optional anymore #1218
- Removed OGSUSEEIGENLIS CMake option. Use OGSUSELIS instead #1251
Fixes:
- Fix linking of Metis in MathLib. #1147
- Fix memory leaks in GMSHInterface. #1212
- Fix build with Lis #1267
- Fixing several small issues with NetCDF import #1169
- Restructure Applications related modules
- Move DataHolderLib and FileIO under Applications #1279
- Remove calling std::abort within libraries. Exeptions are thrown instead. #1245
- Fix finding Boost with BOOST_ROOT CMake argument #1287
- Fix linking of Sundials CVODE library #1197
- Fixed issue where geometry names would be missing after merging geometries #1295
- C++
Published by endJunction about 10 years ago
ogs - 6.0.5
Release notes
Implementation of several time integration methods and non-linear solver schemes is the major advance in this release. We have chosen to implement a first order implicit quasi-linear system solver for the equations in the form of $M\dot{x} + Kx + b = 0$, where M, K, and b depend on t and x.
The explicit and the implicit Euler, the Crank-Nicholson, and the BDF (second to sixth order) time integration methods are provided. For the non-linear systems, the Picard and Newton methods are available. See implementation details in the doxygen documentation.
Overall stability of the code was improved with recent usage of clang's address and undefined behaviour sanitizers.
Features:
- Added an ODE solver library that can solve transient and nonlinear problems (see http://doxygen.opengeosys.org/df/d35/group__ODESolver.html).
- Move up common Process parts from particular GroundwaterFlow process implementation. #951, #982
- Separate Dirichlet boundary condition class implementation. #963
- Split process output and post timestep. #998
- Added pre- and postTimestep and -Iteration hooks to processes. #1094, #1100, #1101
- Added a new configuration tree parser
- Checks configuration parameters more strictly, automatically prints error/warning messages.
- Requires Boost >= 1.56 because of boost::optional with move semantics.
- Command line argument
--config-warnings-nonfatalthat keeps OGS from terminating on warnings during configuration file parsing (errors still makes it terminate).
- Improved axis aligned bounding box:
- Is now a from the right half-open interval.
- Removed template from class declaration.
- Improved MeshLib: Class MeshElementGrid implements a grid data structure supporting search operations.
- Added cmake option
OGS_EIGEN_DYNAMIC_SHAPE_MATRICESthat makes OGS use dynamically. allocated shape matrices. - Added several cmake options for selecting which element types, dimensions and orders to be built. Selecting only few element types speeds up compilation significantly. #1092
- Added a command line argument of
-lfor OGS cli and testrunner to specify verbosity of logging. #1056 - Added possibility to specify after which timesteps there shiuld be output.
- Added possibility to specify timesteps of different size for use with transient processes.
DataExplorer and utilities
- Added command line tool for creating layered meshes from raster files
- Made OGSFileConverter as a separate library
- Add a new functionality to the raster file to structured grid conversion, which can now convert pixel values in user-defined scalar arrays
- Improved DataExplorer, which now enables the possibility to display all scalar arrays in mesh information window.
- Added generation of structured meshes to DataExplorer
- Restructured mesh creation access in DataExplorer
- Added a new functionality to add mesh layers to existing meshes in DataExplorer
- Reworked tools:
- CreateBoundaryConditionsAlongPolyline
- AddTopLayer
- ResetPropertyInPolygonalRegion
- removeMeshElements
Infrastructure
- Minimum Boost version: 1.56.0. #943
- Boost requirement is now header-only. #940
- Optional support for VTK 7. #1083
- Test data is now a git submodule. #1000
- In-code defined Jenkins jobs. #970
- Use clang's address and undefined behaviour sanitizers on Jenkins now. #958
Documentation
- Speed up builds with ccache, #938
- Overview of the new non-linear, transient solver in ODESolver source code documentation.
Fixes
- Fix bugs in GeoLib:
- lineSegmentIntersects.
- Polygon::splitPolygonAtIntersection.
- Grid.
- GeoMapper: Refactoring few methods, c++11. #977
- Rework FileIO::GMSH interface
- Process geometries located other than in the x-y-plane.
- Respect the scaling factor for Stations.
- Fix memory leaks.
- Added/modified tests for GML-, GMS- and TetGen-files.
- C++
Published by endJunction about 10 years ago
ogs - 6.0.4
Release notes
| Released on 2015/01/05, GitHub Release Link
Features:
- Parallel computing framework for FEM by using PETSc, which also includes
- Parallel input of partitioned mesh data.
- Parallel output of solutions by using pvtu data format.
- New data structures for mesh properties are used everywhere replacing Element's value member.
- The penalty method to impose first-type boundary conditions was substituted with a non-penalty method for LIS and Eigen linear solvers.
- Support for multiple nodal variables is extended to the boundary conditions, the sparsity pattern.
- Passing of linear solver options from the project files is now possible.
- The global matrix and global vector type of indices is consistent with the linear solver library being used.
Infrastructure
- Added CMake option
OGS_CPU_ARCHITECTURE, #858, downloadable binaries build by Jenkins should now run on more CPUs - Added CMake options for Boost, VTK and Eigen (
OGS_LIB_BOOST, ...) to specify if libs are searched on the system first, then build them locally (Default), or you can specify to just use system libs (System) or force a local build (Local) - Added CMake options for enabling Clang sanitizer:
OGS_ADDRESS_SANITIZEROGS_UNDEFINED_BEHAVIOR_SANITIZER
- The zlib library is removed from ThirdParty directory.
- A LIS solver interface using Eigen's sparse matrices is now available through
CMake option
OGS_USE_EIGENLIS. - CMake configuration uses ccache if available.
Documentation
Fixes
- Fix all ogs-internal warnings on all OS.
- Move eigen solver compute call to solve(); different fix for 0237275
- C++
Published by bilke over 10 years ago
ogs - 6.0.3
| Released on 2015/09/21, GitHub Release Link
Release notes
Features:
- Mesh properties are now used for:
- heterogeneous "initial conditions" (actually a start solution vector for the elliptic problem).
- spatially heterogeneous hydraulic conductivity values in the groundwater flow process.
- First steps towards time dependent problems: Time loop integration for processes is provided.
- Interpolation of nodal quantities on elements using shape functions.
- Mesh generator can create surface meshes according to a given function
? - DataExplorer extensions: - Utilities: - MoveGeometry - The DOF table handles now all of the provided element types: Hex 8 and 20, Line 2 and 3, Prism 6 and 15, Pyramid 5 and 13, Quad 4, 8, and 9, Tet 4 and 10, Triangle 3 and 6. - Eigen linear solver library can be used for solution of the linear systems of equations. - Octree data structures for fast searches - Volumetric and surface grid - ElementSearcher NodeSearcher improvements - Generalized the computation of rotation matrix to xy
Fixes
- FEFLOW interface supports element sets now.
- Reduce compilation times by using forward declarations and removing unnecessary includes and using explicit template instantiation for often required classes.
- GMSH2OGS: fixed bug in cases GMSH mesh does not contain line elements
- CreateBoundaryConditionsAlongPolylines: fixed bug concerning the GeoLib and point ids.
- PointVec corrected point id map
- Shape interface creates polylines in a consistent state
Infrastructure
- Replace quickcheck with autocheck. See https://github.com/thejohnfreeman/autocheck.git for more details on autocheck
- Added support for cross-compiling with MXE: build native Windows binaries on Linux and Mac OS, see Cross-Compiling help page and #767
- Migrated to new Travis infrastructure (faster build times), see #775
- Simplified CMake library linking, see #769
Test examples
- Test case: groundwater flow in the Unstrut catchment (model consists approximately of 9e6 hexahedral cells)
- Simulations using homogeneous and heterogeneous hydraulic conductivity
- Integrated rivers as Dirichlet type boundary conditions
- Integrated groundwater recharge (spatialy homogeneous) as Neumann boundary condition

Next steps
The next big step will be the implementation of a parallelization scheme using PETSc library
In development
- OGS#PETSc interface for parallel computing
- Solving of time dependent problems
Planned
- Implementation of a linear parabolic pde solver
- Extending the linear elliptic solver to non-linear problems
- C++
Published by bilke almost 11 years ago
ogs - 6.0.2 - Intermediate DOI release
| Released on 2015/06/15, GitHub Release Link
Release notes
The second release of ogs6 introduces Neumann boundary conditions and VTK result output.
Features:
- Neumann boundary conditions
- Implement mesh properties for storage of data fields. This also includes mapped values (e.g. based on material id) PR #542, PR #644,
- Refactored mesh property classes to enable VTK output
- Extended the available elements to quadratic (e.g. Quad8) based on generalized "element rules". #572, PR #656, PR #657,
- Extend computation of shape matrices to lower dimensional elements embedded in higher dimensional space #655
- Builds with MinGW (GCC) on Windows, see Developer Guide and the new MinGW platform instructions
- Cross-compiling for Windows with MXE on Mac OS
- Support for new cross-platform IDE CLion
- Add gradual refinement to the structured mesh generator PR #539
- Add a command line tool "queryMesh" to search mesh information PR #665
- Add a command line tool "AddTopLayer" to add an additional top layer (for example a soil layer, see also the documentation) PR #649
Fixes
- Performance optimizations in VTK mesh conversion, PR #695
- Improve layered prism mesh construction
- Fix a lot of warnings on gcc/clang/msvc compilers improving the code
Infrastructure
- Test runtime is monitored at Jenkins for normal and nightly large tests
- Utilities are build by separate Jenkins Jobs, e.g. Win_Utils
Test examples
Next steps
In development
- Heterogeneous fields (for e.g. hydraulic conductivity parameters)
- Octree data structures for fast searches
- OGS#PETSc interface for parallel computing
Planned
- Parallelization scheme using PETSc library
- Extending the linear elliptic solver to non-linear problems
- C++
Published by bilke almost 11 years ago
ogs - 6.0.2
| Released on 2015/06/15, GitHub Release Link
Release notes
The second release of ogs6 introduces Neumann boundary conditions and VTK result output.
Features:
- Neumann boundary conditions
- Implement mesh properties for storage of data fields. This also includes mapped values (e.g. based on material id) PR #542, PR #644,
- Refactored mesh property classes to enable VTK output
- Extended the available elements to quadratic (e.g. Quad8) based on generalized "element rules". #572, PR #656, PR #657,
- Extend computation of shape matrices to lower dimensional elements embedded in higher dimensional space #655
- Builds with MinGW (GCC) on Windows, see Developer Guide and the new MinGW platform instructions
- Cross-compiling for Windows with MXE on Mac OS
- Support for new cross-platform IDE CLion
- Add gradual refinement to the structured mesh generator PR #539
- Add a command line tool "queryMesh" to search mesh information PR #665
- Add a command line tool "AddTopLayer" to add an additional top layer (for example a soil layer, see also the documentation) PR #649
Fixes
- Performance optimizations in VTK mesh conversion, PR #695
- Improve layered prism mesh construction
- Fix a lot of warnings on gcc/clang/msvc compilers improving the code
Infrastructure
- Test runtime is monitored at Jenkins for normal and nightly large tests
- Utilities are build by separate Jenkins Jobs, e.g. Win_Utils
Test examples
Next steps
In development
- Heterogeneous fields (for e.g. hydraulic conductivity parameters)
- Octree data structures for fast searches
- OGS#PETSc interface for parallel computing
Planned
- Parallelization scheme using PETSc library
- Extending the linear elliptic solver to non-linear problems
- C++
Published by bilke about 11 years ago
ogs - 6.0.1
The 6th version of OpenGeoSys (OGS) is under way. After single and coupled FORTRAN modules in ROCKFLOW 1+2, the C version 3 with dynamic data structures, the object-oriented C++ parallelized version 4, completed with data integration and visualization tools by version 5; ogs6 - as an open source project - is aimed at performing on supercomputing platforms and providing complete workflows for solving of coupled multi-field problems in real world applications. The major paradigms of ogs6 are being developer-friendly, performing, and user-friendly.
Important links:
- Getting started tutorial: http://docs.opengeosys.org/docs/quickstart
- Descriptions of selected benchmarks: http://docs.opengeosys.org/docs/benchmarks
- Source code access: https://github.com/ufz/ogs
- Developer guide: http://docs.opengeosys.org/docs/devguide
Release notes
The first version ogs6 is dedicated for elliptic problems.
Features:
- Basic structures of processes
- Mathematical operations are based on Eigen3 library
- Linear solvers: DenseMatrix with Gauss elimination, and LIS (http://www.ssisc.org/lis/)
- XML based IO
- Standard finite element method (FEM)
- Available element types: lines, triangles, quads, hexahedra
- Dirichlet boundary conditions
- Linear elliptic solver (e.g. Groundwater flow) for scalar quantities in homogeneous media
Fixes
- DenseMatrix Gauss algorithm pivoting
Test examples
- Example 1: Unit square (access)
- Example 2: Unit cube (access): has 1000 hexahedra elements with Dirichlet boundary conditions (u=1|x=0) and (u=-1|x=1)
Next steps
In development
- OGS#PETSc interface for parallel computing (02/2015*planned)
- Neuman boundary conditions (03/2015*planned)
Planned
- Parabolic solver
- C++
Published by bilke over 11 years ago
