#ifndef __NEOHOOKEAN_HPP__
#define __NEOHOOKEAN_HPP__
template <typename TYPE>
TYPE> {
MatrixBoundedArray<TYPE, 9>
invC;
detC = determinantTensor3by3(this->
C);
this->
J = determinantTensor3by3(this->
F);
logJ = log(sqrt(this->
J * this->
J));
}
boost::shared_ptr<const NumeredEntFiniteElement> fe_ptr) {
}
logJ = log(sqrt(this->
J * this->
J));
}
boost::shared_ptr<const NumeredEntFiniteElement> fe_ptr) {
this->
J = determinantTensor3by3(this->
F);
}
};
#endif
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return()
#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.
#define MoFEMFunctionBeginHot
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
MoFEMErrorCode NeoHooke_PiolaKirchhoffII()
calculate second Piola Kirchhoff
MoFEMErrorCode NeoHookean_ElasticEnergy()
calculate elastic energy density
MoFEMErrorCode calculateElasticEnergy(const NonlinearElasticElement::BlockData block_data, boost::shared_ptr< const NumeredEntFiniteElement > fe_ptr)
Calculate elastic energy density.
NonlinearElasticElement::FunctionsToCalculatePiolaKirchhoffI< TYPE > PiolaKirchoffI
FTensor::Index< 'i', 3 > i
MatrixBoundedArray< TYPE, 9 > invC
virtual MoFEMErrorCode calculateP_PiolaKirchhoffI(const NonlinearElasticElement::BlockData block_data, boost::shared_ptr< const NumeredEntFiniteElement > fe_ptr)
Function overload to implement user material.
FTensor::Index< 'j', 3 > j
FTensor::Index< 'k', 3 > k
FTensor::Tensor2< FTensor::PackPtr< TYPE *, 0 >, 3, 3 > t_invC
data for calculation heat conductivity and heat capacity elements
Implementation of elastic (non-linear) St. Kirchhoff equation.
FTensor::Tensor2< FTensor::PackPtr< TYPE *, 0 >, 3, 3 > t_C
FTensor::Tensor2< FTensor::PackPtr< TYPE *, 0 >, 3, 3 > t_F
FTensor::Tensor2< FTensor::PackPtr< TYPE *, 0 >, 3, 3 > t_P
MatrixBoundedArray< TYPE, 9 > C
MoFEMErrorCode calculateC_CauchyDeformationTensor()
FTensor::Tensor2< FTensor::PackPtr< TYPE *, 0 >, 3, 3 > t_S
static auto resizeAndSet(MatrixBoundedArray< TYPE, 9 > &m)
MatrixBoundedArray< TYPE, 9 > F