24#ifndef __FATPRISMELEMENTFORCESANDSURCESCORE_HPP__
25#define __FATPRISMELEMENTFORCESANDSURCESCORE_HPP__
27using namespace boost::numeric;
244 return VectorAdaptor(3, ublas::shallow_array_adaptor<double>(3, data));
251 return VectorAdaptor(3, ublas::shallow_array_adaptor<double>(3, data));
307inline ublas::matrix_row<MatrixDouble>
310 return ublas::matrix_row<MatrixDouble>(
316inline ublas::matrix_row<MatrixDouble>
319 return ublas::matrix_row<MatrixDouble>(
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return()
#define MoFEMFunctionBeginHot
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
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 interface functions.
data structure for finite element entity
default operator for Flat Prism element
MatrixDouble & getGaussPts()
get Gauss pts. in the prism
VectorAdaptor getNormalF4()
EntitiesFieldData & getTroughThicknessDataStructure()
EntitiesFieldData & getTrianglesOnlyDataStructure()
MatrixDouble & getCoordsAtGaussPtsTrianglesOnly()
get coordinates at Gauss pts.
MatrixDouble & getGaussPtsThroughThickness()
get Gauss pts. through thickness
VectorAdaptor getNormalF3()
MatrixDouble & getTangent2AtGaussPtF3()
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 & getTangent2AtGaussPtF4()
if higher order geometry return tangent vector to triangle at Gauss pts.
MoFEMErrorCode setPtrFE(ForcesAndSourcesCore *ptr)
MatrixDouble & getNormalsAtGaussPtsF4()
if higher order geometry return normals at face F4 at Gauss pts.
MatrixDouble & getNormalsAtGaussPtsF3()
if higher order geometry return normals at face F3 at Gauss pts.
MatrixDouble & getCoordsAtGaussPts()
get coordinates at Gauss pts.
MatrixDouble & getGaussPtsTrianglesOnly()
get Gauss pts. on triangles
const FatPrismElementForcesAndSourcesCore * getPrismFE()
return pointer to fat prism finite element
MatrixDouble & getHOCoordsAtGaussPtsF3()
coordinate at Gauss points on face 3 (if hierarchical approximation of element geometry)
MatrixDouble & getTangent1AtGaussPtF4()
if higher order geometry return tangent vector to triangle at Gauss pts.
VectorDouble & getNormal()
get triangle normal
MatrixDouble & getTangent1AtGaussPtF3()
if higher order geometry return tangent vector to triangle at Gauss pts.
double getArea(const int dd)
get face aRea
virtual int getRuleThroughThickness(int order)
MatrixDouble hoCoordsAtGaussPtsF3
MatrixDouble nOrmals_at_GaussPtF3
virtual MoFEMErrorCode setGaussPtsTrianglesOnly(int order_triangles_only)
virtual int getRuleTrianglesOnly(int order)
MatrixDouble tAngent2_at_GaussPtF3
EntitiesFieldData dataH1TrianglesOnly
MatrixDouble tAngent2_at_GaussPtF4
MatrixDouble tAngent1_at_GaussPtF3
OpGetCoordsAndNormalsOnPrism opHOCoordsAndNormals
FatPrismElementForcesAndSourcesCore(Interface &m_field)
MatrixDouble gaussPtsTrianglesOnly
virtual MoFEMErrorCode setGaussPtsThroughThickness(int order_thickness)
MatrixDouble hoCoordsAtGaussPtsF4
MatrixDouble gaussPtsThroughThickness
MoFEMErrorCode operator()()
function is run for every finite element
MatrixDouble coordsAtGaussPtsTrianglesOnly
MatrixDouble nOrmals_at_GaussPtF4
MatrixDouble tAngent1_at_GaussPtF4
EntitiesFieldData dataH1TroughThickness
UserDataOperator(const FieldSpace space, const char type=OPSPACE, const bool symm=true)
ForcesAndSourcesCore * ptrFE
structure to get information form mofem into EntitiesFieldData
MatrixDouble coordsAtGaussPts
coordinated at gauss points
MatrixDouble gaussPts
Matrix of integration points.
calculate normals at Gauss points of triangle element
Volume finite element base.