This page is a work in progress.
It was published in this state to make existing content available to users and highlight missing parts to contributors.
Contributors: please see Documentation Contribution Guide to contribute to the documentation.
Users: the content of this page has been verified and is correct. Please return later for more content!
MFront can be used to run simulation with constitutive model not available in OpenGeoSys or with a modification of one of available ones.
OpenGeoSys has to be compiled with the flag -DOGS_USE_MFRONT
in that case. It will enable MFront support and download
necessary libraries.
For more details about compiling OpenGeoSys, see developer guide - build configuration and developer guide - MFront installation.
The details of preparing MFront file will not be discussed here. Only the necessary details will be stated.
At the beginning of the file, name of the model has to be provided as follows:
@Behaviour ModelName
The MFront file has to be the same as name provided in the line above:
ModelName.mfront
The material properties, that should be read from project file and be used in the MFront model have to be defined using following syntax:
@MaterialProperty type MatPropName
The project file has to contain references pointing from one of the parameters to material properties used by the MFront model. For details, see next section.
Details on how to use a constitutive relation defined with MFront is described here.
After the MFront file has been prepared, it has to be placed in the folder containing OpenGeoSys source code at the following path:
ogs-source-code/MaterialLib/SolidModels/MFront
in the same folder there is the CMakeLists.txt
.
In that file, there is a list containing names of all MFront models stored in the folder.
Name of the newly added model has to be added to that list:
mfront_behaviours_check_library(
...
ModelName
...
)
To make the new “ModelName” available rerun the “configure” and “generate” CMake-steps, and recompile OpenGeoSys. (This process should take less time than the first time, as only new code will be compiled.)
If a compilation error is encountered, it can be caused by inconsistent use of name of the model. It is case sensitive and it has to be written in exactly the same way everywhere, where it is used.
This article was written by Feliks Kiszkurno. If you are missing something or you find an error please let us know.
Generated with Hugo 0.122.0
in CI job 504124
|
Last revision: November 12, 2024
Commit: [BL/MPI] Use MPI_COMM_WORLD in reduceMin 4aae83e
| Edit this page on