11using namespace boost::numeric;
13#ifndef __FLATPRISMELEMENTFORCESANDSURCESCORE_HPP__
14#define __FLATPRISMELEMENTFORCESANDSURCESCORE_HPP__
197 return VectorAdaptor(3, ublas::shallow_array_adaptor<double>(3, data));
204 return VectorAdaptor(3, ublas::shallow_array_adaptor<double>(3, data));
242inline ublas::matrix_row<MatrixDouble>
245 return ublas::matrix_row<MatrixDouble>(
251inline ublas::matrix_row<MatrixDouble>
254 return ublas::matrix_row<MatrixDouble>(
const Tensor2_symmetric_Expr< const ddTensor0< T, Dim, i, j >, typename promote< T, double >::V, Dim, i, j > dd(const Tensor0< T * > &a, const Index< i, Dim > index1, const Index< j, Dim > index2, const Tensor1< int, Dim > &d_ijk, const Tensor1< double, Dim > &d_xyz)
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()()
function is run for every finite element
MatrixDouble nOrmals_at_GaussPtF4
MatrixDouble tAngent2_at_GaussPtF4
MatrixDouble tAngent1_at_GaussPtF4
OpGetCoordsAndNormalsOnPrism opHOCoordsAndNormals
FlatPrismElementForcesAndSourcesCore(Interface &m_field)
std::string meshPositionsFieldName
UserDataOperator(const FieldSpace space, const char type=OPSPACE, const bool symm=true)
ForcesAndSourcesCore * ptrFE
structure to get information form mofem into EntitiesFieldData
calculate normals at Gauss points of triangle element