2200 {
2202
2204
2205 int nb_gauss_pts = pts.size2();
2206 if (!nb_gauss_pts) {
2208 }
2209
2210 if (pts.size1() < 3) {
2212 "Wrong dimension of pts, should be at least 3 rows with "
2213 "coordinates");
2214 }
2215
2216 const auto base = this->cTx->bAse;
2218
2219 switch (this->cTx->sPace) {
2222 break;
2224 data.
dataOnEntities[MBVERTEX][0].getN(base).resize(nb_gauss_pts, 4,
false);
2227 &pts(0, 0), &pts(1, 0), &pts(2, 0), nb_gauss_pts);
2228 data.
dataOnEntities[MBVERTEX][0].getDiffN(base).resize(4, 3,
false);
2232 CHKERR getValueL2AinsworthBase(pts);
2233 break;
2234 default:
2236 }
2237
2239}
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return()
@ L2
field with C-1 continuity
@ HDIV
field with continuous normal traction
@ MOFEM_DATA_INCONSISTENCY
#define CHKERR
Inline error check.
#define MoFEMFunctionBeginHot
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
PetscErrorCode Legendre_polynomials(int p, double s, double *diff_s, double *L, double *diffL, const int dim)
Calculate Legendre approximation basis.
MoFEMErrorCode getValueHdivForCGGBubble(MatrixDouble &pts)
Class used to pass element data to calculate base functions on tet,triangle,edge.
data structure for finite element entity
std::array< boost::ptr_vector< EntData >, MBMAXTYPE > dataOnEntities