11using namespace boost::numeric;
 
   13#ifndef __FLATPRISMELEMENTFORCESANDSURCESCORE_HPP__ 
   14#define __FLATPRISMELEMENTFORCESANDSURCESCORE_HPP__ 
   36    using ForcesAndSourcesCore::UserDataOperator::UserDataOperator;
 
   41    inline double getArea(
const int dd);
 
 
 
  175FlatPrismElementForcesAndSourcesCore::UserDataOperator::getArea(
const int dd) {
 
 
  180FlatPrismElementForcesAndSourcesCore::UserDataOperator::getAreaF3() {
 
 
  184FlatPrismElementForcesAndSourcesCore::UserDataOperator::getAreaF4() {
 
 
  189FlatPrismElementForcesAndSourcesCore::UserDataOperator::getNormal() {
 
 
  194FlatPrismElementForcesAndSourcesCore::UserDataOperator::getNormalF3() {
 
  197  return VectorAdaptor(3, ublas::shallow_array_adaptor<double>(3, data));
 
 
  201FlatPrismElementForcesAndSourcesCore::UserDataOperator::getNormalF4() {
 
  204  return VectorAdaptor(3, ublas::shallow_array_adaptor<double>(3, data));
 
 
  208FlatPrismElementForcesAndSourcesCore::UserDataOperator::getCoords() {
 
 
  213FlatPrismElementForcesAndSourcesCore::UserDataOperator::getCoordsAtGaussPts() {
 
 
  218inline MatrixDouble &FlatPrismElementForcesAndSourcesCore::UserDataOperator::
 
  219    getHOCoordsAtGaussPtsF3() {
 
 
  224inline MatrixDouble &FlatPrismElementForcesAndSourcesCore::UserDataOperator::
 
  225    getHOCoordsAtGaussPtsF4() {
 
 
  230inline MatrixDouble &FlatPrismElementForcesAndSourcesCore::UserDataOperator::
 
  231    getNormalsAtGaussPtsF3() {
 
 
  236inline MatrixDouble &FlatPrismElementForcesAndSourcesCore::UserDataOperator::
 
  237    getNormalsAtGaussPtsF4() {
 
 
  242inline ublas::matrix_row<MatrixDouble>
 
  243FlatPrismElementForcesAndSourcesCore::UserDataOperator::getNormalsAtGaussPtsF3(
 
  245  return ublas::matrix_row<MatrixDouble>(
 
 
  251inline ublas::matrix_row<MatrixDouble>
 
  252FlatPrismElementForcesAndSourcesCore::UserDataOperator::getNormalsAtGaussPtsF4(
 
  254  return ublas::matrix_row<MatrixDouble>(
 
 
  260inline MatrixDouble &FlatPrismElementForcesAndSourcesCore::UserDataOperator::
 
  261    getTangent1AtGaussPtF3() {
 
 
  266inline MatrixDouble &FlatPrismElementForcesAndSourcesCore::UserDataOperator::
 
  267    getTangent2AtGaussPtF3() {
 
 
  272inline MatrixDouble &FlatPrismElementForcesAndSourcesCore::UserDataOperator::
 
  273    getTangent1AtGaussPtF4() {
 
 
  278inline MatrixDouble &FlatPrismElementForcesAndSourcesCore::UserDataOperator::
 
  279    getTangent2AtGaussPtF4() {
 
 
  285FlatPrismElementForcesAndSourcesCore::UserDataOperator::
 
  286    getFlatPrismElementForcesAndSourcesCore() {
 
 
PetscErrorCode MoFEMErrorCode
MoFEM/PETSc error code.
VectorShallowArrayAdaptor< double > VectorAdaptor
implementation of Data Operators for Forces and Sources
DEPRECATED typedef FlatPrismElementForcesAndSourcesCore FlatPrismElementForcesAndSurcesCore
USe FlatPrismElementForcesAndSourcesCore.
Deprecated interface functions.
default operator for Flat Prism element
MatrixDouble & getTangent2AtGaussPtF3()
if higher order geometry return tangent vector to triangle at Gauss pts.
VectorDouble & getNormal()
get triangle normal
VectorDouble & getCoords()
get triangle coordinates
MatrixDouble & getTangent2AtGaussPtF4()
if higher order geometry return tangent vector to triangle at Gauss pts.
MatrixDouble & getHOCoordsAtGaussPtsF3()
coordinate at Gauss points on face 3 (if hierarchical approximation of element geometry)
VectorAdaptor getNormalF3()
VectorAdaptor getNormalF4()
MatrixDouble & getTangent1AtGaussPtF3()
if higher order geometry return tangent vector to triangle at Gauss pts.
MatrixDouble & getHOCoordsAtGaussPtsF4()
coordinate at Gauss points on face 4 (if hierarchical approximation of element geometry)
MatrixDouble & getCoordsAtGaussPts()
get coordinates at Gauss pts.
MatrixDouble & getNormalsAtGaussPtsF4()
if higher order geometry return normals at face F4 at Gauss pts.
double getArea(const int dd)
get face aRea
const FlatPrismElementForcesAndSourcesCore * getFlatPrismElementForcesAndSourcesCore()
return pointer to triangle finite element object
MoFEMErrorCode setPtrFE(ForcesAndSourcesCore *ptr)
MatrixDouble & getTangent1AtGaussPtF4()
if higher order geometry return tangent vector to triangle at Gauss pts.
MatrixDouble & getNormalsAtGaussPtsF3()
if higher order geometry return normals at face F3 at Gauss pts.
FlatPrism finite element.
MatrixDouble tAngent1_at_GaussPtF3
MatrixDouble hoCoordsAtGaussPtsF4
MatrixDouble hoCoordsAtGaussPtsF3
MatrixDouble nOrmals_at_GaussPtF3
MatrixDouble tAngent2_at_GaussPtF3
MatrixDouble coordsAtGaussPts
MoFEMErrorCode operator()()
Main operator function executed for each loop iteration.
MatrixDouble nOrmals_at_GaussPtF4
MatrixDouble tAngent2_at_GaussPtF4
MatrixDouble tAngent1_at_GaussPtF4
OpGetCoordsAndNormalsOnPrism opHOCoordsAndNormals
std::string meshPositionsFieldName
ForcesAndSourcesCore * ptrFE
structure to get information from mofem into EntitiesFieldData
calculate normals at Gauss points of triangle element