12#error "MoFEM need to be compiled with ADOL-C"
18template <
typename TYPE>
26 ublas::matrix<TYPE>
ePs;
36 boost::shared_ptr<const NumeredEntFiniteElement> fe_ptr) {
40 ePs.resize(3, 3,
false);
41 noalias(
ePs) = this->
F;
42 for (
int dd = 0; dd < 3; dd++) {
47 this->
P.resize(3, 3,
false);
48 noalias(this->
P) = 2 * this->
mu *
ePs;
50 for (
int dd = 0; dd < 3; dd++) {
53 for (
int dd = 0; dd < 3; dd++) {
67 boost::shared_ptr<const NumeredEntFiniteElement> fe_ptr) {
72 noalias(
ePs) = this->
F;
73 for (
int dd = 0; dd < 3; dd++) {
80 for (
int dd = 0; dd < 3; dd++) {
82 for (
int jj = 0; jj < 3; jj++) {
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return()
#define MoFEMFunctionBeginHot
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
virtual MoFEMErrorCode calculateP_PiolaKirchhoffI(const NonlinearElasticElement::BlockData block_data, boost::shared_ptr< const NumeredEntFiniteElement > fe_ptr)
Hooke equation.
virtual MoFEMErrorCode calculateElasticEnergy(const NonlinearElasticElement::BlockData block_data, boost::shared_ptr< const NumeredEntFiniteElement > fe_ptr)
calculate density of strain energy
ublas::matrix< TYPE > ePs
data for calculation heat conductivity and heat capacity elements
Implementation of elastic (non-linear) St. Kirchhoff equation.
FunctionsToCalculatePiolaKirchhoffI()
MatrixBoundedArray< TYPE, 9 > F
MatrixBoundedArray< TYPE, 9 > P
structure grouping operators and data used for calculation of nonlinear elastic element