![]() |
v0.15.0 |
Data structure for TS (time stepping) context. More...
#include "src/interfaces/LoopMethods.hpp"
Public Types | |
| enum | TSContext { CTX_TSSETRHSFUNCTION , CTX_TSSETRHSJACOBIAN , CTX_TSSETIFUNCTION , CTX_TSSETIJACOBIAN , CTX_TSTSMONITORSET , CTX_TSNONE } |
| Context enumeration for TS solver phases. More... | |
Public Member Functions | |
| 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. | |
Public Attributes | |
| 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. | |
Additional Inherited Members | |
Protected Types inherited from MoFEM::PetscData | |
| 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. | |
Protected Member Functions inherited from MoFEM::PetscData | |
| PetscData () | |
| Default constructor. | |
| virtual | ~PetscData ()=default |
| Virtual destructor. | |
| MoFEMErrorCode | copyPetscData (const PetscData &petsc_data) |
| Copy PETSc data from another instance. | |
Protected Member Functions inherited from MoFEM::UnknownInterface | |
| 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 Protected Member Functions inherited from MoFEM::UnknownInterface | |
| 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. | |
Protected Attributes inherited from MoFEM::PetscData | |
| 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. | |
Static Protected Attributes inherited from MoFEM::PetscData | |
| 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. | |
Data structure for TS (time stepping) context.
This structure extends PetscData to provide context and data management specifically for PETSc TS (Time Stepping) solvers. It manages time-dependent computations including time derivatives, time step information, and temporal integration contexts for transient finite element analyses.
Definition at line 261 of file LoopMethods.hpp.
Context enumeration for TS solver phases.
Indicates the current phase of time stepping computation, determining which temporal operations are being performed and what data is active.
Definition at line 278 of file LoopMethods.hpp.
| MoFEM::TSMethod::TSMethod | ( | ) |
Default constructor.
Definition at line 112 of file LoopMethods.cpp.
|
virtualdefault |
Virtual destructor.
| MoFEMErrorCode MoFEM::TSMethod::copyTs | ( | const TSMethod & | ts | ) |
Copy TS solver data from another instance.
| ts | Source TS method |
Definition at line 117 of file LoopMethods.cpp.
|
virtual |
Query interface for type casting.
| type_index | Type information for interface querying |
| iface | Pointer to interface object |
Reimplemented from MoFEM::PetscData.
Definition at line 106 of file LoopMethods.cpp.
| TS MoFEM::TSMethod::ts |
PETSc time stepping solver object.
Definition at line 304 of file LoopMethods.hpp.
| PetscReal MoFEM::TSMethod::ts_a |
Shift parameter for U_t (see PETSc Time Solver documentation)
Definition at line 309 of file LoopMethods.hpp.
| Mat& MoFEM::TSMethod::ts_A |
Reference to Jacobian matrix: dF/dU + a*dF/dU_t + aa*dF/dU_tt.
Definition at line 319 of file LoopMethods.hpp.
| PetscReal MoFEM::TSMethod::ts_aa |
Shift parameter for U_tt (second time derivative)
Definition at line 310 of file LoopMethods.hpp.
| Mat& MoFEM::TSMethod::ts_B |
Reference to preconditioner matrix for ts_A.
Definition at line 320 of file LoopMethods.hpp.
| TSContext MoFEM::TSMethod::ts_ctx |
Current TS computation context.
Definition at line 306 of file LoopMethods.hpp.
| PetscReal MoFEM::TSMethod::ts_dt |
Current time step size.
Definition at line 312 of file LoopMethods.hpp.
| Vec& MoFEM::TSMethod::ts_F |
Reference to residual vector F(t,U,U_t,U_tt)
Definition at line 317 of file LoopMethods.hpp.
| PetscInt MoFEM::TSMethod::ts_step |
Current time step number.
Definition at line 308 of file LoopMethods.hpp.
| PetscReal MoFEM::TSMethod::ts_t |
Current time value.
Definition at line 311 of file LoopMethods.hpp.
| Vec& MoFEM::TSMethod::ts_u |
Reference to current state vector U(t)
Definition at line 314 of file LoopMethods.hpp.
| Vec& MoFEM::TSMethod::ts_u_t |
Reference to first time derivative of state vector dU/dt.
Definition at line 315 of file LoopMethods.hpp.
| Vec& MoFEM::TSMethod::ts_u_tt |
Reference to second time derivative of state vector d²U/dt²
Definition at line 316 of file LoopMethods.hpp.