![]() |
v0.13.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... | |
MoFEM::TsCtx::TsCtx | ( | MoFEM::Interface & | m_field, |
const std::string & | problem_name | ||
) |
Definition at line 57 of file TsCtx.hpp.
|
virtualdefault |
MoFEMErrorCode MoFEM::TsCtx::clearLoops | ( | ) |
Clear loops.
Definition at line 17 of file TsCtx.cpp.
FEMethodsSequence& MoFEM::TsCtx::getLoopsIFunction | ( | ) |
FEMethodsSequence& MoFEM::TsCtx::getLoopsIJacobian | ( | ) |
FEMethodsSequence& MoFEM::TsCtx::getLoopsMonitor | ( | ) |
FEMethodsSequence& MoFEM::TsCtx::getLoopsRHSFunction | ( | ) |
FEMethodsSequence& MoFEM::TsCtx::getLoopsRHSJacobian | ( | ) |
BasicMethodsSequence& MoFEM::TsCtx::getPostProcessIFunction | ( | ) |
Get the postProcess to do IFunction object.
BasicMethodsSequence& MoFEM::TsCtx::getPostProcessIJacobian | ( | ) |
Get the postProcess to do IJacobian object.
BasicMethodsSequence& MoFEM::TsCtx::getPostProcessMonitor | ( | ) |
BasicMethodsSequence& MoFEM::TsCtx::getPostProcessRHSFunction | ( | ) |
Get the postProcess to do RHSFunction object.
BasicMethodsSequence& MoFEM::TsCtx::getPostProcessRHSJacobian | ( | ) |
Get the postProcess to do RHSJacobian object.
BasicMethodsSequence& MoFEM::TsCtx::getPreProcessIFunction | ( | ) |
BasicMethodsSequence& MoFEM::TsCtx::getPreProcessIJacobian | ( | ) |
BasicMethodsSequence& MoFEM::TsCtx::getPreProcessMonitor | ( | ) |
BasicMethodsSequence& MoFEM::TsCtx::getPreProcessRHSFunction | ( | ) |
Get the preProcess to do RHSFunction object.
BasicMethodsSequence& MoFEM::TsCtx::getPreProcessRHSJacobian | ( | ) |
Get the preProcess to do RHSJacobian object.
|
friend |
Set monitor for TS solver.
ts | |
step | |
t | |
u | |
ctx |
Definition at line 229 of file TsCtx.cpp.
|
friend |
|
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 473 of file TsCtx.cpp.
|
friend |
|
friend |
|
friend |
|
friend |
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 |