![]() |
v0.15.0 |
Core (interface) class. More...
#include "src/interfaces/Core.hpp"
Public Member Functions | |
const int | getValue () const |
Get the core. | |
RefEntityTmp< 0 > | getRefEntity (const EntityHandle ent) |
virtual boost::shared_ptr< RefEntityTmp< 0 > > | make_shared_ref_entity (const EntityHandle ent) |
Get RefEntity. | |
CoreTmp (moab::Interface &moab, MPI_Comm comm=PETSC_COMM_WORLD, const int verbose=VERBOSE) | |
~CoreTmp () | |
![]() | |
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 | |
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 | |
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 | |
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. | |
DEPRECATED MoFEMErrorCode | synchronise_entities (Range &ent, int verb=DEFAULT_VERBOSITY) |
DEPRECATED MoFEMErrorCode | synchronise_field_entities (const std::string &name, int verb=DEFAULT_VERBOSITY) |
![]() | |
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. | |
![]() | |
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 |
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 | |
MoFEMErrorCode | getTags (int verb=DEFAULT_VERBOSITY) |
Get tag handles. | |
MoFEMErrorCode | clearMap () |
Cleaning database. | |
MoFEMErrorCode | registerSubInterfaces () |
Register insterfaces. | |
BitProblemId | getProblemShift () |
Return unique problem Id. | |
MoFEMErrorCode | initialiseDatabaseFromMesh (int verb=DEFAULT_VERBOSITY) |
Initialize database getting information on mesh. | |
MoFEMErrorCode | getOptions (int verb=DEFAULT_VERBOSITY) |
Get core options from command line. | |
template<class IFACE > | |
MoFEMErrorCode | regSubInterface () |
Register sub-interfaces in core interface. | |
template<class IFACE > | |
MoFEMErrorCode | regEvents () |
Register petsc events. | |
Protected Attributes | |
boost::shared_ptr< WrapMPIComm > | wrapMPIMOABComm |
manage creation and destruction of MOAB communicator | |
int | verbose |
Verbosity level. | |
boost::ptr_map< boost::typeindex::type_index, UnknownInterface > | iFaces |
Hash map of pointers to interfaces. | |
int * | buildMoFEM |
keeps flags/semaphores for different stages | |
std::string | optionsPrefix |
Prefix for options on command line. | |
PetscBool | initaliseAndBuildField |
PetscBool | initaliseAndBuildFiniteElements |
Static Protected Attributes | |
static bool | isGloballyInitialised = false |
Core base globally initialized. | |
static int | mpiInitialised |
mpi was initialised by other agent | |
static PetscBool | isInitialized |
petsc was initialised by other agent | |
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. | |
MoFEMErrorCode | addPrismToDatabase (const EntityHandle prism, int verb=DEFAULT_VERBOSITY) |
add prim element | |
Tags to data on mesh and entities | |
Tag | th_Part |
Tag for partition number. | |
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. | |
Tag | th_MoFEMBuild |
boost::shared_ptr< BasicEntityData > | basicEntityDataPtr |
boost::shared_ptr< BasicEntityData > & | get_basic_entity_data_ptr () |
Get pointer to basic entity data. | |
Multi-Indices accessing data on the mesh | |
RefEntity_multiIndex | refinedEntities |
refined entities | |
RefElement_multiIndex | refinedFiniteElements |
refined elements | |
Field_multiIndex | fIelds |
fields | |
FieldEntity_multiIndex | entsFields |
entities on fields | |
DofEntity_multiIndex | dofsField |
dofs on fields | |
FiniteElement_multiIndex | finiteElements |
finite elements | |
EntFiniteElement_multiIndex | entsFiniteElements |
finite element entities | |
FieldEntityEntFiniteElementAdjacencyMap_multiIndex | entFEAdjacencies |
adjacencies of elements to dofs | |
Problem_multiIndex | pRoblems |
problems multi-index | |
Get moab database | |
std::reference_wrapper< moab::Interface > | moab |
moab database | |
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. | |
MoFEMErrorCode | setMoabInterface (moab::Interface &new_moab, int verb=VERBOSE) |
Log events | |
PetscLogEvent | MOFEM_EVENT_preProcess |
Event for preProcess finite element. | |
PetscLogEvent | MOFEM_EVENT_operator |
Event for evaluating operator of finite element. | |
PetscLogEvent | MOFEM_EVENT_postProcess |
Event for postProcess finite element. | |
PetscLogEvent | MOFEM_EVENT_createMat |
Communicator | |
MPI_Comm | mofemComm |
MoFEM communicator. | |
ParallelComm * | pComm |
MOAB communicator structure. | |
int | sIze |
MoFEM communicator size. | |
int | rAnk |
MOFEM communicator rank. | |
MPI_Comm & | get_comm () const |
int | get_comm_size () const |
int | get_comm_rank () const |
Assessing interfaces | |
MoFEMErrorCode | query_interface (boost::typeindex::type_index type_index, UnknownInterface **iface) const |
Getting interface of core database. | |
Get tag handles to data on the mesh | |
Tag | get_th_RefParentHandle () const |
Tag | get_th_RefBitLevel () const |
Tag | get_th_RefBitEdge () const |
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. | |
static MoFEMErrorCode | Finalize () |
Checks for options to be called at the conclusion of the program. | |
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) |
Check database consistency | |
MoFEMErrorCode | check_number_of_ents_in_ents_field (const std::string &name) const |
check data consistency in entitiesPtr | |
MoFEMErrorCode | check_number_of_ents_in_ents_field () const |
check data consistency in entitiesPtr | |
MoFEMErrorCode | check_number_of_ents_in_ents_finite_element (const std::string &name) const |
check data consistency in entsFiniteElements | |
MoFEMErrorCode | check_number_of_ents_in_ents_finite_element () const |
check data consistency in entsFiniteElements | |
Clear database | |
MoFEMErrorCode | clear_database (int verb=DEFAULT_VERBOSITY) |
Clear database. | |
MoFEMErrorCode | rebuild_database (int verb=DEFAULT_VERBOSITY) |
Clear database and initialize it once again. | |
Getting access to meshset manager | |
MeshsetsManager * | get_meshsets_manager_ptr () |
get MeshsetsManager pointer | |
const MeshsetsManager * | get_meshsets_manager_ptr () const |
get MeshsetsManager pointer | |
MeshsetsManager & | get_meshsets_manager () |
get MeshsetsManager pointer | |
const MeshsetsManager & | get_meshsets_manager () const |
get MeshsetsManager pointer | |
Remove and delete entities | |
MoFEMErrorCode | remove_parents_by_ents (const Range &ents, int verb=DEFAULT_VERBOSITY) |
Remove parents from entities. | |
MoFEMErrorCode | remove_parents_by_bit_ref (const BitRefLevel bit, const BitRefLevel mask, int verb=DEFAULT_VERBOSITY) |
Remove parent from entities on bit level. | |
MoFEMErrorCode | remove_parents_by_parents (const Range &ents, int verb=DEFAULT_VERBOSITY) |
Remove paremts from entities having parents in passed range. | |
MoFEMErrorCode | remove_ents (const Range ents, int verb=DEFAULT_VERBOSITY) |
remove entities form mofem database | |
MoFEMErrorCode | remove_ents_by_bit_ref (const BitRefLevel bit, const BitRefLevel mask, int verb=DEFAULT_VERBOSITY) |
remove entities form mofem database | |
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 | |
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. | |
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. | |
MoFEMErrorCode | delete_field (const std::string name, int verb=DEFAULT_VERBOSITY) |
Delete field. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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 | |
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 | |
MoFEMErrorCode | remove_ents_from_field (const std::string name, const EntityHandle meshset, const EntityType type, int verb=DEFAULT_VERBOSITY) |
remove entities from field | |
MoFEMErrorCode | remove_ents_from_field (const std::string name, const Range ents, int verb=DEFAULT_VERBOSITY) |
remove entities from field | |
MoFEMErrorCode | remove_ents_from_field (const Range ents, int verb=DEFAULT_VERBOSITY) |
remove entities from all fields | |
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 | |
BitFieldId | get_field_id (const std::string &name) const |
Get field Id. | |
FieldBitNumber | get_field_bit_number (const std::string name) const |
get field bit number | |
std::string | get_field_name (const BitFieldId id) const |
get field name from id | |
EntityHandle | get_field_meshset (const BitFieldId id) const |
EntityHandle | get_field_meshset (const std::string name) const |
get field meshset | |
MoFEMErrorCode | get_field_entities_by_dimension (const std::string name, int dim, Range &ents) const |
get entities in the field by dimension | |
MoFEMErrorCode | get_field_entities_by_type (const std::string name, EntityType type, Range &ents) const |
get entities in the field by type | |
MoFEMErrorCode | get_field_entities_by_handle (const std::string name, Range &ents) const |
get entities in the field by handle | |
bool | check_field (const std::string &name) const |
check if field is in database | |
const Field * | get_field_structure (const std::string &name, enum MoFEMTypes bh=MF_EXIST) const |
get field structure | |
Finite elements | |
const FiniteElement * | get_finite_element_structure (const std::string &name, enum MoFEMTypes bh=MF_EXCL) const |
get finite element struture | |
bool | check_finite_element (const std::string &name) const |
Check if finite element is in database. | |
MoFEMErrorCode | add_finite_element (const std::string &fe_name, enum MoFEMTypes bh=MF_EXCL, int verb=DEFAULT_VERBOSITY) |
add finite element | |
MoFEMErrorCode | modify_finite_element_adjacency_table (const std::string &fe_name, const EntityType type, ElementAdjacencyFunct function) |
modify finite element table, only for advanced user | |
MoFEMErrorCode | modify_finite_element_add_field_data (const std::string &fe_name, const std::string name_filed) |
set finite element field data | |
MoFEMErrorCode | modify_finite_element_add_field_row (const std::string &fe_name, const std::string name_row) |
set field row which finite element use | |
MoFEMErrorCode | modify_finite_element_add_field_col (const std::string &fe_name, const std::string name_col) |
set field col which finite element use | |
MoFEMErrorCode | modify_finite_element_off_field_data (const std::string &fe_name, const std::string name_filed) |
unset finite element field data | |
MoFEMErrorCode | modify_finite_element_off_field_row (const std::string &fe_name, const std::string name_row) |
unset field row which finite element use | |
MoFEMErrorCode | modify_finite_element_off_field_col (const std::string &fe_name, const std::string name_col) |
unset field col which finite element use | |
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 | |
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 | |
MoFEMErrorCode | add_ents_to_finite_element_by_type (const Range ents, const EntityType type, const std::string name) |
add entities to finite elements | |
MoFEMErrorCode | add_ents_to_finite_element_by_dim (const Range ents, const int dim, const std::string name) |
add entities to finite elements | |
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 | |
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 | |
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 | |
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 | |
MoFEMErrorCode | remove_ents_from_finite_element (const std::string name, const Range ents, int verb=DEFAULT_VERBOSITY) |
remove entities from finite element database | |
MoFEMErrorCode | remove_ents_from_finite_element (const Range ents, int verb=DEFAULT_VERBOSITY) |
remove entities from finite elements in database | |
MoFEMErrorCode | delete_finite_element (const std::string name, int verb=DEFAULT_VERBOSITY) |
delete finite element from mofem database | |
BitFEId | getBitFEId (const std::string &fe_name) const |
Get field Id. | |
std::string | getBitFEIdName (const BitFEId id) const |
Get field name. | |
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 | |
MoFEMErrorCode | get_finite_element_entities_by_type (const std::string name, EntityType type, Range &ents) const |
get entities in the finite element by type | |
MoFEMErrorCode | get_finite_element_entities_by_handle (const std::string name, Range &ents) const |
get entities in the finite element by handle | |
MoFEMErrorCode | list_finite_elements () const |
list finite elements in database | |
Problems | |
MoFEMErrorCode | add_problem (const std::string &name, enum MoFEMTypes bh=MF_EXCL, int verb=DEFAULT_VERBOSITY) |
Add problem. | |
bool | check_problem (const std::string name) |
check if problem exist | |
MoFEMErrorCode | delete_problem (const std::string name) |
Delete problem. | |
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 | |
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 | |
MoFEMErrorCode | modify_problem_ref_level_add_bit (const std::string &name_problem, const BitRefLevel &bit) |
add ref level to problem | |
MoFEMErrorCode | modify_problem_ref_level_set_bit (const std::string &name_problem, const BitRefLevel &bit) |
set ref level for problem | |
MoFEMErrorCode | modify_problem_mask_ref_level_add_bit (const std::string &name_problem, const BitRefLevel &bit) |
set dof mask ref level for problem | |
MoFEMErrorCode | modify_problem_mask_ref_level_set_bit (const std::string &name_problem, const BitRefLevel &bit) |
set dof mask ref level for problem | |
BitProblemId | getBitProblemId (const std::string &name) const |
MoFEMErrorCode | list_problem () const |
list problems | |
MoFEMErrorCode | clear_problem (const std::string name, int verb=DEFAULT_VERBOSITY) |
clear problem | |
MoFEMErrorCode | clear_problems (int verb=DEFAULT_VERBOSITY) |
clear problems | |
MoFEMErrorCode | build_finite_elements (int verb=DEFAULT_VERBOSITY) |
Build finite elements. | |
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. | |
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 | |
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. | |
MoFEMErrorCode | problem_basic_method_preProcess (const std::string &problem_name, BasicMethod &method, int verb=DEFAULT_VERBOSITY) |
Set data for BasicMethod. | |
MoFEMErrorCode | problem_basic_method_postProcess (const Problem *problem_ptr, BasicMethod &method, int verb=DEFAULT_VERBOSITY) |
Set data for BasicMethod. | |
MoFEMErrorCode | problem_basic_method_postProcess (const std::string &problem_name, BasicMethod &method, int verb=DEFAULT_VERBOSITY) |
Set data for BasicMethod. | |
MoFEMErrorCode | cache_problem_entities (const std::string prb_name, CacheTupleWeakPtr cache_ptr) |
Cache variables. | |
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. | |
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. | |
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. | |
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. | |
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. | |
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. | |
MoFEMErrorCode | loop_dofs (const std::string &field_name, DofMethod &method, int verb=DEFAULT_VERBOSITY) |
Make a loop over dofs. | |
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. | |
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. | |
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. | |
MoFEMErrorCode | loop_entities (const std::string field_name, EntityMethod &method, Range const *const ents=nullptr, int verb=DEFAULT_VERBOSITY) |
Loop over field entities. | |
Accessing multi-indices | |
MoFEMErrorCode | get_fields (const Field_multiIndex **fields_ptr) const |
Get fields multi-index from database. | |
MoFEMErrorCode | get_ref_ents (const RefEntity_multiIndex **refined_entities_ptr) const |
Get ref entities multi-index from database. | |
MoFEMErrorCode | get_ref_finite_elements (const RefElement_multiIndex **refined_finite_elements_ptr) const |
Get ref finite elements multi-index form database. | |
MoFEMErrorCode | get_finite_elements (const FiniteElement_multiIndex **fe_ptr) const |
Get finite elements multi-index. | |
MoFEMErrorCode | get_ents_finite_elements (const EntFiniteElement_multiIndex **fe_ent_ptr) const |
Get entities finite elements multi-index. | |
MoFEMErrorCode | get_field_ents (const FieldEntity_multiIndex **field_ents) const |
Get field multi index. | |
MoFEMErrorCode | get_dofs (const DofEntity_multiIndex **dofs_ptr) const |
Get dofs multi index. | |
MoFEMErrorCode | get_problem (const std::string &problem_name, const Problem **problem_ptr) const |
Get problem database (data structure) | |
MoFEMErrorCode | get_problems (const Problem_multiIndex **problems_ptr) const |
Get pointer to problems multi-index. | |
MoFEMErrorCode | get_ents_elements_adjacency (const FieldEntityEntFiniteElementAdjacencyMap_multiIndex **dofs_elements_adjacency) const |
Get the dofs elements adjacency object. | |
const Field_multiIndex * | get_fields () const |
Get the fields object. | |
const RefEntity_multiIndex * | get_ref_ents () const |
Get the ref ents object. | |
const RefElement_multiIndex * | get_ref_finite_elements () const |
Get the ref finite elements object. | |
const FiniteElement_multiIndex * | get_finite_elements () const |
Get the finite elements object. | |
const EntFiniteElement_multiIndex * | get_ents_finite_elements () const |
Get the ents finite elements object. | |
const FieldEntity_multiIndex * | get_field_ents () const |
Get the field ents object. | |
const DofEntity_multiIndex * | get_dofs () const |
Get the dofs object. | |
const Problem * | get_problem (const std::string problem_name) const |
Get the problem object. | |
const Problem_multiIndex * | get_problems () const |
Get the problems object. | |
const FieldEntityEntFiniteElementAdjacencyMap_multiIndex * | get_ents_elements_adjacency () const |
Get the dofs elements adjacency object. | |
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) | |
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) | |
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) | |
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) | |
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) | |
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) | |
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) | |
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) | |
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) | |
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) | |
Additional Inherited Members | |
![]() | |
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. | |
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 |
Is used to check consistency. I n future properly this will be removed and replaced by other solution. It is only for internal use.
Enumerator | |
---|---|
BUILD_FIELD | |
BUILD_FE | |
BUILD_ADJ | |
BUILD_PROBLEM | |
PARTITION_PROBLEM | |
PARTITION_FE | |
PARTITION_GHOST_DOFS | |
PARTITION_MESH |
Definition at line 211 of file Core.hpp.
MoFEM::Core::CoreTmp | ( | moab::Interface & | moab, |
MPI_Comm | comm = PETSC_COMM_WORLD, | ||
const int | verbose = VERBOSE ) |
Construct core database
moab | MoAB interface |
comm | MPI communicator |
verbose | Verbosity level |
Definition at line 241 of file Core.cpp.
MoFEM::Core::~CoreTmp | ( | ) |
Definition at line 289 of file Core.cpp.
|
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:
|
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 440 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 416 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 452 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 426 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 | finite element name |
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 | finite element name |
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 315 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 324 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 ) |
add prim element
FIXME: This is dirt solution, need to be fixed
prism | prim handle |
verb | verbosity level |
Definition at line 544 of file Core.cpp.
|
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 815 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 827 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 743 of file FECore.cpp.
|
protectedvirtual |
build field by name
field_name | |
verb | m |
Implements MoFEM::CoreInterface.
Definition at line 1305 of file FieldCore.cpp.
|
protectedvirtual |
build fields
Implements MoFEM::CoreInterface.
Definition at line 1318 of file FieldCore.cpp.
|
protected |
Definition at line 706 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 712 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 656 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 1256 of file FieldCore.cpp.
|
protected |
Definition at line 1144 of file FieldCore.cpp.
|
protected |
Definition at line 1121 of file FieldCore.cpp.
|
protected |
Definition at line 1016 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 1437 of file FieldCore.cpp.
|
protectedvirtual |
check data consistency in entitiesPtr
Implements MoFEM::CoreInterface.
Definition at line 1409 of file FieldCore.cpp.
|
protectedvirtual |
check data consistency in entsFiniteElements
Implements MoFEM::CoreInterface.
Definition at line 886 of file FECore.cpp.
|
protectedvirtual |
check data consistency in entsFiniteElements
Implements MoFEM::CoreInterface.
Definition at line 859 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 750 of file Core.cpp.
|
protectedvirtual |
Clear dofs by ents
Implements MoFEM::CoreInterface.
Definition at line 57 of file DeleteCore.cpp.
|
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 |
Clear inactive dofs
Implements MoFEM::CoreInterface.
Definition at line 29 of file DeleteCore.cpp.
|
protectedvirtual |
clear problem
Implements MoFEM::CoreInterface.
Definition at line 269 of file ProblemsCore.cpp.
|
protectedvirtual |
clear problems
Implements MoFEM::CoreInterface.
Definition at line 338 of file ProblemsCore.cpp.
|
protected |
Cleaning database.
Definition at line 525 of file Core.cpp.
|
protected |
Definition at line 203 of file Core.cpp.
|
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 467 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 118 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 911 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 1381 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 1388 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 1395 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 1402 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 1371 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 1376 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 1361 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 1366 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.
|
protectedvirtual |
Get the ents finite elements object.
Implements MoFEM::CoreInterface.
|
protectedvirtual |
Get entities finite elements multi-index.
Implements MoFEM::CoreInterface.
|
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 837 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 848 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 |
Get field multi index.
Implements MoFEM::CoreInterface.
|
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 895 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.
|
inlineprotectedvirtual |
get MeshsetsManager pointer
Implements MoFEM::CoreInterface.
Definition at line 361 of file Core.hpp.
|
inlineprotectedvirtual |
get MeshsetsManager pointer
Implements MoFEM::CoreInterface.
|
protectedvirtual |
get MeshsetsManager pointer
Implements MoFEM::CoreInterface.
Definition at line 870 of file Core.cpp.
|
protectedvirtual |
get MeshsetsManager pointer
Implements MoFEM::CoreInterface.
Definition at line 876 of file Core.cpp.
|
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 822 of file Core.cpp.
|
protectedvirtual |
Get the problem object.
problem_name |
Implements MoFEM::CoreInterface.
Definition at line 912 of file Core.cpp.
|
protectedvirtual |
add finite elements to the meshset
name | is problem name |
fe_name | |
meshset |
Implements MoFEM::CoreInterface.
Definition at line 912 of file FECore.cpp.
|
protectedvirtual |
Get the problems object.
Implements MoFEM::CoreInterface.
Definition at line 918 of file Core.cpp.
|
protectedvirtual |
Get pointer to problems multi-index.
Implements MoFEM::CoreInterface.
|
protectedvirtual |
|
protectedvirtual |
Get ref entities multi-index from database.
Implements MoFEM::CoreInterface.
|
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 815 of file Core.cpp.
|
inline |
|
inline |
|
inline |
|
protected |
Get field Id.
name | field name |
Definition at line 255 of file FECore.cpp.
|
protected |
Get field name.
id | field id |
Definition at line 265 of file FECore.cpp.
|
protected |
Definition at line 121 of file ProblemsCore.cpp.
|
inline |
|
protected |
Get core options from command line.
Definition at line 777 of file Core.cpp.
|
protected |
Return unique problem Id.
Each time this function is called, it gives new unit problem Id for bit.
|
inline |
|
protected |
Get tag handles.
verb | verbosity level |
Definition at line 573 of file Core.cpp.
|
inlinevirtual |
Get the core.
Implements MoFEM::CoreInterface.
Reimplemented in MoFEM::CoreTmp<-1 >.
Definition at line 85 of file Core.hpp.
|
protected |
Initialize database getting information on mesh.
Definition at line 300 of file Core.cpp.
|
static |
Initializes the MoFEM database PETSc, MOAB and MPI.
argc | count of number of command line arguments |
args | the command line arguments |
file | [optional] PETSc database file, also checks ~username/.petscrc
|
help | [optional] Help message to print, use NULL for no message |
Definition at line 72 of file Core.cpp.
|
protectedvirtual |
list dofs
Implements MoFEM::CoreInterface.
Definition at line 1336 of file FieldCore.cpp.
|
protectedvirtual |
list entities in the field
Implements MoFEM::CoreInterface.
Definition at line 1350 of file FieldCore.cpp.
|
protectedvirtual |
list finite elements in database
Implements MoFEM::CoreInterface.
Definition at line 320 of file FECore.cpp.
|
protectedvirtual |
list problems
Implements MoFEM::CoreInterface.
Definition at line 129 of file ProblemsCore.cpp.
|
protectedvirtual |
Make a loop over dofs.
Implements MoFEM::CoreInterface.
Definition at line 531 of file ProblemsCore.cpp.
|
protectedvirtual |
Make a loop over dofs.
Implements MoFEM::CoreInterface.
Definition at line 617 of file ProblemsCore.cpp.
|
protectedvirtual |
Make a loop over dofs.
Implements MoFEM::CoreInterface.
Definition at line 583 of file ProblemsCore.cpp.
|
protectedvirtual |
Make a loop over dofs.
Implements MoFEM::CoreInterface.
Definition at line 607 of file ProblemsCore.cpp.
|
protectedvirtual |
Loop over field entities in the problem.
problem_ptr | |
field_name | |
rc | |
method | |
lower_rank | |
upper_rank | |
verb |
Implements MoFEM::CoreInterface.
Definition at line 650 of file ProblemsCore.cpp.
|
protectedvirtual |
Loop over field entities.
field_name | field entities |
method | user method |
ents | if given loop only on subset of entities in the field |
verb |
Implements MoFEM::CoreInterface.
Definition at line 742 of file ProblemsCore.cpp.
|
protectedvirtual |
Loop over field entities in the problem.
problem_name | |
field_name | |
rc | |
method | |
lower_rank | |
upper_rank | |
verb |
Implements MoFEM::CoreInterface.
Definition at line 718 of file ProblemsCore.cpp.
|
protectedvirtual |
Loop over field entities in the problem.
problem_name | |
field_name | |
rc | |
method | |
verb |
Implements MoFEM::CoreInterface.
Definition at line 736 of file ProblemsCore.cpp.
|
protectedvirtual |
Make a loop over finite elements on partitions from upper to lower rank.
This function is like swiss knife, is can be used to post-processing or matrix and vectors assembly. It makes loop over given finite element for given problem. The particular methods executed on each element are given by class derived form Interface::FEMethod. At beginning of each loop user defined function (method) preProcess() is called, for each element operator() is executed, at the end loop finalizes with user defined function (method) postProcess().
For more details please look to examples.
Interface::FEMethod
problem_ptr | pointer to problem consisting set of elements |
fe_name | name of element in problem |
method | class derived form Interface::FEMethod |
lower_rank | lower rank of process owned by finite element |
upper_rank | lower rank of process owned by finite element |
fe_ptr | pointer to finite elements multi-index |
bh | if bH = MF_EXIST, throws error if fe_name does not exist |
cache_data | cache data vector |
cache_row | cache row vector |
cache_col | cache row vector |
verb | verbosity level |
Implements MoFEM::CoreInterface.
Definition at line 427 of file ProblemsCore.cpp.
|
protectedvirtual |
Make a loop over finite elements.
This function is like swiss knife, is can be used to post-processing or matrix and vectors assembly. It makes loop over given finite element for given problem. The particular methods executed on each element are given by class derived form Interface::FEMethod. At beginning of each loop user defined function (method) preProcess() is called, for each element operator() is executed, at the end loop finalizes with user defined function (method) postProcess().
Methods are executed only for local elements at given processor.
For more details pleas look to examples.
problem_name | problem consisting set of elements |
fe_name | name of element in problem |
method | class derived form Interface::FEMethod |
fe_ptr | pointer to finite elements multi-index |
bh | if bH = MF_EXIST, throws error if fe_name does not exist |
cache_tuple_ptr | cache |
verb | verbosity level |
Implements MoFEM::CoreInterface.
Definition at line 495 of file ProblemsCore.cpp.
|
protectedvirtual |
Make a loop over finite elements on partitions from upper to lower rank.
This function is like swiss knife, is can be used to post-processing or matrix and vectors assembly. It makes loop over given finite element for given problem. The particular methods executed on each element are given by class derived form Interface::FEMethod. At beginning of each loop user defined function (method) preProcess() is called, for each element operator() is executed, at the end loop finalizes with user defined function (method) postProcess().
For more details please look to examples.
problem_name | pointer to problem consisting set of elements |
fe_name | name of element in problem |
method | class derived form Interface::FEMethod |
lower_rank | lower rank of process owned by finite element |
upper_rank | lower rank of process owned by finite element |
fe_ptr | pointer to finite elements multi-index |
bh | if bH = MF_EXIST, throws error if fe_name does not exist |
cache_data | cache data vector |
cache_row | cache row vector |
cache_col | cache row vector |
verb | verbosity level |
Implements MoFEM::CoreInterface.
Definition at line 510 of file ProblemsCore.cpp.
|
virtual |
Get RefEntity.
ent |
Implements MoFEM::CoreInterface.
Reimplemented in MoFEM::CoreTmp<-1 >.
Definition at line 983 of file Core.cpp.
|
static |
Definition at line 949 of file Core.cpp.
|
protectedvirtual |
set field col which finite element use
name | finite element name |
name | field name |
Implements MoFEM::CoreInterface.
Definition at line 182 of file FECore.cpp.
|
protectedvirtual |
set finite element field data
name | finite element name |
name | field name |
This function will set memory in the form of a vector
Implements MoFEM::CoreInterface.
Definition at line 138 of file FECore.cpp.
|
protectedvirtual |
set field row which finite element use
name | finite element name |
name | field name |
Implements MoFEM::CoreInterface.
Definition at line 160 of file FECore.cpp.
|
protectedvirtual |
modify finite element table, only for advanced user
Using that functions means that you like to do something not usual.
Implements MoFEM::CoreInterface.
Definition at line 117 of file FECore.cpp.
|
protectedvirtual |
unset field col which finite element use
name | finite element name |
name | field name |
Implements MoFEM::CoreInterface.
Definition at line 238 of file FECore.cpp.
|
protectedvirtual |
unset finite element field data
name | finite element name |
name | field name |
This function will set memory in the form of a vector
Implements MoFEM::CoreInterface.
Definition at line 201 of file FECore.cpp.
|
protectedvirtual |
unset field row which finite element use
name | finite element name |
name | field name |
Implements MoFEM::CoreInterface.
Definition at line 219 of file FECore.cpp.
|
protectedvirtual |
add finite element to problem, this add entities assigned to finite element to a particular problem
name | Problem name |
name | Finite Element name |
Implements MoFEM::CoreInterface.
Definition at line 143 of file ProblemsCore.cpp.
|
protectedvirtual |
set dof mask ref level for problem
Implements MoFEM::CoreInterface.
Definition at line 218 of file ProblemsCore.cpp.
|
protectedvirtual |
set dof mask ref level for problem
Implements MoFEM::CoreInterface.
Definition at line 238 of file ProblemsCore.cpp.
|
protectedvirtual |
add ref level to problem
if same finite element is solved using different level of refinements, than the level of refinement has to be specificied to problem in query
name | Problem name |
BitRefLevel | bitLevel Example: mField.modify_problem_add_finite_element("BEAM_BENDING_ON_MESH_REF1","ELASTIC");
mField.modify_problem_add_finite_element("BEAM_BENDING_ON_MESH_REF2","ELASTIC");
mField.modify_problem_ref_level_add_bit("BEAM_BENDING_ON_MESH_REF1",bit_level1);
mField.modify_problem_ref_level_add_bit("BEAM_BENDING_ON_MESH_REF2",bit_level2);
|
Implements MoFEM::CoreInterface.
Definition at line 181 of file ProblemsCore.cpp.
|
protectedvirtual |
set ref level for problem
if same finite element is solved using different level of refinements, than the level of refinement has to be specificied to problem in query
name | Problem name |
BitRefLevel | bitLevel Example: mField.modify_problem_add_finite_element("BEAM_BENDING_ON_MESH_REF1","ELASTIC");
mField.modify_problem_add_finite_element("BEAM_BENDING_ON_MESH_REF2","ELASTIC");
mField.modify_problem_ref_level_set_bit("BEAM_BENDING_ON_MESH_REF1",bit_level1);
mField.modify_problem_ref_level_set_bit("BEAM_BENDING_ON_MESH_REF2",bit_level2);
|
Implements MoFEM::CoreInterface.
Definition at line 199 of file ProblemsCore.cpp.
|
protectedvirtual |
unset finite element from problem, this remove entities assigned to finite element to a particular problem
Note: If problem is build, it need to be cleaned to make this effective
name | Problem name |
name | Finite Element name |
Implements MoFEM::CoreInterface.
Definition at line 162 of file ProblemsCore.cpp.
|
protectedvirtual |
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
pointer | to problem data structure |
method | user method derived from BasicMethod |
Implements MoFEM::CoreInterface.
Definition at line 395 of file ProblemsCore.cpp.
|
protectedvirtual |
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
problem_name | name of the problem |
method | user method derived from BasicMethod |
Implements MoFEM::CoreInterface.
Definition at line 408 of file ProblemsCore.cpp.
|
protectedvirtual |
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
pointer | to problem data structure |
method | user method derived from BasicMethod |
Implements MoFEM::CoreInterface.
Definition at line 363 of file ProblemsCore.cpp.
|
protectedvirtual |
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
problem_name | name of the problem |
method | user method derived from BasicMethod |
Implements MoFEM::CoreInterface.
Definition at line 378 of file ProblemsCore.cpp.
|
virtual |
Getting interface of core database.
uuid | unique ID of interface |
iface | returned pointer to interface |
Implements MoFEM::UnknownInterface.
Definition at line 43 of file Core.cpp.
|
protectedvirtual |
Clear database and initialize it once again.
verb | Verbosity level |
Implements MoFEM::CoreInterface.
Definition at line 758 of file Core.cpp.
|
protected |
Register petsc events.
IFACE |
Definition at line 190 of file Core.cpp.
|
protected |
Register insterfaces.
Definition at line 485 of file Core.cpp.
|
protected |
Register sub-interfaces in core interface.
IFACE |
Definition at line 172 of file Core.cpp.
|
protectedvirtual |
remove entities form mofem database
Implements MoFEM::CoreInterface.
Definition at line 429 of file DeleteCore.cpp.
|
protectedvirtual |
remove entities form mofem database
Implements MoFEM::CoreInterface.
Definition at line 454 of file DeleteCore.cpp.
|
protectedvirtual |
remove entities from all fields
Implements MoFEM::CoreInterface.
Definition at line 176 of file DeleteCore.cpp.
|
protectedvirtual |
remove entities from field
Implements MoFEM::CoreInterface.
Definition at line 152 of file DeleteCore.cpp.
|
protectedvirtual |
remove entities from field
Implements MoFEM::CoreInterface.
Definition at line 164 of file DeleteCore.cpp.
|
protectedvirtual |
remove entities from field
Implements MoFEM::CoreInterface.
Definition at line 189 of file DeleteCore.cpp.
|
protectedvirtual |
remove entities from finite elements in database
Implements MoFEM::CoreInterface.
Definition at line 404 of file DeleteCore.cpp.
|
protectedvirtual |
remove entities from given refinement level to finite element database
Implements MoFEM::CoreInterface.
Definition at line 379 of file DeleteCore.cpp.
|
protectedvirtual |
remove entities from finite element database
Implements MoFEM::CoreInterface.
Definition at line 392 of file DeleteCore.cpp.
|
protectedvirtual |
remove elements from given refinement level to finite element database
BitRefLevel | bit |
BitRefLevel | mask |
verbose | level |
Implements MoFEM::CoreInterface.
Definition at line 418 of file DeleteCore.cpp.
|
protectedvirtual |
Remove parent from entities on bit level.
Evert entity created by refinement, split or any other change on the mesh can have parent. This function remove parent from entity,
bit | level |
mask | of bit level |
verb | verbosity level |
Implements MoFEM::CoreInterface.
Definition at line 465 of file DeleteCore.cpp.
|
protectedvirtual |
Remove parents from entities.
Implements MoFEM::CoreInterface.
Definition at line 477 of file DeleteCore.cpp.
|
protectedvirtual |
Remove paremts from entities having parents in passed range.
Implements MoFEM::CoreInterface.
Definition at line 518 of file DeleteCore.cpp.
|
protected |
Definition at line 955 of file FieldCore.cpp.
|
protectedvirtual |
Set order approximation of the entities in the field.
meshset | containing set of the entities (use 0 for all the entities in the meshset) |
type | selected type of the entities f.e. MBTET, MBTRI, MBEDGE, MBVERTEX, see moab documentation |
order | approximation order |
Implements MoFEM::CoreInterface.
Definition at line 967 of file FieldCore.cpp.
|
protected |
Definition at line 930 of file FieldCore.cpp.
|
protectedvirtual |
Set order approximation of the entities in the field.
entities | |
type | selected type of the entities f.e. MBTET, MBTRI, MBEDGE, MBVERTEX, see moab documentation |
order | approximation order |
Implements MoFEM::CoreInterface.
Definition at line 978 of file FieldCore.cpp.
|
protected |
Definition at line 987 of file FieldCore.cpp.
|
protectedvirtual |
Set order approximation of the entities in the field.
bit | refinement level |
mask | bit mask |
type | selected type of the entities f.e. MBTET, MBTRI, MBEDGE, MBVERTEX, see moab documentation |
order | approximation order |
Implements MoFEM::CoreInterface.
Definition at line 1001 of file FieldCore.cpp.
|
protectedvirtual |
Set the moab interface object.
new_moab | |
verb |
Implements MoFEM::CoreInterface.
Reimplemented in MoFEM::CoreTmp<-1 >.
Definition at line 768 of file Core.cpp.
|
protected |
|
protected |
Definition at line 506 of file FieldCore.cpp.
|
protected |
Definition at line 455 of file Core.cpp.
|
static |
Definition at line 930 of file Core.cpp.
|
protected |
BasicEntityData is structure which every BasicEntity have. It keeps data about tags to handles on the mesh, in particular tag to BitRefLevel and tag with handle to parent.
|
mutableprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
mutableprotected |
|
protected |
|
protected |
|
staticprotected |
|
staticprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
mutableprotected |
|
staticprotected |
|
protected |
|
mutableprotected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
staticconstexpr |
|
protected |
|
protected |