11#ifndef __VOLUMEELEMENTFORCESANDSOURCESCORE_HPP__
12#define __VOLUMEELEMENTFORCESANDSOURCESCORE_HPP__
14using namespace boost::numeric;
111 using ForcesAndSourcesCore::UserDataOperator::UserDataOperator;
151int VolumeElementForcesAndSourcesCore::UserDataOperator::getNumNodes() {
156VolumeElementForcesAndSourcesCore::UserDataOperator::getConn() {
161VolumeElementForcesAndSourcesCore::UserDataOperator::getVolume()
const {
165double &VolumeElementForcesAndSourcesCore::UserDataOperator::getVolume() {
170VolumeElementForcesAndSourcesCore::UserDataOperator::getJac() {
175VolumeElementForcesAndSourcesCore::UserDataOperator::getInvJac() {
180VolumeElementForcesAndSourcesCore::UserDataOperator::getCoords() {
185VolumeElementForcesAndSourcesCore::UserDataOperator::getVolumeFE()
const {
203 using VolumeElementForcesAndSourcesCore::VolumeElementForcesAndSourcesCore;
PetscErrorCode MoFEMErrorCode
MoFEM/PETSc error code.
implementation of Data Operators for Forces and Sources
DEPRECATED typedef VolumeElementForcesAndSourcesCore VolumeElementForcesAndSourcesCoreBase
Deprecated interface functions.
ForcesAndSourcesCore * ptrFE
structure to get information form mofem into EntitiesFieldData
Transform local reference derivatives of shape function to global derivatives.
brief Transform local reference derivatives of shape function to global derivatives
int getNumNodes()
get element number of nodes
VectorDouble & getCoords()
nodal coordinates
VolumeElementForcesAndSourcesCore * getVolumeFE() const
return pointer to Generic Volume Finite Element object
double getVolume() const
element volume (linear geometry)
FTensor::Tensor2< double *, 3, 3 > & getInvJac()
get element inverse Jacobian
const EntityHandle * getConn()
get element connectivity
FTensor::Tensor2< double *, 3, 3 > & getJac()
get element Jacobian
MoFEMErrorCode setPtrFE(ForcesAndSourcesCore *ptr)
Volume finite element base.
OpSetInvJacHdivAndHcurl opSetInvJacHdivAndHcurl
FTensor::Tensor2< double *, 3, 3 > tJac
virtual MoFEMErrorCode transformBaseFunctions()
Transform base functions based on geometric element Jacobian.
virtual MoFEMErrorCode setIntegrationPts()
Set integration points.
MoFEMErrorCode operator()()
function is run for every finite element
OpSetCovariantPiolaTransform opCovariantPiolaTransform
FTensor::Tensor2< double *, 3, 3 > tInvJac
virtual MoFEMErrorCode getSpaceBaseAndOrderOnElement()
Determine approximation space and order of base functions.
virtual MoFEMErrorCode calculateVolumeAndJacobian()
Calculate element volume and Jacobian.
virtual MoFEMErrorCode calculateCoordinatesAtGaussPts()
Calculate coordinate at integration points.
OpSetContravariantPiolaTransform opContravariantPiolaTransform
std::string meshPositionsFieldName
const EntityHandle * conn
OpSetInvJacH1 opSetInvJacH1