Overview
-
Introduced a new class
MaterialLib::Solids::MFront::MFrontGeneric
, which supports a variable number of input and output data of the material model.MaterialLib/SolidModels/MFront/MFrontGeneric.cpp
MaterialLib/SolidModels/MFront/MFrontGeneric.h
-
class MaterialLib::Solids::MFront::MFront
is now based onMFrontGeneric
. Therefore, much code has been moved away from the filesMaterialLib/SolidModels/MFront/MFront.cpp
MaterialLib/SolidModels/MFront/MFront.h
-
Note: The interfaces of
MFront
andMFrontGeneric
differ very slightly. In particular, the generic interface cannot implementMechanicsBase<DisplacementDim>
, because it's more generic. Therefore, there is still a bit of code in theMFront
class.
-
Both classes basically have the same configuration. Therefore, lots of code have been moved:
MaterialLib/SolidModels/MFront/CreateMFrontGeneric.cpp
MaterialLib/SolidModels/MFront/CreateMFrontGeneric.h
MaterialLib/SolidModels/MFront/CreateMFront.cpp
-
Added an example MFront behaviour (by @nagelt, cf. OGS CM talk), currently used in unit tests
MaterialLib/SolidModels/MFront/ThermoPoroElasticity.mfront
-
On the OGS side, input data is passed via
MaterialPropertyLib::VariableArray
. The necessary settings are specified inMaterialLib/SolidModels/MFront/Variable.h
-
Added several unit tests that check the data passing between OGS and MFront. They require additional MFront behaviours that are only used for unit testing.
Tests/MaterialLib/CheckParamPassingMFront.cpp
Tests/MaterialLib/CheckStiffnessMatrixMFront.cpp
Tests/MaterialLib/MFront/CheckParamPassing1.mfront
Tests/MaterialLib/MFront/CheckStiffnessMatrixAllBlocks.mfront
Tests/MaterialLib/MFront/CheckStiffnessMatrixAllBlocksReordered.mfront
Tests/MaterialLib/MFront/CheckStiffnessMatrixExcessBlocks.mfront
Tests/MaterialLib/MFront/CheckStiffnessMatrixMissingBlocks.mfront
Tests/MaterialLib/ThermoporoelasticityMFront.cpp