deal.II version GIT relicensing-2287-g6548a49e0a 2024-12-20 18:30:00+00:00
|
Functions | |
template<int dim> | |
void | cell_matrix (FullMatrix< double > &M, const FEValuesBase< dim > &fe, double factor=1.) |
template<int dim, typename number > | |
void | cell_residual (Vector< number > &result, const FEValuesBase< dim > &fetest, const ArrayView< const std::vector< Tensor< 1, dim > > > &input, const 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_residual (Vector< double > &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> | |
void | ip_matrix (FullMatrix< double > &M11, FullMatrix< double > &M12, FullMatrix< double > &M21, FullMatrix< double > &M22, const FEValuesBase< dim > &fe1, const FEValuesBase< dim > &fe2, double penalty, double factor1=1., double factor2=-1.) |
template<int dim> | |
void | ip_residual (Vector< double > &result1, Vector< double > &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.) |
Local integrators related to the grad-div operator and its boundary traces
void LocalIntegrators::GradDiv::cell_matrix | ( | FullMatrix< double > & | M, |
const FEValuesBase< dim > & | fe, | ||
double | factor = 1. |
||
) |
The weak form of the grad-div operator penalizing volume changes
\[ \int_Z \nabla\cdot u \nabla \cdot v \,dx \]
Definition at line 51 of file grad_div.h.
void LocalIntegrators::GradDiv::cell_residual | ( | Vector< number > & | result, |
const FEValuesBase< dim > & | fetest, | ||
const ArrayView< const std::vector< Tensor< 1, dim > > > & | input, | ||
const double | factor = 1. |
||
) |
The weak form of the grad-div residual
\[ \int_Z \nabla\cdot u \nabla \cdot v \,dx \]
Definition at line 85 of file grad_div.h.
|
inline |
The matrix for the weak boundary condition of Nitsche type for linear elasticity:
\[ \int_F \Bigl(\gamma (u \cdot n)(v \cdot n) - \nabla\cdot u v\cdot n - u \cdot n \nabla \cdot v \Bigr)\;ds. \]
Definition at line 121 of file grad_div.h.
void LocalIntegrators::GradDiv::nitsche_residual | ( | Vector< double > & | 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 Laplace operator by Nitsche, vector valued version, namely on the face F the vector
\[ \int_F \Bigl(\gamma (\mathbf u \cdot \mathbf n- \mathbf g \cdot \mathbf n) (\mathbf v \cdot \mathbf n) - \nabla \cdot \mathbf u (\mathbf v \cdot \mathbf n) - (\mathbf u-\mathbf g) \cdot \mathbf n \nabla \cdot v\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
. \(\gamma\) is the usual penalty parameter.
Definition at line 173 of file grad_div.h.
void LocalIntegrators::GradDiv::ip_matrix | ( | FullMatrix< double > & | M11, |
FullMatrix< double > & | M12, | ||
FullMatrix< double > & | M21, | ||
FullMatrix< double > & | M22, | ||
const FEValuesBase< dim > & | fe1, | ||
const FEValuesBase< dim > & | fe2, | ||
double | penalty, | ||
double | factor1 = 1. , |
||
double | factor2 = -1. |
||
) |
The interior penalty flux for the grad-div operator. See ip_residual() for details.
Definition at line 220 of file grad_div.h.
void LocalIntegrators::GradDiv::ip_residual | ( | Vector< double > & | result1, |
Vector< double > & | 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. |
||
) |
Grad-div residual term for the symmetric interior penalty method:
\[ \int_F \Bigl( \gamma [\mathbf u \cdot\mathbf n] \cdot[\mathbf v \cdot \mathbf n] - \{\nabla \cdot \mathbf u\}[\mathbf v\cdot \mathbf n] - [\mathbf u\times \mathbf n]\{\nabla\cdot \mathbf v\} \Bigr) \; ds. \]
See for instance Hansbo and Larson, 2002
Definition at line 300 of file grad_div.h.