v0.14.0
Pointers to multi-indices

Get direct access to multi-indices in database. More...

Collaboration diagram for Pointers to multi-indices:

Get pointers to multi-index database

virtual const Field_multiIndexMoFEM::CoreInterface::get_fields () const =0
 Get the fields object. More...
 
virtual const RefEntity_multiIndexMoFEM::CoreInterface::get_ref_ents () const =0
 Get the ref ents object. More...
 
virtual const RefElement_multiIndexMoFEM::CoreInterface::get_ref_finite_elements () const =0
 Get the ref finite elements object. More...
 
virtual const FiniteElement_multiIndexMoFEM::CoreInterface::get_finite_elements () const =0
 Get the finite elements object. More...
 
virtual const EntFiniteElement_multiIndexMoFEM::CoreInterface::get_ents_finite_elements () const =0
 Get the ents finite elements object. More...
 
virtual const FieldEntity_multiIndexMoFEM::CoreInterface::get_field_ents () const =0
 Get the field ents object. More...
 
virtual const DofEntity_multiIndexMoFEM::CoreInterface::get_dofs () const =0
 Get the dofs object. More...
 
virtual const ProblemMoFEM::CoreInterface::get_problem (const std::string problem_name) const =0
 Get the problem object. More...
 
virtual const Problem_multiIndexMoFEM::CoreInterface::get_problems () const =0
 Get the problems object. More...
 
virtual MoFEMErrorCode MoFEM::CoreInterface::get_fields (const Field_multiIndex **fields_ptr) const =0
 Get fields multi-index from database. More...
 
virtual MoFEMErrorCode MoFEM::CoreInterface::get_ref_ents (const RefEntity_multiIndex **refined_ents_ptr) const =0
 Get ref entities multi-index from database. More...
 
virtual MoFEMErrorCode MoFEM::CoreInterface::get_ref_finite_elements (const RefElement_multiIndex **refined_finite_elements_ptr) const =0
 Get ref finite elements multi-index form database. More...
 
virtual MoFEMErrorCode MoFEM::CoreInterface::get_finite_elements (const FiniteElement_multiIndex **fe_ptr) const =0
 Get finite elements multi-index. More...
 
virtual MoFEMErrorCode MoFEM::CoreInterface::get_ents_finite_elements (const EntFiniteElement_multiIndex **fe_ent_ptr) const =0
 Get entities finite elements multi-index. More...
 
virtual MoFEMErrorCode MoFEM::CoreInterface::get_problem (const std::string &problem_name, const Problem **problem_ptr) const =0
 Get problem database (data structure) More...
 
virtual MoFEMErrorCode MoFEM::CoreInterface::get_problems (const Problem_multiIndex **problems_ptr) const =0
 Get pointer to problems multi-index. More...
 
virtual MoFEMErrorCode MoFEM::CoreInterface::get_field_ents (const FieldEntity_multiIndex **field_ents) const =0
 Get field multi index. More...
 
virtual MoFEMErrorCode MoFEM::CoreInterface::get_dofs (const DofEntity_multiIndex **dofs_ptr) const =0
 Get dofs multi index. More...
 
