29 #include "libmesh/tensor_value.h" 
   34   template <
typename StrainEnergy>
 
   41   template <
typename StrainEnergy>
 
   47   template <
typename StrainEnergy>
 
   58     libMesh::Real I3 = (g_contra*G_cov).det();
 
   60     libMesh::Real I1 = 0.0;
 
   61     libMesh::Real I2 = 0.0;
 
   62     for( 
unsigned int i = 0; i < dim; i++ )
 
   64         for( 
unsigned int j = 0; j < dim; j++ )
 
   66             I1 += g_contra(i,j)*G_cov(i,j);
 
   67             I2 += G_contra(i,j)*g_cov(i,j);
 
   73     libMesh::Real dWdI1 = _W.dI1(I1,I2,I3);
 
   74     libMesh::Real dWdI2 = _W.dI2(I1,I2,I3);
 
   75     libMesh::Real dWdI3 = _W.dI3(I1,I2,I3);
 
   78     for( 
unsigned int i = 0; i < dim; i++ )
 
   80         for( 
unsigned int j = 0; j < dim; j++ )
 
   82             for( 
unsigned int k = 0; k < dim; k++ )
 
   84                 for( 
unsigned int l = 0; l < dim; l++ )
 
   86                     stress(i,j) += 2.0*dWdI1*g_contra(i,j)
 
   87                       + 2.0*dWdI2*(I1*g_contra(i,j) - g_contra(i,k)*g_contra(j,l)*G_cov(k,l))
 
   88                       + 2.0*dWdI3*G_contra(i,j);
 
   97   template <
typename StrainEnergy>
 
  106     libmesh_not_implemented();
 
  110   template <
typename StrainEnergy>
 
  116     libmesh_not_implemented();
 
void compute_stress_imp(unsigned int dim, const libMesh::TensorValue< libMesh::Real > &g_contra, const libMesh::TensorValue< libMesh::Real > &g_cov, const libMesh::TensorValue< libMesh::Real > &G_contra, const libMesh::TensorValue< libMesh::Real > &G_cov, libMesh::TensorValue< libMesh::Real > &stress)
 
virtual ~Hyperelasticity()
 
void compute_stress_and_elasticity_imp(unsigned int dim, const libMesh::TensorValue< libMesh::Real > &g_contra, const libMesh::TensorValue< libMesh::Real > &g_cov, const libMesh::TensorValue< libMesh::Real > &G_contra, const libMesh::TensorValue< libMesh::Real > &G_cov, libMesh::TensorValue< libMesh::Real > &stress, ElasticityTensor &C)
 
libMesh::Real compute_33_stress_imp(const libMesh::TensorValue< libMesh::Real > &g_contra, const libMesh::TensorValue< libMesh::Real > &g_cov, const libMesh::TensorValue< libMesh::Real > &G_contra, const libMesh::TensorValue< libMesh::Real > &G_cov)
 
Hyperelasticity(const GetPot &input)