23 #ifndef __VOLUMEELEMENTFORCESANDSOURCESCORE_ONVOLUMESIDE_HPP__
24 #define __VOLUMEELEMENTFORCESANDSOURCESCORE_ONVOLUMESIDE_HPP__
26 using namespace boost::numeric;
47 inline const std::array<int, 3> &getFaceConnMap()
const;
57 inline const std::array<int, 4> &getTetConnMap()
const;
67 inline int getOppositeNode()
const;
74 inline int getFaceSense()
const;
81 inline int getFaceSideNumber()
const;
118 inline int getFaceSense()
const;
124 inline int getFaceSideNumber()
const;
127 int getRule(
int order);
145 template <
int SWITCH>
149 using VolumeElementForcesAndSourcesCoreOnContactPrismSideBase::
150 VolumeElementForcesAndSourcesCoreOnContactPrismSideBase;
166 const std::array<int, 3> &
167 VolumeElementForcesAndSourcesCoreOnContactPrismSideBase::getFaceConnMap()
const {
171 const std::array<int, 4> &
172 VolumeElementForcesAndSourcesCoreOnContactPrismSideBase::getTetConnMap()
const {
176 int VolumeElementForcesAndSourcesCoreOnContactPrismSideBase::getOppositeNode()
const {
180 int VolumeElementForcesAndSourcesCoreOnContactPrismSideBase::getFaceSense()
const {
184 int VolumeElementForcesAndSourcesCoreOnContactPrismSideBase::getFaceSideNumber()
186 return faceSideNumber;
190 VolumeElementForcesAndSourcesCoreOnContactPrismSideBase::UserDataOperator::
191 getVolumeFE()
const {
197 VolumeElementForcesAndSourcesCoreOnContactPrismSideBase::UserDataOperator::
198 getContactFE()
const {
200 getVolumeFE()->sidePtrFE);
203 MatrixDouble &VolumeElementForcesAndSourcesCoreOnContactPrismSideBase::
204 UserDataOperator::getMasterCoordsAtGaussPts() {
208 MatrixDouble &VolumeElementForcesAndSourcesCoreOnContactPrismSideBase::
209 UserDataOperator::getSlaveCoordsAtGaussPts() {
210 return getContactFE()->getGaussPtsSlaveFromEleSide();
213 int VolumeElementForcesAndSourcesCoreOnContactPrismSideBase::UserDataOperator::
214 getFaceSense()
const {
215 return getVolumeFE()->faceSense;
218 int VolumeElementForcesAndSourcesCoreOnContactPrismSideBase::UserDataOperator::
219 getFaceSideNumber()
const {
220 return getVolumeFE()->faceSideNumber;
223 template <
int SWITCH>
226 return OpSwitch<SWITCH>();
ForcesAndSourcesCore::UserDataOperator UserDataOperator
VolumeElementForcesAndSourcesCoreSwitch< 0 > VolumeElementForcesAndSourcesCore
Volume finite element default.
PetscErrorCode MoFEMErrorCode
MoFEM/PETSc error code.
ublas::matrix< double, ublas::row_major, DoubleAllocator > MatrixDouble
implementation of Data Operators for Forces and Sources
default operator for TET element
Volume finite element with switches.