2371 {
2373
2374 if (type != MBVERTEX)
2376
2378 if (nb_dofs == 0)
2380 int nb_gauss_pts = data.
getN().size1();
2381
2383
2384 auto t_lagrange_slave =
2386 double d_gap;
2387 for (int gg = 0; gg != nb_gauss_pts; ++gg) {
2388 const double d_lambda =
2389 std::abs(t_lagrange_slave) <
TOL ? 0.0 : t_lagrange_slave;
2390 d_gap = std::abs(t_gap_ptr) <
TOL ? 0.0 : t_gap_ptr;
2391 mySplit << d_lambda <<
" " << d_gap <<
" " << std::endl;
2392
2393 ++t_gap_ptr;
2394 ++t_lagrange_slave;
2395 }
2397}
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return()
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
static auto getFTensor0FromVec(ublas::vector< T, A > &data)
Get tensor rank 0 (scalar) form data vector.
MatrixDouble & getN(const FieldApproximationBase base)
get base functions this return matrix (nb. of rows is equal to nb. of Gauss pts, nb....
const VectorDouble & getFieldData() const
get dofs values