![]() |
v0.15.0 |
Public Member Functions | |
ApplyDirichletBc (const Range &fix_faces, const Range &fix_nodes, const Range &fix_second_node) | |
MoFEMErrorCode | postProcess () |
Post-processing function executed at loop completion. | |
![]() | |
MoFEMErrorCode | query_interface (boost::typeindex::type_index type_index, UnknownInterface **iface) const |
Query interface for type casting. | |
FEMethod ()=default | |
Default constructor. | |
auto | getFEName () const |
Get the name of the current finite element. | |
auto | getDataDofsPtr () const |
Get pointer to DOF data for the current finite element. | |
auto | getDataVectorDofsPtr () const |
Get pointer to vector DOF data for the current finite element. | |
const FieldEntity_vector_view & | getDataFieldEnts () const |
Get reference to data field entities for the current finite element. | |
boost::shared_ptr< FieldEntity_vector_view > & | getDataFieldEntsPtr () const |
Get shared pointer to data field entities for the current finite element. | |
auto & | getRowFieldEnts () const |
Get reference to row field entities for the current finite element. | |
auto & | getRowFieldEntsPtr () const |
Get shared pointer to row field entities for the current finite element. | |
auto & | getColFieldEnts () const |
Get reference to column field entities for the current finite element. | |
auto & | getColFieldEntsPtr () const |
Get shared pointer to column field entities for the current finite element. | |
auto | getRowDofsPtr () const |
Get pointer to row DOFs for the current finite element. | |
auto | getColDofsPtr () const |
Get pointer to column DOFs for the current finite element. | |
auto | getNumberOfNodes () const |
Get the number of nodes in the current finite element. | |
EntityHandle | getFEEntityHandle () const |
Get the entity handle of the current finite element. | |
MoFEMErrorCode | getNodeData (const std::string field_name, VectorDouble &data, const bool reset_dofs=true) |
Get nodal data for a specific field. | |
![]() | |
BasicMethod () | |
Default constructor. | |
virtual | ~BasicMethod ()=default |
Virtual destructor. | |
int | getNinTheLoop () const |
Get current loop iteration index. | |
int | getLoopSize () const |
Get total loop size. | |
auto | getLoHiFERank () const |
Get processor rank range for finite element iteration. | |
auto | getLoFERank () const |
Get lower processor rank for finite element iteration. | |
auto | getHiFERank () const |
Get upper processor rank for finite element iteration. | |
unsigned int | getFieldBitNumber (std::string field_name) const |
Get bit number for a specific field by name. | |
MoFEMErrorCode | copyBasicMethod (const BasicMethod &basic) |
Copy data from another BasicMethod instance. | |
virtual MoFEMErrorCode | preProcess () |
Pre-processing function executed at loop initialization. | |
virtual MoFEMErrorCode | operator() () |
Main operator function executed for each loop iteration. | |
boost::weak_ptr< CacheTuple > | getCacheWeakPtr () const |
Get the cache weak pointer object. | |
![]() | |
MoFEMErrorCode | query_interface (boost::typeindex::type_index type_index, UnknownInterface **iface) const |
Query interface for type casting. | |
KspMethod () | |
Default constructor. | |
virtual | ~KspMethod ()=default |
Virtual destructor. | |
MoFEMErrorCode | copyKsp (const KspMethod &ksp) |
Copy data from another KSP method. | |
![]() | |
PetscData () | |
Default constructor. | |
virtual | ~PetscData ()=default |
Virtual destructor. | |
MoFEMErrorCode | copyPetscData (const PetscData &petsc_data) |
Copy PETSc data from another instance. | |
![]() | |
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 |
![]() | |
MoFEMErrorCode | query_interface (boost::typeindex::type_index type_index, UnknownInterface **iface) const |
Query interface for type casting. | |
SnesMethod () | |
Default constructor. | |
virtual | ~SnesMethod ()=default |
Virtual destructor. | |
MoFEMErrorCode | copySnes (const SnesMethod &snes) |
Copy SNES data from another instance. | |
![]() | |
MoFEMErrorCode | query_interface (boost::typeindex::type_index type_index, UnknownInterface **iface) const |
Query interface for type casting. | |
TSMethod () | |
Default constructor. | |
virtual | ~TSMethod ()=default |
Virtual destructor. | |
MoFEMErrorCode | copyTs (const TSMethod &ts) |
Copy TS solver data from another instance. | |
![]() | |
MoFEMErrorCode | query_interface (boost::typeindex::type_index type_index, UnknownInterface **iface) const |
Query interface for type casting. | |
TaoMethod () | |
Default constructor. | |
virtual | ~TaoMethod ()=default |
Virtual destructor. | |
MoFEMErrorCode | copyTao (const TaoMethod &tao) |
Copy TAO data from another instance. | |
Public Attributes | |
Range | fixFaces |
Range | fixNodes |
Range | fixSecondNode |
![]() | |
std::string | feName |
Name of the finite element being processed. | |
boost::shared_ptr< const NumeredEntFiniteElement > | numeredEntFiniteElementPtr |
Shared pointer to finite element database structure. | |
boost::function< bool(FEMethod *fe_method_ptr)> | exeTestHook |
Test function to determine if element should be skipped. | |
![]() | |
int | nInTheLoop |
Current index of processed method in the loop. | |
int | loopSize |
Total number of methods to process in the loop. | |
std::pair< int, int > | loHiFERank |
Processor rank range for distributed finite element iteration. | |
int | rAnk |
Current processor rank in MPI communicator. | |
int | sIze |
Total number of processors in MPI communicator. | |
const RefEntity_multiIndex * | refinedEntitiesPtr |
Pointer to container of refined MoFEM DOF entities. | |
const RefElement_multiIndex * | refinedFiniteElementsPtr |
Pointer to container of refined finite element entities. | |
const Problem * | problemPtr |
Raw pointer to current MoFEM problem instance. | |
const Field_multiIndex * | fieldsPtr |
Raw pointer to fields multi-index container. | |
const FieldEntity_multiIndex * | entitiesPtr |
Raw pointer to container of field entities. | |
const DofEntity_multiIndex * | dofsPtr |
Raw pointer to container of degree of freedom entities. | |
const FiniteElement_multiIndex * | finiteElementsPtr |
Raw pointer to container of finite elements. | |
const EntFiniteElement_multiIndex * | finiteElementsEntitiesPtr |
Raw pointer to container of finite element entities. | |
const FieldEntityEntFiniteElementAdjacencyMap_multiIndex * | adjacenciesPtr |
Raw pointer to container of adjacencies between DOFs and finite elements. | |
boost::function< MoFEMErrorCode()> | preProcessHook |
Hook function for pre-processing operations. | |
boost::function< MoFEMErrorCode()> | postProcessHook |
Hook function for post-processing operations. | |
boost::function< MoFEMErrorCode()> | operatorHook |
Hook function for main operator execution. | |
boost::movelib::unique_ptr< bool > | vecAssembleSwitch |
Switch for vector assembly operations. | |
boost::movelib::unique_ptr< bool > | matAssembleSwitch |
Switch for matrix assembly operations. | |
boost::weak_ptr< CacheTuple > | cacheWeakPtr |
Weak pointer to cached entity data. | |
![]() | |
KSPContext | ksp_ctx |
Current KSP computation context. | |
KSP | ksp |
PETSc KSP linear solver object. | |
Vec & | ksp_f |
Reference to residual vector in KSP context. | |
Mat & | ksp_A |
Reference to system matrix in KSP context. | |
Mat & | ksp_B |
Reference to preconditioner matrix in KSP context. | |
![]() | |
Switches | data_ctx |
Current data context switches. | |
Vec | f |
PETSc residual vector. | |
Mat | A |
PETSc Jacobian matrix. | |
Mat | B |
PETSc preconditioner matrix. | |
Vec | x |
PETSc solution vector. | |
Vec | dx |
PETSc solution increment vector. | |
Vec | x_t |
PETSc first time derivative vector. | |
Vec | x_tt |
PETSc second time derivative vector. | |
![]() | |
SNESContext | snes_ctx |
Current SNES computation context. | |
SNES | snes |
PETSc SNES nonlinear solver object. | |
Vec & | snes_x |
Reference to current solution state vector. | |
Vec & | snes_dx |
Reference to solution update/increment vector. | |
Vec & | snes_f |
Reference to residual vector. | |
Mat & | snes_A |
Reference to Jacobian matrix. | |
Mat & | snes_B |
Reference to preconditioner of Jacobian matrix. | |
![]() | |
TS | ts |
PETSc time stepping solver object. | |
TSContext | ts_ctx |
Current TS computation context. | |
PetscInt | ts_step |
Current time step number. | |
PetscReal | ts_a |
Shift parameter for U_t (see PETSc Time Solver documentation) | |
PetscReal | ts_aa |
Shift parameter for U_tt (second time derivative) | |
PetscReal | ts_t |
Current time value. | |
PetscReal | ts_dt |
Current time step size. | |
Vec & | ts_u |
Reference to current state vector U(t) | |
Vec & | ts_u_t |
Reference to first time derivative of state vector dU/dt. | |
Vec & | ts_u_tt |
Reference to second time derivative of state vector d²U/dt² | |
Vec & | ts_F |
Reference to residual vector F(t,U,U_t,U_tt) | |
Mat & | ts_A |
Reference to Jacobian matrix: dF/dU + a*dF/dU_t + aa*dF/dU_tt. | |
Mat & | ts_B |
Reference to preconditioner matrix for ts_A. | |
![]() | |
TAOContext | tao_ctx |
Current TAO computation context. | |
Tao | tao |
PETSc TAO optimization solver object. | |
Vec & | tao_x |
Reference to optimization variables vector. | |
Vec & | tao_f |
Reference to gradient vector. | |
Mat & | tao_A |
Reference to Hessian matrix. | |
Mat & | tao_B |
Reference to preconditioner matrix for Hessian. | |
Additional Inherited Members | |
![]() | |
enum | KSPContext { CTX_SETFUNCTION , CTX_OPERATORS , CTX_KSPNONE } |
Context enumeration for KSP solver phases. More... | |
![]() | |
enum | DataContext { CTX_SET_NONE = 0 , CTX_SET_F = 1 << 0 , CTX_SET_A = 1 << 1 , CTX_SET_B = 1 << 2 , CTX_SET_X = 1 << 3 , CTX_SET_DX = 1 << 4 , CTX_SET_X_T = 1 << 5 , CTX_SET_X_TT = 1 << 6 , CTX_SET_TIME = 1 << 7 } |
Enumeration for data context flags. More... | |
using | Switches = std::bitset< 8 > |
Bitset type for context switches. | |
![]() | |
enum | SNESContext { CTX_SNESSETFUNCTION , CTX_SNESSETJACOBIAN , CTX_SNESNONE } |
Context enumeration for SNES solver phases. More... | |
![]() | |
enum | TSContext { CTX_TSSETRHSFUNCTION , CTX_TSSETRHSJACOBIAN , CTX_TSSETIFUNCTION , CTX_TSSETIJACOBIAN , CTX_TSTSMONITORSET , CTX_TSNONE } |
Context enumeration for TS solver phases. More... | |
![]() | |
enum | TAOContext { CTX_TAO_OBJECTIVE , CTX_TAO_GRADIENT , CTX_TAO_HESSIAN , CTX_TAO_NONE } |
Context enumeration for TAO solver phases. More... | |
![]() | |
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. | |
![]() | |
static constexpr Switches | CtxSetNone = PetscData::Switches(CTX_SET_NONE) |
No data switch. | |
static constexpr Switches | CtxSetF = PetscData::Switches(CTX_SET_F) |
Residual vector switch. | |
static constexpr Switches | CtxSetA = PetscData::Switches(CTX_SET_A) |
Jacobian matrix switch. | |
static constexpr Switches | CtxSetB = PetscData::Switches(CTX_SET_B) |
Preconditioner matrix switch. | |
static constexpr Switches | CtxSetX = PetscData::Switches(CTX_SET_X) |
Solution vector switch. | |
static constexpr Switches | CtxSetDX = PetscData::Switches(CTX_SET_DX) |
Solution increment switch. | |
static constexpr Switches | CtxSetX_T = PetscData::Switches(CTX_SET_X_T) |
First time derivative switch. | |
static constexpr Switches | CtxSetX_TT = PetscData::Switches(CTX_SET_X_TT) |
Second time derivative switch. | |
static constexpr Switches | CtxSetTime = PetscData::Switches(CTX_SET_TIME) |
Time value switch. | |
Definition at line 301 of file simple_elasticity.cpp.
|
inline |
Definition at line 305 of file simple_elasticity.cpp.
|
inlinevirtual |
Post-processing function executed at loop completion.
This virtual function is called once at the end of the loop. It is typically used for:
Example of iterating over DOFs:
Reimplemented from MoFEM::BasicMethod.
Definition at line 312 of file simple_elasticity.cpp.
Range ApplyDirichletBc::fixFaces |
Definition at line 303 of file simple_elasticity.cpp.
Range ApplyDirichletBc::fixNodes |
Definition at line 303 of file simple_elasticity.cpp.
Range ApplyDirichletBc::fixSecondNode |
Definition at line 303 of file simple_elasticity.cpp.