![]() |
v0.15.0 |
Public Types | |
| using | PairNameFEMethodPtr = MoFEM::PairNameFEMethodPtr |
| using | FEMethodsSequence = MoFEM::FEMethodsSequence |
| using | BasicMethodsSequence = MoFEM::BasicMethodsSequence |
| using | HookFunction = SnesCtx::HookFunction |
Public Member Functions | |
| SnesCtxImpl (Interface &m_field, std::string problem_name) | |
| virtual | ~SnesCtxImpl ()=default |
| FEMethodsSequence & | getSetOperators () |
| FEMethodsSequence & | getComputeRhs () |
| BasicMethodsSequence & | getPreProcComputeRhs () |
| BasicMethodsSequence & | getPostProcComputeRhs () |
| BasicMethodsSequence & | getPreProcSetOperators () |
| BasicMethodsSequence & | getPostProcSetOperators () |
| FEMethodsSequence & | getLoadTangent () |
| BasicMethodsSequence & | getPreProcLoadTangent () |
| BasicMethodsSequence & | getPostProcLoadTangent () |
| MoFEMErrorCode | copyLoops (const SnesCtxImpl &snes_ctx) |
| MoFEMErrorCode | clearLoops () |
| HookFunction & | getLoadTangentHook () |
| HookFunction & | getRhsHook () |
Friends | |
| PetscErrorCode | SnesRhs (SNES snes, Vec x, Vec f, void *ctx) |
| This is MoFEM implementation for the right hand side (residual vector) evaluation in SNES solver. | |
| PetscErrorCode | SnesMat (SNES snes, Vec x, Mat A, Mat B, void *ctx) |
| This is MoFEM implementation for the left hand side (tangent matrix) evaluation in SNES solver. | |
| MoFEMErrorCode | SNESMoFEMSetAssmblyType (SNES snes, MatAssemblyType type) |
| MoFEMErrorCode | SnesMoFEMSetBehavior (SNES snes, MoFEMTypes bh) |
| Set behavior if finite element in sequence does not exist. | |
| MoFEMErrorCode | SnesMoFEMSetAssemblyType (SNES snes, MatAssemblyType type) |
| Set assembly type at the end of SnesMat. | |
| MoFEMErrorCode | SnesMoFEMSetBehavior (SNES snes, MoFEMTypes bh) |
| Set behavior if finite element in sequence does not exist. | |
| MoFEMErrorCode | MoFEMSNESMonitorFields (SNES snes, PetscInt its, PetscReal fgnorm, SnesCtx *snes_ctx) |
| Sens monitor printing residual field by field. | |
| MoFEMErrorCode | MoFEMSNESMonitorEnergy (SNES snes, PetscInt its, PetscReal fgnorm, SnesCtx *snes_ctx) |
| Sens monitor printing residual field by field. | |
| PetscErrorCode | SnesLoadTangent (SNES snes, Vec u, Vec F, void *ctx) |
| This function calls finite element pipeline to compute tangent of of load vector in arc length control. | |
Definition at line 9 of file SnesCtx.cpp.
Definition at line 13 of file SnesCtx.cpp.
Definition at line 12 of file SnesCtx.cpp.
Definition at line 14 of file SnesCtx.cpp.
Definition at line 11 of file SnesCtx.cpp.
| MoFEM::SnesCtx::SnesCtxImpl::SnesCtxImpl | ( | Interface & | m_field, |
| std::string | problem_name | ||
| ) |
Definition at line 181 of file SnesCtx.cpp.
|
virtualdefault |
| MoFEMErrorCode MoFEM::SnesCtx::SnesCtxImpl::clearLoops | ( | ) |
Definition at line 209 of file SnesCtx.cpp.
| MoFEMErrorCode MoFEM::SnesCtx::SnesCtxImpl::copyLoops | ( | const SnesCtxImpl & | snes_ctx | ) |
Definition at line 195 of file SnesCtx.cpp.
|
inline |
Definition at line 22 of file SnesCtx.cpp.
|
inline |
Definition at line 34 of file SnesCtx.cpp.
|
inline |
Definition at line 48 of file SnesCtx.cpp.
|
inline |
Definition at line 26 of file SnesCtx.cpp.
|
inline |
Definition at line 40 of file SnesCtx.cpp.
|
inline |
Definition at line 30 of file SnesCtx.cpp.
|
inline |
Definition at line 24 of file SnesCtx.cpp.
|
inline |
Definition at line 36 of file SnesCtx.cpp.
|
inline |
Definition at line 28 of file SnesCtx.cpp.
|
inline |
Definition at line 50 of file SnesCtx.cpp.
|
inline |
Definition at line 20 of file SnesCtx.cpp.
|
friend |
Sens monitor printing residual field by field.
Definition at line 648 of file SnesCtx.cpp.
|
friend |
Sens monitor printing residual field by field.
Definition at line 592 of file SnesCtx.cpp.
|
friend |
This function calls finite element pipeline to compute tangent of of load vector in arc length control.
For more information pleas look to PETSc manual, i.e. SNESSetFunction https://petsc.org/main/manualpages/SNES/SNESSetFunction/
| snes | SNES solver |
| u | Solution vector at current iteration |
| F | The right hand side vector |
| ctx | Pointer to context i.e. SnesCtx |
Definition at line 353 of file SnesCtx.cpp.
|
friend |
This is MoFEM implementation for the left hand side (tangent matrix) evaluation in SNES solver.
For more information pleas look to PETSc manual, i.e. SNESSetJacobian http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/SNES/SNESSetJacobian.html#SNESSetJacobian
| snes | SNES solver |
| x | Solution vector at current iteration |
| A | Tangent matrix |
| B | Preconditioner tangent matrix |
| ctx | Pointer to context i.e. SnesCtx |
Definition at line 483 of file SnesCtx.cpp.
|
friend |
Set assembly type at the end of SnesMat.
| snes | |
| type | type of assembly, either MAT_FLUSH_ASSEMBLY or MAT_FINAL_ASSEMBLY |
Definition at line 564 of file SnesCtx.cpp.
|
friend |
|
friend |
Set behavior if finite element in sequence does not exist.
| snes | |
| bh | If set to MF_EXIST check if element exist, default MF_EXIST. Otherwise set MF_ZERO |
Definition at line 578 of file SnesCtx.cpp.
|
friend |
Set behavior if finite element in sequence does not exist.
| snes | |
| bh | If set to MF_EXIST check if element exist, default MF_EXIST. Otherwise set MF_ZERO |
Definition at line 578 of file SnesCtx.cpp.
|
friend |
This is MoFEM implementation for the right hand side (residual vector) evaluation in SNES solver.
For more information pleas look to PETSc manual, i.e. SNESSetFunction http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/SNES/SNESSetFunction.html
| snes | SNES solver |
| x | Solution vector at current iteration |
| f | The right hand side vector |
| ctx | Pointer to context i.e. SnesCtx |
Definition at line 223 of file SnesCtx.cpp.
|
protected |
If set to MF_EXIST check if element exist, default MF_EXIST.
Definition at line 110 of file SnesCtx.cpp.
|
protected |
Hook function called at the end of load tangent evaluation
Definition at line 118 of file SnesCtx.cpp.
|
protected |
Sequence of finite elements instances assembling tangent of load vector in arc length control
Definition at line 91 of file SnesCtx.cpp.
|
protected |
Sequence of finite elements instances assembling tangent matrix
Definition at line 86 of file SnesCtx.cpp.
|
protected |
Sequence of finite elements instances assembling residual vector
Definition at line 88 of file SnesCtx.cpp.
|
protected |
database Interface
Definition at line 81 of file SnesCtx.cpp.
|
protected |
moab Interface
Definition at line 82 of file SnesCtx.cpp.
|
protected |
Log events to assemble tangent of load vector
Definition at line 78 of file SnesCtx.cpp.
|
protected |
Log events to assemble tangent matrix.
Definition at line 77 of file SnesCtx.cpp.
|
protected |
Log events to assemble residual.
Definition at line 76 of file SnesCtx.cpp.
|
protected |
Sequence of methods run after tangent of load vector in arc length control is assembled
Definition at line 107 of file SnesCtx.cpp.
|
protected |
Sequence of methods run after tangent matrix is assembled
Definition at line 96 of file SnesCtx.cpp.
|
protected |
Sequence of methods run after residual is assembled.
Definition at line 105 of file SnesCtx.cpp.
|
protected |
Sequence of methods run before tangent of load vector in arc length control is assembled
Definition at line 99 of file SnesCtx.cpp.
|
protected |
Sequence of methods run before tangent matrix is assembled
Definition at line 94 of file SnesCtx.cpp.
|
protected |
Sequence of methods run before residual is assembled.
Definition at line 103 of file SnesCtx.cpp.
|
protected |
problem name
Definition at line 84 of file SnesCtx.cpp.
|
protected |
Hook function called at the end of residual evaluation
Definition at line 121 of file SnesCtx.cpp.
|
protected |
type of assembly at the end
Definition at line 115 of file SnesCtx.cpp.
|
protected |
If true verify vector.
Definition at line 114 of file SnesCtx.cpp.
|
protected |
If true zero matrix, otherwise user need to do it, default true
Definition at line 112 of file SnesCtx.cpp.