v0.9.0
Classes | Namespaces | Macros | Typedefs
FEMultiIndices.hpp File Reference

Multi-index contains, data structures for mofem finite elements and other low-level functions. More...

Go to the source code of this file.

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::RefElementFace
 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
 Finite element definition. 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...
 

Namespaces

 MoFEM
 implementation of Data Operators for Forces and Sources
 

Macros

#define _IT_FENUMEREDDOF_ROW_FOR_LOOP_(FEPTR, IT)
 
#define _IT_FENUMEREDDOFMOFEMENTITY_ROW_FOR_LOOP_(FEPTR, IT)   _IT_FENUMEREDDOF_ROW_FOR_LOOP_(FEPTR, IT)
 
#define _IT_FENUMEREDDOF_COL_FOR_LOOP_(FEPTR, IT)
 
#define _IT_FENUMEREDDOFMOFEMENTITY_COL_FOR_LOOP_(FEPTR, IT)   _IT_FENUMEREDDOF_COL_FOR_LOOP_(FEPTR, IT)
 
#define _IT_FENUMEREDDOF_BY_NAME_ROW_FOR_LOOP_(FEPTR, NAME, IT)
 
#define _IT_FENUMEREDDOFMOFEMENTITY_BY_NAME_ROW_FOR_LOOP_(FEPTR, NAME, IT)   _IT_FENUMEREDDOF_BY_NAME_ROW_FOR_LOOP_(FEPTR, NAME, IT)
 
#define _IT_FENUMEREDDOF_BY_NAME_COL_FOR_LOOP_(FEPTR, NAME, IT)
 
#define _IT_FENUMEREDDOFMOFEMENTITY_BY_NAME_COL_FOR_LOOP_(FEPTR, NAME, IT)   _IT_FENUMEREDDOF_BY_NAME_COL_FOR_LOOP_(FEPTR, NAME, IT)
 

Typedefs

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
 
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< Ent_Ent_mi_tag >, const_mem_fun< RefElement::interface_type_RefEntity, EntityHandle, &RefElement::getParentEnt > >, ordered_non_unique< tag< Composite_ParentEnt_And_BitsOfRefinedEdges_mi_tag >, composite_key< RefElement, const_mem_fun< RefElement::interface_type_RefEntity, EntityHandle, &RefElement::getParentEnt >, const_mem_fun< RefElement, int, &RefElement::getBitRefEdgesUlong > > > > > MoFEM::RefElement_multiIndex_parents_view
 
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...
 

Detailed Description

Multi-index contains, data structures for mofem finite elements and other low-level functions.

Definition in file FEMultiIndices.hpp.

Macro Definition Documentation

◆ _IT_FENUMEREDDOF_BY_NAME_COL_FOR_LOOP_

#define _IT_FENUMEREDDOF_BY_NAME_COL_FOR_LOOP_ (   FEPTR,
  NAME,
  IT 
)
Value:
FENumeredDofEntityByFieldName::iterator IT = \
FEPTR->cols_dofs->get<FieldName_mi_tag>().lower_bound(NAME); \
IT != FEPTR->cols_dofs->get<FieldName_mi_tag>().upper_bound(NAME); \
IT++

Loop over DOFs in col on element for particular filed

Parameters
FEPTRpointer to element structure NumeredEntFiniteElement
NAMEname of filed
ITiterator
Returns
user return in for(IT_FENUMEREDDOF_BY_NAME_COL_FOR_LOOP(FEPTR,NAME,IT)) fe_multi_indices

Definition at line 1069 of file FEMultiIndices.hpp.

◆ _IT_FENUMEREDDOF_BY_NAME_ROW_FOR_LOOP_

#define _IT_FENUMEREDDOF_BY_NAME_ROW_FOR_LOOP_ (   FEPTR,
  NAME,
  IT 
)
Value:
FENumeredDofEntityByFieldName::iterator IT = \
FEPTR->rows_dofs->get<FieldName_mi_tag>().lower_bound(NAME); \
IT != FEPTR->rows_dofs->get<FieldName_mi_tag>().upper_bound(NAME); \
IT++

Loop over DOFs in row on element for particular filed

Parameters
FEPTRpointer to element structure NumeredEntFiniteElement
NAMEname of filed
ITiterator
Returns
user return in for(IT_FENUMEREDDOF_BY_NAME_ROW_FOR_LOOP(FEPTR,NAME,IT)) fe_multi_indices

Definition at line 1050 of file FEMultiIndices.hpp.

◆ _IT_FENUMEREDDOFMOFEMENTITY_BY_NAME_COL_FOR_LOOP_

#define _IT_FENUMEREDDOFMOFEMENTITY_BY_NAME_COL_FOR_LOOP_ (   FEPTR,
  NAME,
  IT 
)    _IT_FENUMEREDDOF_BY_NAME_COL_FOR_LOOP_(FEPTR, NAME, IT)
Deprecated:
use IT_FENUMEREDDOF_BY_NAME_COL_FOR_LOOP instead

Definition at line 1076 of file FEMultiIndices.hpp.

◆ _IT_FENUMEREDDOFMOFEMENTITY_BY_NAME_ROW_FOR_LOOP_

#define _IT_FENUMEREDDOFMOFEMENTITY_BY_NAME_ROW_FOR_LOOP_ (   FEPTR,
  NAME,
  IT 
)    _IT_FENUMEREDDOF_BY_NAME_ROW_FOR_LOOP_(FEPTR, NAME, IT)
Deprecated:
use IT_FENUMEREDDOF_BY_NAME_ROW_FOR_LOOP instead

Definition at line 1057 of file FEMultiIndices.hpp.

◆ _IT_FENUMEREDDOFMOFEMENTITY_COL_FOR_LOOP_

#define _IT_FENUMEREDDOFMOFEMENTITY_COL_FOR_LOOP_ (   FEPTR,
  IT 
)    _IT_FENUMEREDDOF_COL_FOR_LOOP_(FEPTR, IT)
Deprecated:
use IT_FENUMEREDDOF_COL_FOR_LOOP instead

Definition at line 1038 of file FEMultiIndices.hpp.

◆ _IT_FENUMEREDDOFMOFEMENTITY_ROW_FOR_LOOP_

#define _IT_FENUMEREDDOFMOFEMENTITY_ROW_FOR_LOOP_ (   FEPTR,
  IT 
)    _IT_FENUMEREDDOF_ROW_FOR_LOOP_(FEPTR, IT)
Deprecated:
use IT_FENUMEREDDOF_ROW_FOR_LOOP

Definition at line 1022 of file FEMultiIndices.hpp.