v0.8.16
Classes | Macros | Typedefs
Finite elements structures and multi-indices
Collaboration diagram for Finite elements structures and multi-indices:

Classes

struct  MoFEM::RefElement
 keeps data about abstract refined finite element More...
 
struct  MoFEM::RefElement_MESHSET
 keeps data about abstract MESHSET finite element More...
 
struct  MoFEM::RefElement_PRISM
 keeps data about abstract PRISM finite element More...
 
struct  MoFEM::RefElement_TET
 keeps data about abstract TET finite element More...
 
struct  MoFEM::RefElement_TRI
 keeps data about abstract TRI finite element More...
 
struct  MoFEM::RefElement_EDGE
 keeps data about abstract EDGE finite element More...
 
struct  MoFEM::RefElement_VERTEX
 keeps data about abstract VERTEX finite element More...
 
struct  MoFEM::interface_RefElement< T >
 intrface to RefElement More...
 
struct  MoFEM::FiniteElement
 user adjacency function table More...
 
struct  MoFEM::DefaultElementAdjacency
 default adjacency map More...
 
struct  MoFEM::interface_FiniteElement< T >
 Inetface for FE. More...
 
struct  MoFEM::EntFiniteElement
 Finite element data for entity. More...
 
struct  MoFEM::interface_EntFiniteElement< T >
 interface to EntFiniteElement More...
 
struct  MoFEM::NumeredEntFiniteElement
 Partitioned (Indexed) Finite Element in Problem. More...
 
struct  MoFEM::interface_NumeredEntFiniteElement< T >
 interface for NumeredEntFiniteElement More...
 
struct  MoFEM::NumeredEntFiniteElement_change_part
 Change finite element part. More...
 
struct  MoFEM::FiniteElement_col_change_bit_add
 Add field to column. More...
 
struct  MoFEM::FiniteElement_row_change_bit_add
 Add field to row. More...
 
struct  MoFEM::FiniteElement_change_bit_add
 Add field to data. More...
 
struct  MoFEM::FiniteElement_col_change_bit_off
 Unset field from column. More...
 
struct  MoFEM::FiniteElement_row_change_bit_off
 Unset field from row. More...
 
struct  MoFEM::FiniteElement_change_bit_off
 Unset field from data. More...
 

Macros

#define _IT_FENUMEREDDOF_ROW_FOR_LOOP_(FEPTR, IT)
 
#define _IT_FENUMEREDDOF_COL_FOR_LOOP_(FEPTR, IT)
 

Typedefs

typedef boost::function< MoFEMErrorCode(Interface &moab, const Field &field_ptr, const EntFiniteElement &fe_ptr, Range &adjacency)> MoFEM::ElementAdjacencyFunct
 user adjacency function More...
 
typedef multi_index_container< boost::shared_ptr< EntFiniteElement >, indexed_by< ordered_unique< tag< Unique_mi_tag >, member< EntFiniteElement, UId, &EntFiniteElement::globalUid > >, ordered_non_unique< tag< Ent_mi_tag >, const_mem_fun< EntFiniteElement, EntityHandle, &EntFiniteElement::getEnt > >, ordered_non_unique< tag< FiniteElement_name_mi_tag >, const_mem_fun< EntFiniteElement::interface_type_FiniteElement, boost::string_ref, &EntFiniteElement::getNameRef > >, ordered_non_unique< tag< BitFEId_mi_tag >, const_mem_fun< EntFiniteElement::interface_type_FiniteElement, BitFEId, &EntFiniteElement::getId >, LtBit< BitFEId > >, ordered_non_unique< tag< EntType_mi_tag >, const_mem_fun< EntFiniteElement::interface_type_RefEntity, EntityType, &EntFiniteElement::getEntType > >, ordered_non_unique< tag< Composite_Name_And_Ent_mi_tag >, composite_key< EntFiniteElement, const_mem_fun< EntFiniteElement::interface_type_FiniteElement, boost::string_ref, &EntFiniteElement::getNameRef >, const_mem_fun< EntFiniteElement, EntityHandle, &EntFiniteElement::getEnt > > > > > EntFiniteElement_multiIndex
 MultiIndex container for EntFiniteElement. More...
 
