v0.15.0
Loading...
Searching...
No Matches
Public Member Functions | List of all members
MoFEM::CoreInterface Struct Referenceabstract

Interface. More...

#include "src/interfaces/Interface.hpp"

Inheritance diagram for MoFEM::CoreInterface:
[legend]
Collaboration diagram for MoFEM::CoreInterface:
[legend]

Public Member Functions

virtual ~CoreInterface ()=default
 
virtual const int getValue () const =0
 Get the core.
 
virtual boost::shared_ptr< RefEntityTmp< 0 > > make_shared_ref_entity (const EntityHandle ent)=0
 Get RefEntity.
 
- Public Member Functions inherited from MoFEM::UnknownInterface
virtual MoFEMErrorCode query_interface (boost::typeindex::type_index type_index, UnknownInterface **iface) const =0
 
template<class IFACE >
MoFEMErrorCode registerInterface (bool error_if_registration_failed=true)
 Register interface.
 
template<class IFACE >
MoFEMErrorCode getInterface (IFACE *&iface) const
 Get interface reference to pointer of interface.
 
template<class IFACE >
MoFEMErrorCode getInterface (IFACE **const iface) const
 Get interface pointer to pointer of interface.
 
template<class IFACE , typename boost::enable_if< boost::is_pointer< IFACE >, int >::type = 0>
IFACE getInterface () const
 Get interface pointer to pointer of interface.
 
template<class IFACE , typename boost::enable_if< boost::is_reference< IFACE >, int >::type = 0>
IFACE getInterface () const
 Get reference to interface.
 
template<class IFACE >
IFACE * getInterface () const
 Function returning pointer to interface.
 
virtual ~UnknownInterface ()=default
 

Interfaces

virtual moab::Interface & get_moab ()=0
 
virtual const moab::Interface & get_moab () const =0
 
virtual MoFEMErrorCode set_moab_interface (moab::Interface &new_moab, int verb=VERBOSE)=0
 Set the moab interface object.
 
virtual MeshsetsManagerget_meshsets_manager_ptr ()=0
 get MeshsetsManager pointer
 
virtual const MeshsetsManagerget_meshsets_manager_ptr () const =0
 get MeshsetsManager pointer
 
virtual MeshsetsManagerget_meshsets_manager ()=0
 get MeshsetsManager reference
 
virtual const MeshsetsManagerget_meshsets_manager () const =0
 get MeshsetsManager reference
 

Basic entity

virtual boost::shared_ptr< BasicEntityData > & get_basic_entity_data_ptr ()=0
 Get pointer to basic entity data.
 

Communicator

virtual MPI_Comm & get_comm () const =0
 
virtual int get_comm_size () const =0
 
virtual int get_comm_rank () const =0
 

Check consistency

virtual MoFEMErrorCode check_number_of_ents_in_ents_field (const std::string &name) const =0
 check data consistency in entitiesPtr
 
virtual MoFEMErrorCode check_number_of_ents_in_ents_field () const =0
 check data consistency in entitiesPtr
 
virtual MoFEMErrorCode check_number_of_ents_in_ents_finite_element (const std::string &name) const =0
 check data consistency in entsFiniteElements
 
virtual MoFEMErrorCode check_number_of_ents_in_ents_finite_element () const =0
 check data consistency in entsFiniteElements
 

Database

virtual MoFEMErrorCode clear_database (int verb=DEFAULT_VERBOSITY)=0
 Clear database.
 
virtual MoFEMErrorCode rebuild_database (int verb=DEFAULT_VERBOSITY)=0
 Clear database and initialize it once again.
 

Delete and remove

virtual MoFEMErrorCode remove_parents_by_ents (const Range &ents, int verb=DEFAULT_VERBOSITY)=0
 Remove parents from entities.
 
virtual MoFEMErrorCode remove_parents_by_bit_ref (const BitRefLevel bit, const BitRefLevel mask, int verb=DEFAULT_VERBOSITY)=0
 Remove parent from entities on bit level.
 
virtual MoFEMErrorCode remove_parents_by_parents (const Range &ents, int verb=DEFAULT_VERBOSITY)=0
 Remove parents from entities having parents in passed range.
 
virtual MoFEMErrorCode delete_ents_by_bit_ref (const BitRefLevel bit, const BitRefLevel mask, const bool remove_parent=false, int verb=DEFAULT_VERBOSITY, MoFEMTypes mf=MF_ZERO)=0
 Delete entities from MoFEM and MOAB database.
 
virtual MoFEMErrorCode remove_ents (const Range ents, int verb=DEFAULT_VERBOSITY)=0
 Remove entities from MoFEM database.
 
virtual MoFEMErrorCode remove_ents_by_bit_ref (const BitRefLevel bit, const BitRefLevel mask, int verb=DEFAULT_VERBOSITY)=0
 Remove entities from MoFEM database.
 
virtual MoFEMErrorCode delete_finite_element (const std::string name, int verb=DEFAULT_VERBOSITY)=0
 Delete finite element from MoFEM database.
 

Fields

virtual MoFEMErrorCode add_broken_field (const std::string name, const FieldSpace space, const FieldApproximationBase base, const FieldCoefficientsNumber nb_of_coefficients, const std::vector< std::pair< EntityType, std::function< MoFEMErrorCode(BaseFunction::DofsSideMap &)> > > list_dof_side_map, const TagType tag_type=MB_TAG_SPARSE, const enum MoFEMTypes bh=MF_EXCL, int verb=DEFAULT_VERBOSITY)=0
 Add field.
 
virtual MoFEMErrorCode add_field (const std::string name, const FieldSpace space, const FieldApproximationBase base, const FieldCoefficientsNumber nb_of_coefficients, const TagType tag_type=MB_TAG_SPARSE, const enum MoFEMTypes bh=MF_EXCL, int verb=DEFAULT_VERBOSITY)=0
 Add field.
 
virtual MoFEMErrorCode delete_field (const std::string name, int verb=DEFAULT_VERBOSITY)=0
 Delete field.
 
virtual MoFEMErrorCode 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 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 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 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 create_vertices_and_add_to_field (const std::string name, const double coords[], int size, int verb=DEFAULT_VERBOSITY)=0
 Create vertices and add to the field object.
 
virtual MoFEMErrorCode remove_ents_from_field_by_bit_ref (const BitRefLevel bit, const BitRefLevel mask, int verb=DEFAULT_VERBOSITY)=0
 remove entities from field
 
virtual MoFEMErrorCode 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 remove_ents_from_field (const std::string name, const Range ents, int verb=DEFAULT_VERBOSITY)=0
 remove entities from field
 
virtual MoFEMErrorCode remove_ents_from_field (const Range ents, int verb=DEFAULT_VERBOSITY)=0
 remove entities from all fields
 
virtual MoFEMErrorCode 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 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 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 list_fields () const =0
 list entities in the field
 
virtual MoFEMErrorCode build_fields (int verb=DEFAULT_VERBOSITY)=0
 
virtual MoFEMErrorCode build_field (const std::string field_name, int verb=DEFAULT_VERBOSITY)=0
 build field by name
 
virtual BitFieldId get_field_id (const std::string &name) const =0
 Get field Id.
 
virtual FieldBitNumber get_field_bit_number (const std::string name) const =0
 get field bit number
 
virtual std::string get_field_name (const BitFieldId id) const =0
 get field name from id
 
virtual EntityHandle get_field_meshset (const std::string name) const =0
 get field meshset
 
virtual MoFEMErrorCode get_field_entities_by_dimension (const std::string name, int dim, Range &ents) const =0
 get entities in the field by dimension
 
virtual MoFEMErrorCode get_field_entities_by_type (const std::string name, EntityType type, Range &ents) const =0
 get entities in the field by type
 
virtual MoFEMErrorCode get_field_entities_by_handle (const std::string name, Range &ents) const =0
 get entities in the field by handle
 
virtual bool check_field (const std::string &name) const =0
 check if field is in database
 
