v0.16.0
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | List of all members
MatOps::PhysicalEquations Struct Referenceabstract

#include "src/materials/MatOps.hpp"

Inheritance diagram for MatOps::PhysicalEquations:
[legend]
Collaboration diagram for MatOps::PhysicalEquations:
[legend]

Public Types

using HookFunction = std::function< MoFEMErrorCode(boost::shared_ptr< MatOpsData >, int, EntityHandle, int)>
 

Public Member Functions

 PhysicalEquations ()=delete
 
 PhysicalEquations (boost::shared_ptr< MatOpsData > mat_ops_data_ptr, int tag, boost::shared_ptr< std::map< int, Range > > tag_vs_range_ptr=nullptr)
 
virtual ~PhysicalEquations ()=default
 
virtual MoFEMErrorCode getOptions (MoFEM::Interface *m_field_ptr=nullptr)=0
 
virtual MoFEMErrorCode setParams (FEMethod *fe_ptr, int gg)=0
 
virtual MoFEMErrorCode recordTape ()=0
 
virtual MoFEMErrorCode addBlockParameters (MoFEM::Interface &m_field, const std::string &block_name, int block_id, const Range &block_entities, const std::vector< double > &block_data)
 
virtual ForcesAndSourcesCore::UserDataOperatorcreateOp (boost::shared_ptr< PhysicalEquations > physical_ptr, bool eval_stress, bool eval_tangent, bool update)=0
 
virtual MoFEMErrorCode evaluateVariable (int tag, EntityHandle entity, int gg)
 
virtual MoFEMErrorCode evaluateDerivatives (int tag, EntityHandle entity, int gg)
 
virtual MoFEMErrorCode updateState (int tag, EntityHandle entity, int gg)
 

Public Attributes

HookFunction hookEvaluateVariable = AdolCEvaluation::evaluateVariable
 
HookFunction hookEvaluateDerivatives = AdolCEvaluation::evaluateDerivatives
 
HookFunction hookUpdateState = AdolCEvaluation::evaluateVariable
 
int tAg
 
boost::shared_ptr< std::map< int, Range > > tagVsRangePtr
 
std::vector< std::pair< Range, std::vector< double > > > paramVecByRange
 
boost::shared_ptr< MatOpsDatamatOpsDataPtr
 

Detailed Description

Definition at line 111 of file MatOps.hpp.

Member Typedef Documentation

◆ HookFunction

using MatOps::PhysicalEquations::HookFunction = std::function<MoFEMErrorCode( boost::shared_ptr<MatOpsData>, int, EntityHandle, int)>
Examples
mofem/src/materials/MatOps.hpp.

Definition at line 140 of file MatOps.hpp.

Constructor & Destructor Documentation

◆ PhysicalEquations() [1/2]

MatOps::PhysicalEquations::PhysicalEquations ( )
delete

◆ PhysicalEquations() [2/2]

MatOps::PhysicalEquations::PhysicalEquations ( boost::shared_ptr< MatOpsData mat_ops_data_ptr,
int  tag,
boost::shared_ptr< std::map< int, Range > >  tag_vs_range_ptr = nullptr 
)
inline

Definition at line 114 of file MatOps.hpp.

117 : tAg(tag), tagVsRangePtr(tag_vs_range_ptr),
118 matOpsDataPtr(mat_ops_data_ptr) {}
boost::shared_ptr< std::map< int, Range > > tagVsRangePtr
Definition MatOps.hpp:161
boost::shared_ptr< MatOpsData > matOpsDataPtr
Definition MatOps.hpp:164

◆ ~PhysicalEquations()

virtual MatOps::PhysicalEquations::~PhysicalEquations ( )
virtualdefault

Member Function Documentation

◆ addBlockParameters()

virtual MoFEMErrorCode MatOps::PhysicalEquations::addBlockParameters ( MoFEM::Interface m_field,
const std::string &  block_name,
int  block_id,
const Range block_entities,
const std::vector< double > &  block_data 
)
inlinevirtual

Reimplemented in MatOps::MatMooneyRivlinWriggersEq63< DIM >, MatOps::MatStVenantKirchhoff< DIM >, and MatOps::MatNeohookeanGeneric< MatElasticImpl< DIM > >.

Examples
mofem/src/materials/MatOps.hpp.

Definition at line 126 of file MatOps.hpp.

128 {
129 (void)m_field;
130 (void)block_name;
131 (void)block_id;
132 paramVecByRange.push_back({block_entities, block_data});
133 return 0;
134 }
std::vector< std::pair< Range, std::vector< double > > > paramVecByRange
Definition MatOps.hpp:162

