v0.15.5
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Attributes | Static Protected Attributes | List of all members
AdolCOps::AdolCMetaElastic< DIM > Struct Template Reference
Inheritance diagram for AdolCOps::AdolCMetaElastic< DIM >:
[legend]
Collaboration diagram for AdolCOps::AdolCMetaElastic< DIM >:
[legend]

Public Types

using A = AdolCElasticImpl< DIM >
 

Public Member Functions

MoFEMErrorCode getOptions (MoFEM::Interface *m_field_ptr=nullptr) override
 
MoFEMErrorCode setParams (EntityHandle ent, int gg) override
 
MoFEMErrorCode recordTape () override
 
- Public Member Functions inherited from AdolCOps::AdolCElasticImpl< DIM >
ForcesAndSourcesCore::UserDataOperator * createOp (boost::shared_ptr< PhysicalEquations > physical_ptr, bool eval_stress, bool eval_tangent) override
 
ForcesAndSourcesCore::UserDataOperator * createOp (boost::shared_ptr< PhysicalEquations > physical_ptr, bool eval_stress, bool eval_tangent)
 
ForcesAndSourcesCore::UserDataOperator * createOp (boost::shared_ptr< PhysicalEquations > physical_ptr, bool eval_stress, bool eval_tangent)
 
 PhysicalEquations ()=delete
 
 PhysicalEquations (boost::shared_ptr< ADolCData > adolc_data_ptr, int tag, boost::shared_ptr< std::map< int, Range > > tag_vs_range_ptr=nullptr)
 
- Public Member Functions inherited from AdolCOps::PhysicalEquations
 PhysicalEquations ()=delete
 
 PhysicalEquations (boost::shared_ptr< ADolCData > adolc_data_ptr, int tag, boost::shared_ptr< std::map< int, Range > > tag_vs_range_ptr=nullptr)
 
virtual ~PhysicalEquations ()=default
 
MoFEMErrorCode setActiveContinuousVector ()
 
MoFEMErrorCode setDependentContinuousVector ()
 
MoFEMErrorCode setDependentDerivativesContinuousVector ()
 
MoFEMErrorCode getActiveContinuousVector ()
 
MoFEMErrorCode getDependentContinuousVector ()
 
MoFEMErrorCode getDependentDerivativesContinuousVector ()
 

Protected Attributes

std::map< int, boost::shared_ptr< PhysicalEquations > > metaElasticAtPts
 

Static Protected Attributes

static constexpr int modelType
 

Additional Inherited Members

- Public Attributes inherited from AdolCOps::PhysicalEquations
int tAg
 
boost::shared_ptr< std::map< int, Range > > tagVsRangePtr
 
std::vector< std::pair< Range, std::vector< double > > > paramVecByRange
 
boost::shared_ptr< ADolCDataadolcDataPtr
 
std::vector< doubleactiveVariables
 
std::vector< doubledependentVariables
 
std::vector< doubledependentVariablesDerivatives
 

Detailed Description

template<int DIM>
struct AdolCOps::AdolCMetaElastic< DIM >

Definition at line 13 of file AdolCMetaElastic.cpp.

Member Typedef Documentation

◆ A

template<int DIM>
using AdolCOps::AdolCMetaElastic< DIM >::A = AdolCElasticImpl<DIM>

Definition at line 16 of file AdolCMetaElastic.cpp.

Member Function Documentation

◆ getOptions()

template<int DIM>
MoFEMErrorCode AdolCOps::AdolCMetaElastic< DIM >::getOptions ( MoFEM::Interface m_field_ptr = nullptr)
inlineoverridevirtual

Implements AdolCOps::PhysicalEquations.

Definition at line 18 of file AdolCMetaElastic.cpp.

18 {
20 for (auto &m : metaElasticAtPts) {
21 CHKERR m.second->getOptions(m_field_ptr);
22 }
23 A::tagVsRangePtr = boost::make_shared<std::map<int, Range>>();
24 for (const auto &m : metaElasticAtPts) {
25 A::tagVsRangePtr->insert(
26 {m.first, Range()}); // Initialize with empty range
27 for (auto &rp : A::paramVecByRange) {
28 A::tagVsRangePtr->at(m.first).merge(
29 rp.first); // Merge ranges for the same tag
30 }
31 }
33 }
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
#define CHKERR
Inline error check.
FTensor::Index< 'm', 3 > m
AdolCElasticImpl< DIM > A
std::map< int, boost::shared_ptr< PhysicalEquations > > metaElasticAtPts
std::vector< std::pair< Range, std::vector< double > > > paramVecByRange
Definition AdolCOps.hpp:165
boost::shared_ptr< std::map< int, Range > > tagVsRangePtr
Definition AdolCOps.hpp:164

◆ recordTape()

template<int DIM>
MoFEMErrorCode AdolCOps::AdolCMetaElastic< DIM >::recordTape ( )
inlineoverridevirtual

Implements AdolCOps::PhysicalEquations.

Definition at line 43 of file AdolCMetaElastic.cpp.

43 {
45 for (auto &m : metaElasticAtPts) {
46 CHKERR m.second->recordTape();
47 }
49 }

◆ setParams()

template<int DIM>
MoFEMErrorCode AdolCOps::AdolCMetaElastic< DIM >::setParams ( EntityHandle  ent,
int  gg 
)
inlineoverridevirtual

Implements AdolCOps::PhysicalEquations.

Definition at line 35 of file AdolCMetaElastic.cpp.

35 {
37 for(auto &m : metaElasticAtPts) {
38 CHKERR m.second->setParams(ent, gg);
39 }
41 }

Member Data Documentation

◆ metaElasticAtPts

template<int DIM>
std::map<int, boost::shared_ptr<PhysicalEquations> > AdolCOps::AdolCMetaElastic< DIM >::metaElasticAtPts
protected
Initial value:
= {
{
createAdolCPhysicalEquationsPtr<ELASTICITY::NEOHOOKEAN, modelType>(
this->adolcDataPtr,
}
}
static auto setTagName(std::string name, int tag=-1)
Definition AdolCOps.hpp:16
boost::shared_ptr< ADolCData > adolcDataPtr
Definition AdolCOps.hpp:167

Definition at line 55 of file AdolCMetaElastic.cpp.

55 {
56
57 {
58
59 // First tag is always MetaElastic tag
61 createAdolCPhysicalEquationsPtr<ELASTICITY::NEOHOOKEAN, modelType>(
62 this->adolcDataPtr,
64
65 }
66
67 };

◆ modelType

template<int DIM>
constexpr int AdolCOps::AdolCMetaElastic< DIM >::modelType
inlinestaticconstexprprotected
Initial value:

Definition at line 52 of file AdolCMetaElastic.cpp.


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