![]() |
v0.14.0 |
Create compressed matrix. More...
Public Types | |
typedef FieldEntityEntFiniteElementAdjacencyMap_multiIndex::index< Unique_mi_tag >::type | AdjByEnt |
typedef Problem_multiIndex::index< Problem_mi_tag >::type | ProblemsByName |
typedef NumeredDofEntity_multiIndex::index< PetscGlobalIdx_mi_tag >::type | DofByGlobalPetscIndex |
![]() | |
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 } |
Public Member Functions | |
CreateRowComressedADJMatrix (moab::Interface &moab, MPI_Comm comm=PETSC_COMM_WORLD, int verbose=1) | |
template<typename TAG > | |
MoFEMErrorCode | createMatArrays (ProblemsByName::iterator p_miit, const MatType type, std::vector< PetscInt > &i, std::vector< PetscInt > &j, const bool no_diagonals=true, int verb=QUIET) const |
Create matrix adjacencies. More... | |
template<typename TAG > | |
MoFEMErrorCode | getEntityAdjacenies (ProblemsByName::iterator p_miit, typename boost::multi_index::index< NumeredDofEntity_multiIndex, TAG >::type::iterator mit_row, boost::shared_ptr< FieldEntity > mofem_ent_ptr, std::vector< int > &dofs_col_view, int verb) const |
Get element adjacencies. More... | |
![]() | |
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 () | |
int & | getBuildMoFEM () const |
Get flags/semaphores for different stages. More... | |
MoFEMErrorCode | addPrismToDatabase (const EntityHandle prism, int verb=DEFAULT_VERBOSITY) |
add prim element More... | |
MoFEMErrorCode | query_interface (boost::typeindex::type_index type_index, UnknownInterface **iface) const |
Getting interface of core database. More... | |
Tag | get_th_RefParentHandle () const |
Tag | get_th_RefBitLevel () const |
Tag | get_th_RefBitEdge () const |
![]() | |
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) |
![]() | |
virtual | ~CoreInterface ()=default |
virtual const int | getValue () const =0 |
Get the core. More... | |
virtual boost::shared_ptr< RefEntityTmp< 0 > > | make_shared_ref_entity (const EntityHandle ent)=0 |
Get RefEntity. More... | |
![]() | |
virtual MoFEMErrorCode | query_interface (boost::typeindex::type_index type_index, UnknownInterface **iface) const =0 |
template<class IFACE > | |
MoFEMErrorCode | registerInterface (bool error_if_registration_failed=true) |
Register interface. More... | |
template<class IFACE > | |
MoFEMErrorCode | getInterface (IFACE *&iface) const |
Get interface refernce 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 |
Additional Inherited Members | |
![]() | |
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 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) |
![]() | |
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... | |
![]() | |
static constexpr int | value = 0 |
![]() | |
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 subinterfac in core interface. More... | |
boost::shared_ptr< BasicEntityData > & | get_basic_entity_data_ptr () |
Get pointer to basic entity data. 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) |
MPI_Comm & | get_comm () const |
int | get_comm_size () const |
int | get_comm_rank () const |
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... | |
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... | |
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... | |
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... | |
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 filed. 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 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... | |
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... | |
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... | |
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) |
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) |
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... | |
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... | |
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... | |
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) |
MoFEMErrorCode | build_adjacencies (const Range &ents, int verb=DEFAULT_VERBOSITY) |
build adjacencies More... | |
MoFEMErrorCode | build_adjacencies (const BitRefLevel &bit, int verb=DEFAULT_VERBOSITY) |
build adjacencies More... | |
MoFEMErrorCode | build_adjacencies (const BitRefLevel &bit, const BitRefLevel &mask, int verb=DEFAULT_VERBOSITY) |
build adjacencies More... | |
MoFEMErrorCode | clear_adjacencies_entities (const BitRefLevel bit, const BitRefLevel mask, int verb=DEFAULT_VERBOSITY) |
clear adjacency map for entities on given bit level More... | |
MoFEMErrorCode | clear_adjacencies_entities (const Range ents, int verb=DEFAULT_VERBOSITY) |
clear adjacencies for field entities by entities More... | |
MoFEMErrorCode | clear_adjacencies_entities (const std::string name, const Range ents, int verb=DEFAULT_VERBOSITY) |
clear adjacencies for field entities by entities and field namd More... | |
MoFEMErrorCode | clear_adjacencies_finite_elements (const BitRefLevel bit, const BitRefLevel mask, int verb=DEFAULT_VERBOSITY) |
clear adjacency map for finite elements on given bit level More... | |
MoFEMErrorCode | clear_adjacencies_finite_elements (const Range ents, int verb=DEFAULT_VERBOSITY) |
MoFEMErrorCode | clear_adjacencies_finite_elements (const std::string name, const Range ents, int verb=DEFAULT_VERBOSITY) |
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... | |
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 filed 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 filed 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 filed 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 filed 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 filed 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 filed 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 filed 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 filed 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... | |
![]() | |
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 |
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_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 |
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... | |
std::reference_wrapper< moab::Interface > | moab |
moab database More... | |
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 |
MPI_Comm | mofemComm |
MoFEM communicator. More... | |
ParallelComm * | pComm |
MOAB communicator structure. More... | |
int | sIze |
MoFEM communicator size. More... | |
int | rAnk |
MOFEM communicator rank. More... | |
![]() | |
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... | |
Create compressed matrix.
Definition at line 33 of file MatrixManager.cpp.
typedef FieldEntityEntFiniteElementAdjacencyMap_multiIndex::index<Unique_mi_tag>::type MoFEM::CreateRowComressedADJMatrix::AdjByEnt |
Definition at line 40 of file MatrixManager.cpp.
typedef NumeredDofEntity_multiIndex::index<PetscGlobalIdx_mi_tag>::type MoFEM::CreateRowComressedADJMatrix::DofByGlobalPetscIndex |
Definition at line 43 of file MatrixManager.cpp.
typedef Problem_multiIndex::index<Problem_mi_tag>::type MoFEM::CreateRowComressedADJMatrix::ProblemsByName |
Definition at line 41 of file MatrixManager.cpp.
|
inline |
Definition at line 35 of file MatrixManager.cpp.
MoFEMErrorCode MoFEM::CreateRowComressedADJMatrix::createMatArrays | ( | ProblemsByName::iterator | p_miit, |
const MatType | type, | ||
std::vector< PetscInt > & | i, | ||
std::vector< PetscInt > & | j, | ||
const bool | no_diagonals = true , |
||
int | verb = QUIET |
||
) | const |
Create matrix adjacencies.
Depending on TAG type, which some structure used to number dofs, matrix is partitioned using part number stored in multi-index, or is partitioned on parts based only on index number.
See: Idx_mi_tag PetscGlobalIdx_mi_tag and PetscLocalIdx_mi_tag
Definition at line 145 of file MatrixManager.cpp.
MoFEMErrorCode MoFEM::CreateRowComressedADJMatrix::getEntityAdjacenies | ( | ProblemsByName::iterator | p_miit, |
typename boost::multi_index::index< NumeredDofEntity_multiIndex, TAG >::type::iterator | mit_row, | ||
boost::shared_ptr< FieldEntity > | mofem_ent_ptr, | ||
std::vector< int > & | dofs_col_view, | ||
int | verb | ||
) | const |
Get element adjacencies.
Definition at line 72 of file MatrixManager.cpp.