Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Register
  • Sign in
  • O ogs
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
    • Locked files
  • Issues 111
    • Issues 111
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
  • Merge requests 42
    • Merge requests 42
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test cases
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Wiki
    • Wiki
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • ogsogs
  • ogs
  • Merge requests
  • !4296

Extend the OGS-MFront interface

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Christoph Lehmann requested to merge chleh/ogs:extend-mfront-interface into master Sep 28, 2022
  • Overview 11
  • Commits 10
  • Pipelines 11
  • Changes 22

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 on MFrontGeneric. Therefore, much code has been moved away from the files

    • MaterialLib/SolidModels/MFront/MFront.cpp
    • MaterialLib/SolidModels/MFront/MFront.h
    • Note: The interfaces of MFront and MFrontGeneric differ very slightly. In particular, the generic interface cannot implement MechanicsBase<DisplacementDim>, because it's more generic. Therefore, there is still a bit of code in the MFront 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 in

    • MaterialLib/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
Edited Sep 29, 2022 by Christoph Lehmann
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: extend-mfront-interface