9#ifndef __NEOHOOKEAN_HPP__
10#define __NEOHOOKEAN_HPP__
15template <
typename TYPE>
29 MatrixBoundedArray<TYPE, 9>
invC;
49 detC = determinantTensor3by3(this->
C);
51 this->
J = determinantTensor3by3(this->
F);
53 logJ = log(sqrt(this->
J * this->
J));
64 boost::shared_ptr<const NumeredEntFiniteElement> fe_ptr) {
89 logJ = log(sqrt(this->
J * this->
J));
96 boost::shared_ptr<const NumeredEntFiniteElement> fe_ptr) {
102 this->
J = determinantTensor3by3(this->
F);
#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.
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.
FunctionsToCalculatePiolaKirchhoffI()
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
structure grouping operators and data used for calculation of nonlinear elastic element