![]() |
v0.14.0 |
definition of volume element More...
#include <users_modules/basic_finite_elements/src/ThermalElement.hpp>
Public Member Functions | |
| MyVolumeFE (MoFEM::Interface &m_field) | |
| int | getRule (int order) |
| it is used to calculate nb. of Gauss integration points More... | |
Public Member Functions inherited from MoFEM::VolumeElementForcesAndSourcesCore | |
| VolumeElementForcesAndSourcesCore (Interface &m_field) | |
| DEPRECATED | VolumeElementForcesAndSourcesCore (Interface &m_field, const EntityType type) |
| MoFEMErrorCode | operator() () |
| function is run for every finite element More... | |
Public Member Functions inherited from MoFEM::ForcesAndSourcesCore | |
| ForcesAndSourcesCore (Interface &m_field) | |
| boost::ptr_deque< UserDataOperator > & | getOpPtrVector () |
| Use to push back operator for row operator. More... | |
| auto & | getElementPolynomialBase () |
| Get the Entity Polynomial Base object. More... | |
| auto & | getUserPolynomialBase () |
| Get the User Polynomial Base object. More... | |
| virtual MoFEMErrorCode | preProcess () |
| function is run at the beginning of loop More... | |
| virtual MoFEMErrorCode | postProcess () |
| function is run at the end of loop More... | |
| int | getMaxDataOrder () const |
| Get max order of approximation for data fields. More... | |
| int | getMaxRowOrder () const |
| Get max order of approximation for field in rows. More... | |
| int | getMaxColOrder () const |
| Get max order of approximation for field in columns. More... | |
| auto & | getEntData (const FieldSpace space, const EntityType type, const int side) |
| Get the entity data. More... | |
| auto & | getDataOnElementBySpaceArray () |
| Get data on entities and space. More... | |
| auto & | getDerivedDataOnElementBySpaceArray () |
| Get derived data on entities and space. More... | |
Public Member Functions inherited from MoFEM::FEMethod | |
| MoFEMErrorCode | query_interface (boost::typeindex::type_index type_index, UnknownInterface **iface) const |
| FEMethod ()=default | |
| auto | getFEName () const |
| get finite element name More... | |
| auto | getDataDofsPtr () const |
| auto | getDataVectorDofsPtr () const |
| const FieldEntity_vector_view & | getDataFieldEnts () const |
| boost::shared_ptr< FieldEntity_vector_view > & | getDataFieldEntsPtr () const |
| auto & | getRowFieldEnts () const |
| auto & | getRowFieldEntsPtr () const |
| auto & | getColFieldEnts () const |
| auto & | getColFieldEntsPtr () const |
| auto | getRowDofsPtr () const |
| auto | getColDofsPtr () const |
| auto | getNumberOfNodes () const |
| EntityHandle | getFEEntityHandle () const |
| MoFEMErrorCode | getNodeData (const std::string field_name, VectorDouble &data, const bool reset_dofs=true) |
Public Member Functions inherited from MoFEM::BasicMethod | |
| BasicMethod () | |
| virtual | ~BasicMethod ()=default |
| int | getNinTheLoop () const |
| get number of evaluated element in the loop More... | |
| int | getLoopSize () const |
| get loop size More... | |
| auto | getLoHiFERank () const |
| Get lo and hi processor rank of iterated entities. More... | |
| auto | getLoFERank () const |
| Get upper rank in loop for iterating elements. More... | |
| auto | getHiFERank () const |
| Get upper rank in loop for iterating elements. More... | |
| unsigned int | getFieldBitNumber (std::string field_name) const |
| MoFEMErrorCode | copyBasicMethod (const BasicMethod &basic) |
| Copy data from other base method to this base method. More... | |
| boost::weak_ptr< CacheTuple > | getCacheWeakPtr () const |
| Get the cache weak ptr object. More... | |
Public Member Functions inherited from MoFEM::KspMethod | |
| KspMethod () | |
| virtual | ~KspMethod ()=default |
| MoFEMErrorCode | copyKsp (const KspMethod &ksp) |
| copy data form another method More... | |
Public Member Functions inherited from MoFEM::PetscData | |
| PetscData () | |
| virtual | ~PetscData ()=default |
| MoFEMErrorCode | copyPetscData (const PetscData &petsc_data) |
Public Member Functions inherited from MoFEM::UnknownInterface | |
| template<class IFACE > | |
| MoFEMErrorCode | registerInterface (bool error_if_registration_failed=true) |
| Register interface. More... | |
| template<class IFACE > | |
| MoFEMErrorCode | getInterface (IFACE *&iface) const |
| Get interface reference to pointer of interface. More... | |
| template<class IFACE > | |
| MoFEMErrorCode | getInterface (IFACE **const iface) const |
| Get interface pointer to pointer of interface. More... | |
| template<class IFACE , typename boost::enable_if< boost::is_pointer< IFACE >, int >::type = 0> | |
| IFACE | getInterface () const |
| Get interface pointer to pointer of interface. More... | |
| template<class IFACE , typename boost::enable_if< boost::is_reference< IFACE >, int >::type = 0> | |
| IFACE | getInterface () const |
| Get reference to interface. More... | |
| template<class IFACE > | |
| IFACE * | getInterface () const |
| Function returning pointer to interface. More... | |
| virtual | ~UnknownInterface ()=default |
Public Member Functions inherited from MoFEM::SnesMethod | |
| SnesMethod () | |
| virtual | ~SnesMethod ()=default |
| MoFEMErrorCode | copySnes (const SnesMethod &snes) |
| Copy snes data. More... | |
Public Member Functions inherited from MoFEM::TSMethod | |
| TSMethod () | |
| virtual | ~TSMethod ()=default |
| MoFEMErrorCode | copyTs (const TSMethod &ts) |
| Copy TS solver data. More... | |
Additional Inherited Members | |
Public Types inherited from MoFEM::VolumeElementForcesAndSourcesCore | |
| enum | Switches |
Public Types inherited from MoFEM::ForcesAndSourcesCore | |
| typedef boost::function< int(int order_row, int order_col, int order_data)> | RuleHookFun |
| typedef boost::function< MoFEMErrorCode(ForcesAndSourcesCore *fe_raw_ptr, int order_row, int order_col, int order_data)> | GaussHookFun |
Public Types inherited from MoFEM::KspMethod | |
| enum | KSPContext { CTX_SETFUNCTION, CTX_OPERATORS, CTX_KSPNONE } |
| pass information about context of KSP/DM for with finite element is computed More... | |
Public Types inherited from MoFEM::PetscData | |
| enum | DataContext { CTX_SET_NONE = 0, CTX_SET_F = 1 << 0, CTX_SET_A = 1 << 1, CTX_SET_B = 1 << 2, CTX_SET_X = 1 << 3, CTX_SET_DX = 1 << 4, CTX_SET_X_T = 1 << 5, CTX_SET_X_TT = 1 << 6, CTX_SET_TIME = 1 << 7 } |
| using | Switches = std::bitset< 8 > |
Public Types inherited from MoFEM::SnesMethod | |
| enum | SNESContext { CTX_SNESSETFUNCTION, CTX_SNESSETJACOBIAN, CTX_SNESNONE } |
Public Types inherited from MoFEM::TSMethod | |
| enum | TSContext { CTX_TSSETRHSFUNCTION, CTX_TSSETRHSJACOBIAN, CTX_TSSETIFUNCTION, CTX_TSSETIJACOBIAN, CTX_TSTSMONITORSET, CTX_TSNONE } |
Static Public Member Functions inherited from MoFEM::UnknownInterface | |
| static MoFEMErrorCode | getLibVersion (Version &version) |
| Get library version. More... | |
| static MoFEMErrorCode | getFileVersion (moab::Interface &moab, Version &version) |
| Get database major version. More... | |
| static MoFEMErrorCode | setFileVersion (moab::Interface &moab, Version version=Version(MoFEM_VERSION_MAJOR, MoFEM_VERSION_MINOR, MoFEM_VERSION_BUILD)) |
| Get database major version. More... | |
| static MoFEMErrorCode | getInterfaceVersion (Version &version) |
| Get database major version. More... | |
Public Attributes inherited from MoFEM::VolumeElementForcesAndSourcesCore | |
| std::string | meshPositionsFieldName |
Public Attributes inherited from MoFEM::ForcesAndSourcesCore | |
| Interface & | mField |
| RuleHookFun | getRuleHook |
| Hook to get rule. More... | |
| GaussHookFun | setRuleHook |
| Set function to calculate integration rule. More... | |
| MatrixDouble | gaussPts |
| Matrix of integration points. More... | |
Public Attributes inherited from MoFEM::FEMethod | |
| std::string | feName |
| Name of finite element. More... | |
| boost::shared_ptr< const NumeredEntFiniteElement > | numeredEntFiniteElementPtr |
| boost::function< bool(FEMethod *fe_method_ptr)> | exeTestHook |
| Tet if element to skip element. More... | |
Public Attributes inherited from MoFEM::BasicMethod | |
| int | nInTheLoop |
| number currently of processed method More... | |
| int | loopSize |
| local number oe methods to process More... | |
| std::pair< int, int > | loHiFERank |
| Llo and hi processor rank of iterated entities. More... | |
| int | rAnk |
| processor rank More... | |
| int | sIze |
| number of processors in communicator More... | |
| const RefEntity_multiIndex * | refinedEntitiesPtr |
| container of mofem dof entities More... | |
| const RefElement_multiIndex * | refinedFiniteElementsPtr |
| container of mofem finite element entities More... | |
| const Problem * | problemPtr |
| raw pointer to problem More... | |
| const Field_multiIndex * | fieldsPtr |
| raw pointer to fields container More... | |
| const FieldEntity_multiIndex * | entitiesPtr |
| raw pointer to container of field entities More... | |
| const DofEntity_multiIndex * | dofsPtr |
| raw pointer container of dofs More... | |
| const FiniteElement_multiIndex * | finiteElementsPtr |
| raw pointer to container finite elements More... | |
| const EntFiniteElement_multiIndex * | finiteElementsEntitiesPtr |
| const FieldEntityEntFiniteElementAdjacencyMap_multiIndex * | adjacenciesPtr |
| boost::function< MoFEMErrorCode()> | preProcessHook |
| Hook function for pre-processing. More... | |
| boost::function< MoFEMErrorCode()> | postProcessHook |
| Hook function for post-processing. More... | |
| boost::function< MoFEMErrorCode()> | operatorHook |
| Hook function for operator. More... | |
| boost::movelib::unique_ptr< bool > | vecAssembleSwitch |
| boost::movelib::unique_ptr< bool > | matAssembleSwitch |
| boost::weak_ptr< CacheTuple > | cacheWeakPtr |
Public Attributes inherited from MoFEM::KspMethod | |
| KSPContext | ksp_ctx |
| Context. More... | |
| KSP | ksp |
| KSP solver. More... | |
| Vec & | ksp_f |
| Mat & | ksp_A |
| Mat & | ksp_B |
Public Attributes inherited from MoFEM::PetscData | |
| Switches | data_ctx |
| Vec | f |
| Mat | A |
| Mat | B |
| Vec | x |
| Vec | dx |
| Vec | x_t |
| Vec | x_tt |
Public Attributes inherited from MoFEM::SnesMethod | |
| SNESContext | snes_ctx |
| SNES | snes |
| snes solver More... | |
| Vec & | snes_x |
| state vector More... | |
| Vec & | snes_dx |
| solution update More... | |
| Vec & | snes_f |
| residual More... | |
| Mat & | snes_A |
| jacobian matrix More... | |
| Mat & | snes_B |
| preconditioner of jacobian matrix More... | |
Public Attributes inherited from MoFEM::TSMethod | |
| TS | ts |
| time solver More... | |
| TSContext | ts_ctx |
| PetscInt | ts_step |
| time step number More... | |
| PetscReal | ts_a |
| shift for U_t (see PETSc Time Solver) More... | |
| PetscReal | ts_aa |
| shift for U_tt shift for U_tt More... | |
| PetscReal | ts_t |
| time More... | |
| PetscReal | ts_dt |
| time step size More... | |
| Vec & | ts_u |
| state vector More... | |
| Vec & | ts_u_t |
| time derivative of state vector More... | |
| Vec & | ts_u_tt |
| second time derivative of state vector More... | |
| Vec & | ts_F |
| residual vector More... | |
| Mat & | ts_A |
| Mat & | ts_B |
| Preconditioner for ts_A. More... | |
Static Public Attributes inherited from MoFEM::PetscData | |
| static constexpr Switches | CtxSetNone = PetscData::Switches(CTX_SET_NONE) |
| static constexpr Switches | CtxSetF = PetscData::Switches(CTX_SET_F) |
| static constexpr Switches | CtxSetA = PetscData::Switches(CTX_SET_A) |
| static constexpr Switches | CtxSetB = PetscData::Switches(CTX_SET_B) |
| static constexpr Switches | CtxSetX = PetscData::Switches(CTX_SET_X) |
| static constexpr Switches | CtxSetDX = PetscData::Switches(CTX_SET_DX) |
| static constexpr Switches | CtxSetX_T = PetscData::Switches(CTX_SET_X_T) |
| static constexpr Switches | CtxSetX_TT = PetscData::Switches(CTX_SET_X_TT) |
| static constexpr Switches | CtxSetTime = PetscData::Switches(CTX_SET_TIME) |
Protected Member Functions inherited from MoFEM::VolumeElementForcesAndSourcesCore | |
| virtual MoFEMErrorCode | setIntegrationPts () |
| Set integration points. More... | |
| virtual MoFEMErrorCode | calculateVolumeAndJacobian () |
| Calculate element volume and Jacobian. More... | |
| virtual MoFEMErrorCode | calculateCoordinatesAtGaussPts () |
| Calculate coordinate at integration points. More... | |
| virtual MoFEMErrorCode | getSpaceBaseAndOrderOnElement () |
| Determine approximation space and order of base functions. More... | |
| virtual MoFEMErrorCode | transformBaseFunctions () |
| Transform base functions based on geometric element Jacobian. More... | |
Protected Member Functions inherited from MoFEM::ForcesAndSourcesCore | |
| MoFEMErrorCode | getEntitySense (const EntityType type, boost::ptr_vector< EntitiesFieldData::EntData > &data) const |
| get sense (orientation) of entity More... | |
| MoFEMErrorCode | getEntityDataOrder (const EntityType type, const FieldSpace space, boost::ptr_vector< EntitiesFieldData::EntData > &data) const |
| Get the entity data order. More... | |
| template<EntityType type> | |
| MoFEMErrorCode | getEntitySense (EntitiesFieldData &data) const |
| Get the entity sense (orientation) More... | |
| template<EntityType type> | |
| MoFEMErrorCode | getEntityDataOrder (EntitiesFieldData &data, const FieldSpace space) const |
| Get the entity data order for given space. More... | |
| MoFEMErrorCode | getFaceNodes (EntitiesFieldData &data) const |
| Get nodes on faces. More... | |
| MoFEMErrorCode | getSpacesAndBaseOnEntities (EntitiesFieldData &data) const |
| Get field approximation space and base on entities. More... | |
| virtual int | getRule (int order_row, int order_col, int order_data) |
| another variant of getRule More... | |
| virtual MoFEMErrorCode | setGaussPts (int order_row, int order_col, int order_data) |
| set user specific integration rule More... | |
| MoFEMErrorCode | calHierarchicalBaseFunctionsOnElement (const FieldApproximationBase b) |
| Calculate base functions. More... | |
| MoFEMErrorCode | calHierarchicalBaseFunctionsOnElement () |
| Calculate base functions. More... | |
| MoFEMErrorCode | calBernsteinBezierBaseFunctionsOnElement () |
| Calculate Bernstein-Bezier base. More... | |
| MoFEMErrorCode | createDataOnElement (EntityType type) |
| Create a entity data on element object. More... | |
| MoFEMErrorCode | loopOverOperators () |
| Iterate user data operators. More... | |
| template<typename EXTRACTOR > | |
| MoFEMErrorCode | getNodesIndices (const int bit_number, FieldEntity_vector_view &ents_field, VectorInt &nodes_indices, VectorInt &local_nodes_indices, EXTRACTOR &&extractor) const |
| get node indices More... | |
| MoFEMErrorCode | getRowNodesIndices (EntitiesFieldData &data, const int bit_number) const |
| get row node indices from FENumeredDofEntity_multiIndex More... | |
| MoFEMErrorCode | getColNodesIndices (EntitiesFieldData &data, const int bit_number) const |
| get col node indices from FENumeredDofEntity_multiIndex More... | |
| template<typename EXTRACTOR > | |
| MoFEMErrorCode | getEntityIndices (EntitiesFieldData &data, const int bit_number, FieldEntity_vector_view &ents_field, const EntityType type_lo, const EntityType type_hi, EXTRACTOR &&extractor) const |
| MoFEMErrorCode | getEntityRowIndices (EntitiesFieldData &data, const int bit_number, const EntityType type_lo=MBVERTEX, const EntityType type_hi=MBPOLYHEDRON) const |
| MoFEMErrorCode | getEntityColIndices (EntitiesFieldData &data, const int bit_number, const EntityType type_lo=MBVERTEX, const EntityType type_hi=MBPOLYHEDRON) const |
| MoFEMErrorCode | getNoFieldIndices (const int bit_number, boost::shared_ptr< FENumeredDofEntity_multiIndex > dofs, VectorInt &nodes_indices) const |
| get NoField indices More... | |
| MoFEMErrorCode | getNoFieldRowIndices (EntitiesFieldData &data, const int bit_number) const |
| get col NoField indices More... | |
| MoFEMErrorCode | getNoFieldColIndices (EntitiesFieldData &data, const int bit_number) const |
| get col NoField indices More... | |
| MoFEMErrorCode | getBitRefLevelOnData () |
| MoFEMErrorCode | getNoFieldFieldData (const int bit_number, VectorDouble &ent_field_data, VectorDofs &ent_field_dofs, VectorFieldEntities &ent_field) const |
| Get field data on nodes. More... | |
| MoFEMErrorCode | getNoFieldFieldData (EntitiesFieldData &data, const int bit_number) const |
| MoFEMErrorCode | getNodesFieldData (EntitiesFieldData &data, const int bit_number) const |
| Get data on nodes. More... | |
| MoFEMErrorCode | getEntityFieldData (EntitiesFieldData &data, const int bit_number, const EntityType type_lo=MBVERTEX, const EntityType type_hi=MBPOLYHEDRON) const |
| MoFEMErrorCode | getProblemNodesIndices (const std::string &field_name, const NumeredDofEntity_multiIndex &dofs, VectorInt &nodes_indices) const |
| get indices of nodal indices which are declared for problem but not this particular element More... | |
| MoFEMErrorCode | getProblemTypeIndices (const std::string &field_name, const NumeredDofEntity_multiIndex &dofs, EntityType type, int side_number, VectorInt &indices) const |
| get indices by type (generic function) which are declared for problem but not this particular element More... | |
| MoFEMErrorCode | getProblemNodesRowIndices (const std::string &field_name, VectorInt &nodes_indices) const |
| MoFEMErrorCode | getProblemTypeRowIndices (const std::string &field_name, EntityType type, int side_number, VectorInt &indices) const |
| MoFEMErrorCode | getProblemNodesColIndices (const std::string &field_name, VectorInt &nodes_indices) const |
| MoFEMErrorCode | getProblemTypeColIndices (const std::string &field_name, EntityType type, int side_number, VectorInt &indices) const |
| virtual MoFEMErrorCode | setGaussPts (int order) |
Protected Attributes inherited from MoFEM::VolumeElementForcesAndSourcesCore | |
| VectorDouble | coords |
| MatrixDouble3by3 | jAc |
| MatrixDouble3by3 | invJac |
| OpSetInvJacH1 | opSetInvJacH1 |
| OpSetContravariantPiolaTransform | opContravariantPiolaTransform |
| OpSetCovariantPiolaTransform | opCovariantPiolaTransform |
| OpSetInvJacHdivAndHcurl | opSetInvJacHdivAndHcurl |
| double & | vOlume |
| int | num_nodes |
| const EntityHandle * | conn |
| FTensor::Tensor2< double *, 3, 3 > | tJac |
| FTensor::Tensor2< double *, 3, 3 > | tInvJac |
Protected Attributes inherited from MoFEM::ForcesAndSourcesCore | |
| const std::array< boost::shared_ptr< EntitiesFieldData >, LASTSPACE > | dataOnElement |
| Entity data on element entity rows fields. More... | |
| const std::array< boost::shared_ptr< EntitiesFieldData >, LASTSPACE > | derivedDataOnElement |
| Entity data on element entity columns fields. More... | |
| EntitiesFieldData & | dataNoField |
| EntitiesFieldData & | dataH1 |
| EntitiesFieldData & | dataHcurl |
| EntitiesFieldData & | dataHdiv |
| EntitiesFieldData & | dataL2 |
| boost::ptr_deque< UserDataOperator > | opPtrVector |
| Vector of finite element users data operators. More... | |
| EntityType | lastEvaluatedElementEntityType |
| Last evaluated type of element entity. More... | |
| MatrixDouble | coordsAtGaussPts |
| coordinated at gauss points More... | |
| double | elementMeasure |
definition of volume element
Definition at line 30 of file ThermalElement.hpp.
|
inline |
Definition at line 31 of file ThermalElement.hpp.
|
inlinevirtual |
it is used to calculate nb. of Gauss integration points
for more details pleas look Reference:
Albert Nijenhuis, Herbert Wilf, Combinatorial Algorithms for Computers and Calculators, Second Edition, Academic Press, 1978, ISBN: 0-12-519260-6, LC: QA164.N54.
More details about algorithm http://people.sc.fsu.edu/~jburkardt/cpp_src/gm_rule/gm_rule.html
Reimplemented from MoFEM::ForcesAndSourcesCore.
Definition at line 49 of file ThermalElement.hpp.