Reference documentation for deal.II version 9.5.1
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Loading...
Searching...
No Matches
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.

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 51 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 84 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 123 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 178 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.

Definition at line 257 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 309 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.

Definition at line 387 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 432 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.

Definition at line 540 of file elasticity.h.