typedef EntFiniteElement_multiIndex::index< FiniteElement_name_mi_tag >::type MoFEM::EntFiniteElementByName
 Entity finite element multi-index by finite element name. More...
 
typedef multi_index_container< boost::shared_ptr< NumeredEntFiniteElement >, indexed_by< ordered_unique< tag< Unique_mi_tag >, const_mem_fun< NumeredEntFiniteElement::interface_type_EntFiniteElement, UId, &NumeredEntFiniteElement::getGlobalUniqueId > >, ordered_non_unique< tag< Part_mi_tag >, member< NumeredEntFiniteElement, unsigned int, &NumeredEntFiniteElement::part > >, ordered_non_unique< tag< FiniteElement_name_mi_tag >, const_mem_fun< NumeredEntFiniteElement::interface_type_FiniteElement, boost::string_ref, &NumeredEntFiniteElement::getNameRef > >, ordered_non_unique< tag< Ent_mi_tag >, const_mem_fun< NumeredEntFiniteElement::interface_type_EntFiniteElement, EntityHandle, &NumeredEntFiniteElement::getEnt > >, ordered_non_unique< tag< Composite_Name_And_Ent_mi_tag >, composite_key< NumeredEntFiniteElement, const_mem_fun< NumeredEntFiniteElement::interface_type_FiniteElement, boost::string_ref, &NumeredEntFiniteElement::getNameRef >, const_mem_fun< NumeredEntFiniteElement::interface_type_EntFiniteElement, EntityHandle, &NumeredEntFiniteElement::getEnt > > >, ordered_non_unique< tag< Composite_Name_And_Part_mi_tag >, composite_key< NumeredEntFiniteElement, const_mem_fun< NumeredEntFiniteElement::interface_type_FiniteElement, boost::string_ref, &NumeredEntFiniteElement::getNameRef >, member< NumeredEntFiniteElement, unsigned int, &NumeredEntFiniteElement::part > > > > > NumeredEntFiniteElement_multiIndex
 MultiIndex for entities for NumeredEntFiniteElement. More...
 
typedef NumeredEntFiniteElement_multiIndex::index< FiniteElement_name_mi_tag >::type MoFEM::NumeredEntFiniteElementbyName
 Entity finite element multi-index by finite element name. More...
 
typedef NumeredEntFiniteElement_multiIndex::index< Composite_Name_And_Part_mi_tag >::type MoFEM::NumeredEntFiniteElementbyNameAndPart
 Entity finite element multi-index by finite element name and partition. More...
 
typedef multi_index_container< boost::shared_ptr< FiniteElement >, indexed_by< hashed_unique< tag< FiniteElement_Meshset_mi_tag >, member< FiniteElement, EntityHandle, &FiniteElement::meshset > >, hashed_unique< tag< BitFEId_mi_tag >, const_mem_fun< FiniteElement, BitFEId, &FiniteElement::getId >, HashBit< BitFEId >, EqBit< BitFEId > >, ordered_unique< tag< FiniteElement_name_mi_tag >, const_mem_fun< FiniteElement, boost::string_ref, &FiniteElement::getNameRef > > > > FiniteElement_multiIndex
 MultiIndex for entities for FiniteElement. More...
 
typedef boost::function< int(const int order)> MoFEM::FieldOrderFunct
 user adjacency function More...
 
typedef multi_index_container< Problem, indexed_by< ordered_unique< tag< Meshset_mi_tag >, member< Problem, EntityHandle, &Problem::meshset > >, hashed_unique< tag< BitProblemId_mi_tag >, const_mem_fun< Problem, BitProblemId, &Problem::getId >, HashBit< BitProblemId >, EqBit< BitProblemId > >, hashed_unique< tag< Problem_mi_tag >, const_mem_fun< Problem, std::string, &Problem::getName > > > > Problem_multiIndex
 MultiIndex for entities for Problem. More...
 
typedef multi_index_container< boost::shared_ptr< RefElement >, indexed_by< ordered_unique< tag< Ent_mi_tag >, const_mem_fun< RefElement::interface_type_RefEntity, EntityHandle, &RefElement::getRefEnt > >, ordered_non_unique< tag< EntType_mi_tag >, const_mem_fun< RefElement::interface_type_RefEntity, EntityType, &RefElement::getEntType > > > > MoFEM::RefElement_multiIndex
 

