86 const T lambda = dilatational_modulus - 2.0 * shear_modulus;
87 const T bulk_modulus = lambda + 2.0 * shear_modulus / 3.0;
102 const T lambda = dilatational_modulus - 2.0 * shear_modulus;
103 const T youngs_modulus =
104 shear_modulus * (3.0 * lambda + 2.0 * shear_modulus) / (lambda + shear_modulus);
105 return youngs_modulus;
112 template <
typename T>
118 return poissons_ratio;
123 template <
bool is_ad>
128 std::vector<int> index_vector = {0, 1, 2, 3, 4, 5};
133 for (
int i : index_vector)
134 for (
int j : index_vector)
138 voigt_matrix(i,
j) = tensor(
a,
b,
c,
d);
typename std::conditional< is_ad, DenseMatrix< ADReal >, DenseMatrix< Real > >::type GenericDenseMatrix
RealVectorValue RealGradient
typename Moose::GenericType< RankFourTensor, is_ad > GenericRankFourTensor
The following methods are specializations for using the Parallel::packed_range_* routines for a vecto...
Real elasticity_tensor(unsigned int i, unsigned int j, unsigned int k, unsigned int l)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::complex< double > j(0, 1)
Complex number "j" (also known as "i")
static const std::string k