v0.14.0 |
Core (interface) class. More...
#include <src/interfaces/Core.hpp>
Public Member Functions | |
const int | getValue () const |
Get the core. More... | |
RefEntityTmp< 0 > | getRefEntity (const EntityHandle ent) |
virtual boost::shared_ptr< RefEntityTmp< 0 > > | make_shared_ref_entity (const EntityHandle ent) |
Get RefEntity. More... | |
CoreTmp (moab::Interface &moab, MPI_Comm comm=PETSC_COMM_WORLD, const int verbose=VERBOSE) | |
~CoreTmp () | |
Public Member Functions inherited from MoFEM::DeprecatedCoreInterface | |
virtual DEPRECATED MoFEMErrorCode | seed_ref_level_2D (const EntityHandle meshset, const BitRefLevel &bit, int verb=-1) |
seed 2D entities (Triangles entities only) in the meshset and their adjacencies (only TRIs adjacencies) in a particular BitRefLevel More... | |
DEPRECATED MoFEMErrorCode | seed_ref_level_3D (const EntityHandle meshset, const BitRefLevel &bit, int verb=-1) |
seed 2D entities in the meshset and their adjacencies (only TETs adjacencies) in a particular BitRefLevel More... | |
DEPRECATED MoFEMErrorCode | seed_ref_level (const Range &ents, const BitRefLevel &bit, const bool only_tets=true, int verb=-1) |
seed entities in the range and their adjacencies in a particular BitRefLevel More... | |
DEPRECATED MoFEMErrorCode | partition_mesh (const Range &ents, const int dim, const int adj_dim, const int n_parts, int verb=-1) |
Set partition tag to each finite element in the problem. More... | |
DEPRECATED MoFEMErrorCode | synchronise_entities (Range &ent, int verb=DEFAULT_VERBOSITY) |
DEPRECATED MoFEMErrorCode | synchronise_field_entities (const std::string &name, int verb=DEFAULT_VERBOSITY) |
Public Member Functions inherited from MoFEM::CoreInterface | |
virtual | ~CoreInterface ()=default |
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. More... | |
Public Member Functions inherited from MoFEM::UnknownInterface | |
template<class IFACE > | |
MoFEMErrorCode | registerInterface (bool error_if_registration_failed=true) |
Register interface. More... | |
template<class IFACE > | |
MoFEMErrorCode | getInterface (IFACE *&iface) const |
Get interface reference to pointer of interface. More... | |
template<class IFACE > | |
MoFEMErrorCode | getInterface (IFACE **const iface) const |
Get interface pointer to pointer of interface. More... | |
template<class IFACE , typename boost::enable_if< boost::is_pointer< IFACE >, int >::type = 0> | |
IFACE | getInterface () const |
Get interface pointer to pointer of interface. More... | |
template<class IFACE , typename boost::enable_if< boost::is_reference< IFACE >, int >::type = 0> | |
IFACE | getInterface () const |
Get reference to interface. More... | |
template<class IFACE > | |
IFACE * | getInterface () const |
Function returning pointer to interface. More... | |
virtual | ~UnknownInterface ()=default |
Static Public Attributes | |
static constexpr int | value = 0 |
Protected Member Functions | |
template<int V> | |
CoreTmp (moab::Interface &moab, MPI_Comm comm, const int verbose, CoreValue< V >) | |
MoFEMErrorCode | coreGenericConstructor (moab::Interface &moab, MPI_Comm comm, const int verbose) |
MoFEMErrorCode | addProblem (const BitProblemId id, const std::string &name, int verb=DEFAULT_VERBOSITY) |
add problem More... | |
MoFEMErrorCode | getTags (int verb=DEFAULT_VERBOSITY) |
Get tag handles. More... | |
MoFEMErrorCode | clearMap () |
Cleaning database. More... | |
MoFEMErrorCode | registerSubInterfaces () |
Register insterfaces. More... | |
BitProblemId | getProblemShift () |
Return unique problem Id. More... | |
MoFEMErrorCode | initialiseDatabaseFromMesh (int verb=DEFAULT_VERBOSITY) |
Initialize database getting information on mesh. More... | |
MoFEMErrorCode | getOptions (int verb=DEFAULT_VERBOSITY) |
Get core options from command line. More... | |
template<class IFACE > | |
MoFEMErrorCode | regSubInterface () |
Register sub-interfaces in core interface. More... | |
template<class IFACE > | |
MoFEMErrorCode | regEvents () |
Register petsc events. More... | |
Protected Attributes | |
boost::shared_ptr< WrapMPIComm > | wrapMPIMOABComm |
manage creation and destruction of MOAB communicator More... | |
int | verbose |
Verbosity level. More... | |
boost::ptr_map< boost::typeindex::type_index, UnknownInterface > | iFaces |
Hash map of pointers to interfaces. More... | |
int * | buildMoFEM |
keeps flags/semaphores for different stages More... | |
std::string | optionsPrefix |
Prefix for options on command line. More... | |
PetscBool | initaliseAndBuildField |
PetscBool | initaliseAndBuildFiniteElements |
Static Protected Attributes | |
static bool | isGloballyInitialised = false |
Core base globally initialized. More... | |
static int | mpiInitialised |
mpi was initialised by other agent More... | |
static PetscBool | isInitialized |
petsc was initialised by other agent More... | |
Global initialisation and finalisation | |
static MoFEMErrorCode | Initialize (int *argc, char ***args, const char file[], const char help[]) |
Initializes the MoFEM database PETSc, MOAB and MPI. More... | |
static MoFEMErrorCode | Finalize () |
Checks for options to be called at the conclusion of the program. More... | |
Static functions | |
static void | setRefEntBasicDataPtr (MoFEM::Interface &m_field, boost::shared_ptr< BasicEntityData > &ptr) |
static boost::shared_ptr< RefEntityTmp< 0 > > | makeSharedRefEntity (MoFEM::Interface &m_field, const EntityHandle ent) |
Assessing interfaces | |
MoFEMErrorCode | query_interface (boost::typeindex::type_index type_index, UnknownInterface **iface) const |
Getting interface of core database. More... | |
Get tag handles to data on the mesh | |
Tag | get_th_RefParentHandle () const |
Tag | get_th_RefBitLevel () const |
Tag | get_th_RefBitEdge () const |
Auxiliary data and functions | |
enum | SemaphoresBuildMofem { BUILD_FIELD = 1 << 0, BUILD_FE = 1 << 1, BUILD_ADJ = 1 << 2, BUILD_PROBLEM = 1 << 3, PARTITION_PROBLEM = 1 << 4, PARTITION_FE = 1 << 5, PARTITION_GHOST_DOFS = 1 << 6, PARTITION_MESH = 1 << 7 } |
int & | getBuildMoFEM () const |
Get flags/semaphores for different stages. More... | |
MoFEMErrorCode | addPrismToDatabase (const EntityHandle prism, int verb=DEFAULT_VERBOSITY) |
add prim element More... | |
Tags to data on mesh and entities | |
Tag | th_Part |
Tag for partition number. More... | |
Tag | th_RefParentHandle |
Tag | th_RefBitLevel |
Tag | th_RefBitLevel_Mask |
Tag | th_RefBitEdge |
Tag | th_RefFEMeshset |
Tag | th_FieldId |
Tag | th_FieldName |
Tag | th_FieldName_DataNamePrefix |
Tag | th_FieldSpace |
Tag | th_FieldContinuity |
Tag | th_FieldBase |
Tag | th_FEId |
Tag | th_FEName |
Tag | th_FEIdCol |
Tag | th_FEIdRow |
Tag | th_FEIdData |
Tag | th_ProblemId |
Tag | th_ProblemName |
Tag | th_ProblemFEId |
Tag | th_ProblemNbDofsRow |
Tag | th_ProblemNbDofsCol |
Tag | th_ProblemLocalNbDofRow |
Tag | th_ProblemGhostNbDofRow |
Tag | th_ProblemLocalNbDofCol |
Tag | th_ProblemGhostNbDofCol |
Tag | th_ProblemShift |
Tag | th_ElemType |
Needed for VTK files. More... | |
Tag | th_MoFEMBuild |
boost::shared_ptr< BasicEntityData > | basicEntityDataPtr |
boost::shared_ptr< BasicEntityData > & | get_basic_entity_data_ptr () |
Get pointer to basic entity data. More... | |
Multi-Indices accessing data on the mesh | |
RefEntity_multiIndex | refinedEntities |
refined entities More... | |
RefElement_multiIndex | refinedFiniteElements |
refined elements More... | |
Field_multiIndex | fIelds |
fields More... | |
FieldEntity_multiIndex | entsFields |
entities on fields More... | |
DofEntity_multiIndex | dofsField |
dofs on fields More... | |
FiniteElement_multiIndex | finiteElements |
finite elements More... | |
EntFiniteElement_multiIndex | entsFiniteElements |
finite element entities More... | |
FieldEntityEntFiniteElementAdjacencyMap_multiIndex | entFEAdjacencies |
adjacencies of elements to dofs More... | |
Problem_multiIndex | pRoblems |
problems multi-index More... | |
Get moab database | |
std::reference_wrapper< moab::Interface > | moab |
moab database More... | |
moab::Interface & | get_moab () |
const moab::Interface & | get_moab () const |
MoFEMErrorCode | set_moab_interface (moab::Interface &new_moab, int verb=VERBOSE) |
Set the moab interface object. More... | |
MoFEMErrorCode | setMoabInterface (moab::Interface &new_moab, int verb=VERBOSE) |
Check database consistency | |
MoFEMErrorCode | check_number_of_ents_in_ents_field (const std::string &name) const |
check data consistency in entitiesPtr More... | |
MoFEMErrorCode | check_number_of_ents_in_ents_field () const |
check data consistency in entitiesPtr More... | |
MoFEMErrorCode | check_number_of_ents_in_ents_finite_element (const std::string &name) const |
check data consistency in entsFiniteElements More... | |
MoFEMErrorCode | check_number_of_ents_in_ents_finite_element () const |
check data consistency in entsFiniteElements More... | |
Clear database | |
MoFEMErrorCode | clear_database (int verb=DEFAULT_VERBOSITY) |
Clear database. More... | |
MoFEMErrorCode | rebuild_database (int verb=DEFAULT_VERBOSITY) |
Clear database and initialize it once again. More... | |
Getting access to meshset manager | |
MeshsetsManager * | get_meshsets_manager_ptr () |
get MeshsetsManager pointer More... | |
const MeshsetsManager * | get_meshsets_manager_ptr () const |
get MeshsetsManager pointer More... | |
MeshsetsManager & | get_meshsets_manager () |
get MeshsetsManager pointer More... | |
const MeshsetsManager & | get_meshsets_manager () const |
get MeshsetsManager pointer More... | |
Remove and delete entities | |
MoFEMErrorCode | remove_parents_by_ents (const Range &ents, int verb=DEFAULT_VERBOSITY) |
Remove parents from entities. More... | |
MoFEMErrorCode | remove_parents_by_bit_ref (const BitRefLevel bit, const BitRefLevel mask, int verb=DEFAULT_VERBOSITY) |
Remove parent from entities on bit level. More... | |
MoFEMErrorCode | remove_parents_by_parents (const Range &ents, int verb=DEFAULT_VERBOSITY) |
Remove paremts from entities having parents in passed range. More... | |
MoFEMErrorCode | remove_ents (const Range ents, int verb=DEFAULT_VERBOSITY) |
remove entities form mofem database More... | |
MoFEMErrorCode | remove_ents_by_bit_ref (const BitRefLevel bit, const BitRefLevel mask, int verb=DEFAULT_VERBOSITY) |
remove entities form mofem database More... | |
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) |
delete entities form mofem and moab database More... | |
Fields | |
virtual MoFEMErrorCode | add_broken_field (const std::string name, const FieldSpace space, const FieldApproximationBase base, const FieldCoefficientsNumber nb_coefficients, 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) |
Add field. More... | |
virtual MoFEMErrorCode | add_field (const std::string name, const FieldSpace space, const FieldApproximationBase base, const FieldCoefficientsNumber nb_coefficients, const TagType tag_type=MB_TAG_SPARSE, const enum MoFEMTypes bh=MF_EXCL, int verb=DEFAULT_VERBOSITY) |
Add field. More... | |
MoFEMErrorCode | delete_field (const std::string name, int verb=DEFAULT_VERBOSITY) |
Delete field. More... | |
MoFEMErrorCode | addField (const std::string &name, const FieldSpace space, const FieldContinuity continuity, const FieldApproximationBase base, const FieldCoefficientsNumber nb_coefficients, const TagType tag_type, const enum MoFEMTypes bh, int verb) |
Template for add_field. More... | |
MoFEMErrorCode | addEntsToFieldByDim (const Range &ents, const int dim, const std::string &name, int verb=DEFAULT_VERBOSITY) |
MoFEMErrorCode | add_ents_to_field_by_dim (const Range &ents, const int dim, const std::string &name, int verb=DEFAULT_VERBOSITY) |
Add entities to field meshset. More... | |
MoFEMErrorCode | add_ents_to_field_by_type (const Range &ents, const EntityType type, const std::string &name, int verb=DEFAULT_VERBOSITY) |
Add entities to field meshset. More... | |
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) |
Add entities to field meshset. More... | |
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) |
Add entities to field meshset. More... | |
MoFEMErrorCode | create_vertices_and_add_to_field (const std::string name, const double coords[], int size, int verb=DEFAULT_VERBOSITY) |
Create a vertices and add to field object. More... | |
Set approximation order | |
MoFEMErrorCode | setFieldOrder (const Range &ents, const BitFieldId id, const ApproximationOrder order, int ver) |
MoFEMErrorCode | setFieldOrderImpl (boost::shared_ptr< Field > field_ptr, const Range &ents, const ApproximationOrder order, int verb) |
MoFEMErrorCode | set_field_order (const Range &ents, const BitFieldId id, const ApproximationOrder order, int verb=DEFAULT_VERBOSITY) |
MoFEMErrorCode | set_field_order (const EntityHandle meshset, const EntityType type, const BitFieldId id, const ApproximationOrder order, int verb=DEFAULT_VERBOSITY) |
MoFEMErrorCode | set_field_order (const Range &ents, const std::string &name, const ApproximationOrder order, int verb=DEFAULT_VERBOSITY) |
Set order approximation of the entities in the field. More... | |
MoFEMErrorCode | set_field_order (const EntityHandle meshset, const EntityType type, const std::string &name, const ApproximationOrder order, int verb=DEFAULT_VERBOSITY) |
Set order approximation of the entities in the field. More... | |
MoFEMErrorCode | set_field_order_by_entity_type_and_bit_ref (const BitRefLevel &bit, const BitRefLevel &mask, const EntityType type, const BitFieldId id, const ApproximationOrder order, int verb=DEFAULT_VERBOSITY) |
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) |
Set order approximation of the entities in the field. More... | |
Build fields | |
MoFEMErrorCode | buildFieldForNoFieldImpl (boost::shared_ptr< Field > field_ptr, std::map< EntityType, int > &dof_counter, int verb) |
MoFEMErrorCode | buildFieldForNoField (const BitFieldId id, std::map< EntityType, int > &dof_counter, int verb=DEFAULT_VERBOSITY) |
MoFEMErrorCode | buildFieldForL2H1HcurlHdiv (const BitFieldId id, std::map< EntityType, int > &dof_counter, std::map< EntityType, int > &inactive_dof_counter, int verb=DEFAULT_VERBOSITY) |
MoFEMErrorCode | buildField (const boost::shared_ptr< Field > &field, int verb=DEFAULT_VERBOSITY) |
MoFEMErrorCode | build_fields (int verb=DEFAULT_VERBOSITY) |
MoFEMErrorCode | build_field (const std::string field_name, int verb=DEFAULT_VERBOSITY) |
build field by name More... | |
Clear DOFs | |
MoFEMErrorCode | clear_inactive_dofs (int verb=DEFAULT_VERBOSITY) |
MoFEMErrorCode | clear_dofs_fields_by_bit_ref (const BitRefLevel bit, const BitRefLevel mask, int verb=DEFAULT_VERBOSITY) |
MoFEMErrorCode | clear_dofs_fields (const Range ents, int verb=DEFAULT_VERBOSITY) |
MoFEMErrorCode | clear_dofs_fields (const std::string name, const Range ents, int verb=DEFAULT_VERBOSITY) |
Clear ENTs | |
MoFEMErrorCode | clear_ents_fields_by_bit_ref (const BitRefLevel bit, const BitRefLevel mask, int verb=DEFAULT_VERBOSITY) |
MoFEMErrorCode | clear_ents_fields (const Range ents, int verb=DEFAULT_VERBOSITY) |
MoFEMErrorCode | clear_ents_fields (const std::string name, const Range ents, int verb=DEFAULT_VERBOSITY) |
Remove field entities | |
MoFEMErrorCode | remove_ents_from_field_by_bit_ref (const BitRefLevel bit, const BitRefLevel mask, int verb=DEFAULT_VERBOSITY) |
remove entities from field More... | |
MoFEMErrorCode | remove_ents_from_field (const std::string name, const EntityHandle meshset, const EntityType type, int verb=DEFAULT_VERBOSITY) |
remove entities from field More... | |
MoFEMErrorCode | remove_ents_from_field (const std::string name, const Range ents, int verb=DEFAULT_VERBOSITY) |
remove entities from field More... | |
MoFEMErrorCode | remove_ents_from_field (const Range ents, int verb=DEFAULT_VERBOSITY) |
remove entities from all fields More... | |
Other auxiliary functions for fields | |
MoFEMErrorCode | list_dofs_by_field_name (const std::string &name) const |
MoFEMErrorCode | list_fields () const |
list entities in the field More... | |
BitFieldId | get_field_id (const std::string &name) const |
Get field Id. More... | |
FieldBitNumber | get_field_bit_number (const std::string name) const |
get field bit number More... | |
std::string | get_field_name (const BitFieldId id) const |
get field name from id More... | |
EntityHandle | get_field_meshset (const BitFieldId id) const |
EntityHandle | get_field_meshset (const std::string name) const |
get field meshset More... | |
MoFEMErrorCode | get_field_entities_by_dimension (const std::string name, int dim, Range &ents) const |
get entities in the field by dimension More... | |
MoFEMErrorCode | get_field_entities_by_type (const std::string name, EntityType type, Range &ents) const |
get entities in the field by type More... | |
MoFEMErrorCode | get_field_entities_by_handle (const std::string name, Range &ents) const |
get entities in the field by handle More... | |
bool | check_field (const std::string &name) const |
check if field is in database More... | |
const Field * | get_field_structure (const std::string &name, enum MoFEMTypes bh=MF_EXIST) const |
get field structure More... | |
Finite elements | |
const FiniteElement * | get_finite_element_structure (const std::string &name, enum MoFEMTypes bh=MF_EXCL) const |
get finite element struture More... | |
bool | check_finite_element (const std::string &name) const |
Check if finite element is in database. More... | |
MoFEMErrorCode | add_finite_element (const std::string &fe_name, enum MoFEMTypes bh=MF_EXCL, int verb=DEFAULT_VERBOSITY) |
add finite element More... | |
MoFEMErrorCode | modify_finite_element_adjacency_table (const std::string &fe_name, const EntityType type, ElementAdjacencyFunct function) |
modify finite element table, only for advanced user More... | |
MoFEMErrorCode | modify_finite_element_add_field_data (const std::string &fe_name, const std::string name_filed) |
set finite element field data More... | |
MoFEMErrorCode | modify_finite_element_add_field_row (const std::string &fe_name, const std::string name_row) |
set field row which finite element use More... | |
MoFEMErrorCode | modify_finite_element_add_field_col (const std::string &fe_name, const std::string name_col) |
set field col which finite element use More... | |
MoFEMErrorCode | modify_finite_element_off_field_data (const std::string &fe_name, const std::string name_filed) |
unset finite element field data More... | |
MoFEMErrorCode | modify_finite_element_off_field_row (const std::string &fe_name, const std::string name_row) |
unset field row which finite element use More... | |
MoFEMErrorCode | modify_finite_element_off_field_col (const std::string &fe_name, const std::string name_col) |
unset field col which finite element use More... | |
MoFEMErrorCode | add_ents_to_finite_element_by_type (const EntityHandle meshset, const EntityType type, const std::string &name, const bool recursive=true) |
add entities to finite element More... | |
MoFEMErrorCode | add_ents_to_finite_element_by_dim (const EntityHandle meshset, const int dim, const std::string &name, const bool recursive=true) |
add entities to finite element More... | |
MoFEMErrorCode | add_ents_to_finite_element_by_type (const Range &ents, const EntityType type, const std::string &name) |
add entities to finite elements More... | |
MoFEMErrorCode | add_ents_to_finite_element_by_dim (const Range &ents, const int dim, const std::string &name) |
add entities to finite elements More... | |
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) |
add TET entities from given refinement level to finite element database given by name More... | |
MoFEMErrorCode | add_ents_to_finite_element_by_MESHSET (const EntityHandle meshset, const std::string &name, const bool recursive=false) |
add MESHSET element to finite element database given by name More... | |
DEPRECATED MoFEMErrorCode | add_ents_to_finite_element_EntType_by_bit_ref (const BitRefLevel &bit, const std::string &name, EntityType type, int verb=DEFAULT_VERBOSITY) |
DEPRECATED MoFEMErrorCode | add_ents_to_finite_element_EntType_by_bit_ref (const BitRefLevel &bit, const BitRefLevel &mask, const std::string &name, EntityType type, int verb=DEFAULT_VERBOSITY) |
MoFEMErrorCode | remove_ents_from_finite_element_by_bit_ref (const BitRefLevel bit, const BitRefLevel mask, int verb=DEFAULT_VERBOSITY) |
remove elements from given refinement level to finite element database More... | |
MoFEMErrorCode | remove_ents_from_finite_element (const std::string name, const EntityHandle meshset, const EntityType type, int verb=DEFAULT_VERBOSITY) |
remove entities from given refinement level to finite element database More... | |
MoFEMErrorCode | remove_ents_from_finite_element (const std::string name, const Range ents, int verb=DEFAULT_VERBOSITY) |
remove entities from finite element database More... | |
MoFEMErrorCode | remove_ents_from_finite_element (const Range ents, int verb=DEFAULT_VERBOSITY) |
remove entities from finite elements in database More... | |
MoFEMErrorCode | delete_finite_element (const std::string name, int verb=DEFAULT_VERBOSITY) |
delete finite element from mofem database More... | |
BitFEId | getBitFEId (const std::string &fe_name) const |
Get field Id. More... | |
std::string | getBitFEIdName (const BitFEId id) const |
Get field name. More... | |
EntityHandle | get_finite_element_meshset (const BitFEId id) const |
EntityHandle | get_finite_element_meshset (const std::string name) const |
MoFEMErrorCode | get_finite_element_entities_by_dimension (const std::string name, int dim, Range &ents) const |
get entities in the finite element by dimension More... | |
MoFEMErrorCode | get_finite_element_entities_by_type (const std::string name, EntityType type, Range &ents) const |
get entities in the finite element by type More... | |
MoFEMErrorCode | get_finite_element_entities_by_handle (const std::string name, Range &ents) const |
get entities in the finite element by handle More... | |
MoFEMErrorCode | list_finite_elements () const |
list finite elements in database More... | |
Problems | |
MoFEMErrorCode | add_problem (const std::string &name, enum MoFEMTypes bh=MF_EXCL, int verb=DEFAULT_VERBOSITY) |
Add problem. More... | |
bool | check_problem (const std::string name) |
check if problem exist More... | |
MoFEMErrorCode | delete_problem (const std::string name) |
Delete problem. More... | |
MoFEMErrorCode | modify_problem_add_finite_element (const std::string name_problem, const std::string &fe_name) |
add finite element to problem, this add entities assigned to finite element to a particular problem More... | |
MoFEMErrorCode | modify_problem_unset_finite_element (const std::string name_problem, const std::string &fe_name) |
unset finite element from problem, this remove entities assigned to finite element to a particular problem More... | |
MoFEMErrorCode | modify_problem_ref_level_add_bit (const std::string &name_problem, const BitRefLevel &bit) |
add ref level to problem More... | |
MoFEMErrorCode | modify_problem_ref_level_set_bit (const std::string &name_problem, const BitRefLevel &bit) |
set ref level for problem More... | |
MoFEMErrorCode | modify_problem_mask_ref_level_add_bit (const std::string &name_problem, const BitRefLevel &bit) |
set dof mask ref level for problem More... | |
MoFEMErrorCode | modify_problem_mask_ref_level_set_bit (const std::string &name_problem, const BitRefLevel &bit) |
set dof mask ref level for problem More... | |
BitProblemId | getBitProblemId (const std::string &name) const |
MoFEMErrorCode | list_problem () const |
list problems More... | |
MoFEMErrorCode | clear_problem (const std::string name, int verb=DEFAULT_VERBOSITY) |
clear problem More... | |
MoFEMErrorCode | clear_problems (int verb=DEFAULT_VERBOSITY) |
clear problems More... | |
MoFEMErrorCode | build_finite_elements (int verb=DEFAULT_VERBOSITY) |
Build finite elements. More... | |
MoFEMErrorCode | build_finite_elements (const BitRefLevel &bit, int verb=DEFAULT_VERBOSITY) |
MoFEMErrorCode | build_finite_elements (const string fe_name, const Range *const ents_ptr=nullptr, int verb=DEFAULT_VERBOSITY) |
Build finite elements. More... | |
MoFEMErrorCode | buildFiniteElements (const boost::shared_ptr< FiniteElement > &fe, const Range *ents_ptr=NULL, int verb=DEFAULT_VERBOSITY) |
MoFEMErrorCode | clear_finite_elements_by_bit_ref (const BitRefLevel bit, const BitRefLevel mask, int verb=DEFAULT_VERBOSITY) |
MoFEMErrorCode | clear_finite_elements (const Range &ents, int verb=DEFAULT_VERBOSITY) |
MoFEMErrorCode | clear_finite_elements (const std::string &fe_name, const Range &ents, int verb=DEFAULT_VERBOSITY) |
MoFEMErrorCode | get_problem_finite_elements_entities (const std::string name, const std::string &fe_name, const EntityHandle meshset) |
add finite elements to the meshset More... | |
DEPRECATED MoFEMErrorCode | build_problem_on_distributed_mesh (int verb=DEFAULT_VERBOSITY) |
DEPRECATED MoFEMErrorCode | build_problems (int verb=DEFAULT_VERBOSITY) |
Methods for preforming operations on elements | |
MoFEMErrorCode | problem_basic_method_preProcess (const Problem *problem_ptr, BasicMethod &method, int verb=DEFAULT_VERBOSITY) |
Set data for BasicMethod. More... | |
MoFEMErrorCode | problem_basic_method_preProcess (const std::string &problem_name, BasicMethod &method, int verb=DEFAULT_VERBOSITY) |
Set data for BasicMethod. More... | |
MoFEMErrorCode | problem_basic_method_postProcess (const Problem *problem_ptr, BasicMethod &method, int verb=DEFAULT_VERBOSITY) |
Set data for BasicMethod. More... | |
MoFEMErrorCode | problem_basic_method_postProcess (const std::string &problem_name, BasicMethod &method, int verb=DEFAULT_VERBOSITY) |
Set data for BasicMethod. More... | |
MoFEMErrorCode | cache_problem_entities (const std::string prb_name, CacheTupleWeakPtr cache_ptr) |
Cache variables. More... | |
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) |
Make a loop over finite elements on partitions from upper to lower rank. More... | |
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) |
Make a loop over finite elements on partitions from upper to lower rank. More... | |
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) |
Make a loop over finite elements. More... | |
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) |
Make a loop over dofs. More... | |
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) |
Make a loop over dofs. More... | |
MoFEMErrorCode | loop_dofs (const std::string &problem_name, const std::string &field_name, RowColData rc, DofMethod &method, int verb=DEFAULT_VERBOSITY) |
Make a loop over dofs. More... | |
MoFEMErrorCode | loop_dofs (const std::string &field_name, DofMethod &method, int verb=DEFAULT_VERBOSITY) |
Make a loop over dofs. More... | |
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) |
Loop over field entities in the problem. More... | |
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) |
Loop over field entities in the problem. More... | |
MoFEMErrorCode | loop_entities (const std::string problem_name, const std::string field_name, RowColData rc, EntityMethod &method, int verb=DEFAULT_VERBOSITY) |
Loop over field entities in the problem. More... | |
MoFEMErrorCode | loop_entities (const std::string field_name, EntityMethod &method, Range const *const ents=nullptr, int verb=DEFAULT_VERBOSITY) |
Loop over field entities. More... | |
Accessing multi-indices | |
MoFEMErrorCode | get_fields (const Field_multiIndex **fields_ptr) const |
Get fields multi-index from database. More... | |
MoFEMErrorCode | get_ref_ents (const RefEntity_multiIndex **refined_entities_ptr) const |
Get ref entities multi-index from database. More... | |
MoFEMErrorCode | get_ref_finite_elements (const RefElement_multiIndex **refined_finite_elements_ptr) const |
Get ref finite elements multi-index form database. More... | |
MoFEMErrorCode | get_finite_elements (const FiniteElement_multiIndex **fe_ptr) const |
Get finite elements multi-index. More... | |
MoFEMErrorCode | get_ents_finite_elements (const EntFiniteElement_multiIndex **fe_ent_ptr) const |
Get entities finite elements multi-index. More... | |
MoFEMErrorCode | get_field_ents (const FieldEntity_multiIndex **field_ents) const |
Get field multi index. More... | |
MoFEMErrorCode | get_dofs (const DofEntity_multiIndex **dofs_ptr) const |
Get dofs multi index. More... | |
MoFEMErrorCode | get_problem (const std::string &problem_name, const Problem **problem_ptr) const |
Get problem database (data structure) More... | |
MoFEMErrorCode | get_problems (const Problem_multiIndex **problems_ptr) const |
Get pointer to problems multi-index. More... | |
MoFEMErrorCode | get_ents_elements_adjacency (const FieldEntityEntFiniteElementAdjacencyMap_multiIndex **dofs_elements_adjacency) const |
Get the dofs elements adjacency object. More... | |
const Field_multiIndex * | get_fields () const |
Get the fields object. More... | |
const RefEntity_multiIndex * | get_ref_ents () const |
Get the ref ents object. More... | |
const RefElement_multiIndex * | get_ref_finite_elements () const |
Get the ref finite elements object. More... | |
const FiniteElement_multiIndex * | get_finite_elements () const |
Get the finite elements object. More... | |
const EntFiniteElement_multiIndex * | get_ents_finite_elements () const |
Get the ents finite elements object. More... | |
const FieldEntity_multiIndex * | get_field_ents () const |
Get the field ents object. More... | |
const DofEntity_multiIndex * | get_dofs () const |
Get the dofs object. More... | |
const Problem * | get_problem (const std::string problem_name) const |
Get the problem object. More... | |
const Problem_multiIndex * | get_problems () const |
Get the problems object. More... | |
const FieldEntityEntFiniteElementAdjacencyMap_multiIndex * | get_ents_elements_adjacency () const |
Get the dofs elements adjacency object. More... | |
FieldEntityByUId::iterator | get_ent_field_by_name_begin (const std::string &field_name) const |
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... | |
FieldEntityByUId::iterator | get_ent_field_by_name_end (const std::string &field_name) const |
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... | |
DofEntityByUId::iterator | get_dofs_by_name_begin (const std::string &field_name) const |
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... | |
DofEntityByUId::iterator | get_dofs_by_name_end (const std::string &field_name) const |
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... | |
DofEntityByUId::iterator | get_dofs_by_name_and_ent_begin (const std::string &field_name, const EntityHandle ent) const |
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... | |
DofEntityByUId::iterator | get_dofs_by_name_and_ent_end (const std::string &field_name, const EntityHandle ent) const |
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... | |
DofEntityByUId::iterator | get_dofs_by_name_and_type_begin (const std::string &field_name, const EntityType type) const |
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... | |
DofEntityByUId::iterator | get_dofs_by_name_and_type_end (const std::string &field_name, const EntityType ent) const |
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... | |
EntFiniteElement_multiIndex::index< Unique_mi_tag >::type::iterator | get_fe_by_name_begin (const std::string &fe_name) const |
get begin iterator of finite elements of given name (instead you can use IT_GET_FES_BY_NAME_FOR_LOOP(MFIELD,NAME,IT) More... | |
EntFiniteElement_multiIndex::index< Unique_mi_tag >::type::iterator | get_fe_by_name_end (const std::string &fe_name) const |
get end iterator of finite elements of given name (instead you can use IT_GET_FES_BY_NAME_FOR_LOOP(MFIELD,NAME,IT) More... | |
Log events | |
PetscLogEvent | MOFEM_EVENT_preProcess |
Event for preProcess finite element. More... | |
PetscLogEvent | MOFEM_EVENT_operator |
Event for evaluating operator of finite element. More... | |
PetscLogEvent | MOFEM_EVENT_postProcess |
Event for postProcess finite element. More... | |
PetscLogEvent | MOFEM_EVENT_createMat |
Communicator | |
MPI_Comm | mofemComm |
MoFEM communicator. More... | |
ParallelComm * | pComm |
MOAB communicator structure. More... | |
int | sIze |
MoFEM communicator size. More... | |
int | rAnk |
MOFEM communicator rank. More... | |
MPI_Comm & | get_comm () const |
int | get_comm_size () const |
int | get_comm_rank () const |
Additional Inherited Members | |
Static Public Member Functions inherited from MoFEM::UnknownInterface | |
static MoFEMErrorCode | getLibVersion (Version &version) |
Get library version. More... | |
static MoFEMErrorCode | getFileVersion (moab::Interface &moab, Version &version) |
Get database major version. More... | |
static MoFEMErrorCode | setFileVersion (moab::Interface &moab, Version version=Version(MoFEM_VERSION_MAJOR, MoFEM_VERSION_MINOR, MoFEM_VERSION_BUILD)) |
Get database major version. More... | |
static MoFEMErrorCode | getInterfaceVersion (Version &version) |
Get database major version. More... | |
Core (interface) class.
This is the implementation of abstract MoFEM::Interface class. Similarly to the convention used in MoAB, we use small letters to name function of purely abstract classes. This is an exception used only here. For more details about naming functions see Coding practice
This class is not used directly by the user. For internal use only. It is database with basic functions to access data. Abstraction of this is MoFEM Interface structure.
Such deign to hide complexities for users and allow low development without interfering with users modules programmer work.
enum MoFEM::CoreTmp< 0 >::SemaphoresBuildMofem |
MoFEM::Core::CoreTmp | ( | moab::Interface & | moab, |
MPI_Comm | comm = PETSC_COMM_WORLD , |
||
const int | verbose = VERBOSE |
||
) |
|
protected |
Construct core database
moab | MoAB interface |
comm | MPI communicator |
Definition at line 32 of file CoreTemplates.hpp.
|
protectedvirtual |
Add field.
name | Field name |
space | Space L2,H1,Hdiv,Hcurl |
continuity | Field continuity (you can set broken space) |
base | Approximation base AINSWORTH_LEGENDRE_BASE, AINSWORTH_BERNSTEIN_BEZIER_BASE ... |
nb_coefficients | Number of field coefficients @param type_dof_side_map Map of entity type to function returning DofsSideMap |
tag_type | Tag type, MB_TAG_DENSE or MB_TAG_SPARSE (default) |
bh | Control behavior, if MF_EXCL throws error if exist |
verb | Verbosity level |
TODO:
FIXME:
Definition at line 281 of file FieldCore.cpp.
|
protectedvirtual |
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 |
Implements MoFEM::CoreInterface.
Definition at line 437 of file FieldCore.cpp.
|
protectedvirtual |
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 |
Implements MoFEM::CoreInterface.
Definition at line 413 of file FieldCore.cpp.
|
protectedvirtual |
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 |
Implements MoFEM::CoreInterface.
Definition at line 449 of file FieldCore.cpp.
|
protectedvirtual |
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 |
Implements MoFEM::CoreInterface.
Definition at line 423 of file FieldCore.cpp.
|
protectedvirtual |
add TET entities from given refinement level to finite element database given by name
BitRefLevel | bit |
BitRefLevel | mask |
finite | element name |
finite | element type |
verbose | level |
Implements MoFEM::CoreInterface.
Definition at line 405 of file FECore.cpp.
|
protectedvirtual |
add entities to finite element
entities | meshset or range form were entities taken |
dim | dimension |
name | name of field |
recursive | take entities from meshsets in meshset |
Implements MoFEM::CoreInterface.
Definition at line 346 of file FECore.cpp.
|
protectedvirtual |
add entities to finite elements
ents | range of entities |
dim | dimension of entities |
name | name of finite element |
Implements MoFEM::CoreInterface.
Definition at line 373 of file FECore.cpp.
|
protectedvirtual |
add MESHSET element to finite element database given by name
meshset | contains all entities that could be used for finite element |
name | Finite Element name |
Implements MoFEM::CoreInterface.
Definition at line 441 of file FECore.cpp.
|
protectedvirtual |
add entities to finite element
entities | meshset or range form were entities taken |
type | type of entity |
name | name of field |
recursive | take entities from meshsets in meshset |
Implements MoFEM::CoreInterface.
Definition at line 329 of file FECore.cpp.
|
protectedvirtual |
add entities to finite elements
ents | range of entities |
type | type of entity (MBVERTEX, MBEDGE, MBTRI, ...) |
name | name of finite element |
Implements MoFEM::CoreInterface.
Definition at line 360 of file FECore.cpp.
|
protected |
Definition at line 396 of file FECore.cpp.
|
protected |
Definition at line 386 of file FECore.cpp.
|
protectedvirtual |
Add field.
name | Field name |
space | Space L2,H1,Hdiv,Hcurl |
continuity | Field continuity (you can set broken space) |
base | Approximation base AINSWORTH_LEGENDRE_BASE, AINSWORTH_BERNSTEIN_BEZIER_BASE ... |
nb_coefficients | Number of field coefficients |
tag_type | Tag type, MB_TAG_DENSE or MB_TAG_SPARSE (default) |
bh | Control behavior, if MF_EXCL throws error if exist |
verb | Verbosity level |
TODO:
FIXME:
Implements MoFEM::CoreInterface.
Definition at line 312 of file FieldCore.cpp.
|
protectedvirtual |
add finite element
name | finite element name |
Implements MoFEM::CoreInterface.
Definition at line 43 of file FECore.cpp.
|
protectedvirtual |
Add problem.
Implements MoFEM::CoreInterface.
Definition at line 84 of file ProblemsCore.cpp.
|
protected |
Definition at line 321 of file FieldCore.cpp.
|
protected |
Template for add_field.
CoreN |
name | |
space | |
continuity | |
base | |
nb_coefficients | |
tag_type | |
bh | |
verb |
Definition at line 108 of file FieldCore.cpp.
MoFEMErrorCode MoFEM::Core::addPrismToDatabase | ( | const EntityHandle | prism, |
int | verb = DEFAULT_VERBOSITY |
||
) |
|
protected |
add problem
id | problem id |
name | problem name |
verb | verbosity level |
Definition at line 27 of file ProblemsCore.cpp.
|
protectedvirtual |
build adjacencies
bit | adjacencies for refine level |
mask | mask 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.
Implements MoFEM::CoreInterface.
Definition at line 814 of file FECore.cpp.
|
protectedvirtual |
build adjacencies
bit | adjacencies 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.
Implements MoFEM::CoreInterface.
Definition at line 826 of file FECore.cpp.
|
protectedvirtual |
build adjacencies
list | of 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.
Implements MoFEM::CoreInterface.
Definition at line 742 of file FECore.cpp.
|
protectedvirtual |
build field by name
field_name | |
verb | m |
Implements MoFEM::CoreInterface.
Definition at line 1302 of file FieldCore.cpp.
|
protectedvirtual |
|
protected |
Definition at line 705 of file FECore.cpp.
|
protectedvirtual |
Build finite elements.
Build finite element data structures. Have to be run before problem and adjacencies are constructed.
fe_name | Name of finite element |
ents_ptr | Pointer to range of finite elements |
verb | Verbosity level |
Implements MoFEM::CoreInterface.
Definition at line 711 of file FECore.cpp.
|
protectedvirtual |
Build finite elements.
Build finite element data structures. Have to be run before problem and adjacencies are constructed.
verb | Verbosity level |
Implements MoFEM::CoreInterface.
Definition at line 655 of file FECore.cpp.
|
protected |
Definition at line 257 of file ProblemsCore.cpp.
|
protected |
Definition at line 317 of file ProblemsCore.cpp.
|
protected |
Definition at line 1253 of file FieldCore.cpp.
|
protected |
Definition at line 1141 of file FieldCore.cpp.
|
protected |
Definition at line 1118 of file FieldCore.cpp.
|
protected |
Definition at line 1013 of file FieldCore.cpp.
|
protected |
Definition at line 459 of file FECore.cpp.
|
protectedvirtual |
Cache variables.
prb_name | |
cache_ptr |
Implements MoFEM::CoreInterface.
Definition at line 798 of file ProblemsCore.cpp.
|
protectedvirtual |
check if field is in database
name | field name |
Implements MoFEM::CoreInterface.
Definition at line 57 of file FieldCore.cpp.
|
protectedvirtual |
Check if finite element is in database.
name | Name of finite element |
Implements MoFEM::CoreInterface.
Definition at line 35 of file FECore.cpp.
|
protectedvirtual |
check data consistency in entitiesPtr
Implements MoFEM::CoreInterface.
Definition at line 1434 of file FieldCore.cpp.
|
protectedvirtual |
check data consistency in entitiesPtr
Implements MoFEM::CoreInterface.
Definition at line 1406 of file FieldCore.cpp.
|
protectedvirtual |
check data consistency in entsFiniteElements
Implements MoFEM::CoreInterface.
Definition at line 885 of file FECore.cpp.
|
protectedvirtual |
check data consistency in entsFiniteElements
Implements MoFEM::CoreInterface.
Definition at line 858 of file FECore.cpp.
|
protectedvirtual |
check if problem exist
name | problem name |
Implements MoFEM::CoreInterface.
|
protectedvirtual |
clear adjacency map for entities on given bit level
bit | |
mask |
Implements MoFEM::CoreInterface.
Definition at line 201 of file DeleteCore.cpp.
|
protectedvirtual |
clear adjacencies for field entities by entities
Implements MoFEM::CoreInterface.
Definition at line 213 of file DeleteCore.cpp.
|
protectedvirtual |
clear adjacencies for field entities by entities and field namd
Implements MoFEM::CoreInterface.
Definition at line 231 of file DeleteCore.cpp.
|
protectedvirtual |
clear adjacency map for finite elements on given bit level
bit | |
mask |
Implements MoFEM::CoreInterface.
Definition at line 312 of file DeleteCore.cpp.
|
protected |
Definition at line 322 of file DeleteCore.cpp.
|
protected |
Definition at line 341 of file DeleteCore.cpp.
|
protectedvirtual |
Clear database.
verb | Verbosity level |
Implements MoFEM::CoreInterface.
Definition at line 728 of file Core.cpp.
|
protectedvirtual |
|
protectedvirtual |
Clear dofs by field name and ents
Implements MoFEM::CoreInterface.
Definition at line 78 of file DeleteCore.cpp.
|
protectedvirtual |
Clear dofs by bit level
Implements MoFEM::CoreInterface.
Definition at line 45 of file DeleteCore.cpp.
|
protectedvirtual |
Clear entities by field name
Implements MoFEM::CoreInterface.
Definition at line 113 of file DeleteCore.cpp.
|
protectedvirtual |
Clear entities by field name
Implements MoFEM::CoreInterface.
Definition at line 131 of file DeleteCore.cpp.
|
protectedvirtual |
Clear ents by bit level
Implements MoFEM::CoreInterface.
Definition at line 99 of file DeleteCore.cpp.
|
protectedvirtual |
clear finite elements
Implements MoFEM::CoreInterface.
Definition at line 273 of file DeleteCore.cpp.
|
protectedvirtual |
clear finite elements
Implements MoFEM::CoreInterface.
Definition at line 290 of file DeleteCore.cpp.
|
protectedvirtual |
clear finite elements
Implements MoFEM::CoreInterface.
Definition at line 261 of file DeleteCore.cpp.
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
|
protected |
|
protected |
|
protectedvirtual |
Create a vertices and add to field object.
Create vertices and add them to field. Those vertices would be carring DOFs of the field.
name | name of the field |
bit | bit ref level of the created vertices |
coords | of the vertices |
size | number of vertices |
verb | verbosity level |
Implements MoFEM::CoreInterface.
Definition at line 464 of file FieldCore.cpp.
|
protectedvirtual |
delete entities form mofem and moab database
Implements MoFEM::CoreInterface.
Definition at line 535 of file DeleteCore.cpp.
|
protectedvirtual |
Delete field.
name | field name |
verb | verbosity level |
Implements MoFEM::CoreInterface.
Definition at line 609 of file DeleteCore.cpp.
|
protectedvirtual |
delete finite element from mofem database
Implements MoFEM::CoreInterface.
Definition at line 592 of file DeleteCore.cpp.
|
protectedvirtual |
Delete problem.
Implements MoFEM::CoreInterface.
Definition at line 108 of file ProblemsCore.cpp.
|
static |
Checks for options to be called at the conclusion of the program.
MPI_Finalize() is called only if the user had not called MPI_Init() before calling Initialize.
Definition at line 112 of file Core.cpp.
|
inlineprotectedvirtual |
Get pointer to basic entity data.
This structure keeps data like tags handlers and other data used to construct mofem entities, dofs and finite elements.
Implements MoFEM::CoreInterface.
|
inlineprotectedvirtual |
Implements MoFEM::CoreInterface.
Definition at line 1021 of file Core.hpp.
|
inlineprotectedvirtual |
Implements MoFEM::CoreInterface.
Definition at line 1031 of file Core.hpp.
|
inlineprotectedvirtual |
Implements MoFEM::CoreInterface.
Definition at line 1026 of file Core.hpp.
|
protectedvirtual |
Get the dofs object.
Implements MoFEM::CoreInterface.
Definition at line 890 of file Core.cpp.
|
protectedvirtual |
Get dofs multi index.
Implements MoFEM::CoreInterface.
|
protectedvirtual |
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 |
Implements MoFEM::CoreInterface.
Definition at line 1378 of file FieldCore.cpp.
|
protectedvirtual |
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 |
Implements MoFEM::CoreInterface.
Definition at line 1385 of file FieldCore.cpp.
|
protectedvirtual |
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 |
Implements MoFEM::CoreInterface.
Definition at line 1392 of file FieldCore.cpp.
|
protectedvirtual |
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)) { ... }
field_name |
Implements MoFEM::CoreInterface.
Definition at line 1399 of file FieldCore.cpp.
|
protectedvirtual |
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 |
Implements MoFEM::CoreInterface.
Definition at line 1368 of file FieldCore.cpp.
|
protectedvirtual |
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 |
Implements MoFEM::CoreInterface.
Definition at line 1373 of file FieldCore.cpp.
|
protectedvirtual |
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 |
Implements MoFEM::CoreInterface.
Definition at line 1358 of file FieldCore.cpp.
|
protectedvirtual |
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)) { ... }
field_name |
Implements MoFEM::CoreInterface.
Definition at line 1363 of file FieldCore.cpp.
|
protectedvirtual |
Get the dofs elements adjacency object.
Implements MoFEM::CoreInterface.
|
protectedvirtual |
Get the dofs elements adjacency object.
dofs_elements_adjacency |
Implements MoFEM::CoreInterface.
Definition at line 861 of file Core.cpp.
|
protectedvirtual |
Get the ents finite elements object.
Implements MoFEM::CoreInterface.
|
protectedvirtual |
Get entities finite elements multi-index.
Implements MoFEM::CoreInterface.
Definition at line 842 of file Core.cpp.
|
protectedvirtual |
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)) { ... }
fe_name |
Implements MoFEM::CoreInterface.
Definition at line 836 of file FECore.cpp.
|
protectedvirtual |
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)) { ... }
fe_name |
Implements MoFEM::CoreInterface.
Definition at line 847 of file FECore.cpp.
|
protectedvirtual |
get field bit number
name | of field Example: auto field_number = mField.get_field_bit_number("DISPLACEMENT");
|
Implements MoFEM::CoreInterface.
Definition at line 28 of file FieldCore.cpp.
|
protectedvirtual |
get entities in the field by dimension
name | field name |
dim | dim |
ents | ents |
Implements MoFEM::CoreInterface.
Definition at line 81 of file FieldCore.cpp.
|
protectedvirtual |
get entities in the field by handle
name | field name |
ents | ents |
Implements MoFEM::CoreInterface.
Definition at line 100 of file FieldCore.cpp.
|
protectedvirtual |
get entities in the field by type
name | field name |
type | entity type |
ents | ents |
Implements MoFEM::CoreInterface.
Definition at line 91 of file FieldCore.cpp.
|
protectedvirtual |
|
protectedvirtual |
|
protectedvirtual |
Get field Id.
name | of field |
Implements MoFEM::CoreInterface.
Definition at line 18 of file FieldCore.cpp.
|
protected |
Definition at line 45 of file FieldCore.cpp.
|
protectedvirtual |
get field meshset
name | of Field Example: EntityHandle disp_files_meshset = mField.get_field_meshset("DISPLACEMENT");
|
Implements MoFEM::CoreInterface.
Definition at line 53 of file FieldCore.cpp.
|
protectedvirtual |
get field name from id
id |
Implements MoFEM::CoreInterface.
Definition at line 37 of file FieldCore.cpp.
|
protectedvirtual |
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 |
bh | controls behaviour |
Implements MoFEM::CoreInterface.
Definition at line 65 of file FieldCore.cpp.
|
protectedvirtual |
Get the fields object.
Implements MoFEM::CoreInterface.
Definition at line 874 of file Core.cpp.
|
protectedvirtual |
Get fields multi-index from database.
Implements MoFEM::CoreInterface.
|
protectedvirtual |
get entities in the finite element by dimension
name | finite element name |
dim | dim |
ents | ents |
Implements MoFEM::CoreInterface.
Definition at line 286 of file FECore.cpp.
|
protectedvirtual |
get entities in the finite element by handle
name | finite element name |
ents | ents |
Implements MoFEM::CoreInterface.
Definition at line 309 of file FECore.cpp.
|
protectedvirtual |
get entities in the finite element by type
name | finite element name |
type | entity type |
ents | ents |
Implements MoFEM::CoreInterface.
Definition at line 296 of file FECore.cpp.
|
protected |
Definition at line 273 of file FECore.cpp.
|
protectedvirtual |
get finite element meshset
Implements MoFEM::CoreInterface.
Definition at line 281 of file FECore.cpp.
|
protectedvirtual |
get finite element struture
If finite element is not found throw error if bh == MF_EXIST, or return nullptr if bh == MF_ZERO, i.e. otherwise
name | |
bh |
Implements MoFEM::CoreInterface.
Definition at line 18 of file FECore.cpp.
|
protectedvirtual |
Get the finite elements object.
Implements MoFEM::CoreInterface.
|
protectedvirtual |
Get finite elements multi-index.
Implements MoFEM::CoreInterface.
Definition at line 836 of file Core.cpp.
|
inlineprotectedvirtual |
get MeshsetsManager pointer
Implements MoFEM::CoreInterface.
|
inlineprotectedvirtual |
get MeshsetsManager pointer
Implements MoFEM::CoreInterface.
|
protectedvirtual |
get MeshsetsManager pointer
Implements MoFEM::CoreInterface.
Definition at line 849 of file Core.cpp.
|
protectedvirtual |
get MeshsetsManager pointer
Implements MoFEM::CoreInterface.
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
get moab instance interface
Implements MoFEM::CoreInterface.
Definition at line 323 of file Core.hpp.
|
protectedvirtual |
Get problem database (data structure)
Implements MoFEM::CoreInterface.
Definition at line 801 of file Core.cpp.
|
protectedvirtual |
Get the problem object.
problem_name |
Implements MoFEM::CoreInterface.
Definition at line 891 of file Core.cpp.
|
protectedvirtual |
add finite elements to the meshset
name | is problem name |
fe_name | |
meshset |
Implements MoFEM::CoreInterface.
Definition at line 911 of file FECore.cpp.
|
protectedvirtual |
Get the problems object.
Implements MoFEM::CoreInterface.
Definition at line 897 of file Core.cpp.
|
protectedvirtual |
Get pointer to problems multi-index.
Implements MoFEM::CoreInterface.
Definition at line 817 of file Core.cpp.
|
protectedvirtual |
|
protectedvirtual |
Get ref entities multi-index from database.
Implements MoFEM::CoreInterface.
Definition at line 789 of file Core.cpp.
|
protectedvirtual |
Get the ref finite elements object.
Implements MoFEM::CoreInterface.
|
protectedvirtual |
Get ref finite elements multi-index form database.
Implements MoFEM::CoreInterface.
Definition at line 794 of file Core.cpp.
|
inline |
|
inline |
|
inline |
|
protected |
|
protected |
|
protected |
Definition at line 121 of file ProblemsCore.cpp.
|
inline |
|
protected |
|
protected |
Return unique problem Id.
Each time this function is called, it gives new unit problem Id for bit.
|
inline |
|
protected |
|
inlinevirtual |
Get the core.
Implements MoFEM::CoreInterface.
Reimplemented in MoFEM::CoreTmp<-1 >.
Definition at line 85 of file Core.hpp.
|
protected |