Reference documentation for deal.II version Git 54f37b890c 2020-02-28 19:52:28 +0100
\(\newcommand{\vcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\vcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
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 ArrayView< const 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 ArrayView< const std::vector< double >> &input, const ArrayView< const std::vector< Tensor< 1, dim >>> &Dinput, const ArrayView< const 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 ArrayView< const std::vector< double >> &input, const ArrayView< const std::vector< Tensor< 1, dim >>> &Dinput, const ArrayView< const 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 ArrayView< const std::vector< double >> &input, const ArrayView< const 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 ArrayView< const std::vector< double >> &input1, const ArrayView< const std::vector< Tensor< 1, dim >>> &Dinput1, const ArrayView< const std::vector< double >> &input2, const ArrayView< const 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

◆ cell_matrix()

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.

◆ cell_residual()

template<int dim, typename number >
void LocalIntegrators::Elasticity::cell_residual ( Vector< number > &  result,
const FEValuesBase< dim > &  fe,
const ArrayView< const 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.

◆ nitsche_matrix()

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 125 of file elasticity.h.

◆ nitsche_tangential_matrix()

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 180 of file elasticity.h.

◆ nitsche_residual()

template<int dim, typename number >
void LocalIntegrators::Elasticity::nitsche_residual ( Vector< number > &  result,
const FEValuesBase< dim > &  fe,
const ArrayView< const std::vector< double >> &  input,
const ArrayView< const std::vector< Tensor< 1, dim >>> &  Dinput,
const ArrayView< const 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 262 of file elasticity.h.

◆ nitsche_tangential_residual()

template<int dim, typename number >
void LocalIntegrators::Elasticity::nitsche_tangential_residual ( Vector< number > &  result,
const FEValuesBase< dim > &  fe,
const ArrayView< const std::vector< double >> &  input,
const ArrayView< const std::vector< Tensor< 1, dim >>> &  Dinput,
const ArrayView< const 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 314 of file elasticity.h.

◆ nitsche_residual_homogeneous()

template<int dim, typename number >
void LocalIntegrators::Elasticity::nitsche_residual_homogeneous ( Vector< number > &  result,
const FEValuesBase< dim > &  fe,
const ArrayView< const std::vector< double >> &  input,
const ArrayView< const 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 395 of file elasticity.h.

◆ ip_matrix()

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 440 of file elasticity.h.

◆ ip_residual()

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 ArrayView< const std::vector< double >> &  input1,
const ArrayView< const std::vector< Tensor< 1, dim >>> &  Dinput1,
const ArrayView< const std::vector< double >> &  input2,
const ArrayView< const 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 551 of file elasticity.h.