virtual const Fieldget_field_structure (const std::string &name, enum MoFEMTypes bh=MF_EXIST) const =0
 get field structure
 

Finite elements

virtual const FiniteElementget_finite_element_structure (const std::string &name, enum MoFEMTypes bh=MF_EXIST) const =0
 get finite element structure
 
virtual bool check_finite_element (const std::string &name) const =0
 Check if finite element is in database.
 
virtual MoFEMErrorCode add_finite_element (const std::string &fe_name, enum MoFEMTypes bh=MF_EXCL, int verb=DEFAULT_VERBOSITY)=0
 add finite element
 
virtual MoFEMErrorCode modify_finite_element_adjacency_table (const std::string &fe_name, const EntityType type, ElementAdjacencyFunct function)=0
 modify finite element table, only for advanced user
 
virtual MoFEMErrorCode modify_finite_element_add_field_data (const std::string &fe_name, const std::string name_field)=0
 set finite element field data
 
virtual MoFEMErrorCode modify_finite_element_off_field_data (const std::string &fe_name, const std::string name_field)=0
 unset finite element field data
 
virtual MoFEMErrorCode modify_finite_element_add_field_row (const std::string &fe_name, const std::string name_row)=0
 set field row which finite element use
 
virtual MoFEMErrorCode modify_finite_element_off_field_row (const std::string &fe_name, const std::string name_row)=0
 unset field row which finite element use
 
virtual MoFEMErrorCode modify_finite_element_add_field_col (const std::string &fe_name, const std::string name_row)=0
 set field col which finite element use
 
virtual MoFEMErrorCode modify_finite_element_off_field_col (const std::string &fe_name, const std::string name_row)=0
 unset field col which finite element use
 
virtual MoFEMErrorCode add_ents_to_finite_element_by_type (const EntityHandle entities, const EntityType type, const std::string name, const bool recursive=true)=0
 add entities to finite element
 
virtual MoFEMErrorCode add_ents_to_finite_element_by_dim (const EntityHandle entities, const int dim, const std::string name, const bool recursive=true)=0
 add entities to finite element
 
virtual MoFEMErrorCode add_ents_to_finite_element_by_type (const Range ents, const EntityType type, const std::string name)=0
 add entities to finite elements
 
virtual MoFEMErrorCode add_ents_to_finite_element_by_dim (const Range ents, const int dim, const std::string name)=0
 add entities to finite elements
 
virtual MoFEMErrorCode add_ents_to_finite_element_by_bit_ref (const BitRefLevel bit, const BitRefLevel mask, const std::string name, EntityType type, int verb=DEFAULT_VERBOSITY)=0
 add TET entities from given refinement level to finite element database given by name
 
virtual EntityHandle get_finite_element_meshset (const std::string name) const =0
 
virtual MoFEMErrorCode 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 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 get_finite_element_entities_by_handle (const std::string name, Range &ents) const =0
 get entities in the finite element by handle
 
virtual MoFEMErrorCode remove_ents_from_finite_element_by_bit_ref (const BitRefLevel bit, const BitRefLevel mask, int verb=DEFAULT_VERBOSITY)=0
 remove elements from given refinement level to finite element database
 
virtual MoFEMErrorCode remove_ents_from_finite_element (const std::string name, const EntityHandle meshset, const EntityType type, int verb=DEFAULT_VERBOSITY)=0
 remove entities from given refinement level to finite element database
 
virtual MoFEMErrorCode remove_ents_from_finite_element (const std::string name, const Range ents, int verb=DEFAULT_VERBOSITY)=0
 remove entities from finite element database
 
virtual MoFEMErrorCode remove_ents_from_finite_element (const Range ents, int verb=DEFAULT_VERBOSITY)=0
 remove entities from finite elements in database
 
virtual MoFEMErrorCode add_ents_to_finite_element_by_MESHSET (const EntityHandle meshset, const std::string &name, const bool recursive=false)=0
 add MESHSET element to finite element database given by name
 
virtual MoFEMErrorCode list_finite_elements () const =0
 list finite elements in database
 

Problems

virtual MoFEMErrorCode add_problem (const std::string &name, enum MoFEMTypes bh=MF_EXCL, int verb=DEFAULT_VERBOSITY)=0
 Add problem.
 
virtual bool check_problem (const std::string name)=0
 check if problem exist
 
virtual MoFEMErrorCode delete_problem (const std::string name)=0
 Delete problem.
 
virtual MoFEMErrorCode modify_problem_add_finite_element (const std::string name_problem, const std::string &fe_name)=0
 add finite element to problem, this add entities assigned to finite element to a particular problem
 
virtual MoFEMErrorCode modify_problem_unset_finite_element (const std::string name_problem, const std::string &fe_name)=0
 unset finite element from problem, this remove entities assigned to finite element to a particular problem
 
virtual MoFEMErrorCode modify_problem_ref_level_add_bit (const std::string &name_problem, const BitRefLevel &bit)=0
 add ref level to problem
 
virtual MoFEMErrorCode modify_problem_mask_ref_level_add_bit (const std::string &name_problem, const BitRefLevel &bit)=0
 set dof mask ref level for problem
 
virtual MoFEMErrorCode modify_problem_ref_level_set_bit (const std::string &name_problem, const BitRefLevel &bit)=0
 set ref level for problem
 
virtual MoFEMErrorCode modify_problem_mask_ref_level_set_bit (const std::string &name_problem, const BitRefLevel &bit)=0
 set dof mask ref level for problem
 
virtual MoFEMErrorCode list_problem () const =0
 list problems
 
virtual MoFEMErrorCode clear_problem (const std::string name, int verb=DEFAULT_VERBOSITY)=0
 clear problem
 
virtual MoFEMErrorCode clear_problems (int verb=DEFAULT_VERBOSITY)=0
 clear problems
 
virtual MoFEMErrorCode get_problem_finite_elements_entities (const std::string name, const std::string &fe_name, const EntityHandle meshset)=0
 add finite elements to the meshset
 

Clear dofs and entities

virtual MoFEMErrorCode list_dofs_by_field_name (const std::string &name) const =0
 
virtual MoFEMErrorCode clear_inactive_dofs (int verb=DEFAULT_VERBOSITY)=0
 
virtual MoFEMErrorCode clear_dofs_fields_by_bit_ref (const BitRefLevel bit, const BitRefLevel mask, int verb=DEFAULT_VERBOSITY)=0
 
virtual MoFEMErrorCode clear_dofs_fields (const Range ents, int verb=DEFAULT_VERBOSITY)=0
 
virtual MoFEMErrorCode clear_dofs_fields (const std::string name, const Range ents, int verb=DEFAULT_VERBOSITY)=0
 
virtual MoFEMErrorCode clear_ents_fields (const Range ents, int verb=DEFAULT_VERBOSITY)=0
 
virtual MoFEMErrorCode clear_ents_fields (const std::string name, const Range ents, int verb=DEFAULT_VERBOSITY)=0
 
virtual MoFEMErrorCode clear_ents_fields_by_bit_ref (const BitRefLevel bit, const BitRefLevel mask, int verb=DEFAULT_VERBOSITY)=0
 

Build fields, finite elements and problems

virtual MoFEMErrorCode build_finite_elements (int verb=DEFAULT_VERBOSITY)=0
 Build finite elements.
 
virtual MoFEMErrorCode build_finite_elements (const string fe_name, const Range *const ents_ptr=nullptr, int verb=DEFAULT_VERBOSITY)=0
 Build finite elements.
 

Clear finite elements

virtual MoFEMErrorCode clear_finite_elements_by_bit_ref (const BitRefLevel bit, const BitRefLevel mask, int verb=DEFAULT_VERBOSITY)=0
 
virtual MoFEMErrorCode clear_finite_elements (const Range &ents, int verb=DEFAULT_VERBOSITY)=0
 
