Scale base functions by inverses of measure of element.
More...
#include <src/finite_elements/HODataOperators.hpp>
template<typename OP>
struct MoFEM::OpScaleBaseBySpaceInverseOfMeasure< OP >
Scale base functions by inverses of measure of element.
- Template Parameters
-
- Examples
- plastic.cpp, and thermo_plastic.cpp.
Definition at line 354 of file HODataOperators.hpp.
◆ OpScaleBaseBySpaceInverseOfMeasure()
◆ doWork()
Definition at line 360 of file HODataOperators.hpp.
371 auto &base_fun = data.getN(base);
372 auto &diff_base_fun = data.getDiffN(base);
376 const auto nb_base_fun = base_fun.size2();
377 const auto nb_int_pts = base_fun.size1();
379 if (nb_int_pts != det_vec.size())
381 "Number of integration pts in detJacPtr does not mush "
382 "number of integration pts in base function");
384 auto get_row = [](
auto &
m,
auto gg) {
385 return ublas::matrix_row<decltype(m)>(
m, gg);
388 for (
auto gg = 0; gg != nb_int_pts; ++gg)
389 get_row(base_fun) /= det_vec[gg];
391 if (diff_base_fun.size1() == nb_int_pts) {
392 for (
auto gg = 0; gg != nb_int_pts; ++gg)
393 get_row(diff_base_fun) /= det_vec[gg];
399 if (this->getFEDim() == 3) {
419 }
else if (this->getFEDim() == 2) {
436 }
else if (this->getFEDim() == 1) {
FieldApproximationBase
approximation base
@ AINSWORTH_LEGENDRE_BASE
Ainsworth Cole (Legendre) approx. base .
@ USER_BASE
user implemented approximation base
@ L2
field with C-1 continuity
@ HCURL
field with continuous tangents
@ HDIV
field with continuous normal traction
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
@ MOFEM_DATA_INCONSISTENCY
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
FTensor::Index< 'm', 3 > m
◆ detJacPtr
◆ fieldSpace
The documentation for this struct was generated from the following file: