Reference documentation for deal.II version 9.1.0-pre
Functions
LocalIntegrators::Elasticity Namespace Reference

Local integrators related to elasticity problems. More...

Functions

template<int dim>
void cell_matrix (FullMatrix< double > &M, const FEValuesBase< dim > &fe, const double factor=1.)
 
template<int dim, typename number >
void cell_residual (Vector< number > &result, const FEValuesBase< dim > &fe, const VectorSlice< const std::vector< std::vector< Tensor< 1, dim >>>> &input, double factor=1.)
 
template<int dim>
void nitsche_matrix (FullMatrix< double > &M, const FEValuesBase< dim > &fe, double penalty, double factor=1.)
 
template<int dim>
void nitsche_tangential_matrix (FullMatrix< double > &M, const FEValuesBase< dim > &fe, double penalty, double factor=1.)
 
template<int dim, typename number >
void nitsche_residual (Vector< number > &result, const FEValuesBase< dim > &fe, const VectorSlice< const std::vector< std::vector< double >>> &input, const VectorSlice< const std::vector< std::vector< Tensor< 1, dim >>>> &Dinput, const VectorSlice< const std::vector< std::vector< double >>> &data, double penalty, double factor=1.)
 
template<int dim, typename number >
void nitsche_tangential_residual (Vector< number > &result, const FEValuesBase< dim > &fe, const VectorSlice< const std::vector< std::vector< double >>> &input, const VectorSlice< const std::vector< std::vector< Tensor< 1, dim >>>> &Dinput, const VectorSlice< const std::vector< std::vector< double >>> &data, double penalty, double factor=1.)
 
template<int dim, typename number >
void nitsche_residual_homogeneous (Vector< number > &result, const FEValuesBase< dim > &fe, const VectorSlice< const std::vector< std::vector< double >>> &input, const VectorSlice< const std::vector< std::vector< Tensor< 1, dim >>>> &Dinput, double penalty, double factor=1.)
 
template<int dim>
void ip_matrix (FullMatrix< double > &M11, FullMatrix< double > &M12, FullMatrix< double > &M21, FullMatrix< double > &M22, const FEValuesBase< dim > &fe1, const FEValuesBase< dim > &fe2, const double pen, const double int_factor=1., const double ext_factor=-1.)
 
template<int dim, typename number >
void ip_residual (Vector< number > &result1, Vector< number > &result2, const FEValuesBase< dim > &fe1, const FEValuesBase< dim > &fe2, const VectorSlice< const std::vector< std::vector< double >>> &input1, const VectorSlice< const std::vector< std::vector< Tensor< 1, dim >>>> &Dinput1, const VectorSlice< const std::vector< std::vector< double >>> &input2, const VectorSlice< const std::vector< std::vector< Tensor< 1, dim >>>> &Dinput2, double pen, double int_factor=1., double ext_factor=-1.)
 

Detailed Description

Local integrators related to elasticity problems.

Author
Guido Kanschat
Date
2010

Function Documentation

template<int dim>
void LocalIntegrators::Elasticity::cell_matrix ( FullMatrix< double > &  M,
const FEValuesBase< dim > &  fe,
const double  factor = 1. 
)
inline

The linear elasticity operator in weak form, namely double contraction of symmetric gradients.

\[ \int_Z \varepsilon(u): \varepsilon(v)\,dx \]

Definition at line 53 of file elasticity.h.

template<int dim, typename number >
void LocalIntegrators::Elasticity::cell_residual ( Vector< number > &  result,
const FEValuesBase< dim > &  fe,
const VectorSlice< const std::vector< std::vector< Tensor< 1, dim >>>> &  input,
double  factor = 1. 
)
inline

Vector-valued residual operator for linear elasticity in weak form

\[ - \int_Z \varepsilon(u): \varepsilon(v) \,dx \]

Definition at line 86 of file elasticity.h.

template<int dim>
void LocalIntegrators::Elasticity::nitsche_matrix ( FullMatrix< double > &  M,
const FEValuesBase< dim > &  fe,
double  penalty,
double  factor = 1. 
)
inline

The matrix for the weak boundary condition of Nitsche type for linear elasticity:

\[ \int_F \Bigl(\gamma u \cdot v - n^T \epsilon(u) v - u \epsilon(v) n\Bigr)\;ds. \]

Definition at line 126 of file elasticity.h.

template<int dim>
void LocalIntegrators::Elasticity::nitsche_tangential_matrix ( FullMatrix< double > &  M,
const FEValuesBase< dim > &  fe,
double  penalty,
double  factor = 1. 
)
inline