virtual MoFEMErrorCode clear_finite_elements (const std::string &fe_name, const Range &ents, int verb=DEFAULT_VERBOSITY)=0
 

Build adjacencies

virtual MoFEMErrorCode build_adjacencies (const Range &ents, int verb=DEFAULT_VERBOSITY)=0
 build adjacencies
 
virtual MoFEMErrorCode build_adjacencies (const BitRefLevel &bit, int verb=DEFAULT_VERBOSITY)=0
 build adjacencies
 
virtual MoFEMErrorCode build_adjacencies (const BitRefLevel &bit, const BitRefLevel &mask, int verb=DEFAULT_VERBOSITY)=0
 build adjacencies
 

Clear adjacencies

virtual MoFEMErrorCode clear_adjacencies_finite_elements (const BitRefLevel bit, const BitRefLevel mask, int verb=DEFAULT_VERBOSITY)=0
 clear adjacency map for finite elements on given bit level
 
virtual MoFEMErrorCode clear_adjacencies_entities (const BitRefLevel bit, const BitRefLevel mask, int verb=DEFAULT_VERBOSITY)=0
 clear adjacency map for entities on given bit level
 
virtual MoFEMErrorCode clear_adjacencies_entities (const Range ents, int verb=DEFAULT_VERBOSITY)=0
 clear adjacencies for field entities by entities
 
virtual MoFEMErrorCode clear_adjacencies_entities (const std::string name, const Range ents, int verb=DEFAULT_VERBOSITY)=0
 clear adjacencies for field entities by entities and field namd
 

Making loops on elements and entities

virtual MoFEMErrorCode problem_basic_method_preProcess (const Problem *problem_ptr, BasicMethod &method, int verb=DEFAULT_VERBOSITY)=0
 Set data for BasicMethod.
 
virtual MoFEMErrorCode problem_basic_method_preProcess (const std::string &problem_name, BasicMethod &method, int verb=DEFAULT_VERBOSITY)=0
 Set data for BasicMethod.
 
virtual MoFEMErrorCode problem_basic_method_postProcess (const Problem *problem_ptr, BasicMethod &method, int verb=DEFAULT_VERBOSITY)=0
 Set data for BasicMethod.
 
virtual MoFEMErrorCode problem_basic_method_postProcess (const std::string &problem_name, BasicMethod &method, int verb=DEFAULT_VERBOSITY)=0
 Set data for BasicMethod.
 
virtual MoFEMErrorCode cache_problem_entities (const std::string prb_name, CacheTupleWeakPtr cache_ptr)=0
 Cache variables.
 
virtual MoFEMErrorCode loop_finite_elements (const std::string problem_name, const std::string &fe_name, FEMethod &method, boost::shared_ptr< NumeredEntFiniteElement_multiIndex > fe_ptr=nullptr, MoFEMTypes bh=MF_EXIST, CacheTupleWeakPtr cache_ptr=CacheTupleSharedPtr(), int verb=DEFAULT_VERBOSITY)=0
 Make a loop over finite elements.
 
virtual MoFEMErrorCode loop_finite_elements (const Problem *problem_ptr, const std::string &fe_name, FEMethod &method, int lower_rank, int upper_rank, boost::shared_ptr< NumeredEntFiniteElement_multiIndex > fe_ptr=nullptr, MoFEMTypes bh=MF_EXIST, CacheTupleWeakPtr cache_ptr=CacheTupleSharedPtr(), int verb=DEFAULT_VERBOSITY)=0
 Make a loop over finite elements on partitions from upper to lower rank.
 
virtual MoFEMErrorCode loop_finite_elements (const std::string problem_name, const std::string &fe_name, FEMethod &method, int lower_rank, int upper_rank, boost::shared_ptr< NumeredEntFiniteElement_multiIndex > fe_ptr=nullptr, MoFEMTypes bh=MF_EXIST, CacheTupleWeakPtr cache_ptr=CacheTupleSharedPtr(), int verb=DEFAULT_VERBOSITY)=0
 Make a loop over finite elements on partitions from upper to lower rank.
 
virtual MoFEMErrorCode loop_dofs (const Problem *problem_ptr, const std::string &field_name, RowColData rc, DofMethod &method, int lower_rank, int upper_rank, int verb=DEFAULT_VERBOSITY)=0
 Make a loop over dofs.
 
virtual MoFEMErrorCode loop_dofs (const std::string &problem_name, const std::string &field_name, RowColData rc, DofMethod &method, int lower_rank, int upper_rank, int verb=DEFAULT_VERBOSITY)=0
 Make a loop over dofs.
 
virtual MoFEMErrorCode loop_dofs (const std::string &problem_name, const std::string &field_name, RowColData rc, DofMethod &method, int verb=DEFAULT_VERBOSITY)=0
 Make a loop over dofs.
 
virtual MoFEMErrorCode loop_dofs (const std::string &field_name, DofMethod &method, int verb=DEFAULT_VERBOSITY)=0
 Make a loop over dofs.
 
virtual MoFEMErrorCode 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 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 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 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 const Field_multiIndexget_fields () const =0
 Get the fields object.
 
virtual const RefEntity_multiIndexget_ref_ents () const =0
 Get the ref ents object.
 
virtual const RefElement_multiIndexget_ref_finite_elements () const =0
 Get the ref finite elements object.
 
virtual const FiniteElement_multiIndexget_finite_elements () const =0
 Get the finite elements object.
 
virtual const EntFiniteElement_multiIndexget_ents_finite_elements () const =0
 Get the ents finite elements object.
 
virtual const FieldEntity_multiIndexget_field_ents () const =0
 Get the field ents object.
 
virtual const DofEntity_multiIndexget_dofs () const =0
 Get the dofs object.
 
virtual const Problemget_problem (const std::string problem_name) const =0
 Get the problem object.
 
virtual const Problem_multiIndexget_problems () const =0
 Get the problems object.
 
virtual MoFEMErrorCode get_ents_elements_adjacency (const FieldEntityEntFiniteElementAdjacencyMap_multiIndex **dofs_elements_adjacency) const =0
 Get the dofs elements adjacency object.
 
virtual const FieldEntityEntFiniteElementAdjacencyMap_multiIndexget_ents_elements_adjacency () const =0
 Get the dofs elements adjacency object.
 
virtual MoFEMErrorCode get_fields (const Field_multiIndex **fields_ptr) const =0
 Get fields multi-index from database.
 
virtual MoFEMErrorCode get_ref_ents (const RefEntity_multiIndex **refined_ents_ptr) const =0
 Get ref entities multi-index from database.
 
virtual MoFEMErrorCode get_ref_finite_elements (const RefElement_multiIndex **refined_finite_elements_ptr) const =0
 Get ref finite elements multi-index form database.
 
virtual MoFEMErrorCode get_finite_elements (const FiniteElement_multiIndex **fe_ptr) const =0
 Get finite elements multi-index.
 
virtual MoFEMErrorCode get_ents_finite_elements (const EntFiniteElement_multiIndex **fe_ent_ptr) const =0
 Get entities finite elements multi-index.
 
virtual MoFEMErrorCode get_problem (const std::string &problem_name, const Problem **problem_ptr) const =0
 Get problem database (data structure)
 
virtual MoFEMErrorCode get_problems (const Problem_multiIndex **problems_ptr) const =0
 Get pointer to problems multi-index.
 
virtual MoFEMErrorCode get_field_ents (const FieldEntity_multiIndex **field_ents) const =0
 Get field multi index.
 
virtual MoFEMErrorCode get_dofs (const DofEntity_multiIndex **dofs_ptr) const =0
 Get dofs multi index.
 
virtual FieldEntityByUId::iterator 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 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 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 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 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 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 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 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)
 
virtual EntFiniteElement_multiIndex::index< Unique_mi_tag >::type::iterator 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)
 
virtual EntFiniteElement_multiIndex::index< Unique_mi_tag >::type::iterator 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)
 

Additional Inherited Members