virtual EntFiniteElement_multiIndex::index< Unique_mi_tag >::type::iterator MoFEM::CoreInterface::get_fe_by_name_begin (const std::string &fe_name) const =0
 get begin iterator of finite elements of given name (instead you can use IT_GET_FES_BY_NAME_FOR_LOOP(MFIELD,NAME,IT) More...
 
virtual EntFiniteElement_multiIndex::index< Unique_mi_tag >::type::iterator MoFEM::CoreInterface::get_fe_by_name_end (const std::string &fe_name) const =0
 get end iterator of finite elements of given name (instead you can use IT_GET_FES_BY_NAME_FOR_LOOP(MFIELD,NAME,IT) More...
 
virtual MoFEMErrorCode MoFEM::CoreInterface::get_ents_elements_adjacency (const FieldEntityEntFiniteElementAdjacencyMap_multiIndex **dofs_elements_adjacency) const =0
 Get the dofs elements adjacency object. More...
 
virtual const FieldEntityEntFiniteElementAdjacencyMap_multiIndexMoFEM::CoreInterface::get_ents_elements_adjacency () const =0
 Get the dofs elements adjacency object. More...
 
virtual FieldEntityByUId::iterator MoFEM::CoreInterface::get_ent_field_by_name_begin (const std::string &field_name) const =0
 get begin iterator of field ents of given name (instead you can use IT_GET_ENT_FIELD_BY_NAME_FOR_LOOP(MFIELD,NAME,IT) More...
 
virtual FieldEntityByUId::iterator MoFEM::CoreInterface::get_ent_field_by_name_end (const std::string &field_name) const =0
 get begin iterator of field dofs of given name (instead you can use IT_GET_ENT_FIELD_BY_NAME_FOR_LOOP(MFIELD,NAME,IT) More...
 
virtual DofEntityByUId::iterator MoFEM::CoreInterface::get_dofs_by_name_begin (const std::string &field_name) const =0
 get begin iterator of field dofs of given name (instead you can use IT_GET_DOFS_FIELD_BY_NAME_FOR_LOOP(MFIELD,NAME,IT) More...
 
virtual DofEntityByUId::iterator MoFEM::CoreInterface::get_dofs_by_name_end (const std::string &field_name) const =0
 get begin iterator of field dofs of given name (instead you can use IT_GET_DOFS_FIELD_BY_NAME_FOR_LOOP(MFIELD,NAME,IT) More...
 
virtual DofEntityByUId::iterator MoFEM::CoreInterface::get_dofs_by_name_and_ent_begin (const std::string &field_name, const EntityHandle ent) const =0
 get begin iterator of field dofs of given name and ent(instead you can use IT_GET_DOFS_FIELD_BY_NAME_FOR_LOOP(MFIELD,NAME,ENT,IT) More...
 
virtual DofEntityByUId::iterator MoFEM::CoreInterface::get_dofs_by_name_and_ent_end (const std::string &field_name, const EntityHandle ent) const =0
 get begin iterator of field dofs of given name and ent (instead you can use IT_GET_DOFS_FIELD_BY_NAME_FOR_LOOP(MFIELD,NAME,ENT,IT) More...
 
virtual DofEntityByUId::iterator MoFEM::CoreInterface::get_dofs_by_name_and_type_begin (const std::string &field_name, const EntityType type) const =0
 get begin iterator of field dofs of given name and ent type (instead you can use IT_GET_DOFS_FIELD_BY_NAME_FOR_LOOP(MFIELD,NAME,TYPE,IT) More...
 
virtual DofEntityByUId::iterator MoFEM::CoreInterface::get_dofs_by_name_and_type_end (const std::string &field_name, const EntityType type) const =0
 get begin iterator of field dofs of given name end ent type(instead you can use IT_GET_DOFS_FIELD_BY_NAME_FOR_LOOP(MFIELD,NAME,TYPE,IT) More...
 
#define _IT_GET_DOFS_FIELD_BY_NAME_AND_ENT_FOR_LOOP_(MFIELD, NAME, ENT, IT)
 loop over all dofs from a moFEM field and particular field More...
 
#define _IT_GET_FES_BY_NAME_FOR_LOOP_(MFIELD, NAME, IT)
 loop over all finite elements from a moFEM field and FE More...
 
#define _IT_GET_ENT_FIELD_BY_NAME_FOR_LOOP_(MFIELD, NAME, IT)
 loop over all dofs from a moFEM field and particular field More...
 
#define _IT_GET_DOFS_FIELD_BY_NAME_FOR_LOOP_(MFIELD, NAME, IT)
 
#define _IT_GET_DOFS_FIELD_BY_NAME_AND_TYPE_FOR_LOOP_(MFIELD, NAME, TYPE, IT)
 loop over all dofs from a moFEM field and particular field More...
 

Detailed Description

Get direct access to multi-indices in database.

Macro Definition Documentation

◆ _IT_GET_DOFS_FIELD_BY_NAME_AND_ENT_FOR_LOOP_

#define _IT_GET_DOFS_FIELD_BY_NAME_AND_ENT_FOR_LOOP_ (   MFIELD,
  NAME,
  ENT,
  IT 
)
Value:
DofEntityByUId::iterator IT = \
(MFIELD).get_dofs_by_name_and_ent_begin(NAME, ENT); \
IT != (MFIELD).get_dofs_by_name_and_ent_end(NAME, ENT); \
IT++

loop over all dofs from a moFEM field and particular field

Examples
EshelbianPlasticity.cpp.

Definition at line 1917 of file Interface.hpp.

◆ _IT_GET_DOFS_FIELD_BY_NAME_AND_TYPE_FOR_LOOP_

#define _IT_GET_DOFS_FIELD_BY_NAME_AND_TYPE_FOR_LOOP_ (   MFIELD,
  NAME,
  TYPE,
  IT 
)
Value:
DofEntityByUId::iterator IT = \
(MFIELD).get_dofs_by_name_and_type_begin(NAME, TYPE); \
IT != (MFIELD).get_dofs_by_name_and_type_end(NAME, TYPE); \
IT++

loop over all dofs from a moFEM field and particular field

Definition at line 1960 of file Interface.hpp.

◆ _IT_GET_DOFS_FIELD_BY_NAME_FOR_LOOP_

#define _IT_GET_DOFS_FIELD_BY_NAME_FOR_LOOP_ (   MFIELD,
  NAME,
  IT 
)
Value:
DofEntityByUId::iterator IT = (MFIELD).get_dofs_by_name_begin(NAME); \
IT != (MFIELD).get_dofs_by_name_end(NAME); \
IT++

loop over all dofs from a moFEM field and particular field

Examples
nonlinear_elastic.cpp.

Definition at line 1878 of file Interface.hpp.

◆ _IT_GET_ENT_FIELD_BY_NAME_FOR_LOOP_

#define _IT_GET_ENT_FIELD_BY_NAME_FOR_LOOP_ (   MFIELD,
  NAME,
  IT 
)
Value:
auto IT = (MFIELD).get_ent_field_by_name_begin(NAME); \
IT != (MFIELD).get_ent_field_by_name_end(NAME); \
IT++

loop over all dofs from a moFEM field and particular field

Examples
mesh_smoothing.cpp.

Definition at line 1842 of file Interface.hpp.

◆ _IT_GET_FES_BY_NAME_FOR_LOOP_

#define _IT_GET_FES_BY_NAME_FOR_LOOP_ (   MFIELD,
  NAME,
  IT 
)
Value:
auto IT = (MFIELD).get_fe_by_name_begin(NAME); \
IT != (MFIELD).get_fe_by_name_end(NAME); \
IT++

loop over all finite elements from a moFEM field and FE

Definition at line 1999 of file Interface.hpp.

Function Documentation

◆ get_dofs() [1/2]

virtual const DofEntity_multiIndex* MoFEM::CoreInterface::get_dofs ( ) const
pure virtual

Get the dofs object.

Returns
const DofEntity_multiIndex*

Implemented in MoFEM::CoreTmp< 0 >.

Examples
field_blas.cpp, and free_surface.cpp.

◆ get_dofs() [2/2]

virtual MoFEMErrorCode MoFEM::CoreInterface::get_dofs ( const DofEntity_multiIndex **  dofs_ptr) const
pure virtual

Get dofs multi index.

Implemented in MoFEM::CoreTmp< 0 >.

◆ get_dofs_by_name_and_ent_begin()

virtual DofEntityByUId::iterator MoFEM::CoreInterface::get_dofs_by_name_and_ent_begin ( const std::string &  field_name,
const EntityHandle  ent 
) const
pure virtual

get begin iterator of field dofs of given name and ent(instead you can use IT_GET_DOFS_FIELD_BY_NAME_FOR_LOOP(MFIELD,NAME,ENT,IT)

for(IT_GET_DOFS_FIELD_BY_NAME_AND_ENT_FOR_LOOP(MFIELD,NAME,ENT,IT)) { ... }

Parameters
field_name

Implemented in MoFEM::CoreTmp< 0 >.

◆ get_dofs_by_name_and_ent_end()

virtual DofEntityByUId::iterator MoFEM::CoreInterface::get_dofs_by_name_and_ent_end ( const std::string &  field_name,
const EntityHandle  ent 
) const
pure virtual

get begin iterator of field dofs of given name and ent (instead you can use IT_GET_DOFS_FIELD_BY_NAME_FOR_LOOP(MFIELD,NAME,ENT,IT)

for(IT_GET_DOFS_FIELD_BY_NAME_AND_ENT_FOR_LOOP(MFIELD,NAME,ENT,IT)) { ... }

Parameters
field_name

Implemented in MoFEM::CoreTmp< 0 >.

◆ get_dofs_by_name_and_type_begin()

virtual DofEntityByUId::iterator MoFEM::CoreInterface::get_dofs_by_name_and_type_begin ( const std::string &  field_name,
const EntityType  type 
) const
pure virtual

get begin iterator of field dofs of given name and ent type (instead you can use IT_GET_DOFS_FIELD_BY_NAME_FOR_LOOP(MFIELD,NAME,TYPE,IT)

for(IT_GET_DOFS_FIELD_BY_NAME_AND_TYPE_FOR_LOOP(MFIELD,NAME,TYPE,IT)) { ... }

Parameters
field_name

Implemented in MoFEM::CoreTmp< 0 >.

◆ get_dofs_by_name_and_type_end()

virtual DofEntityByUId::iterator MoFEM::CoreInterface::get_dofs_by_name_and_type_end ( const std::string &  field_name,
const EntityType  type 
) const
pure virtual

get begin iterator of field dofs of given name end ent type(instead you can use IT_GET_DOFS_FIELD_BY_NAME_FOR_LOOP(MFIELD,NAME,TYPE,IT)

for(IT_GET_DOFS_FIELD_BY_NAME_AND_TYPE_FOR_LOOP(MFIELD,NAME,TYPE,IT)) { ... }

Parameters
field_name

Implemented in MoFEM::CoreTmp< 0 >.

◆ get_dofs_by_name_begin()

virtual DofEntityByUId::iterator MoFEM::CoreInterface::get_dofs_by_name_begin ( const std::string &  field_name) const
pure virtual

get begin iterator of field dofs of given name (instead you can use IT_GET_DOFS_FIELD_BY_NAME_FOR_LOOP(MFIELD,NAME,IT)

for(IT_GET_DOFS_FIELD_BY_NAME_FOR_LOOP(MFIELD,NAME,IT)) { ... }

Parameters
field_name

Implemented in MoFEM::CoreTmp< 0 >.

◆ get_dofs_by_name_end()

virtual DofEntityByUId::iterator MoFEM::CoreInterface::get_dofs_by_name_end ( const std::string &  field_name) const
pure virtual

get begin iterator of field dofs of given name (instead you can use IT_GET_DOFS_FIELD_BY_NAME_FOR_LOOP(MFIELD,NAME,IT)

for(IT_GET_DOFS_FIELD_BY_NAME_FOR_LOOP(MFIELD,NAME,IT)) { ... }

Parameters
field_name

Implemented in MoFEM::CoreTmp< 0 >.

◆ get_ent_field_by_name_begin()

virtual FieldEntityByUId::iterator MoFEM::CoreInterface::get_ent_field_by_name_begin ( const std::string &  field_name) const
pure virtual

get begin iterator of field ents of given name (instead you can use IT_GET_ENT_FIELD_BY_NAME_FOR_LOOP(MFIELD,NAME,IT)

for(IT_GET_ENT_FIELD_BY_NAME_FOR_LOOP(MFIELD,NAME,IT)) { ... }

Parameters
field_name

Implemented in MoFEM::CoreTmp< 0 >.

◆ get_ent_field_by_name_end()

virtual FieldEntityByUId::iterator MoFEM::CoreInterface::get_ent_field_by_name_end ( const std::string &  field_name) const
pure virtual

get begin iterator of field dofs of given name (instead you can use IT_GET_ENT_FIELD_BY_NAME_FOR_LOOP(MFIELD,NAME,IT)

for(IT_GET_ENT_FIELD_BY_NAME_FOR_LOOP(MFIELD,NAME,IT)) { ... }

Parameters
field_name

Implemented in MoFEM::CoreTmp< 0 >.

◆ get_ents_elements_adjacency() [1/2]

virtual const FieldEntityEntFiniteElementAdjacencyMap_multiIndex* MoFEM::CoreInterface::get_ents_elements_adjacency ( ) const
pure virtual

Get the dofs elements adjacency object.

Returns
const FieldEntityEntFiniteElementAdjacencyMap_multiIndex*

Implemented in MoFEM::CoreTmp< 0 >.

◆ get_ents_elements_adjacency() [2/2]

virtual MoFEMErrorCode MoFEM::CoreInterface::get_ents_elements_adjacency ( const FieldEntityEntFiniteElementAdjacencyMap_multiIndex **  dofs_elements_adjacency) const
pure virtual

Get the dofs elements adjacency object.

Parameters
dofs_elements_adjacency
Returns
MoFEMErrorCode

Implemented in MoFEM::CoreTmp< 0 >.

◆ get_ents_finite_elements() [1/2]

virtual const EntFiniteElement_multiIndex* MoFEM::CoreInterface::get_ents_finite_elements ( ) const
pure virtual

Get the ents finite elements object.

Returns
const EntFiniteElement_multiIndex*

Implemented in MoFEM::CoreTmp< 0 >.

◆ get_ents_finite_elements() [2/2]

virtual MoFEMErrorCode MoFEM::CoreInterface::get_ents_finite_elements ( const EntFiniteElement_multiIndex **  fe_ent_ptr) const
pure virtual

Get entities finite elements multi-index.

Implemented in MoFEM::CoreTmp< 0 >.

◆ get_fe_by_name_begin()

virtual EntFiniteElement_multiIndex::index<Unique_mi_tag>::type::iterator MoFEM::CoreInterface::get_fe_by_name_begin ( const std::string &  fe_name) const
pure virtual

get begin iterator of finite elements of given name (instead you can use IT_GET_FES_BY_NAME_FOR_LOOP(MFIELD,NAME,IT)

for(IT_GET_FES_BY_NAME_FOR_LOOP(MFIELD,NAME,IT)) { ... }

Parameters
fe_name

Implemented in MoFEM::CoreTmp< 0 >.

◆ get_fe_by_name_end()

virtual EntFiniteElement_multiIndex::index<Unique_mi_tag>::type::iterator MoFEM::CoreInterface::get_fe_by_name_end ( const std::string &  fe_name) const
pure virtual

get end iterator of finite elements of given name (instead you can use IT_GET_FES_BY_NAME_FOR_LOOP(MFIELD,NAME,IT)

for(IT_GET_FES_BY_NAME_FOR_LOOP(MFIELD,NAME,IT)) { ... }

Parameters
fe_name

Implemented in MoFEM::CoreTmp< 0 >.

◆ get_field_ents() [1/2]

virtual const FieldEntity_multiIndex* MoFEM::CoreInterface::get_field_ents ( ) const
pure virtual

Get the field ents object.

Returns
const FieldEntity_multiIndex*

Implemented in MoFEM::CoreTmp< 0 >.

Examples
continuity_check_on_skeleton_3d.cpp, dm_build_partitioned_mesh.cpp, and dm_partitioned_no_field.cpp.

◆ get_field_ents() [2/2]

virtual MoFEMErrorCode MoFEM::CoreInterface::get_field_ents ( const FieldEntity_multiIndex **  field_ents) const
pure virtual

Get field multi index.

Implemented in MoFEM::CoreTmp< 0 >.

◆ get_fields() [1/2]

virtual const Field_multiIndex* MoFEM::CoreInterface::get_fields ( ) const
pure virtual

Get the fields object.

Returns
const Field_multiIndex*

Implemented in MoFEM::CoreTmp< 0 >.

Examples
field_to_vertices.cpp.

◆ get_fields() [2/2]

virtual MoFEMErrorCode MoFEM::CoreInterface::get_fields ( const Field_multiIndex **  fields_ptr) const
pure virtual

Get fields multi-index from database.

Implemented in MoFEM::CoreTmp< 0 >.

◆ get_finite_elements() [1/2]

virtual const FiniteElement_multiIndex* MoFEM::CoreInterface::get_finite_elements ( ) const
pure virtual

Get the finite elements object.

Returns
const FiniteElement_multiIndex*

Implemented in MoFEM::CoreTmp< 0 >.

◆ get_finite_elements() [2/2]

virtual MoFEMErrorCode MoFEM::CoreInterface::get_finite_elements ( const FiniteElement_multiIndex **  fe_ptr) const
pure virtual

Get finite elements multi-index.

Implemented in MoFEM::CoreTmp< 0 >.

◆ get_problem() [1/2]

virtual MoFEMErrorCode MoFEM::CoreInterface::get_problem ( const std::string &  problem_name,
const Problem **  problem_ptr 
) const
pure virtual

Get problem database (data structure)

Implemented in MoFEM::CoreTmp< 0 >.

◆ get_problem() [2/2]

virtual const Problem* MoFEM::CoreInterface::get_problem ( const std::string  problem_name) const
pure virtual

Get the problem object.

Parameters
problem_name
Returns
const Problem*

Implemented in MoFEM::CoreTmp< 0 >.

Examples
cell_forces.cpp, nonlinear_dynamics.cpp, remove_entities_from_problem.cpp, and remove_entities_from_problem_not_partitioned.cpp.

◆ get_problems() [1/2]

virtual const Problem_multiIndex* MoFEM::CoreInterface::get_problems ( ) const
pure virtual

Get the problems object.

Returns
const Problem_multiIndex*

Implemented in MoFEM::CoreTmp< 0 >.

◆ get_problems() [2/2]

virtual MoFEMErrorCode MoFEM::CoreInterface::get_problems ( const Problem_multiIndex **  problems_ptr) const
pure virtual

Get pointer to problems multi-index.

Implemented in MoFEM::CoreTmp< 0 >.

◆ get_ref_ents() [1/2]

virtual const RefEntity_multiIndex* MoFEM::CoreInterface::get_ref_ents ( ) const
pure virtual

Get the ref ents object.

Returns
const RefEntity_multiIndex*

Implemented in MoFEM::CoreTmp< 0 >.

◆ get_ref_ents() [2/2]

virtual MoFEMErrorCode MoFEM::CoreInterface::get_ref_ents ( const RefEntity_multiIndex **  refined_ents_ptr) const
pure virtual

Get ref entities multi-index from database.

Implemented in MoFEM::CoreTmp< 0 >.

◆ get_ref_finite_elements() [1/2]

virtual const RefElement_multiIndex* MoFEM::CoreInterface::get_ref_finite_elements ( ) const
pure virtual

Get the ref finite elements object.

Returns
const RefElement_multiIndex*

Implemented in MoFEM::CoreTmp< 0 >.

◆ get_ref_finite_elements() [2/2]

virtual MoFEMErrorCode MoFEM::CoreInterface::get_ref_finite_elements ( const RefElement_multiIndex **  refined_finite_elements_ptr) const
pure virtual

Get ref finite elements multi-index form database.

Implemented in MoFEM::CoreTmp< 0 >.

IT
constexpr IntegrationType IT
Definition: test_broken_space.cpp:24