The matrix for the weak boundary condition of Nitsche type for the tangential displacement in linear elasticity:

\[ \int_F \Bigl(\gamma u_\tau \cdot v_\tau - n^T \epsilon(u_\tau) v_\tau - u_\tau^T \epsilon(v_\tau) n\Bigr)\;ds. \]

Definition at line 181 of file elasticity.h.

template<int dim, typename number >
void LocalIntegrators::Elasticity::nitsche_residual ( Vector< number > &  result,
const FEValuesBase< dim > &  fe,
const VectorSlice< const std::vector< std::vector< double >>> &  input,
const VectorSlice< const std::vector< std::vector< Tensor< 1, dim >>>> &  Dinput,
const VectorSlice< const std::vector< std::vector< double >>> &  data,
double  penalty,
double  factor = 1. 
)

Weak boundary condition for the elasticity operator by Nitsche, namely on the face F the vector

\[ \int_F \Bigl(\gamma (u-g) \cdot v - n^T \epsilon(u) v - (u-g) \epsilon(v) n^T\Bigr)\;ds. \]

Here, u is the finite element function whose values and gradient are given in the arguments input and Dinput, respectively. g is the inhomogeneous boundary value in the argument data. \(n\) is the outer normal vector and \(\gamma\) is the usual penalty parameter.

Author
Guido Kanschat
Date
2013

Definition at line 263 of file elasticity.h.

template<int dim, typename number >
void LocalIntegrators::Elasticity::nitsche_tangential_residual ( Vector< number > &  result,
const FEValuesBase< dim > &  fe,
const VectorSlice< const std::vector< std::vector< double >>> &  input,
const VectorSlice< const std::vector< std::vector< Tensor< 1, dim >>>> &  Dinput,
const VectorSlice< const std::vector< std::vector< double >>> &  data,
double  penalty,
double  factor = 1. 
)
inline

The weak boundary condition of Nitsche type for the tangential displacement in linear elasticity:

\[ \int_F \Bigl(\gamma (u_\tau-g_\tau) \cdot v_\tau - n^T \epsilon(u_\tau) v - (u_\tau-g_\tau) \epsilon(v_\tau) n\Bigr)\;ds. \]

Definition at line 316 of file elasticity.h.

template<int dim, typename number >
void LocalIntegrators::Elasticity::nitsche_residual_homogeneous ( Vector< number > &  result,
const FEValuesBase< dim > &  fe,
const VectorSlice< const std::vector< std::vector< double >>> &  input,
const VectorSlice< const std::vector< std::vector< Tensor< 1, dim >>>> &  Dinput,
double  penalty,
double  factor = 1. 
)

Homogeneous weak boundary condition for the elasticity operator by Nitsche, namely on the face F the vector

\[ \int_F \Bigl(\gamma u \cdot v - n^T \epsilon(u) v - u \epsilon(v) n^T\Bigr)\;ds. \]

Here, u is the finite element function whose values and gradient are given in the arguments input and Dinput, respectively. \(n\) is the outer normal vector and \(\gamma\) is the usual penalty parameter.

Author
Guido Kanschat
Date
2013

Definition at line 397 of file elasticity.h.

template<int dim>
void LocalIntegrators::Elasticity::ip_matrix ( FullMatrix< double > &  M11,
FullMatrix< double > &  M12,
FullMatrix< double > &  M21,
FullMatrix< double > &  M22,
const FEValuesBase< dim > &  fe1,
const FEValuesBase< dim > &  fe2,
const double  pen,
const double  int_factor = 1.,
const double  ext_factor = -1. 
)
inline

The interior penalty flux for symmetric gradients.

Definition at line 442 of file elasticity.h.

template<int dim, typename number >
void LocalIntegrators::Elasticity::ip_residual ( Vector< number > &  result1,
Vector< number > &  result2,
const FEValuesBase< dim > &  fe1,
const FEValuesBase< dim > &  fe2,
const VectorSlice< const std::vector< std::vector< double >>> &  input1,
const VectorSlice< const std::vector< std::vector< Tensor< 1, dim >>>> &  Dinput1,
const VectorSlice< const std::vector< std::vector< double >>> &  input2,
const VectorSlice< const std::vector< std::vector< Tensor< 1, dim >>>> &  Dinput2,
double  pen,
double  int_factor = 1.,
double  ext_factor = -1. 
)

Elasticity residual term for the symmetric interior penalty method.

Author
Guido Kanschat
Date
2013

Definition at line 553 of file elasticity.h.