- Static Public Member Functions inherited from MoFEM::UnknownInterface
static MoFEMErrorCode getLibVersion (Version &version)
 Get library version.
 
static MoFEMErrorCode getFileVersion (moab::Interface &moab, Version &version)
 Get database major version.
 
static MoFEMErrorCode setFileVersion (moab::Interface &moab, Version version=Version(MoFEM_VERSION_MAJOR, MoFEM_VERSION_MINOR, MoFEM_VERSION_BUILD))
 Get database major version.
 
static MoFEMErrorCode getInterfaceVersion (Version &version)
 Get database major version.
 

Detailed Description

Interface.

This interface is used by user to:

Examples
mofem/tools/extrude_prisms.cpp, and mofem/tools/mesh_cut.cpp.

Definition at line 27 of file Interface.hpp.

Constructor & Destructor Documentation

◆ ~CoreInterface()

virtual MoFEM::CoreInterface::~CoreInterface ( )
virtualdefault

Member Function Documentation

◆ add_broken_field()

virtual MoFEMErrorCode MoFEM::CoreInterface::add_broken_field ( const std::string  name,
const FieldSpace  space,
const FieldApproximationBase  base,
const FieldCoefficientsNumber  nb_of_coefficients,
const std::vector< std::pair< EntityType, std::function< MoFEMErrorCode(BaseFunction::DofsSideMap &)> > >  list_dof_side_map,
const TagType  tag_type = MB_TAG_SPARSE,
const enum MoFEMTypes  bh = MF_EXCL,
int  verb = DEFAULT_VERBOSITY 
)
pure virtual

Add field.

Note
add_file is a collective, should be executed on all processors. Otherwise could lead to deadlock.
Parameters
namename of the field
spacespace (L2,H1,Hdiv,Hcurl)
baseapproximation base, see FieldApproximationBase
nb_of_coefficientsnumber of field coefficients
tag_typetype of the tag MB_TAG_DENSE or MB_TAG_SPARSE (DENSE is faster and uses less memory, SPARSE is more flexible if you define field on subdomains)
bhif MF_EXCL throws error if field exits, MF_ZERO no error if field exist
verbverbosity level
Returns
error code
Examples
mofem/users_modules/eshelbian_plasticity/src/impl/EshelbianPlasticity.cpp.

◆ add_field()

virtual MoFEMErrorCode MoFEM::CoreInterface::add_field ( const std::string  name,
const FieldSpace  space,
const FieldApproximationBase  base,
const FieldCoefficientsNumber  nb_of_coefficients,
const TagType  tag_type = MB_TAG_SPARSE,
const enum MoFEMTypes  bh = MF_EXCL,
int  verb = DEFAULT_VERBOSITY 
)
pure virtual

Add field.

Note
add_file is a collective, should be executed on all processors. Otherwise could lead to deadlock.
Parameters
namename of the field
spacespace (L2,H1,Hdiv,Hcurl)
continuitycontinuity (CONTINUOUS, DISCONTINUOUS)
baseapproximation base, see FieldApproximationBase
nb_of_coefficientsnumber of field coefficients
tag_typetype of the tag MB_TAG_DENSE or MB_TAG_SPARSE (DENSE is faster and uses less memory, SPARSE is more flexible if you define field on subdomains)
bhif MF_EXCL throws error if field exits, MF_ZERO no error if field exist
verbverbosity level
Returns
error code

Implemented in MoFEM::CoreTmp< 0 >.

Examples
mofem/atom_tests/build_composite_problem.cpp, mofem/atom_tests/build_large_problem.cpp, mofem/atom_tests/build_problems.cpp, mofem/atom_tests/continuity_check_on_contact_prism_side_ele.cpp, mofem/atom_tests/continuity_check_on_skeleton_3d.cpp, mofem/atom_tests/dm_build_partitioned_mesh.cpp, mofem/atom_tests/dm_create_subdm.cpp, mofem/atom_tests/dm_partitioned_no_field.cpp, mofem/atom_tests/field_blas.cpp, mofem/atom_tests/field_blas_axpy.cpp, mofem/atom_tests/forces_and_sources_testing_edge_element.cpp, mofem/atom_tests/forces_and_sources_testing_flat_prism_element.cpp, mofem/atom_tests/forces_and_sources_testing_users_base.cpp, mofem/atom_tests/hcurl_divergence_operator_2d.cpp, mofem/atom_tests/mesh_insert_interface_atom.cpp, mofem/atom_tests/prism_elements_from_surface.cpp, mofem/atom_tests/prism_polynomial_approximation.cpp, mofem/atom_tests/quad_polynomial_approximation.cpp, mofem/atom_tests/remove_entities_from_problem.cpp, mofem/atom_tests/remove_entities_from_problem_not_partitioned.cpp, mofem/tools/mesh_smoothing.cpp, mofem/tutorials/cor-0to1/src/UnsaturatedFlow.hpp, mofem/tutorials/cor-10/navier_stokes.cpp, mofem/tutorials/cor-7/elasticity_mixed_formulation.cpp, mofem/tutorials/max-0/src/MagneticElement.hpp, mofem/tutorials/vec-7/adjoint.cpp, mofem/users_modules/basic_finite_elements/elasticity/elasticity.cpp, mofem/users_modules/basic_finite_elements/nonlinear_elasticity/nonlinear_dynamics.cpp, mofem/users_modules/bone_remodelling/src/impl/Remodeling.cpp, mofem/users_modules/eshelbian_plasticity/src/impl/EshelbianPlasticity.cpp, and mofem/users_modules/minimal_surface_equation/minimal_surface_area.cpp.

◆ build_adjacencies() [1/3]

virtual MoFEMErrorCode MoFEM::CoreInterface::build_adjacencies ( const BitRefLevel bit,
const BitRefLevel mask,
int  verb = DEFAULT_VERBOSITY 
)
pure virtual

build adjacencies

Parameters
bitadjacencies for refine level
maskmask for bit level

This function will get information of adjacent finite elements and fields of all entities. If this is not executed, partitioning the problem is not possible. Adjacency map is based on degrees of freedom adjacent to elements. This linked to geometric element connectivity.

If new degrees of freedom or new finite elements are added to the database, adjacency map has to be rebuild.

Implemented in MoFEM::CoreTmp< 0 >.

◆ build_adjacencies() [2/3]

virtual MoFEMErrorCode MoFEM::CoreInterface::build_adjacencies ( const BitRefLevel bit,
int  verb = DEFAULT_VERBOSITY 
)
pure virtual

build adjacencies

Parameters
bitadjacencies for refine level

This function will get information of adjacent finite elements and fields of all entities. If this is not executed, partitioning the problem is not possible. Adjacency map is based on degrees of freedom adjacent to elements. This linked to geometric element connectivity.

If new degrees of freedom or new finite elements are added to the database, adjacency map has to be rebuild.

Implemented in MoFEM::CoreTmp< 0 >.

◆ build_adjacencies() [3/3]

virtual MoFEMErrorCode MoFEM::CoreInterface::build_adjacencies ( const Range ents,
int  verb = DEFAULT_VERBOSITY 
)
pure virtual

build adjacencies

Parameters
listof entities

This function will get information of adjacent finite elements and fields of all entities. If this is not executed, partitioning the problem is not possible. Adjacency map is based on degrees of freedom adjacent to elements. This linked to geometric element connectivity.

If new degrees of freedom or new finite elements are added to the database, adjacency map has to be rebuild.

Implemented in MoFEM::CoreTmp< 0 >.

