![]() |
v0.15.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. | |
| FEMethodsSequence & | getLoopsRHSFunction () |
| Get the loops to do RHSFunction object. | |
| FEMethodsSequence & | getLoopsIJacobian () |
| Get the loops to do IJacobian object. | |
| FEMethodsSequence & | getLoopsRHSJacobian () |
| Get the loops to do RHSJacobian object. | |
| FEMethodsSequence & | getLoopsMonitor () |
| Get the loops to do Monitor object. | |
| BasicMethodsSequence & | getPreProcessIFunction () |
| Get the preProcess to do IFunction object. | |
| BasicMethodsSequence & | getPostProcessIFunction () |
| Get the postProcess to do IFunction object. | |
| BasicMethodsSequence & | getPreProcessIJacobian () |
| Get the preProcess to do IJacobian object. | |
| BasicMethodsSequence & | getPostProcessIJacobian () |
| Get the postProcess to do IJacobian object. | |
| BasicMethodsSequence & | getPreProcessMonitor () |
| Get the preProcess to do Monitor object. | |
| BasicMethodsSequence & | getPostProcessMonitor () |
| Get the postProcess to do Monitor object. | |
| BasicMethodsSequence & | getPreProcessRHSJacobian () |
| Get the preProcess to do RHSJacobian object. | |
| BasicMethodsSequence & | getPostProcessRHSJacobian () |
| Get the postProcess to do RHSJacobian object. | |
| BasicMethodsSequence & | getPreProcessRHSFunction () |
| Get the preProcess to do RHSFunction object. | |
| BasicMethodsSequence & | getPostProcessRHSFunction () |
| Get the postProcess to do RHSFunction object. | |
| MoFEMErrorCode | clearLoops () |
| Clear loops. | |
Public Attributes | |
| MoFEM::Interface & | mField |
| moab::Interface & | moab |
| std::string | problemName |
| MoFEMTypes | bH |
| If set to MF_EXIST check if element exist. | |
| FEMethodsSequence | loopsIJacobian |
| FEMethodsSequence | loopsIFunction |
| FEMethodsSequence | loopsMonitor |
| FEMethodsSequence | loopsRHSJacobian |
| FEMethodsSequence | loopsRHSFunction |
| BasicMethodsSequence | preProcessIJacobian |
| BasicMethodsSequence | postProcessIJacobian |
| BasicMethodsSequence | preProcessIFunction |
| BasicMethodsSequence | postProcessIFunction |
| BasicMethodsSequence | preProcessMonitor |
| BasicMethodsSequence | postProcessMonitor |
| BasicMethodsSequence | preProcessRHSJacobian |
| BasicMethodsSequence | preProcessRHSFunction |
| BasicMethodsSequence | postProcessRHSJacobian |
| BasicMethodsSequence | postProcessRHSFunction |
| boost::function< MoFEMErrorCode(TS ts, PetscReal t, Vec u, Vec u_t, Vec u_tt, Vec F, void *ctx)> | tsDebugHook |
| bool | zeroMatrix |
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. | |
| PetscErrorCode | TsSetIJacobian (TS ts, PetscReal t, Vec u, Vec U_t, PetscReal a, Mat A, Mat B, void *ctx) |
| Set function evaluating jacobian in TS solver. | |
| PetscErrorCode | TsMonitorSet (TS ts, PetscInt step, PetscReal t, Vec u, void *ctx) |
| Set monitor for TS solver. | |
| PetscErrorCode | TsSetRHSFunction (TS ts, PetscReal t, Vec u, Vec F, void *ctx) |
| TS solver function. | |
| PetscErrorCode | TsSetRHSJacobian (TS ts, PetscReal t, Vec u, Mat A, Mat B, void *ctx) |
| TS solver function. | |
| 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. | |
| 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 Jacobian for second order PDE in time. | |
Interface for Time Stepping (TS) solver.
| MoFEM::TsCtx::TsCtx | ( | MoFEM::Interface & | m_field, |
| const std::string & | problem_name | ||
| ) |
Definition at line 5 of file TsCtx.cpp.
|
virtualdefault |
| MoFEMErrorCode MoFEM::TsCtx::clearLoops | ( | ) |
Clear loops.
Definition at line 36 of file TsCtx.cpp.
|
inline |
|
inline |
|
inline |
Get the loops to do Monitor object.
It is sequence used to monitor solution of time solver.
Definition at line 102 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 148 of file TsCtx.hpp.
|
inline |
Get the postProcess to do RHSFunction object.
|
inline |
Get the postProcess to do RHSJacobian object.
|
inline |
|
inline |
|
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 263 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 620 of file TsCtx.cpp.
|
friend |
Calculation Jacobian 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 519 of file TsCtx.cpp.
|
friend |
Set IFunction for TS solver.
| ts | |
| t | |
| u | |
| u_t | |
| F | |
| ctx |
Definition at line 56 of file TsCtx.cpp.
|
friend |
Set function evaluating jacobian in TS solver.
| ts | |
| t | |
| u | |
| u_t | |
| a | |
| A | |
| B | |
| ctx |
Definition at line 169 of file TsCtx.cpp.
|
friend |
TS solver function.
| ts | |
| t | |
| u | |
| F | |
| ctx |
Definition at line 327 of file TsCtx.cpp.
|
friend |
TS solver function.
| ts | |
| t | |
| u | |
| A | |
| B | |
| ctx |
Definition at line 430 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 |
| boost::function<MoFEMErrorCode(TS ts, PetscReal t, Vec u, Vec u_t, Vec u_tt, Vec F, void *ctx)> MoFEM::TsCtx::tsDebugHook |
|
private |