◆ createOp()

virtual ForcesAndSourcesCore::UserDataOperator * MatOps::PhysicalEquations::createOp ( boost::shared_ptr< PhysicalEquations physical_ptr,
bool  eval_stress,
bool  eval_tangent,
bool  update 
)
pure virtual

◆ evaluateDerivatives()

virtual MoFEMErrorCode MatOps::PhysicalEquations::evaluateDerivatives ( int  tag,
EntityHandle  entity,
int  gg 
)
inlinevirtual

Reimplemented in MatOps::MatMetaElastic< DIM >, and MatOps::MatUmatImpl< DIM, MODEL_TYPE >.

Examples
mofem/src/materials/MatOps.hpp.

Definition at line 151 of file MatOps.hpp.

152 {
153 return hookEvaluateDerivatives(matOpsDataPtr, tag, entity, gg);
154 }
HookFunction hookEvaluateDerivatives
Definition MatOps.hpp:144

◆ evaluateVariable()

virtual MoFEMErrorCode MatOps::PhysicalEquations::evaluateVariable ( int  tag,
EntityHandle  entity,
int  gg 
)
inlinevirtual

Reimplemented in MatOps::MatMetaElastic< DIM >, and MatOps::MatUmatImpl< DIM, MODEL_TYPE >.

Examples
mofem/src/materials/MatOps.hpp.

Definition at line 147 of file MatOps.hpp.

147 {
148 return hookEvaluateVariable(this->matOpsDataPtr, tag, entity, gg);
149 }
HookFunction hookEvaluateVariable
Definition MatOps.hpp:143

◆ getOptions()

virtual MoFEMErrorCode MatOps::PhysicalEquations::getOptions ( MoFEM::Interface m_field_ptr = nullptr)
pure virtual

◆ recordTape()

virtual MoFEMErrorCode MatOps::PhysicalEquations::recordTape ( )
pure virtual

◆ setParams()

virtual MoFEMErrorCode MatOps::PhysicalEquations::setParams ( FEMethod fe_ptr,
int  gg 
)
pure virtual

◆ updateState()

virtual MoFEMErrorCode MatOps::PhysicalEquations::updateState ( int  tag,
EntityHandle  entity,
int  gg 
)
inlinevirtual

Reimplemented in MatOps::MatMetaElastic< DIM >, and MatOps::MatUmatImpl< DIM, MODEL_TYPE >.

Examples
mofem/src/materials/MatOps.hpp.

Definition at line 156 of file MatOps.hpp.

156 {
157 return hookUpdateState(this->matOpsDataPtr, tag, entity, gg);
158 }
HookFunction hookUpdateState
Definition MatOps.hpp:145

Member Data Documentation

◆ hookEvaluateDerivatives

HookFunction MatOps::PhysicalEquations::hookEvaluateDerivatives = AdolCEvaluation::evaluateDerivatives
Examples
mofem/src/materials/MatOps.hpp.

Definition at line 144 of file MatOps.hpp.

◆ hookEvaluateVariable

HookFunction MatOps::PhysicalEquations::hookEvaluateVariable = AdolCEvaluation::evaluateVariable
Examples
mofem/src/materials/MatOps.hpp.

Definition at line 143 of file MatOps.hpp.

◆ hookUpdateState

HookFunction MatOps::PhysicalEquations::hookUpdateState = AdolCEvaluation::evaluateVariable
Examples
mofem/src/materials/MatOps.hpp.

Definition at line 145 of file MatOps.hpp.

◆ matOpsDataPtr

boost::shared_ptr<MatOpsData> MatOps::PhysicalEquations::matOpsDataPtr
Examples
mofem/src/materials/MatOps.hpp.

Definition at line 164 of file MatOps.hpp.

◆ paramVecByRange

std::vector<std::pair<Range, std::vector<double> > > MatOps::PhysicalEquations::paramVecByRange
Examples
mofem/src/materials/MatOps.hpp.

Definition at line 162 of file MatOps.hpp.

◆ tAg

int MatOps::PhysicalEquations::tAg
Examples
mofem/src/materials/MatOps.hpp.

Definition at line 160 of file MatOps.hpp.

◆ tagVsRangePtr

boost::shared_ptr<std::map<int, Range> > MatOps::PhysicalEquations::tagVsRangePtr
Examples
mofem/src/materials/MatOps.hpp.

Definition at line 161 of file MatOps.hpp.


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