![]() |
v0.15.0 |
default operator for Flat Prism element More...
#include "src/finite_elements/FatPrismElementForcesAndSourcesCore.hpp"
Public Member Functions | |
| double | getArea (const int dd) |
| get face aRea | |
| double | getAreaF3 () |
| double | getAreaF4 () |
| VectorDouble & | getNormal () |
| get triangle normal | |
| VectorAdaptor | getNormalF3 () |
| VectorAdaptor | getNormalF4 () |
| MatrixDouble & | getGaussPts () |
| get Gauss pts. in the prism | |
| MatrixDouble & | getGaussPtsTrianglesOnly () |
| get Gauss pts. on triangles | |
| MatrixDouble & | getGaussPtsThroughThickness () |
| get Gauss pts. through thickness | |
| MatrixDouble & | getCoordsAtGaussPts () |
| get coordinates at Gauss pts. | |
| MatrixDouble & | getCoordsAtGaussPtsTrianglesOnly () |
| get coordinates at Gauss pts. | |
| MatrixDouble & | getHOCoordsAtGaussPtsF3 () |
| coordinate at Gauss points on face 3 (if hierarchical approximation of element geometry) | |
| MatrixDouble & | getHOCoordsAtGaussPtsF4 () |
| coordinate at Gauss points on face 4 (if hierarchical approximation of element geometry) | |
| MatrixDouble & | getNormalsAtGaussPtsF3 () |
| if higher order geometry return normals at face F3 at Gauss pts. | |
| MatrixDouble & | getNormalsAtGaussPtsF4 () |
| if higher order geometry return normals at face F4 at Gauss pts. | |
| ublas::matrix_row< MatrixDouble > | getNormalsAtGaussPtsF3 (const int gg) |
| if higher order geometry return normals at Gauss pts. | |
| ublas::matrix_row< MatrixDouble > | getNormalsAtGaussPtsF4 (const int gg) |
| if higher order geometry return normals at Gauss pts. | |
| MatrixDouble & | getTangent1AtGaussPtF3 () |
| if higher order geometry return tangent vector to triangle at Gauss pts. | |
| MatrixDouble & | getTangent2AtGaussPtF3 () |
| if higher order geometry return tangent vector to triangle at Gauss pts. | |
| MatrixDouble & | getTangent1AtGaussPtF4 () |
| if higher order geometry return tangent vector to triangle at Gauss pts. | |
| MatrixDouble & | getTangent2AtGaussPtF4 () |
| if higher order geometry return tangent vector to triangle at Gauss pts. | |
| EntitiesFieldData & | getTrianglesOnlyDataStructure () |
| EntitiesFieldData & | getTroughThicknessDataStructure () |
| const FatPrismElementForcesAndSourcesCore * | getPrismFE () |
| return pointer to fat prism finite element | |
Public Member Functions inherited from MoFEM::VolumeElementForcesAndSourcesCore::UserDataOperator | |
| int | getNumNodes () |
| get element number of nodes | |
| const EntityHandle * | getConn () |
| get element connectivity | |
| double | getVolume () const |
| element volume (linear geometry) | |
| double & | getVolume () |
| element volume (linear geometry) | |
| FTensor::Tensor2< double *, 3, 3 > & | getJac () |
| get element Jacobian | |
| FTensor::Tensor2< double *, 3, 3 > & | getInvJac () |
| get element inverse Jacobian | |
| VectorDouble & | getCoords () |
| nodal coordinates | |
| VolumeElementForcesAndSourcesCore * | getVolumeFE () const |
| return pointer to Generic Volume Finite Element object | |
Public Member Functions inherited from MoFEM::ForcesAndSourcesCore::UserDataOperator | |
| UserDataOperator (const FieldSpace space, const char type=OPSPACE, const bool symm=true) | |
| Constructor for operators working on finite element spaces. | |
| UserDataOperator (const std::string field_name, const char type, const bool symm=true) | |
| Constructor for operators working on a single field. | |
| UserDataOperator (const std::string row_field_name, const std::string col_field_name, const char type, const bool symm=true) | |
| Constructor for operators working on two fields (bilinear forms) | |
| boost::shared_ptr< const NumeredEntFiniteElement > | getNumeredEntFiniteElementPtr () const |
| Return raw pointer to NumeredEntFiniteElement. | |
| EntityHandle | getFEEntityHandle () const |
| Return finite element entity handle. | |
| int | getFEDim () const |
| Get dimension of finite element. | |
| EntityType | getFEType () const |
| Get dimension of finite element. | |
| boost::weak_ptr< SideNumber > | getSideNumberPtr (const int side_number, const EntityType type) |
| Get the side number pointer. | |
| EntityHandle | getSideEntity (const int side_number, const EntityType type) |
| Get the side entity. | |
| int | getNumberOfNodesOnElement () const |
| Get the number of nodes on finite element. | |
| MoFEMErrorCode | getProblemRowIndices (const std::string filed_name, const EntityType type, const int side, VectorInt &indices) const |
| Get row indices. | |
| MoFEMErrorCode | getProblemColIndices (const std::string filed_name, const EntityType type, const int side, VectorInt &indices) const |
| Get col indices. | |
| const FEMethod * | getFEMethod () const |
| Return raw pointer to Finite Element Method object. | |
| int | getOpType () const |
| Get operator types. | |
| void | setOpType (const OpType type) |
| Set operator type. | |
| void | addOpType (const OpType type) |
| Add operator type. | |
| int | getNinTheLoop () const |
| get number of finite element in the loop | |
| int | getLoopSize () const |
| get size of elements in the loop | |
| std::string | getFEName () const |
| Get name of the element. | |
| ForcesAndSourcesCore * | getPtrFE () const |
| ForcesAndSourcesCore * | getSidePtrFE () const |
| ForcesAndSourcesCore * | getRefinePtrFE () const |
| const PetscData::Switches & | getDataCtx () const |
| const KspMethod::KSPContext | getKSPCtx () const |
| const SnesMethod::SNESContext | getSNESCtx () const |
| const TSMethod::TSContext | getTSCtx () const |
| Vec | getKSPf () const |
| Mat | getKSPA () const |
| Mat | getKSPB () const |
| Vec | getSNESf () const |
| Vec | getSNESx () const |
| Mat | getSNESA () const |
| Mat | getSNESB () const |
| Vec | getTSu () const |
| Vec | getTSu_t () const |
| Vec | getTSu_tt () const |
| Vec | getTSf () const |
| Mat | getTSA () const |
| Mat | getTSB () const |
| int | getTSstep () const |
| double | getTStime () const |
| double | getTStimeStep () const |
| double | getTSa () const |
| double | getTSaa () const |
| MatrixDouble & | getGaussPts () |
| matrix of integration (Gauss) points for Volume Element | |
| auto | getFTensor0IntegrationWeight () |
| Get integration weights. | |
| MatrixDouble & | getCoordsAtGaussPts () |
| Gauss points and weight, matrix (nb. of points x 3) | |
| auto | getFTensor1CoordsAtGaussPts () |
| Get coordinates at integration points assuming linear geometry. | |
| double | getMeasure () const |
| get measure of element | |
| double & | getMeasure () |
| get measure of element | |
| MoFEMErrorCode | loopSide (const string &fe_name, ForcesAndSourcesCore *side_fe, const size_t dim, const EntityHandle ent_for_side=0, boost::shared_ptr< Range > fe_range=nullptr, const int verb=QUIET, const LogManager::SeverityLevel sev=Sev::noisy, AdjCache *adj_cache=nullptr) |
| User calls this function to loop over elements on the side of face. This function calls finite element with its operator to do calculations. | |
| MoFEMErrorCode | loopThis (const string &fe_name, ForcesAndSourcesCore *this_fe, const int verb=QUIET, const LogManager::SeverityLevel sev=Sev::noisy) |
| User calls this function to loop over the same element using a different set of integration points. This function calls finite element with its operator to do calculations. | |
| MoFEMErrorCode | loopParent (const string &fe_name, ForcesAndSourcesCore *parent_fe, const int verb=QUIET, const LogManager::SeverityLevel sev=Sev::noisy) |
| User calls this function to loop over parent elements. This function calls finite element with its operator to do calculations. | |
| MoFEMErrorCode | loopChildren (const string &fe_name, ForcesAndSourcesCore *child_fe, const int verb=QUIET, const LogManager::SeverityLevel sev=Sev::noisy) |
| User calls this function to loop over parent elements. This function calls finite element with its operator to do calculations. | |
| MoFEMErrorCode | loopRange (const string &fe_name, ForcesAndSourcesCore *range_fe, boost::shared_ptr< Range > fe_range, const int verb=QUIET, const LogManager::SeverityLevel sev=Sev::noisy) |
| Iterate over range of elements. | |
Public Member Functions inherited from MoFEM::DataOperator | |
| DataOperator (const bool symm=true) | |
| virtual | ~DataOperator ()=default |
| virtual MoFEMErrorCode | doWork (int row_side, int col_side, EntityType row_type, EntityType col_type, EntitiesFieldData::EntData &row_data, EntitiesFieldData::EntData &col_data) |
| Operator for bi-linear form, usually to calculate values on left hand side. | |
| virtual MoFEMErrorCode | opLhs (EntitiesFieldData &row_data, EntitiesFieldData &col_data) |
| virtual MoFEMErrorCode | doWork (int side, EntityType type, EntitiesFieldData::EntData &data) |
| Operator for linear form, usually to calculate values on right hand side. | |
| virtual MoFEMErrorCode | opRhs (EntitiesFieldData &data, const bool error_if_no_base=false) |
| bool | getSymm () const |
| Get if operator uses symmetry of DOFs or not. | |
| void | setSymm () |
| set if operator is executed taking in account symmetry | |
| void | unSetSymm () |
| unset if operator is executed for non symmetric problem | |
Protected Member Functions | |
| MoFEMErrorCode | setPtrFE (ForcesAndSourcesCore *ptr) |
Protected Member Functions inherited from MoFEM::VolumeElementForcesAndSourcesCore::UserDataOperator | |
| MoFEMErrorCode | setPtrFE (ForcesAndSourcesCore *ptr) |
Additional Inherited Members | |
Public Types inherited from MoFEM::ForcesAndSourcesCore::UserDataOperator | |
| enum | OpType { OPROW = 1 << 0 , OPCOL = 1 << 1 , OPROWCOL = 1 << 2 , OPSPACE = 1 << 3 , OPLAST = 1 << 3 } |
| Controls loop over entities on element. More... | |
| using | AdjCache = std::map< EntityHandle, std::vector< boost::weak_ptr< NumeredEntFiniteElement > > > |
Public Types inherited from MoFEM::DataOperator | |
| using | DoWorkLhsHookFunType = boost::function< MoFEMErrorCode(DataOperator *op_ptr, int row_side, int col_side, EntityType row_type, EntityType col_type, EntitiesFieldData::EntData &row_data, EntitiesFieldData::EntData &col_data)> |
| using | DoWorkRhsHookFunType = boost::function< MoFEMErrorCode(DataOperator *op_ptr, int side, EntityType type, EntitiesFieldData::EntData &data)> |
Public Attributes inherited from MoFEM::ForcesAndSourcesCore::UserDataOperator | |
| char | opType |
| std::string | rowFieldName |
| std::string | colFieldName |
| FieldSpace | sPace |
Public Attributes inherited from MoFEM::DataOperator | |
| DoWorkLhsHookFunType | doWorkLhsHook |
| DoWorkRhsHookFunType | doWorkRhsHook |
| bool | sYmm |
| If true assume that matrix is symmetric structure. | |
| std::array< bool, MBMAXTYPE > | doEntities |
| If true operator is executed for entity. | |
| bool & | doVertices |
| \deprectaed If false skip vertices | |
| bool & | doEdges |
| \deprectaed If false skip edges | |
| bool & | doQuads |
| \deprectaed | |
| bool & | doTris |
| \deprectaed | |
| bool & | doTets |
| \deprectaed | |
| bool & | doPrisms |
| \deprectaed | |
Static Public Attributes inherited from MoFEM::ForcesAndSourcesCore::UserDataOperator | |
| static const char *const | OpTypeNames [] |
Protected Attributes inherited from MoFEM::ForcesAndSourcesCore::UserDataOperator | |
| ForcesAndSourcesCore * | ptrFE |
default operator for Flat Prism element
Definition at line 54 of file FatPrismElementForcesAndSourcesCore.hpp.
|
inline |
get face aRea
| dd | if dd == 0 it is for face F3 if dd == 1 is for face F4 |
Definition at line 210 of file FatPrismElementForcesAndSourcesCore.hpp.
|
inline |
Definition at line 215 of file FatPrismElementForcesAndSourcesCore.hpp.
|
inline |
Definition at line 219 of file FatPrismElementForcesAndSourcesCore.hpp.
|
inline |
get coordinates at Gauss pts.
Matrix has size (nb integration points)x(coordinates on F3 and F4 = 6), i.e. coordinates on face F3 and F4
Definition at line 260 of file FatPrismElementForcesAndSourcesCore.hpp.
|
inline |
get coordinates at Gauss pts.
Matrix has size (nb integration points)x(coordinates on F3 and F4 = 6), i.e. coordinates on face F3 and F4
Definition at line 265 of file FatPrismElementForcesAndSourcesCore.hpp.
|
inline |
get Gauss pts. in the prism
Definition at line 243 of file FatPrismElementForcesAndSourcesCore.hpp.
|
inline |
get Gauss pts. through thickness
Definition at line 253 of file FatPrismElementForcesAndSourcesCore.hpp.
|
inline |
get Gauss pts. on triangles
Definition at line 247 of file FatPrismElementForcesAndSourcesCore.hpp.
|
inline |
coordinate at Gauss points on face 3 (if hierarchical approximation of element geometry)
Definition at line 271 of file FatPrismElementForcesAndSourcesCore.hpp.
|
inline |
coordinate at Gauss points on face 4 (if hierarchical approximation of element geometry)
Definition at line 277 of file FatPrismElementForcesAndSourcesCore.hpp.
|
inline |
get triangle normal
Normal has 6 elements, first 3 are for face F3 another three for face F4
Definition at line 224 of file FatPrismElementForcesAndSourcesCore.hpp.
|
inline |
Definition at line 229 of file FatPrismElementForcesAndSourcesCore.hpp.
|
inline |
Definition at line 236 of file FatPrismElementForcesAndSourcesCore.hpp.
|
inline |
if higher order geometry return normals at face F3 at Gauss pts.
Face 3 is top face in canonical triangle numeration, see [60]
Definition at line 284 of file FatPrismElementForcesAndSourcesCore.hpp.
|
inline |
if higher order geometry return normals at Gauss pts.
Face 3 is top face in canonical triangle numeration, see [60]
| gg | gauss point number |
Definition at line 296 of file FatPrismElementForcesAndSourcesCore.hpp.
|
inline |
if higher order geometry return normals at face F4 at Gauss pts.
Face 4 is top face in canonical triangle numeration, see [60]
Definition at line 290 of file FatPrismElementForcesAndSourcesCore.hpp.
|
inline |
if higher order geometry return normals at Gauss pts.
Face 3 is top face in canonical triangle numeration, see [60]
| gg | gauss point number |
Definition at line 305 of file FatPrismElementForcesAndSourcesCore.hpp.
|
inline |
return pointer to fat prism finite element
Definition at line 350 of file FatPrismElementForcesAndSourcesCore.hpp.
|
inline |
if higher order geometry return tangent vector to triangle at Gauss pts.
Definition at line 313 of file FatPrismElementForcesAndSourcesCore.hpp.
|
inline |
if higher order geometry return tangent vector to triangle at Gauss pts.
Definition at line 325 of file FatPrismElementForcesAndSourcesCore.hpp.
|
inline |
if higher order geometry return tangent vector to triangle at Gauss pts.
Definition at line 319 of file FatPrismElementForcesAndSourcesCore.hpp.
|
inline |
if higher order geometry return tangent vector to triangle at Gauss pts.
Definition at line 331 of file FatPrismElementForcesAndSourcesCore.hpp.
|
inline |
Definition at line 337 of file FatPrismElementForcesAndSourcesCore.hpp.
|
inline |
Definition at line 343 of file FatPrismElementForcesAndSourcesCore.hpp.
|
protectedvirtual |
Reimplemented from MoFEM::ForcesAndSourcesCore::UserDataOperator.
Definition at line 487 of file FatPrismElementForcesAndSourcesCore.cpp.