Detailed Description

Macro Definition Documentation

◆ _IT_FENUMEREDDOF_COL_FOR_LOOP_

#define _IT_FENUMEREDDOF_COL_FOR_LOOP_ (   FEPTR,
  IT 
)
Value:
FENumeredDofEntity_multiIndex::iterator IT = FEPTR->cols_dofs->begin(); \
IT != FEPTR->cols_dofs->end(); \
IT++

Loop over DOFs in col on element

Parameters
FEPTRpointer to element structure NumeredEntFiniteElement
ITiterator
Returns
user return in for(IT_FENUMEREDDOF_COL_FOR_LOOP(FEPTR,IT))

Definition at line 1083 of file FEMultiIndices.hpp.

◆ _IT_FENUMEREDDOF_ROW_FOR_LOOP_

#define _IT_FENUMEREDDOF_ROW_FOR_LOOP_ (   FEPTR,
  IT 
)
Value:
FENumeredDofEntity_multiIndex::iterator IT = FEPTR->rows_dofs->begin(); \
IT != FEPTR->rows_dofs->end(); \
IT++

Loop over DOFs in row on element

Parameters
FEPTRpointer to element structure NumeredEntFiniteElement
ITiterator
Returns
user return in for(IT_FENUMEREDDOF_ROW_FOR_LOOP(FEPTR,IT))

Definition at line 1067 of file FEMultiIndices.hpp.

Typedef Documentation

◆ ElementAdjacencyFunct

typedef boost::function<MoFEMErrorCode(Interface &moab, const Field &field_ptr, const EntFiniteElement &fe_ptr, Range &adjacency)> MoFEM::ElementAdjacencyFunct

user adjacency function

Definition at line 231 of file FEMultiIndices.hpp.

◆ EntFiniteElement_multiIndex

typedef multi_index_container< boost::shared_ptr<EntFiniteElement>, indexed_by< ordered_unique< tag<Unique_mi_tag>, member<EntFiniteElement, UId, &EntFiniteElement::globalUid> >, ordered_non_unique<tag<Ent_mi_tag>, const_mem_fun<EntFiniteElement, EntityHandle, &EntFiniteElement::getEnt> >, ordered_non_unique< tag<FiniteElement_name_mi_tag>, const_mem_fun<EntFiniteElement::interface_type_FiniteElement, boost::string_ref, &EntFiniteElement::getNameRef> >, ordered_non_unique< tag<BitFEId_mi_tag>, const_mem_fun<EntFiniteElement::interface_type_FiniteElement, BitFEId, &EntFiniteElement::getId>, LtBit<BitFEId> >, ordered_non_unique< tag<EntType_mi_tag>, const_mem_fun<EntFiniteElement::interface_type_RefEntity, EntityType, &EntFiniteElement::getEntType> >, ordered_non_unique< tag<Composite_Name_And_Ent_mi_tag>, composite_key< EntFiniteElement, const_mem_fun<EntFiniteElement::interface_type_FiniteElement, boost::string_ref, &EntFiniteElement::getNameRef>, const_mem_fun<EntFiniteElement, EntityHandle, &EntFiniteElement::getEnt> > > > > EntFiniteElement_multiIndex

MultiIndex container for EntFiniteElement.

Definition at line 877 of file FEMultiIndices.hpp.

◆ EntFiniteElementByName

typedef EntFiniteElement_multiIndex::index<FiniteElement_name_mi_tag>::type MoFEM::EntFiniteElementByName

Entity finite element multi-index by finite element name.

Definition at line 885 of file FEMultiIndices.hpp.

◆ FieldOrderFunct

typedef boost::function<int(const int order)> MoFEM::FieldOrderFunct

user adjacency function

Definition at line 35 of file FieldMultiIndices.hpp.

◆ FiniteElement_multiIndex

