v0.14.0
users_modules
eshelbian_plasticit
src
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
11
namespace
EshelbianPlasticity
{
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
*/
36
MoFEMErrorCode
37
CGG_BubbleBase_MBTET
(
const
int
p,
const
double
*
N
,
const
double
*diffN,
38
FTensor::Tensor2
<
FTensor::PackPtr<double *, 9>
, 3, 3> &
phi
,
39
const
int
gdim);
40
}
phi
static double phi
Definition:
poisson_2d_dis_galerkin.cpp:30
MoFEM::Exceptions::MoFEMErrorCode
PetscErrorCode MoFEMErrorCode
MoFEM/PETSc error code.
Definition:
Exceptions.hpp:56
EshelbianPlasticity
Definition:
CGGTonsorialBubbleBase.hpp:11
FTensor::Tensor2
Definition:
Tensor2_value.hpp:16
FTensor::PackPtr
Definition:
FTensor.hpp:54
EshelbianPlasticity::CGG_BubbleBase_MBTET
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.
Definition:
CGGTonsorialBubbleBase.cpp:20
N
const int N
Definition:
speed_test.cpp:3
Generated by
Doxygen
1.8.17 and hosted at