v0.8.23
CGGTonsorialBubbleBase.hpp
Go to the documentation of this file.
1 /** \file CGGTonsorialBubbleBase.hpp
2 
3  \brief Implementation of tonsorial bubble base div(v) = 0.
4 
5  Implementation is based and motiveted by \cite cockburn2010new. This base
6  is used to approximate stresses using Hdiv base with weakly enforced
7  symmetry.
8 
9 */
10 
12 
13 /**
14  * @brief Bubble function for CGG H div space
15  *
16  * See CGG_BubbleBase_MBTET
17  *
18  */
19 #define NBVOLUMETET_CCG_BUBBLE(P) \
20  (((P) > 1) ? 3 * (NBVOLUMETET_L2(P - 2 + 1) - NBVOLUMETET_L2(P - 2)) : 0)
21 
22 /**
23  * @brief Calculate CGGT tonsorial bubble base
24  *
25  * See details in \cite cockburn2010new
26  *
27  * @param p polynomial order
28  * @param N shape functions
29  * @param diffN direvatives of shape functions
30  * @param l2_base base functions for l2 space
31  * @param diff_l2_base direvatives base functions for l2 space
32  * @param phi returned base functions
33  * @param gdim number of integration points
34  * @return MoFEMErrorCode
35  */
37 CGG_BubbleBase_MBTET(const int p, const double *N, const double *diffN,
39  const int gdim);
40 }
PetscErrorCode MoFEMErrorCode
MoFEM/PETSc error code.
Definition: Exceptions.hpp:66
MoFEMErrorCode CGG_BubbleBase_MBTET(const int p, const double *N, const double *diffN, FTensor::Tensor2< FTensor::PackPtr< double *, 9 >, 3, 3 > &phi, const int gdim)
Calculate CGGT tonsorial bubble base.
const int N
Definition: speed_test.cpp:3