Examples
mofem/atom_tests/build_composite_problem.cpp, mofem/atom_tests/build_large_problem.cpp, mofem/atom_tests/build_problems.cpp, mofem/atom_tests/continuity_check_on_contact_prism_side_ele.cpp, mofem/atom_tests/continuity_check_on_skeleton_3d.cpp, mofem/atom_tests/dm_build_partitioned_mesh.cpp, mofem/atom_tests/dm_create_subdm.cpp, mofem/atom_tests/dm_partitioned_no_field.cpp, mofem/atom_tests/forces_and_sources_testing_edge_element.cpp, mofem/atom_tests/forces_and_sources_testing_flat_prism_element.cpp, mofem/atom_tests/forces_and_sources_testing_users_base.cpp, mofem/atom_tests/hcurl_divergence_operator_2d.cpp, mofem/atom_tests/mesh_insert_interface_atom.cpp, mofem/atom_tests/prism_elements_from_surface.cpp, mofem/atom_tests/prism_polynomial_approximation.cpp, mofem/atom_tests/quad_polynomial_approximation.cpp, mofem/atom_tests/remove_entities_from_problem.cpp, mofem/atom_tests/remove_entities_from_problem_not_partitioned.cpp, mofem/tutorials/cor-0to1/src/UnsaturatedFlow.hpp, mofem/tutorials/cor-10/navier_stokes.cpp, mofem/tutorials/cor-7/elasticity_mixed_formulation.cpp, mofem/tutorials/max-0/src/MagneticElement.hpp, mofem/tutorials/max-1/lorentz_force.cpp, mofem/tutorials/mix-0/mixed_poisson.cpp, mofem/tutorials/vec-7/adjoint.cpp, mofem/users_modules/basic_finite_elements/elasticity/elasticity.cpp, mofem/users_modules/basic_finite_elements/nonlinear_elasticity/nonlinear_dynamics.cpp, mofem/users_modules/bone_remodelling/src/impl/Remodeling.cpp, mofem/users_modules/eshelbian_plasticity/src/impl/EshelbianPlasticity.cpp, and mofem/users_modules/minimal_surface_equation/minimal_surface_area.cpp.

◆ build_field()

virtual MoFEMErrorCode MoFEM::CoreInterface::build_field ( const std::string  field_name,
int  verb = DEFAULT_VERBOSITY 
)
pure virtual

build field by name

Parameters
field_nameName of the field to build
verbVerbosity level (default: DEFAULT_VERBOSITY)
Returns
MoFEMErrorCode Error code indicating success or failure

Implemented in MoFEM::CoreTmp< 0 >.

◆ cache_problem_entities()

virtual MoFEMErrorCode MoFEM::CoreInterface::cache_problem_entities ( const std::string  prb_name,
CacheTupleWeakPtr  cache_ptr 
)
pure virtual

Cache variables.

Parameters
prb_name
cache_ptr
Returns
MoFEMErrorCode

Implemented in MoFEM::CoreTmp< 0 >.

Examples
mofem/atom_tests/continuity_check_on_skeleton_3d.cpp, and mofem/tutorials/max-1/lorentz_force.cpp.

◆ check_finite_element()

virtual bool MoFEM::CoreInterface::check_finite_element ( const std::string &  name) const
pure virtual

Check if finite element is in database.

Parameters
nameName of finite element to check
Returns
true if element is declared in the database, false otherwise

Implemented in MoFEM::CoreTmp< 0 >.

Examples
mofem/tutorials/cor-10/navier_stokes.cpp, mofem/tutorials/cor-7/elasticity_mixed_formulation.cpp, mofem/tutorials/scl-10/photon_diffusion.cpp, mofem/users_modules/bone_remodelling/src/impl/Remodeling.cpp, and mofem/users_modules/eshelbian_plasticity/src/impl/EshelbianPlasticity.cpp.

◆ check_number_of_ents_in_ents_field() [1/2]

virtual MoFEMErrorCode MoFEM::CoreInterface::check_number_of_ents_in_ents_field ( ) const
pure virtual

check data consistency in entitiesPtr

Returns
MoFEMErrorCode Error code indicating success or failure

Implemented in MoFEM::CoreTmp< 0 >.

◆ check_number_of_ents_in_ents_field() [2/2]

virtual MoFEMErrorCode MoFEM::CoreInterface::check_number_of_ents_in_ents_field ( const std::string &  name) const
pure virtual

check data consistency in entitiesPtr

Parameters
nameField name to check consistency for
Returns
MoFEMErrorCode Error code indicating success or failure

Implemented in MoFEM::CoreTmp< 0 >.

◆ check_number_of_ents_in_ents_finite_element() [1/2]

virtual MoFEMErrorCode MoFEM::CoreInterface::check_number_of_ents_in_ents_finite_element ( ) const
pure virtual

check data consistency in entsFiniteElements

Returns
MoFEMErrorCode Error code indicating success or failure

Implemented in MoFEM::CoreTmp< 0 >.

◆ check_number_of_ents_in_ents_finite_element() [2/2]

virtual MoFEMErrorCode MoFEM::CoreInterface::check_number_of_ents_in_ents_finite_element ( const std::string &  name) const
pure virtual

check data consistency in entsFiniteElements

Parameters
nameFinite element name to check consistency for
Returns
MoFEMErrorCode Error code indicating success or failure

Implemented in MoFEM::CoreTmp< 0 >.

◆ clear_adjacencies_entities() [1/3]

virtual MoFEMErrorCode MoFEM::CoreInterface::clear_adjacencies_entities ( const BitRefLevel  bit,
const BitRefLevel  mask,
int  verb = DEFAULT_VERBOSITY 
)
pure virtual

clear adjacency map for entities on given bit level

Parameters
bit
mask

Implemented in MoFEM::CoreTmp< 0 >.

◆ clear_adjacencies_entities() [2/3]

virtual MoFEMErrorCode MoFEM::CoreInterface::clear_adjacencies_entities ( const Range  ents,
int  verb = DEFAULT_VERBOSITY 
)
pure virtual

clear adjacencies for field entities by entities

Implemented in MoFEM::CoreTmp< 0 >.

◆ clear_adjacencies_entities() [3/3]

virtual MoFEMErrorCode MoFEM::CoreInterface::clear_adjacencies_entities ( const std::string  name,
const Range  ents,
int  verb = DEFAULT_VERBOSITY 
)
pure virtual

clear adjacencies for field entities by entities and field namd

Implemented in MoFEM::CoreTmp< 0 >.

◆ clear_adjacencies_finite_elements()

virtual MoFEMErrorCode MoFEM::CoreInterface::clear_adjacencies_finite_elements ( const BitRefLevel  bit,
const BitRefLevel  mask,
int  verb = DEFAULT_VERBOSITY 
)
pure virtual

clear adjacency map for finite elements on given bit level

Parameters
bit
mask

Implemented in MoFEM::CoreTmp< 0 >.

◆ clear_database()

virtual MoFEMErrorCode MoFEM::CoreInterface::clear_database ( int  verb = DEFAULT_VERBOSITY)
pure virtual

Clear database.

Parameters
verbVerbosity level
Returns
Error code

Implemented in MoFEM::CoreTmp< 0 >.

◆ clear_finite_elements() [1/2]

virtual MoFEMErrorCode MoFEM::CoreInterface::clear_finite_elements ( const Range ents,
int  verb = DEFAULT_VERBOSITY 
)
pure virtual

clear finite elements

Implemented in MoFEM::CoreTmp< 0 >.

◆ clear_finite_elements() [2/2]

virtual MoFEMErrorCode MoFEM::CoreInterface::clear_finite_elements ( const std::string &  fe_name,
const Range ents,
int  verb = DEFAULT_VERBOSITY 
)
pure virtual

clear finite elements

Implemented in MoFEM::CoreTmp< 0 >.

◆ clear_finite_elements_by_bit_ref()

virtual MoFEMErrorCode MoFEM::CoreInterface::clear_finite_elements_by_bit_ref ( const BitRefLevel  bit,
const BitRefLevel  mask,
int  verb = DEFAULT_VERBOSITY 
)
pure virtual

clear finite elements

Implemented in MoFEM::CoreTmp< 0 >.

◆ create_vertices_and_add_to_field()

virtual MoFEMErrorCode MoFEM::CoreInterface::create_vertices_and_add_to_field ( const std::string  name,
const double  coords[],
int  size,
int  verb = DEFAULT_VERBOSITY 
)
pure virtual

