![]() |
v0.14.0 |
Interface for Time Stepping (TS) solver. More...
#include <src/petsc/TsCtx.hpp>
Public Types | |
typedef MoFEM::PairNameFEMethodPtr | PairNameFEMethodPtr |
typedef MoFEM::FEMethodsSequence | FEMethodsSequence |
typedef MoFEM::BasicMethodsSequence | BasicMethodsSequence |
Public Member Functions | |
TsCtx (MoFEM::Interface &m_field, const std::string &problem_name) | |
virtual | ~TsCtx ()=default |
FEMethodsSequence & | getLoopsIFunction () |
Get the loops to do IFunction object. More... | |
FEMethodsSequence & | getLoopsRHSFunction () |
Get the loops to do RHSFunction object. More... | |
FEMethodsSequence & | getLoopsIJacobian () |
Get the loops to do IJacobian object. More... | |
FEMethodsSequence & | getLoopsRHSJacobian () |
Get the loops to do RHSJacobian object. More... | |
FEMethodsSequence & | getLoopsMonitor () |
Get the loops to do Monitor object. More... | |
BasicMethodsSequence & | getPreProcessIFunction () |
Get the preProcess to do IFunction object. More... | |
BasicMethodsSequence & | getPostProcessIFunction () |
Get the postProcess to do IFunction object. More... | |
BasicMethodsSequence & | getPreProcessIJacobian () |
Get the preProcess to do IJacobian object. More... | |
BasicMethodsSequence & | getPostProcessIJacobian () |
Get the postProcess to do IJacobian object. More... | |
BasicMethodsSequence & | getPreProcessMonitor () |
Get the preProcess to do Monitor object. More... | |
BasicMethodsSequence & | getPostProcessMonitor () |
Get the postProcess to do Monitor object. More... | |
BasicMethodsSequence & | getPreProcessRHSJacobian () |
Get the preProcess to do RHSJacobian object. More... | |
BasicMethodsSequence & | getPostProcessRHSJacobian () |
Get the postProcess to do RHSJacobian object. More... | |
BasicMethodsSequence & | getPreProcessRHSFunction () |
Get the preProcess to do RHSFunction object. More... | |
BasicMethodsSequence & | getPostProcessRHSFunction () |
Get the postProcess to do RHSFunction object. More... | |
MoFEMErrorCode | clearLoops () |
Clear loops. More... | |
Private Attributes | |
PetscLogEvent | MOFEM_EVENT_TsCtxRHSFunction |
PetscLogEvent | MOFEM_EVENT_TsCtxRHSJacobian |
PetscLogEvent | MOFEM_EVENT_TsCtxIFunction |
PetscLogEvent | MOFEM_EVENT_TsCtxIJacobian |
PetscLogEvent | MOFEM_EVENT_TsCtxMonitor |
PetscLogEvent | MOFEM_EVENT_TsCtxI2Function |
PetscLogEvent | MOFEM_EVENT_TsCtxI2Jacobian |
boost::movelib::unique_ptr< bool > | vecAssembleSwitch |
boost::movelib::unique_ptr< bool > | matAssembleSwitch |
Friends | |
PetscErrorCode | TsSetIFunction (TS ts, PetscReal t, Vec u, Vec u_t, Vec F, void *ctx) |
Set IFunction for TS solver. More... | |
PetscErrorCode | TsSetIJacobian (TS ts, PetscReal t, Vec u, Vec U_t, PetscReal a, Mat A, Mat B, void *ctx) |
Set function evaluating jacobina in TS solver. More... | |
PetscErrorCode | TsMonitorSet (TS ts, PetscInt step, PetscReal t, Vec u, void *ctx) |
Set monitor for TS solver. More... | |
PetscErrorCode | TsSetRHSFunction (TS ts, PetscReal t, Vec u, Vec F, void *ctx) |
TS solver function. More... | |
PetscErrorCode | TsSetRHSJacobian (TS ts, PetscReal t, Vec u, Mat A, Mat B, void *ctx) |
TS solver function. More... | |
PetscErrorCode | TsSetI2Function (TS ts, PetscReal t, Vec U, Vec U_t, Vec U_tt, Vec F, void *ctx) |
Calculation the right hand side for second order PDE in time. More... | |
PetscErrorCode | TsSetI2Jacobian (TS ts, PetscReal t, Vec U, Vec U_t, Vec U_tt, PetscReal v, PetscReal a, Mat J, Mat P, void *ctx) |
Calculation Jaconian for second order PDE in time. More... | |
Interface for Time Stepping (TS) solver.
|
inline |
Definition at line 45 of file TsCtx.hpp.
|
virtualdefault |
MoFEMErrorCode MoFEM::TsCtx::clearLoops | ( | ) |
Clear loops.
Definition at line 5 of file TsCtx.cpp.
|
inline |
Get the loops to do IFunction object.
It is sequence of finite elements used to evaluate the right hand side of implicit time solver.
Definition at line 69 of file TsCtx.hpp.
|
inline |
|
inline |
Get the loops to do Monitor object.
It is sequence used to monitor solution of time solver.
Definition at line 108 of file TsCtx.hpp.
|
inline |
|
inline |
|
inline |
Get the postProcess to do IFunction object.
|
inline |
Get the postProcess to do IJacobian object.
|
inline |
Get the postProcess to do Monitor object.
Definition at line 154 of file TsCtx.hpp.
|
inline |
Get the postProcess to do RHSFunction object.
|
inline |
Get the postProcess to do RHSJacobian object.
|
inline |
Get the preProcess to do IFunction object.
Definition at line 115 of file TsCtx.hpp.
|
inline |
Get the preProcess to do IJacobian object.
Definition at line 131 of file TsCtx.hpp.
|
inline |
|
inline |
Get the preProcess to do RHSFunction object.
|
inline |
Get the preProcess to do RHSJacobian object.
|
friend |
Set monitor for TS solver.
ts | |
step | |
t | |
u | |
ctx |
Definition at line 221 of file TsCtx.cpp.
|
friend |
Calculation the right hand side for second order PDE in time.
ts | |
t | |
u | |
u_t | |
u_tt | |
F | |
ctx |
Definition at line 566 of file TsCtx.cpp.
|
friend |
Calculation Jaconian for second order PDE in time.
ts | |
t | time at step/stage being solved |
u | state vectora |
u_t | time derivative of state vector |
u_tt | second time derivative of state vector |
a | shift for u_t |
aa | shift for u_tt |
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 |
B | preconditioning matrix for J, may be same as J |
ctx | TsCtx context for matrix evaluation routine |
Definition at line 469 of file TsCtx.cpp.
|
friend |
Set IFunction for TS solver.
ts | |
t | |
u | |
u_t | |
F | |
ctx |
Definition at line 25 of file TsCtx.cpp.
|
friend |
Set function evaluating jacobina in TS solver.
ts | |
t | |
u | |
u_t | |
a | |
A | |
B | |
ctx |
Definition at line 131 of file TsCtx.cpp.
|
friend |
TS solver function.
ts | |
t | |
u | |
F | |
ctx |
Definition at line 281 of file TsCtx.cpp.
|
friend |
TS solver function.
ts | |
t | |
u | |
A | |
B | |
ctx |
Definition at line 380 of file TsCtx.cpp.
MoFEMTypes MoFEM::TsCtx::bH |
FEMethodsSequence MoFEM::TsCtx::loopsIFunction |
FEMethodsSequence MoFEM::TsCtx::loopsIJacobian |
FEMethodsSequence MoFEM::TsCtx::loopsMonitor |
FEMethodsSequence MoFEM::TsCtx::loopsRHSFunction |
FEMethodsSequence MoFEM::TsCtx::loopsRHSJacobian |
|
private |
MoFEM::Interface& MoFEM::TsCtx::mField |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
BasicMethodsSequence MoFEM::TsCtx::postProcessIFunction |
BasicMethodsSequence MoFEM::TsCtx::postProcessIJacobian |
BasicMethodsSequence MoFEM::TsCtx::postProcessMonitor |
BasicMethodsSequence MoFEM::TsCtx::postProcessRHSFunction |
BasicMethodsSequence MoFEM::TsCtx::postProcessRHSJacobian |
BasicMethodsSequence MoFEM::TsCtx::preProcessIFunction |
BasicMethodsSequence MoFEM::TsCtx::preProcessIJacobian |
BasicMethodsSequence MoFEM::TsCtx::preProcessMonitor |
BasicMethodsSequence MoFEM::TsCtx::preProcessRHSFunction |
BasicMethodsSequence MoFEM::TsCtx::preProcessRHSJacobian |
|
private |