deal.II version GIT relicensing-2206-gaa53ff9447 2024-12-02 09:10:00+00:00
\(\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 50 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 83 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 122 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 177 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 256 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 308 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 386 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 431 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 539 of file elasticity.h.