Create vertices and add to the field object.

Create vertices and add them to the field. Those vertices would be carrying DOFs of the field.

Note
This function is typically used when NOFIELD is created, for example load factor in arc-length control.
Parameters
nameName of the field to add vertices to
coordsArray of coordinates for the vertices
sizeNumber of vertices to create
verbVerbosity level (default: DEFAULT_VERBOSITY)
Returns
MoFEMErrorCode Error code indicating success or failure

Implemented in MoFEM::CoreTmp< 0 >.

Examples
mofem/atom_tests/dm_partitioned_no_field.cpp, and mofem/atom_tests/simple_l2_only.cpp.

◆ delete_ents_by_bit_ref()

virtual MoFEMErrorCode MoFEM::CoreInterface::delete_ents_by_bit_ref ( const BitRefLevel  bit,
const BitRefLevel  mask,
const bool  remove_parent = false,
int  verb = DEFAULT_VERBOSITY,
MoFEMTypes  mf = MF_ZERO 
)
pure virtual

Delete entities from MoFEM and MOAB database.

Parameters
bitBit level to select entities
maskMask for bit level selection
remove_parentIf true, also remove parent relationships
verbVerbosity level (default: DEFAULT_VERBOSITY)
mfMoFEM type control (default: MF_ZERO)
Returns
MoFEMErrorCode Error code indicating success or failure

Implemented in MoFEM::CoreTmp< 0 >.

Examples
mofem/atom_tests/continuity_check_on_contact_prism_side_ele.cpp, and mofem/tools/split_sideset.cpp.

◆ delete_field()

virtual MoFEMErrorCode MoFEM::CoreInterface::delete_field ( const std::string  name,
int  verb = DEFAULT_VERBOSITY 
)
pure virtual

Delete field.

Parameters
nameField name to delete
verbVerbosity level (default: DEFAULT_VERBOSITY)
Returns
MoFEMErrorCode Error code indicating success or failure

Implemented in MoFEM::CoreTmp< 0 >.

Examples
mofem/tools/remove_mofem_meshsets.cpp.

◆ delete_finite_element()

virtual MoFEMErrorCode MoFEM::CoreInterface::delete_finite_element ( const std::string  name,
int  verb = DEFAULT_VERBOSITY 
)
pure virtual

Delete finite element from MoFEM database.

Parameters
nameName of finite element to delete
verbVerbosity level (default: DEFAULT_VERBOSITY)
Returns
MoFEMErrorCode Error code indicating success or failure

Implemented in MoFEM::CoreTmp< 0 >.

Examples
mofem/tools/remove_mofem_meshsets.cpp.

◆ get_basic_entity_data_ptr()

virtual boost::shared_ptr< BasicEntityData > & MoFEM::CoreInterface::get_basic_entity_data_ptr ( )
pure virtual

Get pointer to basic entity data.

This structure keeps data like tag handles and other data used to construct MoFEM entities, DOFs and finite elements.

Returns
boost::shared_ptr<BasicEntityData>& Reference to shared pointer of BasicEntityData

Implemented in MoFEM::CoreTmp< 0 >.

◆ get_comm()

virtual MPI_Comm & MoFEM::CoreInterface::get_comm ( ) const
pure virtual

get MPI communicator

Returns
MPI_Comm& Reference to MPI communicator

Implemented in MoFEM::CoreTmp< 0 >.

Examples
ep.cpp, mofem/atom_tests/build_composite_problem.cpp, mofem/atom_tests/child_and_parent.cpp, mofem/atom_tests/dm_partitioned_no_field.cpp, mofem/atom_tests/hanging_node_approx.cpp, mofem/atom_tests/higher_derivatives.cpp, mofem/atom_tests/log.cpp, mofem/atom_tests/schur_test_diag_mat.cpp, mofem/atom_tests/simple_interface.cpp, mofem/atom_tests/test_broken_space.cpp, mofem/atom_tests/test_cache_on_entities.cpp, mofem/tutorials/adv-0/plastic.cpp, mofem/tutorials/adv-0/src/PlasticOpsMonitor.hpp, mofem/tutorials/adv-1/src/ContactOps.hpp, mofem/tutorials/adv-2/thermo_elastic.cpp, mofem/tutorials/adv-3/level_set.cpp, mofem/tutorials/adv-4/dynamic_first_order_con_law.cpp, mofem/tutorials/adv-5/seepage.cpp, mofem/tutorials/cor-0to1/src/UnsaturatedFlow.hpp, mofem/tutorials/cor-0to1/unsaturated_transport.cpp, mofem/tutorials/cor-2to5/src/AuxPoissonFunctions.hpp, mofem/tutorials/cor-9/reaction_diffusion.cpp, mofem/tutorials/fun-0/hello_world.cpp, mofem/tutorials/fun-1/integration.cpp, mofem/tutorials/mix-0/mixed_poisson.cpp, mofem/tutorials/mix-1/phase.cpp, mofem/tutorials/scl-0/approximaton.cpp, mofem/tutorials/scl-1/poisson_2d_homogeneous.cpp, mofem/tutorials/scl-10/photon_diffusion.cpp, mofem/tutorials/scl-11/poisson_2d_dis_galerkin.cpp, mofem/tutorials/scl-12/electrostatics.cpp, mofem/tutorials/vec-1/eigen_elastic.cpp, mofem/tutorials/vec-10/schur_elastic.cpp, mofem/tutorials/vec-2/src/NonlinearElasticExample.hpp, mofem/tutorials/vec-4/approx_sphere.cpp, mofem/tutorials/vec-5/free_surface.cpp, mofem/tutorials/vec-7/adjoint.cpp, mofem/users_modules/adolc-plasticity/adolc_plasticity.cpp, mofem/users_modules/basic_finite_elements/elasticity/elasticity.cpp, mofem/users_modules/basic_finite_elements/src/NavierStokesElement.hpp, mofem/users_modules/basic_finite_elements/src/impl/HookeElement.cpp, mofem/users_modules/eshelbian_plasticity/ep.cpp, and mofem/users_modules/eshelbian_plasticity/src/impl/EshelbianPlasticity.cpp.

◆ get_comm_rank()

virtual int MoFEM::CoreInterface::get_comm_rank ( ) const
pure virtual

get comm rank

Returns
int Rank of current process in the communicator

Implemented in MoFEM::CoreTmp< 0 >.

Examples
mofem/atom_tests/build_composite_problem.cpp, mofem/atom_tests/child_and_parent.cpp, mofem/atom_tests/dm_partitioned_no_field.cpp, mofem/atom_tests/field_evaluator.cpp, mofem/atom_tests/hanging_node_approx.cpp, mofem/atom_tests/higher_derivatives.cpp, mofem/atom_tests/partition_mesh.cpp, mofem/atom_tests/schur_test_diag_mat.cpp, mofem/atom_tests/simple_interface.cpp, mofem/atom_tests/test_broken_space.cpp, mofem/tutorials/adv-0/src/PlasticOpsMonitor.hpp, mofem/tutorials/adv-1/src/ContactOps.hpp, mofem/tutorials/adv-2/thermo_elastic.cpp, mofem/tutorials/adv-3/level_set.cpp, mofem/tutorials/adv-4/dynamic_first_order_con_law.cpp, mofem/tutorials/adv-5/seepage.cpp, mofem/tutorials/cor-10/navier_stokes.cpp, mofem/tutorials/cor-2to5/src/AuxPoissonFunctions.hpp, mofem/tutorials/fun-1/integration.cpp, mofem/tutorials/max-1/lorentz_force.cpp, mofem/tutorials/mix-0/mixed_poisson.cpp, mofem/tutorials/scl-0/approximaton.cpp, mofem/tutorials/scl-1/poisson_2d_homogeneous.cpp, mofem/tutorials/scl-10/photon_diffusion.cpp, mofem/tutorials/scl-11/poisson_2d_dis_galerkin.cpp, mofem/tutorials/scl-12/electrostatics.cpp, mofem/tutorials/vec-1/eigen_elastic.cpp, mofem/tutorials/vec-2/src/NonlinearElasticExample.hpp, mofem/tutorials/vec-4/approx_sphere.cpp, mofem/tutorials/vec-5/free_surface.cpp, mofem/tutorials/vec-7/adjoint.cpp, mofem/users_modules/adolc-plasticity/adolc_plasticity.cpp, mofem/users_modules/basic_finite_elements/elasticity/elasticity.cpp, mofem/users_modules/basic_finite_elements/src/NavierStokesElement.hpp, mofem/users_modules/bone_remodelling/src/impl/Remodeling.cpp, and mofem/users_modules/eshelbian_plasticity/src/impl/EshelbianPlasticity.cpp.

