![]() |
v0.15.0 |
Data structure for adding and managing fields. More...
Synchronize entities (Following functions in future will be | |
deprecated) | |
| MoFEMErrorCode | MoFEM::CommInterface::synchroniseFieldEntities (const std::string name, int verb=DEFAULT_VERBOSITY) |
Synchronize | |
| DEPRECATED MoFEMErrorCode | MoFEM::DeprecatedCoreInterface::synchronise_field_entities (const std::string &name, int verb=DEFAULT_VERBOSITY) |
Fields | |
| virtual MoFEMErrorCode | MoFEM::CoreInterface::add_ents_to_field_by_dim (const Range &ents, const int dim, const std::string &name, int verb=DEFAULT_VERBOSITY)=0 |
| Add entities to field meshset. | |
| virtual MoFEMErrorCode | MoFEM::CoreInterface::add_ents_to_field_by_type (const Range &ents, const EntityType type, const std::string &name, int verb=DEFAULT_VERBOSITY)=0 |
| Add entities to field meshset. | |
| virtual MoFEMErrorCode | MoFEM::CoreInterface::add_ents_to_field_by_dim (const EntityHandle meshset, const int dim, const std::string &name, const bool recursive=true, int verb=DEFAULT_VERBOSITY)=0 |
| Add entities to field meshset. | |
| virtual MoFEMErrorCode | MoFEM::CoreInterface::add_ents_to_field_by_type (const EntityHandle meshset, const EntityType type, const std::string &name, const bool recursive=true, int verb=DEFAULT_VERBOSITY)=0 |
| Add entities to field meshset. | |
| virtual MoFEMErrorCode | MoFEM::CoreInterface::remove_ents_from_field_by_bit_ref (const BitRefLevel bit, const BitRefLevel mask, int verb=DEFAULT_VERBOSITY)=0 |
| remove entities from field | |
| virtual MoFEMErrorCode | MoFEM::CoreInterface::remove_ents_from_field (const std::string name, const EntityHandle meshset, const EntityType type, int verb=DEFAULT_VERBOSITY)=0 |
| remove entities from field | |
| virtual MoFEMErrorCode | MoFEM::CoreInterface::remove_ents_from_field (const std::string name, const Range ents, int verb=DEFAULT_VERBOSITY)=0 |
| remove entities from field | |
| virtual MoFEMErrorCode | MoFEM::CoreInterface::remove_ents_from_field (const Range ents, int verb=DEFAULT_VERBOSITY)=0 |
| remove entities from all fields | |
| virtual MoFEMErrorCode | MoFEM::CoreInterface::set_field_order (const EntityHandle meshset, const EntityType type, const std::string &name, const ApproximationOrder order, int verb=DEFAULT_VERBOSITY)=0 |
| Set order approximation of the entities in the field. | |
| virtual MoFEMErrorCode | MoFEM::CoreInterface::set_field_order (const Range &ents, const std::string &name, const ApproximationOrder order, int verb=DEFAULT_VERBOSITY)=0 |
| Set order approximation of the entities in the field. | |
| virtual MoFEMErrorCode | MoFEM::CoreInterface::set_field_order_by_entity_type_and_bit_ref (const BitRefLevel &bit, const BitRefLevel &mask, const EntityType type, const std::string &name, const ApproximationOrder order, int verb=DEFAULT_VERBOSITY)=0 |
| Set order approximation of the entities in the field. | |
| virtual MoFEMErrorCode | MoFEM::CoreInterface::list_fields () const =0 |
| list entities in the field | |
| virtual MoFEMErrorCode | MoFEM::CoreInterface::build_fields (int verb=DEFAULT_VERBOSITY)=0 |
| virtual MoFEMErrorCode | MoFEM::CoreInterface::get_field_entities_by_dimension (const std::string name, int dim, Range &ents) const =0 |
| get entities in the field by dimension | |
| virtual MoFEMErrorCode | MoFEM::CoreInterface::get_field_entities_by_type (const std::string name, EntityType type, Range &ents) const =0 |
| get entities in the field by type | |
| virtual MoFEMErrorCode | MoFEM::CoreInterface::get_field_entities_by_handle (const std::string name, Range &ents) const =0 |
| get entities in the field by handle | |
| virtual bool | MoFEM::CoreInterface::check_field (const std::string &name) const =0 |
| check if field is in database | |
| virtual const Field * | MoFEM::CoreInterface::get_field_structure (const std::string &name, enum MoFEMTypes bh=MF_EXIST) const =0 |
| get field structure | |
Finite elements | |
| virtual MoFEMErrorCode | MoFEM::CoreInterface::get_finite_element_entities_by_dimension (const std::string name, int dim, Range &ents) const =0 |
| get entities in the finite element by dimension | |
| virtual MoFEMErrorCode | MoFEM::CoreInterface::get_finite_element_entities_by_type (const std::string name, EntityType type, Range &ents) const =0 |
| get entities in the finite element by type | |
| virtual MoFEMErrorCode | MoFEM::CoreInterface::get_finite_element_entities_by_handle (const std::string name, Range &ents) const =0 |
| get entities in the finite element by handle | |
Making loops on elements and entities | |
| virtual MoFEMErrorCode | MoFEM::CoreInterface::loop_dofs (const std::string &field_name, DofMethod &method, int verb=DEFAULT_VERBOSITY)=0 |
| Make a loop over dofs. | |
| virtual MoFEMErrorCode | MoFEM::CoreInterface::loop_entities (const std::string field_name, EntityMethod &method, Range const *const ents=nullptr, int verb=DEFAULT_VERBOSITY)=0 |
| Loop over field entities. | |
| virtual MoFEMErrorCode | MoFEM::CoreInterface::loop_entities (const Problem *problem_ptr, const std::string field_name, RowColData rc, EntityMethod &method, int lower_rank, int upper_rank, int verb=DEFAULT_VERBOSITY)=0 |
| Loop over field entities in the problem. | |
| virtual MoFEMErrorCode | MoFEM::CoreInterface::loop_entities (const std::string problem_name, const std::string field_name, RowColData rc, EntityMethod &method, int lower_rank, int upper_rank, int verb=DEFAULT_VERBOSITY)=0 |
| Loop over field entities in the problem. | |
| virtual MoFEMErrorCode | MoFEM::CoreInterface::loop_entities (const std::string problem_name, const std::string field_name, RowColData rc, EntityMethod &method, int verb=DEFAULT_VERBOSITY)=0 |
| Loop over field entities in the problem. | |
Get pointers to multi-index database | |
| 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) | |
| virtual FieldEntityByUId::iterator | MoFEM::CoreInterface::get_ent_field_by_name_end (const std::string &field_name) const =0 |
| get end iterator of field ents of given name (instead you can use IT_GET_ENT_FIELD_BY_NAME_FOR_LOOP(MFIELD,NAME,IT) | |
| 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) | |
| 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) | |
| 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) | |
| virtual DofEntityByUId::iterator | MoFEM::CoreInterface::get_dofs_by_name_and_ent_end (const std::string &field_name, const EntityHandle ent) const =0 |
| get end 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) | |
| 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) | |
| virtual DofEntityByUId::iterator | MoFEM::CoreInterface::get_dofs_by_name_and_type_end (const std::string &field_name, const EntityType type) const =0 |
| get end 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) | |
| #define | _IT_GET_ENT_FIELD_BY_NAME_FOR_LOOP_(MFIELD, NAME, IT) |
| loop over all dofs from a moFEM field and particular field | |
| #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 | |
| #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 | |
| #define | _IT_GET_FES_BY_NAME_FOR_LOOP_(MFIELD, NAME, IT) |
| loop over all finite elements from a moFEM field and FE | |
Data structure for adding and managing fields.
| #define _IT_GET_DOFS_FIELD_BY_NAME_AND_ENT_FOR_LOOP_ | ( | MFIELD, | |
| NAME, | |||
| ENT, | |||
| IT | |||
| ) |
#include <src/interfaces/Interface.hpp>
loop over all dofs from a moFEM field and particular field
Definition at line 2022 of file Interface.hpp.
| #define _IT_GET_DOFS_FIELD_BY_NAME_AND_TYPE_FOR_LOOP_ | ( | MFIELD, | |
| NAME, | |||
| TYPE, | |||
| IT | |||
| ) |
#include <src/interfaces/Interface.hpp>
loop over all dofs from a moFEM field and particular field
Definition at line 2071 of file Interface.hpp.
| #define _IT_GET_DOFS_FIELD_BY_NAME_FOR_LOOP_ | ( | MFIELD, | |
| NAME, | |||
| IT | |||
| ) |
#include <src/interfaces/Interface.hpp>
loop over all dofs from a moFEM field and particular field
Definition at line 1981 of file Interface.hpp.
| #define _IT_GET_ENT_FIELD_BY_NAME_FOR_LOOP_ | ( | MFIELD, | |
| NAME, | |||
| IT | |||
| ) |
#include <src/interfaces/Interface.hpp>
loop over all dofs from a moFEM field and particular field
Definition at line 1945 of file Interface.hpp.
| #define _IT_GET_FES_BY_NAME_FOR_LOOP_ | ( | MFIELD, | |
| NAME, | |||
| IT | |||
| ) |
#include <src/interfaces/Interface.hpp>
loop over all finite elements from a moFEM field and FE
Definition at line 2113 of file Interface.hpp.
|
pure virtual |
#include <src/interfaces/Interface.hpp>
Add entities to field meshset.
\not collective
The lower dimension entities are added depending on the space type
| meshset | |
| dim | dimension |
| name | name of field |
| recursive | take entities recursively from embedded entities |
| verb | verbosity level |
Implemented in MoFEM::CoreTmp< 0 >.
|
pure virtual |
#include <src/interfaces/Interface.hpp>
Add entities to field meshset.
The lower dimension entities are added depending on the space type
| ents | range of entities |
| dim | dimension of entities |
| name | name of field |
| verb | verbosity level |
Implemented in MoFEM::CoreTmp< 0 >.
|
pure virtual |
#include <src/interfaces/Interface.hpp>
Add entities to field meshset.
The lower dimension entities are added depending on the space type
| meshset | |
| type | of entities |
| name | name of field |
| recursive | take entities recursively from embedded entities |
| verb | verbosity level |
Implemented in MoFEM::CoreTmp< 0 >.
|
pure virtual |
#include <src/interfaces/Interface.hpp>
Add entities to field meshset.
The lower dimension entities are added depending on the space type
| ents | range of entities |
| type | type of entities |
| name | name of field |
| verb | verbosity level |
Implemented in MoFEM::CoreTmp< 0 >.
|
pure virtual |
#include <src/interfaces/Interface.hpp>
build fields
| verb | Verbosity level (default: DEFAULT_VERBOSITY) |
Implemented in MoFEM::CoreTmp< 0 >.
|
pure virtual |
#include <src/interfaces/Interface.hpp>
check if field is in database
| name | Field name to check |
Implemented in MoFEM::CoreTmp< 0 >.
|
pure virtual |
|
pure virtual |
#include <src/interfaces/Interface.hpp>
Clear dofs by field name and ents
Implemented in MoFEM::CoreTmp< 0 >.
|
pure virtual |
|
pure virtual |
#include <src/interfaces/Interface.hpp>
Clear entities by field name
Implemented in MoFEM::CoreTmp< 0 >.
|
pure virtual |
#include <src/interfaces/Interface.hpp>
Clear entities by field name
Implemented in MoFEM::CoreTmp< 0 >.
|
pure virtual |
|
pure virtual |
|
pure virtual |
#include <src/interfaces/Interface.hpp>
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)) { ... }
| field_name |
Implemented in MoFEM::CoreTmp< 0 >.
|
pure virtual |
#include <src/interfaces/Interface.hpp>
get end 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)) { ... }
| field_name | Name of the field |
| ent | Entity handle to get DOFs for |
Implemented in MoFEM::CoreTmp< 0 >.
|
pure virtual |
#include <src/interfaces/Interface.hpp>
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)) { ... }
| field_name | Name of the field |
| type | Entity type to filter DOFs by |
Implemented in MoFEM::CoreTmp< 0 >.
|
pure virtual |
#include <src/interfaces/Interface.hpp>
get end 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)) { ... }
| field_name | Name of the field |
| type | Entity type to filter DOFs by |
Implemented in MoFEM::CoreTmp< 0 >.
|
pure virtual |
#include <src/interfaces/Interface.hpp>
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)) { ... }
| field_name |
Implemented in MoFEM::CoreTmp< 0 >.
|
pure virtual |
#include <src/interfaces/Interface.hpp>
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)) { ... }
| field_name |
Implemented in MoFEM::CoreTmp< 0 >.
|
pure virtual |
#include <src/interfaces/Interface.hpp>
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)) { ... }
| field_name | Name of the field to get iterator for |
Implemented in MoFEM::CoreTmp< 0 >.
|
pure virtual |
#include <src/interfaces/Interface.hpp>
get end 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)) { ... }
| field_name | Name of the field to get iterator for |
Implemented in MoFEM::CoreTmp< 0 >.
|
pure virtual |
#include <src/interfaces/Interface.hpp>
get entities in the field by dimension
| name | Field name |
| dim | Dimension of entities to retrieve |
| ents | Range object to store the retrieved entities |
Implemented in MoFEM::CoreTmp< 0 >.
|
pure virtual |
#include <src/interfaces/Interface.hpp>
get entities in the field by handle
| name | Field name |
| ents | Range object to store all entities in the field |
Implemented in MoFEM::CoreTmp< 0 >.
|
pure virtual |
#include <src/interfaces/Interface.hpp>
get entities in the field by type
| name | Field name |
| type | Entity type (MBVERTEX, MBEDGE, MBTRI, MBTET, etc.) |
| ents | Range object to store the retrieved entities |
Implemented in MoFEM::CoreTmp< 0 >.
|
pure virtual |
#include <src/interfaces/Interface.hpp>
get field structure
If field is not found throw error if bh == MF_EXIST, or return nullptr if bh == MF_ZERO, i.e. otherwise
| name | Field name to retrieve |
| bh | Controls behaviour when field is not found |
Implemented in MoFEM::CoreTmp< 0 >.
|
pure virtual |
#include <src/interfaces/Interface.hpp>
get entities in the finite element by dimension
| name | finite element name |
| dim | dim |
| ents | ents |
Implemented in MoFEM::CoreTmp< 0 >.
|
pure virtual |
#include <src/interfaces/Interface.hpp>
get entities in the finite element by handle
| name | finite element name |
| ents | ents |
Implemented in MoFEM::CoreTmp< 0 >.
|
pure virtual |
#include <src/interfaces/Interface.hpp>
get entities in the finite element by type
| name | finite element name |
| type | entity type |
| ents | ents |
Implemented in MoFEM::CoreTmp< 0 >.
|
pure virtual |
|
pure virtual |
#include <src/interfaces/Interface.hpp>
list entities in the field
Implemented in MoFEM::CoreTmp< 0 >.
|
pure virtual |
#include <src/interfaces/Interface.hpp>
Make a loop over dofs.
| field_name | Name of the field containing DOFs to loop over |
| method | User-defined method to execute on each DOF |
| verb | Verbosity level (default: DEFAULT_VERBOSITY) |
Implemented in MoFEM::CoreTmp< 0 >.
|
pure virtual |
#include <src/interfaces/Interface.hpp>
Loop over field entities in the problem.
| problem_ptr | Pointer to problem structure |
| field_name | Name of the field containing entities to loop over |
| rc | Row/column data specification |
| method | User-defined method to execute on each entity |
| lower_rank | Lower processor rank range (inclusive) |
| upper_rank | Upper processor rank range (inclusive) |
| verb | Verbosity level (default: DEFAULT_VERBOSITY) |
Implemented in MoFEM::CoreTmp< 0 >.
|
pure virtual |
#include <src/interfaces/Interface.hpp>
Loop over field entities.
| field_name | Name of the field containing entities to loop over |
| method | User-defined method to execute on each entity |
| ents | If provided, loop only over subset of entities in the field (default: nullptr for all entities) |
| verb | Verbosity level (default: DEFAULT_VERBOSITY) |
Implemented in MoFEM::CoreTmp< 0 >.
|
pure virtual |
#include <src/interfaces/Interface.hpp>
Loop over field entities in the problem.
| problem_name | |
| field_name | |
| rc | |
| method | |
| lower_rank | |
| upper_rank | |
| verb |
Implemented in MoFEM::CoreTmp< 0 >.
|
pure virtual |
#include <src/interfaces/Interface.hpp>
Loop over field entities in the problem.
| problem_name | |
| field_name | |
| rc | |
| method | |
| verb |
Implemented in MoFEM::CoreTmp< 0 >.
|
pure virtual |
#include <src/interfaces/Interface.hpp>
remove entities from all fields
| ents | Range of entities to remove from all fields |
| verb | Verbosity level (default: DEFAULT_VERBOSITY) |
Implemented in MoFEM::CoreTmp< 0 >.
|
pure virtual |
#include <src/interfaces/Interface.hpp>
remove entities from field
| name | Name of the field |
| meshset | Meshset containing entities to remove |
| type | Type of entities to remove |
| verb | Verbosity level (default: DEFAULT_VERBOSITY) |
Implemented in MoFEM::CoreTmp< 0 >.
|
pure virtual |
#include <src/interfaces/Interface.hpp>
remove entities from field
| name | Name of the field |
| ents | Range of entities to remove |
| verb | Verbosity level (default: DEFAULT_VERBOSITY) |
Implemented in MoFEM::CoreTmp< 0 >.
|
pure virtual |
#include <src/interfaces/Interface.hpp>
remove entities from field
| bit | Bit level to select entities |
| mask | Mask for bit level selection |
| verb | Verbosity level (default: DEFAULT_VERBOSITY) |
Implemented in MoFEM::CoreTmp< 0 >.
|
pure virtual |
#include <src/interfaces/Interface.hpp>
Set order approximation of the entities in the field.
| meshset | containing set of the entities (use 0 for all the entities in the meshset) |
| type | selected type of the entities f.e. MBTET, MBTRI, MBEDGE, MBVERTEX, see moab documentation |
| order | approximation order |
Implemented in MoFEM::CoreTmp< 0 >.
|
pure virtual |
#include <src/interfaces/Interface.hpp>
Set order approximation of the entities in the field.
| entities | |
| type | selected type of the entities f.e. MBTET, MBTRI, MBEDGE, MBVERTEX, see moab documentation |
| order | approximation order |
Implemented in MoFEM::CoreTmp< 0 >.
|
pure virtual |
#include <src/interfaces/Interface.hpp>
Set order approximation of the entities in the field.
| bit | refinement level |
| mask | bit mask |
| type | selected type of the entities f.e. MBTET, MBTRI, MBEDGE, MBVERTEX, see moab documentation |
| order | approximation order |
Implemented in MoFEM::CoreTmp< 0 >.
| MoFEMErrorCode MoFEM::DeprecatedCoreInterface::synchronise_field_entities | ( | const std::string & | name, |
| int | verb = DEFAULT_VERBOSITY |
||
| ) |
#include <src/interfaces/DeprecatedCoreInterface.hpp>
synchronize entity range on processors (collective)
collective - need to be run on all processors in communicator
| name | field |
| verbose | level |
Definition at line 47 of file DeprecatedCoreInterface.cpp.
| MoFEMErrorCode MoFEM::CommInterface::synchroniseFieldEntities | ( | const std::string | name, |
| int | verb = DEFAULT_VERBOSITY |
||
| ) |
#include <src/interfaces/CommInterface.hpp>
synchronize entity range on processors (collective)
| name | field |
| verbose | level |
Definition at line 237 of file CommInterface.cpp.