v0.15.0
Loading...
Searching...
No Matches
Classes | Public Member Functions | List of all members
MoFEM::MFrontInterface Class Referenceabstract

Interface for integrating MFront material models with MoFEM. More...

#include "src/mfront/MFrontInterface.hpp"

Classes

struct  CommonData
 

Public Member Functions

virtual ~MFrontInterface ()=default
 
virtual MoFEMErrorCode getCommandLineParameters ()=0
 Retrieve command-line parameters for the interface.
 
virtual MoFEMErrorCode setMonitor (boost::shared_ptr< MoFEM::FEMethod > monitor_ptr)=0
 Set a monitor for the interface.
 
virtual MoFEMErrorCode opFactoryDomainRhs (boost::ptr_deque< ForcesAndSourcesCore::UserDataOperator > &pip, std::string field_name)=0
 Push domain operators for the right-hand side (RHS).
 
virtual MoFEMErrorCode opFactoryDomainLhs (boost::ptr_deque< ForcesAndSourcesCore::UserDataOperator > &pip, std::string field_name)=0
 Push domain operators for the left-hand side (LHS).
 
virtual MoFEMErrorCode setUpdateInternalVariablesOperators (ForcesAndSourcesCore::RuleHookFun rule, std::string field_name)=0
 Set operators for updating internal variables using internal pipeline.
 
virtual MoFEMErrorCode setPostProcessOperators (ForcesAndSourcesCore::RuleHookFun rule, std::string fe_name, std::string field_name, int order)=0
 Set operators for post-processing using internal pipeline.
 
virtual MoFEMErrorCode updateInternalVariables (SmartPetscObj< DM > dm, std::string fe_name)=0
 Loop internal pipeline to update internal variables at each Gauss point.
 
virtual MoFEMErrorCode postProcess (int step, SmartPetscObj< DM > dm, string fe_name)=0
 Perform post-processing for displacement, strain and stress.
 

Detailed Description

Interface for integrating MFront material models with MoFEM.

This class defines a set of pure virtual methods that must be implemented by derived classes to handle various operations such as setting monitors, creating operators, and updating internal variables.

Definition at line 24 of file MFrontInterface.hpp.

Constructor & Destructor Documentation

◆ ~MFrontInterface()

virtual MoFEM::MFrontInterface::~MFrontInterface ( )
virtualdefault

Member Function Documentation

◆ getCommandLineParameters()

virtual MoFEMErrorCode MoFEM::MFrontInterface::getCommandLineParameters ( )
pure virtual

Retrieve command-line parameters for the interface.

◆ opFactoryDomainLhs()

virtual MoFEMErrorCode MoFEM::MFrontInterface::opFactoryDomainLhs ( boost::ptr_deque< ForcesAndSourcesCore::UserDataOperator > &  pip,
std::string  field_name 
)
pure virtual

Push domain operators for the left-hand side (LHS).

Parameters
pippipeline to push the operators into.
field_nameName of the field associated with displacement.

◆ opFactoryDomainRhs()

virtual MoFEMErrorCode MoFEM::MFrontInterface::opFactoryDomainRhs ( boost::ptr_deque< ForcesAndSourcesCore::UserDataOperator > &  pip,
std::string  field_name 
)
pure virtual

Push domain operators for the right-hand side (RHS).

Parameters
pippipeline to push the operators into.
field_nameName of the field associated with displacement.

◆ postProcess()

virtual MoFEMErrorCode MoFEM::MFrontInterface::postProcess ( int  step,
SmartPetscObj< DM >  dm,
string  fe_name 
)
pure virtual

Perform post-processing for displacement, strain and stress.

Parameters
stepCurrent time step.
dmSmartPetscObj
fe_nameName of the domain finite element.

◆ setMonitor()

virtual MoFEMErrorCode MoFEM::MFrontInterface::setMonitor ( boost::shared_ptr< MoFEM::FEMethod monitor_ptr)
pure virtual

Set a monitor for the interface.

Parameters
monitor_ptrShared pointer to the FEMethod monitor.

◆ setPostProcessOperators()

virtual MoFEMErrorCode MoFEM::MFrontInterface::setPostProcessOperators ( ForcesAndSourcesCore::RuleHookFun  rule,
std::string  fe_name,
std::string  field_name,
int  order 
)
pure virtual

Set operators for post-processing using internal pipeline.

Parameters
ruleHook function defining the integration rule.
fe_nameName of the domain finite element.
field_nameName of the field associated with displacement.
orderApproximation order for L2 projection

◆ setUpdateInternalVariablesOperators()

virtual MoFEMErrorCode MoFEM::MFrontInterface::setUpdateInternalVariablesOperators ( ForcesAndSourcesCore::RuleHookFun  rule,
std::string  field_name 
)
pure virtual

Set operators for updating internal variables using internal pipeline.

Parameters
ruleHook function defining the integration rule
field_nameName of the field associated with displacement.

◆ updateInternalVariables()

virtual MoFEMErrorCode MoFEM::MFrontInterface::updateInternalVariables ( SmartPetscObj< DM >  dm,
std::string  fe_name 
)
pure virtual

Loop internal pipeline to update internal variables at each Gauss point.

Parameters
dmSmartPetscObj
fe_nameName of the domain finite element.

The documentation for this class was generated from the following file: