v0.16.3
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 123 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 152 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 126 of file MatOps.hpp.

129 : matOpsDataPtr(mat_ops_data_ptr), tAg(tag),
130 tagVsRangePtr(tag_vs_range_ptr) {}
boost::shared_ptr< std::map< int, Range > > tagVsRangePtr
Definition MatOps.hpp:173
boost::shared_ptr< MatOpsData > matOpsDataPtr
Definition MatOps.hpp:176

◆ ~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::MatNeohookean< DIM >.

Examples
mofem/src/materials/MatOps.hpp.

Definition at line 138 of file MatOps.hpp.

140 {
141 (void)m_field;
142 (void)block_name;
143 (void)block_id;
144 paramVecByRange.push_back({block_entities, block_data});
145 return 0;
146 }
std::vector< std::pair< Range, std::vector< double > > > paramVecByRange
Definition MatOps.hpp:174

◆ 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, MODEL_TYPE >, and MatOps::MatUmatImpl< DIM, MODEL_TYPE >.

Examples
mofem/src/materials/MatOps.hpp.

Definition at line 163 of file MatOps.hpp.

164 {
165 return hookEvaluateDerivatives(matOpsDataPtr, tag, entity, gg);
166 }
HookFunction hookEvaluateDerivatives
Definition MatOps.hpp:156

◆ evaluateVariable()

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

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

Examples
mofem/src/materials/MatOps.hpp.

Definition at line 159 of file MatOps.hpp.

159 {
160 return hookEvaluateVariable(this->matOpsDataPtr, tag, entity, gg);
161 }
HookFunction hookEvaluateVariable
Definition MatOps.hpp:155

◆ 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, MODEL_TYPE >, and MatOps::MatUmatImpl< DIM, MODEL_TYPE >.

Examples
mofem/src/materials/MatOps.hpp.

Definition at line 168 of file MatOps.hpp.

168 {
169 return hookUpdateState(this->matOpsDataPtr, tag, entity, gg);
170 }
HookFunction hookUpdateState
Definition MatOps.hpp:157

Member Data Documentation

◆ hookEvaluateDerivatives

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

Definition at line 156 of file MatOps.hpp.

◆ hookEvaluateVariable

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

Definition at line 155 of file MatOps.hpp.

◆ hookUpdateState

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

Definition at line 157 of file MatOps.hpp.

◆ matOpsDataPtr

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

Definition at line 176 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 174 of file MatOps.hpp.

◆ tAg

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

Definition at line 172 of file MatOps.hpp.

◆ tagVsRangePtr

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

Definition at line 173 of file MatOps.hpp.


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