Go to the documentation of this file.
35 for (
unsigned int i = 0; i < 3; ++i)
36 for (
unsigned int j = 0; j < 3; ++j)
39 F.add(invF.inverse());
60 for (
unsigned int i = 0; i < 3; ++i) {
61 for (
unsigned int j = 0; j < 3; ++j) {
63 C_mat(i, j) = 2 * mu + lambda;
64 C_mat(i + 3, j + 3) = mu - 0.5 * lambda * (detF * detF - 1);
66 C_mat(i, j) = lambda * detF * detF;
75 Real mu =
E / (2.0 * (1.0 +
nu));
84 identity(0, 0) = 1.0; identity(1, 1) = 1.0; identity(2, 2) = 1.0;
87 S = 0.5 * lambda * (detF * detF - 1) * invC + mu * (identity - invC);
97 DenseVector<Real> sigma_voigt(6);
107 DenseVector<Real> & vec)
109 vec(0) = tensor(0, 0);
110 vec(1) = tensor(1, 1);
111 vec(2) = tensor(2, 2);
112 vec(3) = tensor(0, 1);
113 vec(4) = tensor(1, 2);
114 vec(5) = tensor(0, 2);
122 stiffness.resize(3, 3);
125 stiffness(0, 0) += G_IK;
126 stiffness(1, 1) += G_IK;
127 stiffness(2, 2) += G_IK;
143 for (
unsigned int ii = 0; ii < 3; ++ii)
void right_multiply_transpose(const DenseMatrix< T > &A)
Right multiplies by the transpose of the matrix A.
RealTensorValue RealTensor
static const Real TOLERANCE
virtual void right_multiply(const DenseMatrixBase< T > &M2) override
Performs the operation: (*this) <- (*this) * M3.
void resize(const unsigned int new_m, const unsigned int new_n)
Resize the matrix.
static void tensor_to_voigt(const RealTensor &tensor, DenseVector< Real > &vec)
void get_residual(DenseVector< Real > &residuum, unsigned int &i)
Return the residual vector for the current state.
void vector_mult(DenseVector< T > &dest, const DenseVector< T > &arg) const
Performs the matrix-vector multiplication, dest := (*this) * arg.
bool calculate_linearized_stiffness
Flag to indicate if it is necessary to calculate values for stiffness matrix during initialization.
TypeTensor< T > inverse() const
void init_for_qp(VectorValue< Gradient > &grad_u, unsigned int qp)
Initialize the class for the given displacement gradient at the specified quadrature point.
void build_b_0_mat(int i, DenseMatrix< Real > &b_l_mat)
void zero()
Set all entries of the tensor to 0.
void get_linearized_stiffness(DenseMatrix< Real > &stiffness, unsigned int &i, unsigned int &j)
Return the stiffness matrix for the current state.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const std::vector< std::vector< RealGradient > > & dphi
DenseMatrix< Real > C_mat