◆ get_comm_size()

virtual int MoFEM::CoreInterface::get_comm_size ( ) const
pure virtual

◆ get_field_bit_number()

virtual FieldBitNumber MoFEM::CoreInterface::get_field_bit_number ( const std::string  name) const
pure virtual

get field bit number

Parameters
nameName of the field
Returns
FieldBitNumber The bit number assigned to the field Example:
auto field_number = mField.get_field_bit_number("DISPLACEMENT");

Implemented in MoFEM::CoreTmp< 0 >.

Examples
mofem/atom_tests/dm_partitioned_no_field.cpp, mofem/tutorials/scl-9/heat_method.cpp, and mofem/tutorials/vec-5/free_surface.cpp.

◆ get_field_id()

virtual BitFieldId MoFEM::CoreInterface::get_field_id ( const std::string &  name) const
pure virtual

Get field Id.

Parameters
nameName of the field
Returns
BitFieldId The unique bit field identifier

Implemented in MoFEM::CoreTmp< 0 >.

◆ get_field_meshset()

virtual EntityHandle MoFEM::CoreInterface::get_field_meshset ( const std::string  name) const
pure virtual

get field meshset

Parameters
nameName of the field
Returns
EntityHandle Handle to the meshset containing field entities Example:
EntityHandle disp_files_meshset = mField.get_field_meshset("DISPLACEMENT");

Implemented in MoFEM::CoreTmp< 0 >.

Examples
mofem/atom_tests/dm_partitioned_no_field.cpp, and mofem/atom_tests/forces_and_sources_testing_flat_prism_element.cpp.

◆ get_field_name()

virtual std::string MoFEM::CoreInterface::get_field_name ( const BitFieldId  id) const
pure virtual

get field name from id

Parameters
idThe bit field identifier
Returns
std::string The name of the field

Implemented in MoFEM::CoreTmp< 0 >.

Examples
mofem/atom_tests/dm_build_partitioned_mesh.cpp.

◆ get_finite_element_structure()

virtual const FiniteElement * MoFEM::CoreInterface::get_finite_element_structure ( const std::string &  name,
enum MoFEMTypes  bh = MF_EXIST 
) const
pure virtual

get finite element structure

If finite element is not found throw error if bh == MF_EXIST, or return nullptr if bh == MF_ZERO, i.e. otherwise

Parameters
nameName of the finite element
bhControls behaviour when finite element is not found
Returns
const FiniteElement* Pointer to finite element structure, or nullptr if not found and bh==MF_ZERO

Implemented in MoFEM::CoreTmp< 0 >.

◆ get_meshsets_manager() [1/2]

virtual const MeshsetsManager & MoFEM::CoreInterface::get_meshsets_manager ( ) const
pure virtual

get MeshsetsManager reference

Returns
const MeshsetsManager& Const reference to MeshsetsManager object

Implemented in MoFEM::CoreTmp< 0 >.

◆ get_meshsets_manager() [2/2]

virtual MeshsetsManager & MoFEM::CoreInterface::get_meshsets_manager ( )
pure virtual

get MeshsetsManager reference

Returns
MeshsetsManager& Reference to MeshsetsManager object

Implemented in MoFEM::CoreTmp< 0 >.

◆ get_meshsets_manager_ptr() [1/2]

virtual const MeshsetsManager * MoFEM::CoreInterface::get_meshsets_manager_ptr ( ) const
pure virtual

get MeshsetsManager pointer

Returns
const MeshsetsManager* Const pointer to MeshsetsManager object

Implemented in MoFEM::CoreTmp< 0 >.

◆ get_meshsets_manager_ptr() [2/2]

virtual MeshsetsManager * MoFEM::CoreInterface::get_meshsets_manager_ptr ( )
pure virtual

get MeshsetsManager pointer

Returns
MeshsetsManager* Pointer to MeshsetsManager object

Implemented in MoFEM::CoreTmp< 0 >.

◆ get_moab() [1/2]

virtual const moab::Interface & MoFEM::CoreInterface::get_moab ( ) const
pure virtual

get moab instance interface

Returns
const moab::Interface& Const reference to MOAB interface

Implemented in MoFEM::CoreTmp< 0 >.

◆ get_moab() [2/2]

virtual moab::Interface & MoFEM::CoreInterface::get_moab ( )
pure virtual

get moab instance

Returns
moab::Interface& Reference to MOAB interface

Implemented in MoFEM::CoreTmp< 0 >.

Examples
mofem/atom_tests/add_blockset.cpp, mofem/atom_tests/boundary_marker.cpp, mofem/atom_tests/build_composite_problem.cpp, mofem/atom_tests/child_and_parent.cpp, mofem/atom_tests/dm_partitioned_no_field.cpp, mofem/atom_tests/field_blas.cpp, mofem/atom_tests/field_blas_axpy.cpp, mofem/atom_tests/forces_and_sources_testing_edge_element.cpp, mofem/atom_tests/forces_and_sources_testing_flat_prism_element.cpp, mofem/atom_tests/hanging_node_approx.cpp, mofem/atom_tests/hcurl_divergence_operator_2d.cpp, mofem/atom_tests/loop_entities.cpp, mofem/atom_tests/prism_elements_from_surface.cpp, mofem/atom_tests/remove_entities_from_problem.cpp, mofem/atom_tests/remove_entities_from_problem_not_partitioned.cpp, mofem/atom_tests/simple_interface.cpp, mofem/atom_tests/simple_l2_only.cpp, mofem/atom_tests/tensor_divergence_operator.cpp, mofem/atom_tests/test_broken_space.cpp, mofem/atom_tests/test_cache_on_entities.cpp, mofem/tools/extrude_prisms.cpp, mofem/tools/mesh_smoothing.cpp, mofem/tools/split_sideset.cpp, mofem/tutorials/adv-0/plastic.cpp, mofem/tutorials/adv-0/src/PlasticOps.hpp, mofem/tutorials/adv-2/src/ThermoElasticOps.hpp, mofem/tutorials/adv-2/thermo_elastic.cpp, mofem/tutorials/adv-3/level_set.cpp, mofem/tutorials/adv-4/dynamic_first_order_con_law.cpp, mofem/tutorials/adv-5/seepage.cpp, mofem/tutorials/clx-0/helmholtz.cpp, mofem/tutorials/cor-0to1/src/UnsaturatedFlow.hpp, mofem/tutorials/cor-0to1/unsaturated_transport.cpp, mofem/tutorials/cor-10/navier_stokes.cpp, mofem/tutorials/cor-6/simple_elasticity.cpp, mofem/tutorials/cor-7/src/ElasticityMixedFormulation.hpp, mofem/tutorials/cor-9/reaction_diffusion.cpp, mofem/tutorials/fun-2/plot_base.cpp, mofem/tutorials/max-0/src/MagneticElement.hpp, mofem/tutorials/mix-0/mixed_poisson.cpp, mofem/tutorials/mix-1/phase.cpp, mofem/tutorials/scl-1/poisson_2d_homogeneous.cpp, mofem/tutorials/scl-10/initial_diffusion.cpp, mofem/tutorials/scl-10/photon_diffusion.cpp, mofem/tutorials/scl-11/poisson_2d_dis_galerkin.cpp, mofem/tutorials/scl-12/electrostatics.cpp, mofem/tutorials/scl-6/heat_equation.cpp, mofem/tutorials/scl-9/heat_method.cpp, mofem/tutorials/vec-1/eigen_elastic.cpp, mofem/tutorials/vec-10/schur_elastic.cpp, mofem/tutorials/vec-2/src/HenckyOps.hpp, mofem/tutorials/vec-3/nonlinear_dynamic_elastic.cpp, mofem/tutorials/vec-4/approx_sphere.cpp, mofem/tutorials/vec-5/free_surface.cpp, mofem/tutorials/vec-6/plate.cpp, mofem/tutorials/vec-7/adjoint.cpp, mofem/users_modules/adolc-plasticity/adolc_plasticity.cpp, mofem/users_modules/adolc-plasticity/src/ADOLCPlasticityMaterialModels.hpp, mofem/users_modules/basic_finite_elements/elasticity/elasticity.cpp, mofem/users_modules/basic_finite_elements/nonlinear_elasticity/nonlinear_dynamics.cpp, mofem/users_modules/basic_finite_elements/src/impl/HookeElement.cpp, mofem/users_modules/bone_remodelling/src/impl/Remodeling.cpp, mofem/users_modules/eshelbian_plasticity/src/impl/EshelbianPlasticity.cpp, and mofem/users_modules/minimal_surface_equation/minimal_surface_area.cpp.

