![]() |
v0.10.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 } |
Public Member Functions | |
MoFEMErrorCode | query_interface (const MOFEMuuid &uuid, UnknownInterface **iface) const |
TSMethod () | |
virtual | ~TSMethod ()=default |
MoFEMErrorCode | copyTs (const TSMethod &ts) |
Copy TS solver data. More... | |
DEPRECATED MoFEMErrorCode | setTsCtx (TSContext ctx) |
Public Attributes | |
TS | ts |
time solver More... | |
TSContext | ts_ctx |
PetscInt | ts_step |
time step More... | |
PetscReal | ts_a |
shift for U_t (see PETSc Time Solver) More... | |
PetscReal | ts_aa |
shift for U_tt shift for U_tt More... | |
PetscReal | ts_t |
time More... | |
Vec & | ts_u |
state vector More... | |
Vec & | ts_u_t |
time derivative of state vector More... | |
Vec & | ts_u_tt |
second time derivative of state vector More... | |
Vec & | ts_F |
residual vector More... | |
Mat & | ts_A |
Mat & | ts_B |
Preconditioner for ts_A. More... | |
Additional Inherited Members | |
![]() | |
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_X_T = 1 << 4 , CTX_SET_X_TT = 1 << 6 , CTX_SET_TIME = 1 << 7 } |
using | Switches = std::bitset< 8 > |
![]() | |
PetscData () | |
virtual | ~PetscData ()=default |
![]() | |
boost::typeindex::type_index | getClassIdx (const MOFEMuuid &uid) const |
Get type name for interface Id. More... | |
MOFEMuuid | getUId (const boost::typeindex::type_index &class_idx) const |
Get interface Id for class name. More... | |
template<class IFACE > | |
MoFEMErrorCode | registerInterface (const MOFEMuuid &uuid, bool error_if_registration_failed=true) |
Register interface. More... | |
template<class IFACE , bool VERIFY = false> | |
MoFEMErrorCode | getInterface (const MOFEMuuid &uuid, IFACE *&iface) const |
Get interface by uuid and return reference to pointer of 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 |
virtual MoFEMErrorCode | getLibVersion (Version &version) const |
Get library version. More... | |
virtual const MoFEMErrorCode | getFileVersion (moab::Interface &moab, Version &version) const |
Get database major version. More... | |
virtual MoFEMErrorCode | getInterfaceVersion (Version &version) const |
Get database major version. More... | |
template<> | |
MoFEMErrorCode | getInterface (const MOFEMuuid &uuid, UnknownInterface *&iface) const |
![]() | |
Switches | data_ctx |
Vec | f |
Mat | A |
Mat | B |
Vec | x |
Vec | x_t |
Vec | x_tt |
![]() | |
static constexpr Switches | CtxSetNone = PetscData::Switches(CTX_SET_NONE) |
static constexpr Switches | CtxSetF = PetscData::Switches(CTX_SET_F) |
static constexpr Switches | CtxSetA = PetscData::Switches(CTX_SET_A) |
static constexpr Switches | CtxSetB = PetscData::Switches(CTX_SET_B) |
static constexpr Switches | CtxSetX = PetscData::Switches(CTX_SET_X) |
static constexpr Switches | CtxSetX_T = PetscData::Switches(CTX_SET_X_T) |
static constexpr Switches | CtxSetX_TT = PetscData::Switches(CTX_SET_X_TT) |
static constexpr Switches | CtxSetTime = PetscData::Switches(CTX_SET_TIME) |
data structure for TS (time stepping) context
Structure stores context data which are set in functions run by PETSc Time Stepping functions.
Definition at line 167 of file LoopMethods.hpp.
Enumerator | |
---|---|
CTX_TSSETRHSFUNCTION | |
CTX_TSSETRHSJACOBIAN | |
CTX_TSSETIFUNCTION | |
CTX_TSSETIJACOBIAN | |
CTX_TSTSMONITORSET | |
CTX_TSNONE |
Definition at line 172 of file LoopMethods.hpp.
MoFEM::TSMethod::TSMethod | ( | ) |
Definition at line 107 of file LoopMethods.cpp.
|
virtualdefault |
MoFEMErrorCode MoFEM::TSMethod::copyTs | ( | const TSMethod & | ts | ) |
Copy TS solver data.
Definition at line 112 of file LoopMethods.cpp.
|
virtual |
Reimplemented from MoFEM::PetscData.
Reimplemented in MoFEM::DofMethod, MoFEM::EntityMethod, MoFEM::FEMethod, and MoFEM::BasicMethod.
Definition at line 98 of file LoopMethods.cpp.
MoFEMErrorCode MoFEM::TSMethod::setTsCtx | ( | TSContext | ctx | ) |
Definition at line 212 of file LoopMethods.hpp.
TS MoFEM::TSMethod::ts |
PetscReal MoFEM::TSMethod::ts_a |
shift for U_t (see PETSc Time Solver)
Definition at line 198 of file LoopMethods.hpp.
Mat& MoFEM::TSMethod::ts_A |
Jacobian of G(U) = F(t,U,W+v*U,W'+a*U), equivalent to dF/dU + v*dF/dU_t + a*dF/dU_tt
Definition at line 207 of file LoopMethods.hpp.
PetscReal MoFEM::TSMethod::ts_aa |
shift for U_tt shift for U_tt
Definition at line 199 of file LoopMethods.hpp.
Mat& MoFEM::TSMethod::ts_B |
Preconditioner for ts_A.
Definition at line 209 of file LoopMethods.hpp.
TSContext MoFEM::TSMethod::ts_ctx |
Definition at line 190 of file LoopMethods.hpp.
Vec& MoFEM::TSMethod::ts_F |
PetscInt MoFEM::TSMethod::ts_step |
time step
Definition at line 197 of file LoopMethods.hpp.
PetscReal MoFEM::TSMethod::ts_t |
time
Definition at line 200 of file LoopMethods.hpp.
Vec& MoFEM::TSMethod::ts_u |
state vector
Definition at line 202 of file LoopMethods.hpp.
Vec& MoFEM::TSMethod::ts_u_t |
time derivative of state vector
Definition at line 203 of file LoopMethods.hpp.
Vec& MoFEM::TSMethod::ts_u_tt |
second time derivative of state vector
Definition at line 204 of file LoopMethods.hpp.