v0.14.0 |
structure grouping operators and data used for calculation of nonlinear elastic element More...
#include <users_modules/basic_finite_elements/src/HookeElement.hpp>
Classes | |
struct | BlockData |
data for calculation heat conductivity and heat capacity elements More... | |
struct | CommonData |
common data used by volume elements More... | |
struct | FunctionsToCalculatePiolaKirchhoffI |
Implementation of elastic (non-linear) St. Kirchhoff equation. More... | |
struct | MyVolumeFE |
definition of volume element More... | |
struct | OpEnergy |
struct | OpGetCommonDataAtGaussPts |
struct | OpGetDataAtGaussPts |
struct | OpJacobianEnergy |
Calculate explicit derivative of free energy. More... | |
struct | OpJacobianEshelbyStress |
struct | OpJacobianPiolaKirchhoffStress |
Operator performs automatic differentiation. More... | |
struct | OpLhsEshelby_dX |
struct | OpLhsEshelby_dx |
struct | OpLhsPiolaKirchhoff_dX |
struct | OpLhsPiolaKirchhoff_dx |
struct | OpRhsEshelbyStress |
struct | OpRhsPiolaKirchhoff |
Public Member Functions | |
NonlinearElasticElement (MoFEM::Interface &m_field, short int tag) | |
virtual | ~NonlinearElasticElement ()=default |
MoFEMErrorCode | setBlocks (boost::shared_ptr< FunctionsToCalculatePiolaKirchhoffI< double >> materialDoublePtr, boost::shared_ptr< FunctionsToCalculatePiolaKirchhoffI< adouble >> materialAdoublePtr) |
MoFEMErrorCode | addElement (const std::string element_name, const std::string spatial_position_field_name, const std::string material_position_field_name="MESH_NODE_POSITIONS", const bool ale=false) |
MoFEMErrorCode | setOperators (const std::string spatial_position_field_name, const std::string material_position_field_name="MESH_NODE_POSITIONS", const bool ale=false, const bool field_disp=false) |
Set operators to calculate left hand tangent matrix and right hand residual. More... | |
Public Attributes | |
DEPRECATED typedef OpRhsEshelbyStress | OpRhsEshelbyStrees |
MyVolumeFE | feRhs |
calculate right hand side for tetrahedral elements More... | |
MyVolumeFE | feLhs |
MyVolumeFE | feEnergy |
calculate elastic energy More... | |
MoFEM::Interface & | mField |
short int | tAg |
std::map< int, BlockData > | setOfBlocks |
maps block set id with appropriate BlockData More... | |
CommonData | commonData |
FTensor::Index< 'i', 3 > | i |
FTensor::Index< 'j', 3 > | j |
FTensor::Index< 'k', 3 > | k |
structure grouping operators and data used for calculation of nonlinear elastic element
In order to assemble matrices and right hand vectors, the loops over elements, entities over that elements and finally loop over integration points are executed.
Following implementation separate those three categories of loops and to each loop attach operator.
Definition at line 27 of file HookeElement.hpp.
NonlinearElasticElement::NonlinearElasticElement | ( | MoFEM::Interface & | m_field, |
short int | tag | ||
) |
|
virtualdefault |
MoFEMErrorCode NonlinearElasticElement::addElement | ( | const std::string | element_name, |
const std::string | spatial_position_field_name, | ||
const std::string | material_position_field_name = "MESH_NODE_POSITIONS" , |
||
const bool | ale = false |
||
) |
Definition at line 1120 of file NonLinearElasticElement.cpp.
MoFEMErrorCode NonlinearElasticElement::setBlocks | ( | boost::shared_ptr< FunctionsToCalculatePiolaKirchhoffI< double >> | materialDoublePtr, |
boost::shared_ptr< FunctionsToCalculatePiolaKirchhoffI< adouble >> | materialAdoublePtr | ||
) |
Definition at line 1086 of file NonLinearElasticElement.cpp.
MoFEMErrorCode NonlinearElasticElement::setOperators | ( | const std::string | spatial_position_field_name, |
const std::string | material_position_field_name = "MESH_NODE_POSITIONS" , |
||
const bool | ale = false , |
||
const bool | field_disp = false |
||
) |
Set operators to calculate left hand tangent matrix and right hand residual.
fun | class needed to calculate Piola Kirchhoff I Stress tensor |
spatial_position_field_name | name of approximation field |
material_position_field_name | name of field to define geometry |
ale | true if arbitrary Lagrangian Eulerian formulation |
field_disp | true if approximation field represents displacements otherwise it is field of spatial positions |
Definition at line 1153 of file NonLinearElasticElement.cpp.
CommonData NonlinearElasticElement::commonData |
Definition at line 121 of file NonLinearElasticElement.hpp.
MyVolumeFE NonlinearElasticElement::feEnergy |
calculate elastic energy
Definition at line 70 of file NonLinearElasticElement.hpp.
MyVolumeFE NonlinearElasticElement::feLhs |
Definition at line 67 of file NonLinearElasticElement.hpp.
MyVolumeFE NonlinearElasticElement::feRhs |
calculate right hand side for tetrahedral elements
Definition at line 65 of file NonLinearElasticElement.hpp.
FTensor::Index<'i', 3> NonlinearElasticElement::i |
Definition at line 123 of file NonLinearElasticElement.hpp.
FTensor::Index<'j', 3> NonlinearElasticElement::j |
Definition at line 124 of file NonLinearElasticElement.hpp.
FTensor::Index<'k', 3> NonlinearElasticElement::k |
Definition at line 125 of file NonLinearElasticElement.hpp.
MoFEM::Interface& NonlinearElasticElement::mField |
Definition at line 73 of file NonLinearElasticElement.hpp.
DEPRECATED typedef OpRhsEshelbyStress NonlinearElasticElement::OpRhsEshelbyStrees |
Definition at line 631 of file NonLinearElasticElement.hpp.
std::map<int, BlockData> NonlinearElasticElement::setOfBlocks |
maps block set id with appropriate BlockData
Definition at line 100 of file NonLinearElasticElement.hpp.
short int NonlinearElasticElement::tAg |
Definition at line 74 of file NonLinearElasticElement.hpp.