◆ getValue()

virtual const int MoFEM::CoreInterface::getValue ( ) const
pure virtual

Get the core.

Returns
int The core value

Implemented in MoFEM::CoreTmp< 0 >, and MoFEM::CoreTmp<-1 >.

◆ make_shared_ref_entity()

virtual boost::shared_ptr< RefEntityTmp< 0 > > MoFEM::CoreInterface::make_shared_ref_entity ( const EntityHandle  ent)
pure virtual

Get RefEntity.

Parameters
entEntity handle to create reference entity from
Returns
boost::shared_ptr<RefEntityTmp<0>> Shared pointer to reference entity

Implemented in MoFEM::CoreTmp< 0 >, and MoFEM::CoreTmp<-1 >.

◆ problem_basic_method_preProcess() [1/2]

virtual MoFEMErrorCode MoFEM::CoreInterface::problem_basic_method_preProcess ( const Problem problem_ptr,
BasicMethod method,
int  verb = DEFAULT_VERBOSITY 
)
pure virtual

Set data for BasicMethod.

This function set data about problem, adjacencies and other multi-indices in database. This function can be used a special case when user need to do some pre- and post-processing before matrix or vector is initiated, or to assemble matrix for group of FEMethods. Is used by classes SnesCtx and TsCtx. Look for more details there.

FIXME: Here we need example

Parameters
pointerto problem data structure
methoduser method derived from BasicMethod

Implemented in MoFEM::CoreTmp< 0 >.

◆ problem_basic_method_preProcess() [2/2]

virtual MoFEMErrorCode MoFEM::CoreInterface::problem_basic_method_preProcess ( const std::string &  problem_name,
BasicMethod method,
int  verb = DEFAULT_VERBOSITY 
)
pure virtual

Set data for BasicMethod.

This function set data about problem, adjacencies and other multi-indices in database. This function can be used a special case when user need to do some pre- and post-processing before matrix or vector is initiated, or to assemble matrix for group of FEMethods. Is used by classes SnesCtx and TsCtx. Look for more details there.

FIXME: Here we need example

Parameters
problem_namename of the problem
methoduser method derived from BasicMethod

Implemented in MoFEM::CoreTmp< 0 >.

◆ rebuild_database()

virtual MoFEMErrorCode MoFEM::CoreInterface::rebuild_database ( int  verb = DEFAULT_VERBOSITY)
pure virtual

Clear database and initialize it once again.

Parameters
verbVerbosity level
Returns
Error code

Implemented in MoFEM::CoreTmp< 0 >.

Examples
mofem/tutorials/cor-10/navier_stokes.cpp, and mofem/tutorials/fun-2/plot_base.cpp.

◆ remove_ents()

virtual MoFEMErrorCode MoFEM::CoreInterface::remove_ents ( const Range  ents,
int  verb = DEFAULT_VERBOSITY 
)
pure virtual

Remove entities from MoFEM database.

Parameters
entsRange of entities to remove
verbVerbosity level (default: DEFAULT_VERBOSITY)
Returns
MoFEMErrorCode Error code indicating success or failure

Implemented in MoFEM::CoreTmp< 0 >.

◆ remove_ents_by_bit_ref()

virtual MoFEMErrorCode MoFEM::CoreInterface::remove_ents_by_bit_ref ( const BitRefLevel  bit,
const BitRefLevel  mask,
int  verb = DEFAULT_VERBOSITY 
)
pure virtual

Remove entities from MoFEM database.

Parameters
bitBit level to select entities
maskMask for bit level selection
verbVerbosity level (default: DEFAULT_VERBOSITY)
Returns
MoFEMErrorCode Error code indicating success or failure

Implemented in MoFEM::CoreTmp< 0 >.

◆ remove_ents_from_finite_element()

virtual MoFEMErrorCode MoFEM::CoreInterface::remove_ents_from_finite_element ( const std::string  name,
const EntityHandle  meshset,
const EntityType  type,
int  verb = DEFAULT_VERBOSITY 
)
pure virtual

remove entities from given refinement level to finite element database

Implemented in MoFEM::CoreTmp< 0 >.

◆ remove_parents_by_bit_ref()

virtual MoFEMErrorCode MoFEM::CoreInterface::remove_parents_by_bit_ref ( const BitRefLevel  bit,
const BitRefLevel  mask,
int  verb = DEFAULT_VERBOSITY 
)
pure virtual

Remove parent from entities on bit level.

Every entity created by refinement, split, or any other change on the mesh can have a parent. This function removes the parent from an entity.

Note
Functions making topological changes on entities should respect parent–child relations. This erases that relation. If you are going to split faces and create an interface, it is recommended to call this function before the split operation.
Parameters
bitBit level to select entities
maskMask for bit level selection
verbVerbosity level (default: DEFAULT_VERBOSITY)
Returns
MoFEMErrorCode Error code indicating success or failure

Implemented in MoFEM::CoreTmp< 0 >.

◆ remove_parents_by_ents()

virtual MoFEMErrorCode MoFEM::CoreInterface::remove_parents_by_ents ( const Range ents,
int  verb = DEFAULT_VERBOSITY 
)
pure virtual

Remove parents from entities.

Parameters
entsRange of entities to remove parents from
verbVerbosity level (default: DEFAULT_VERBOSITY)
Returns
MoFEMErrorCode Error code indicating success or failure

Implemented in MoFEM::CoreTmp< 0 >.

◆ remove_parents_by_parents()

virtual MoFEMErrorCode MoFEM::CoreInterface::remove_parents_by_parents ( const Range ents,
int  verb = DEFAULT_VERBOSITY 
)
pure virtual

Remove parents from entities having parents in passed range.

Parameters
entsRange of parent entities to check against
verbVerbosity level (default: DEFAULT_VERBOSITY)
Returns
MoFEMErrorCode Error code indicating success or failure

Implemented in MoFEM::CoreTmp< 0 >.

◆ set_moab_interface()

virtual MoFEMErrorCode MoFEM::CoreInterface::set_moab_interface ( moab::Interface &  new_moab,
int  verb = VERBOSE 
)
pure virtual

Set the moab interface object.

Parameters
new_moabReference to new MOAB interface to set
verbVerbosity level (default: VERBOSE)
Returns
MoFEMErrorCode Error code indicating success or failure

Implemented in MoFEM::CoreTmp< 0 >, and MoFEM::CoreTmp<-1 >.


The documentation for this struct was generated from the following file: