2210 {
2212
2214
2215 int nb_gauss_pts = pts.size2();
2216 if (!nb_gauss_pts) {
2218 }
2219
2220 if (pts.size1() < 3) {
2222 "Wrong dimension of pts, should be at least 3 rows with "
2223 "coordinates");
2224 }
2225
2226 const auto base = this->cTx->bAse;
2228
2229 switch (this->cTx->sPace) {
2232 break;
2234 data.
dataOnEntities[MBVERTEX][0].getN(base).resize(nb_gauss_pts, 4,
false);
2237 &pts(0, 0), &pts(1, 0), &pts(2, 0), nb_gauss_pts);
2238 data.
dataOnEntities[MBVERTEX][0].getDiffN(base).resize(4, 3,
false);
2242 CHKERR getValueL2AinsworthBase(pts);
2243 break;
2244 default:
2246 }
2247
2249}
#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