![]() |
v0.15.0 |
Implementation of simple interface for fast problem set-up. More...
Files | |
| file | continuity_check_on_skeleton_with_simple_2d_for_h1.cpp |
| file | continuity_check_on_skeleton_with_simple_2d_for_hcurl.cpp |
| file | continuity_check_on_skeleton_with_simple_2d_for_hdiv.cpp |
| file | simple_interface.cpp |
| file | simple_l2_only.cpp |
| file | Simple.cpp |
| Implementation of simple interface. | |
| file | Simple.hpp |
| Header file for simple interface. | |
| file | analytical_nonlinear_poisson.cpp |
| file | analytical_poisson.cpp |
| file | analytical_poisson_field_split.cpp |
| file | hello_world.cpp |
Classes | |
| struct | MoFEM::BcManager |
| Boundary condition manager for finite element problem setup. More... | |
| struct | MoFEM::BcManager::BCs |
| Data structure storing boundary condition markers and attributes. More... | |
| struct | MoFEM::Simple |
| Simple interface for fast problem set-up. More... | |
Functions | |
| MoFEMErrorCode | MoFEM::BcManager::getOptions () |
| Get command line options for BcManager. | |
| MoFEMErrorCode | MoFEM::BcManager::pushMarkSideDofs (const std::string problem_name, const std::string block_name, const std::string field_name, int bridge_dim, int lo, int hi) |
| Mark DOFs on side entities for boundary conditions. | |
| MoFEMErrorCode | MoFEM::BcManager::removeSideDOFs (const std::string problem_name, const std::string block_name, const std::string field_name, int bridge_dim, int lo, int hi, bool is_distributed_mesh=true) |
| Remove DOFs on side entities from problem. | |
| MoFEMErrorCode | MoFEM::BcManager::removeBlockDOFsOnEntities (const std::string problem_name, const std::string block_name, const std::string field_name, int lo, int hi, bool get_low_dim_ents=true, bool is_distributed_mesh=true) |
| Remove DOFs from problem based on block entities. | |
| MoFEMErrorCode | MoFEM::BcManager::pushMarkDOFsOnEntities (const std::string problem_name, const std::string block_name, const std::string field_name, int lo, int hi, bool get_low_dim_ents=true) |
| Mark DOFs on block entities for boundary conditions. | |
| template<typename T > | |
| MoFEMErrorCode | MoFEM::BcManager::removeBlockDOFsOnEntities (const std::string problem_name, const std::string field_name, bool get_low_dim_ents=true, bool block_name_field_prefix=false, bool is_distributed_mesh=true) |
| Remove DOFs based on boundary condition type template. | |
| template<typename T > | |
| MoFEMErrorCode | MoFEM::BcManager::pushMarkDOFsOnEntities (const std::string problem_name, const std::string field_name, bool get_low_dim_ents=true, bool block_name_field_prefix=false) |
| Mark DOFs based on boundary condition type template. | |
| template<typename T > | |
| MoFEMErrorCode | MoFEM::BcManager::removeBlockDOFsOnEntities (const std::string problem_name, const std::string block_name, const std::string field_name, bool get_low_dim_ents=true, bool is_distributed_mesh=true) |
| Remove DOFs with explicit block specification. | |
| template<typename T > | |
| MoFEMErrorCode | MoFEM::BcManager::pushMarkDOFsOnEntities (const std::string problem_name, const std::string block_name, const std::string field_name, bool get_low_dim_ents=true) |
| Mark DOFs with explicit block specification. | |
| boost::shared_ptr< BCs > | MoFEM::BcManager::popMarkDOFsOnEntities (const std::string block_name) |
| Retrieve and remove boundary condition data. | |
| auto | MoFEM::BcManager::getBcStructure (const std::string bc_id) |
| Get boundary condition structure by identifier. | |
| BcMapByBlockName & | MoFEM::BcManager::getBcMapByBlockName () |
| Get the boundary condition map. | |
| Range | MoFEM::BcManager::getMergedBlocksRange (std::vector< std::regex > bc_regex_vec) |
| Merge entity ranges from multiple boundary condition blocks. | |
| auto | MoFEM::BcManager::getMergedBlocksRange (std::vector< string > bc_names) |
| Merge entity ranges by boundary condition names. | |
| BcMarkerPtr | MoFEM::BcManager::getMergedBlocksMarker (std::vector< std::regex > bc_regex_vec) |
| Merge DOF markers from multiple boundary condition blocks. | |
| auto | MoFEM::BcManager::getMergedBlocksMarker (std::vector< string > bc_names) |
| Merge DOF markers by boundary condition names. | |
| BcMarkerPtr | MoFEM::BcManager::getMergedBlocksMarker (const std::vector< BcMarkerPtr > &boundary_markers_ptr_vec) |
| Merge pre-existing marker vectors. | |
| auto | MoFEM::BcManager::checkBlock (const std::pair< string, boost::shared_ptr< BCs > > &bc, std::regex reg) |
| Check if boundary condition matches regular expression. | |
| auto | MoFEM::BcManager::checkBlock (const std::pair< std::string, boost::shared_ptr< BCs > > &bc, std::string name) |
| Check if boundary condition matches name pattern. | |
| SmartPetscObj< IS > | MoFEM::BcManager::getBlockIS (const std::string block_prefix, const std::string block_name, const std::string field_name, const std::string problem_name, int lo, int hi, SmartPetscObj< IS > is_expand=SmartPetscObj< IS >()) |
| Create PETSc Index Set for boundary condition block. | |
| SmartPetscObj< IS > | MoFEM::BcManager::getBlockIS (const std::string problem_name, const std::string block_name, const std::string field_name, int lo, int hi, SmartPetscObj< IS > is_expand=SmartPetscObj< IS >()) |
| Create PETSc Index Set for boundary condition block (simplified) | |
Implementation of simple interface for fast problem set-up.
|
inline |
#include <src/interfaces/BcManager.hpp>
Check if boundary condition matches name pattern.
Tests whether a boundary condition block name contains the specified substring pattern. Automatically constructs a flexible regular expression for convenient name-based filtering.
| bc | map element containing block name and boundary condition data |
| name | substring pattern to search for in the block name |
Definition at line 813 of file BcManager.hpp.
|
inline |
#include <src/interfaces/BcManager.hpp>
Check if boundary condition matches regular expression.
Tests whether a boundary condition block name matches the provided regular expression pattern. This is used internally for filtering and selecting boundary condition blocks based on naming patterns.
| bc | map element containing block name and boundary condition data |
| reg | regular expression pattern for matching |
Definition at line 795 of file BcManager.hpp.
|
inline |
#include <src/interfaces/BcManager.hpp>
Get the boundary condition map.
Provides access to the complete map of boundary condition blocks managed by this BcManager instance. Useful for iteration and bulk operations on multiple boundary conditions.
Definition at line 700 of file BcManager.hpp.
|
inline |
#include <src/interfaces/BcManager.hpp>
Get boundary condition structure by identifier.
Retrieves the boundary condition data structure for a specific block identifier. Provides direct access to the internal boundary condition management system for advanced operations.
| bc_id | identifier of the boundary condition block |
Definition at line 686 of file BcManager.hpp.
| SmartPetscObj< IS > MoFEM::BcManager::getBlockIS | ( | const std::string | block_prefix, |
| const std::string | block_name, | ||
| const std::string | field_name, | ||
| const std::string | problem_name, | ||
| int | lo, | ||
| int | hi, | ||
| SmartPetscObj< IS > | is_expand = SmartPetscObj<IS>() |
||
| ) |
#include <src/interfaces/BcManager.hpp>
Create PETSc Index Set for boundary condition block.
Generates a PETSc Index Set (IS) containing DOF indices for a specified boundary condition block. The IS can be used for matrix/vector operations, subproblem creation, and solver configuration in PETSc-based computations.
| block_prefix | prefix for block name construction |
| block_name | name of the boundary condition block |
| field_name | name of the field containing the DOFs |
| problem_name | name of the finite element problem |
| lo | lowest coefficient (rank) to include |
| hi | highest coefficient (rank) to include |
| is_expand | optional existing IS to expand with new indices |
Definition at line 241 of file BcManager.cpp.
| SmartPetscObj< IS > MoFEM::BcManager::getBlockIS | ( | const std::string | problem_name, |
| const std::string | block_name, | ||
| const std::string | field_name, | ||
| int | lo, | ||
| int | hi, | ||
| SmartPetscObj< IS > | is_expand = SmartPetscObj<IS>() |
||
| ) |
#include <src/interfaces/BcManager.hpp>
Create PETSc Index Set for boundary condition block (simplified)
Simplified version that generates a PETSc Index Set for a boundary condition block without requiring a separate block prefix. This is the most commonly used interface for creating IS objects for boundary condition processing.
| problem_name | name of the finite element problem |
| block_name | name of the boundary condition block |
| field_name | name of the field containing the DOFs |
| lo | lowest coefficient (rank) to include |
| hi | highest coefficient (rank) to include |
| is_expand | optional existing IS to expand with new indices |
Definition at line 281 of file BcManager.cpp.
| BcMarkerPtr MoFEM::BcManager::getMergedBlocksMarker | ( | const std::vector< BcMarkerPtr > & | boundary_markers_ptr_vec | ) |
#include <src/interfaces/BcManager.hpp>
Merge pre-existing marker vectors.
Combines multiple existing DOF marker vectors into a single unified marker vector. This allows for flexible composition of boundary condition constraints from different sources or processing stages.
| boundary_markers_ptr_vec | vector of marker pointers to merge |
| BcManager::BcMarkerPtr MoFEM::BcManager::getMergedBlocksMarker | ( | std::vector< std::regex > | bc_regex_vec | ) |
#include <src/interfaces/BcManager.hpp>
Merge DOF markers from multiple boundary condition blocks.
Combines DOF marker vectors from multiple boundary condition blocks that match the provided regular expression patterns. The resulting marker vector represents the union of all DOF constraints from the matching blocks.
| bc_regex_vec | vector of regular expressions for block name matching |
Definition at line 210 of file BcManager.cpp.
|
inline |
#include <src/interfaces/BcManager.hpp>
Merge DOF markers by boundary condition names.
Convenience function that merges DOF marker vectors from boundary condition blocks with names containing the specified substrings. Useful for combining markers from related boundary conditions into a single constraint system.
| bc_names | vector of boundary condition name patterns to match |
Definition at line 760 of file BcManager.hpp.
| Range MoFEM::BcManager::getMergedBlocksRange | ( | std::vector< std::regex > | bc_regex_vec | ) |
#include <src/interfaces/BcManager.hpp>
Merge entity ranges from multiple boundary condition blocks.
Combines entity ranges from multiple boundary condition blocks that match the provided regular expression patterns. This is useful for creating composite boundary conditions or applying operations to multiple related boundary condition blocks simultaneously.
| bc_regex_vec | vector of regular expressions for block name matching |
Definition at line 195 of file BcManager.cpp.
|
inline |
#include <src/interfaces/BcManager.hpp>
Merge entity ranges by boundary condition names.
Convenience function that merges entity ranges from boundary condition blocks with names containing the specified substrings. Automatically constructs regular expressions for flexible name matching.
| bc_names | vector of boundary condition name patterns to match |
Definition at line 727 of file BcManager.hpp.
| MoFEMErrorCode MoFEM::BcManager::getOptions | ( | ) |
#include <src/interfaces/BcManager.hpp>
Get command line options for BcManager.
Retrieves configuration options from command line arguments that control boundary condition processing behavior and integration settings.
Definition at line 65 of file BcManager.cpp.
| boost::shared_ptr< BcManager::BCs > MoFEM::BcManager::popMarkDOFsOnEntities | ( | const std::string | block_name | ) |
#include <src/interfaces/BcManager.hpp>
Retrieve and remove boundary condition data.
Retrieves the boundary condition data structure for a specified block and removes it from the internal management system. This is typically used when transferring boundary condition data to other processing stages or when cleaning up after boundary condition application.
| block_name | name of the boundary condition block to retrieve |
Definition at line 185 of file BcManager.cpp.
| MoFEMErrorCode MoFEM::BcManager::pushMarkDOFsOnEntities | ( | const std::string | problem_name, |
| const std::string | block_name, | ||
| const std::string | field_name, | ||
| bool | get_low_dim_ents = true |
||
| ) |
#include <src/interfaces/BcManager.hpp>
Mark DOFs with explicit block specification.
Template-based DOF marking with explicit block name specification. Creates internal data structures for the specified boundary condition block while maintaining type-safe boundary condition handling.
| T | boundary condition type template parameter |
| problem_name | name of the finite element problem |
| block_name | specific name of the boundary condition block |
| field_name | name of the field containing the DOFs |
| get_low_dim_ents | include lower dimensional entities |
| MoFEMErrorCode MoFEM::BcManager::pushMarkDOFsOnEntities | ( | const std::string | problem_name, |
| const std::string | block_name, | ||
| const std::string | field_name, | ||
| int | lo, | ||
| int | hi, | ||
| bool | get_low_dim_ents = true |
||
| ) |
#include <src/interfaces/BcManager.hpp>
Mark DOFs on block entities for boundary conditions.
Marks DOFs associated with entities in a specified block for boundary condition processing. This creates internal data structures needed for subsequent boundary condition application or DOF removal operations.
| problem_name | name of the finite element problem |
| block_name | name of the boundary condition block/meshset |
| field_name | name of the field containing the DOFs to mark |
| lo | lowest coefficient (rank) to mark |
| hi | highest coefficient (rank) to mark |
| get_low_dim_ents | include lower dimensional entities in the operation |
Definition at line 110 of file BcManager.cpp.
| MoFEMErrorCode MoFEM::BcManager::pushMarkDOFsOnEntities | ( | const std::string | problem_name, |
| const std::string | field_name, | ||
| bool | get_low_dim_ents = true, |
||
| bool | block_name_field_prefix = false |
||
| ) |
#include <src/interfaces/BcManager.hpp>
Mark DOFs based on boundary condition type template.
Template-based DOF marking that automatically determines the appropriate meshset type and boundary condition handling. Creates internal data structures for subsequent boundary condition processing operations.
| T | boundary condition type template parameter |
| problem_name | name of the finite element problem |
| field_name | name of the field containing the DOFs |
| get_low_dim_ents | include lower dimensional entities |
| block_name_field_prefix | use field name as block name prefix |
| MoFEMErrorCode MoFEM::BcManager::pushMarkSideDofs | ( | const std::string | problem_name, |
| const std::string | block_name, | ||
| const std::string | field_name, | ||
| int | bridge_dim, | ||
| int | lo, | ||
| int | hi | ||
| ) |
#include <src/interfaces/BcManager.hpp>
Mark DOFs on side entities for boundary conditions.
Marks DOFs associated with side entities (faces, edges) of a specified block for boundary condition application. This is commonly used for surface-based boundary conditions like pressure, traction, or flux conditions.
| problem_name | name of the finite element problem |
| block_name | name of the boundary condition block/meshset |
| field_name | name of the field containing the DOFs |
| bridge_dim | dimension of bridge entities connecting DOFs to sides |
| lo | lowest coefficient (rank) to mark |
| hi | highest coefficient (rank) to mark |
Definition at line 1630 of file BcManager.cpp.
| MoFEMErrorCode MoFEM::BcManager::removeBlockDOFsOnEntities | ( | const std::string | problem_name, |
| const std::string | block_name, | ||
| const std::string | field_name, | ||
| bool | get_low_dim_ents = true, |
||
| bool | is_distributed_mesh = true |
||
| ) |
#include <src/interfaces/BcManager.hpp>
Remove DOFs with explicit block specification.
Template-based DOF removal with explicit block name specification. Provides fine-grained control over which specific block is processed while maintaining type-safe boundary condition handling.
| T | boundary condition type template parameter |
| problem_name | name of the finite element problem |
| block_name | specific name of the boundary condition block |
| field_name | name of the field containing the DOFs |
| get_low_dim_ents | include lower dimensional entities |
| is_distributed_mesh | true if mesh is distributed across processes |
| MoFEMErrorCode MoFEM::BcManager::removeBlockDOFsOnEntities | ( | const std::string | problem_name, |
| const std::string | block_name, | ||
| const std::string | field_name, | ||
| int | lo, | ||
| int | hi, | ||
| bool | get_low_dim_ents = true, |
||
| bool | is_distributed_mesh = true |
||
| ) |
#include <src/interfaces/BcManager.hpp>
Remove DOFs from problem based on block entities.
Removes DOFs associated with entities in a specified block from the finite element problem. This is the primary method for enforcing Dirichlet boundary conditions by eliminating constrained DOFs from the system.
| problem_name | name of the finite element problem |
| block_name | name of the boundary condition block/meshset |
| field_name | name of the field containing the DOFs to remove |
| lo | lowest coefficient (rank) to remove |
| hi | highest coefficient (rank) to remove |
| get_low_dim_ents | include lower dimensional entities in the operation |
| is_distributed_mesh | true if mesh is distributed across processes |
Definition at line 72 of file BcManager.cpp.
| MoFEMErrorCode MoFEM::BcManager::removeBlockDOFsOnEntities | ( | const std::string | problem_name, |
| const std::string | field_name, | ||
| bool | get_low_dim_ents = true, |
||
| bool | block_name_field_prefix = false, |
||
| bool | is_distributed_mesh = true |
||
| ) |
#include <src/interfaces/BcManager.hpp>
Remove DOFs based on boundary condition type template.
Template-based DOF removal that automatically determines the appropriate meshset type and boundary condition handling based on the template parameter. Supports various boundary condition types including displacement, temperature, heat flux, force, and pressure conditions.
| T | boundary condition type template parameter |
| problem_name | name of the finite element problem |
| field_name | name of the field containing the DOFs |
| get_low_dim_ents | include lower dimensional entities |
| block_name_field_prefix | use field name as block name prefix |
| is_distributed_mesh | true if mesh is distributed across processes |
| MoFEMErrorCode MoFEM::BcManager::removeSideDOFs | ( | const std::string | problem_name, |
| const std::string | block_name, | ||
| const std::string | field_name, | ||
| int | bridge_dim, | ||
| int | lo, | ||
| int | hi, | ||
| bool | is_distributed_mesh = true |
||
| ) |
#include <src/interfaces/BcManager.hpp>
Remove DOFs on side entities from problem.
Removes DOFs associated with side entities from the finite element problem. This is typically used to enforce boundary conditions by eliminating constrained DOFs from the solution system.
| problem_name | name of the finite element problem |
| block_name | name of the boundary condition block/meshset |
| field_name | name of the field containing the DOFs |
| bridge_dim | dimension of bridge entities connecting DOFs to sides |
| lo | lowest coefficient (rank) to remove |
| hi | highest coefficient (rank) to remove |
| is_distributed_mesh | true if mesh is distributed across processes |
Definition at line 1686 of file BcManager.cpp.