typedef multi_index_container< boost::shared_ptr<FiniteElement>, indexed_by<hashed_unique<tag<FiniteElement_Meshset_mi_tag>, member<FiniteElement, EntityHandle, &FiniteElement::meshset> >, hashed_unique< tag<BitFEId_mi_tag>, const_mem_fun<FiniteElement, BitFEId, &FiniteElement::getId>, HashBit<BitFEId>, EqBit<BitFEId> >, ordered_unique<tag<FiniteElement_name_mi_tag>, const_mem_fun<FiniteElement, boost::string_ref, &FiniteElement::getNameRef> > > > FiniteElement_multiIndex

MultiIndex for entities for FiniteElement.

Definition at line 968 of file FEMultiIndices.hpp.

◆ NumeredEntFiniteElement_multiIndex

typedef multi_index_container< boost::shared_ptr<NumeredEntFiniteElement>, indexed_by< ordered_unique< tag<Unique_mi_tag>, const_mem_fun< NumeredEntFiniteElement::interface_type_EntFiniteElement, UId, &NumeredEntFiniteElement::getGlobalUniqueId> >, ordered_non_unique<tag<Part_mi_tag>, member<NumeredEntFiniteElement, unsigned int, &NumeredEntFiniteElement::part> >, ordered_non_unique< tag<FiniteElement_name_mi_tag>, const_mem_fun<NumeredEntFiniteElement::interface_type_FiniteElement, boost::string_ref, &NumeredEntFiniteElement::getNameRef> >, ordered_non_unique< tag<Ent_mi_tag>, const_mem_fun< NumeredEntFiniteElement::interface_type_EntFiniteElement, EntityHandle, &NumeredEntFiniteElement::getEnt> >, ordered_non_unique< tag<Composite_Name_And_Ent_mi_tag>, composite_key< NumeredEntFiniteElement, const_mem_fun< NumeredEntFiniteElement::interface_type_FiniteElement, boost::string_ref, &NumeredEntFiniteElement::getNameRef>, const_mem_fun< NumeredEntFiniteElement::interface_type_EntFiniteElement, EntityHandle, &NumeredEntFiniteElement::getEnt> > >, ordered_non_unique< tag<Composite_Name_And_Part_mi_tag>, composite_key< NumeredEntFiniteElement, const_mem_fun< NumeredEntFiniteElement::interface_type_FiniteElement, boost::string_ref, &NumeredEntFiniteElement::getNameRef>, member<NumeredEntFiniteElement, unsigned int, &NumeredEntFiniteElement::part> > > > > NumeredEntFiniteElement_multiIndex

MultiIndex for entities for NumeredEntFiniteElement.

Definition at line 932 of file FEMultiIndices.hpp.

◆ NumeredEntFiniteElementbyName

typedef NumeredEntFiniteElement_multiIndex::index< FiniteElement_name_mi_tag>::type MoFEM::NumeredEntFiniteElementbyName

Entity finite element multi-index by finite element name.

Definition at line 940 of file FEMultiIndices.hpp.

◆ NumeredEntFiniteElementbyNameAndPart

typedef NumeredEntFiniteElement_multiIndex::index< Composite_Name_And_Part_mi_tag>::type MoFEM::NumeredEntFiniteElementbyNameAndPart

Entity finite element multi-index by finite element name and partition.

Definition at line 949 of file FEMultiIndices.hpp.

◆ Problem_multiIndex

typedef multi_index_container< Problem, indexed_by< ordered_unique<tag<Meshset_mi_tag>, member<Problem, EntityHandle, &Problem::meshset> >, hashed_unique<tag<BitProblemId_mi_tag>, const_mem_fun<Problem, BitProblemId, &Problem::getId>, HashBit<BitProblemId>, EqBit<BitProblemId> >, hashed_unique< tag<Problem_mi_tag>, const_mem_fun<Problem, std::string, &Problem::getName> > > > Problem_multiIndex

MultiIndex for entities for Problem.

Definition at line 813 of file ProblemsMultiIndices.hpp.

◆ RefElement_multiIndex

type multiIndex container for RefElement

Parameters
hashed_uniqueEnt_mi_tag
ordered_non_uniqueMeshset_mi_tag
ordered_non_uniqueEnt_Ent_mi_tag
ordered_non_uniqueComposite_ParentEnt_And_BitsOfRefinedEdges_mi_tag

Definition at line 208 of file FEMultiIndices.hpp.