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)