10#ifndef __VOLUME_CALCULATION_HPP__ 
   11#define __VOLUME_CALCULATION_HPP__ 
   27  MoFEMErrorCode 
doWork(
int row_side, EntityType row_type,
 
   28                        EntitiesFieldData::EntData &row_data) {
 
   32    if (row_type != MBVERTEX)
 
   35    int nb_gauss_pts = row_data.getN().size1();
 
   36    for (
int gg = 0; gg != nb_gauss_pts; ++gg) {
 
 
 
ForcesAndSourcesCore::UserDataOperator UserDataOperator
#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()
#define CHKERR
Inline error check.
implementation of Data Operators for Forces and Sources
constexpr auto field_name
@ OPROW
operator doWork function is executed on FE rows
MatrixDouble & getGaussPts()
matrix of integration (Gauss) points for Volume Element
double getVolume() const
element volume (linear geometry)
MoFEMErrorCode doWork(int row_side, EntityType row_type, EntitiesFieldData::EntData &row_data)
VolumeCalculation(const std::string &field_name, Vec volume_vec)