21 SNES snes, Vec x, Vec
F, boost::shared_ptr<CacheTuple> cache_ptr,
132 friend PetscErrorCode
SnesRhs(SNES snes, Vec x, Vec f,
void *ctx);
133 friend PetscErrorCode
SnesMat(SNES snes, Vec x, Mat
A, Mat
B,
void *ctx);
136 MatAssemblyType type);
140 MatAssemblyType type);
171PetscErrorCode
SnesRhs(SNES snes, Vec x, Vec f,
void *ctx);
187PetscErrorCode
SnesMat(SNES snes, Vec x, Mat
A, Mat
B,
void *ctx);
MoFEMTypes
Those types control how functions respond on arguments, f.e. error handling.
PetscErrorCode MoFEMErrorCode
MoFEM/PETSc error code.
implementation of Data Operators for Forces and Sources
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 MoFEMSNESMonitorEnergy(SNES snes, PetscInt its, PetscReal fgnorm, SnesCtx *ctx)
Sens monitor printing residual field by field.
MoFEMErrorCode MoFEMSNESMonitorFields(SNES snes, PetscInt its, PetscReal fgnorm, SnesCtx *ctx)
Sens monitor printing residual field by field.
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.
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.
std::deque< BasicMethodPtr > BasicMethodsSequence
PetscErrorCode SnesLoadTangent(SNES snes, Vec x, Vec f, void *ctx)
This function calls finite element pipeline to compute tangent of of load vector in arc length contro...
std::deque< PairNameFEMethodPtr > FEMethodsSequence
Deprecated interface functions.
Interface for nonlinear (SNES) solver.
MoFEM::BasicMethodsSequence BasicMethodsSequence
friend 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 contro...
FEMethodsSequence & getSetOperators()
friend MoFEMErrorCode SnesMoFEMSetBehavior(SNES snes, MoFEMTypes bh)
Set behavior if finite element in sequence does not exist.
friend MoFEMErrorCode MoFEMSNESMonitorEnergy(SNES snes, PetscInt its, PetscReal fgnorm, SnesCtx *snes_ctx)
Sens monitor printing residual field by field.
BasicMethodsSequence & getPreProcLoadTangent()
Get the BasicMethod sequence for preprocessing of FunctionFn.
BasicMethodsSequence & getPreProcSetOperators()
MoFEM::Interface & getMField()
Get mField reference.
friend MoFEMErrorCode SNESMoFEMSetAssmblyType(SNES snes, MatAssemblyType type)
MoFEM::FEMethodsSequence FEMethodsSequence
BasicMethodsSequence & getPostProcLoadTangent()
Get the BasicMethod sequence for postprocessing of FunctionFn.
MoFEMErrorCode copyLoops(const SnesCtx &snes_ctx)
Copy sequences from other SNES context.
boost::function< MoFEMErrorCode(SNES snes, Vec x, Vec F, boost::shared_ptr< CacheTuple > cache_ptr, void *ctx)> HookFunction
friend 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.
friend 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.
BasicMethodsSequence & getPostProcComputeRhs()
HookFunction & getLoadTangentHook()
Get the Load Tangent Hook function.
BasicMethodsSequence & getPostProcSetOperators()
boost::movelib::unique_ptr< SnesCtxImpl > snesCtxImpl
BasicMethodsSequence & getPreProcComputeRhs()
FEMethodsSequence & getLoadTangent()
Get the finite element pipeline for FunctionFn, that calculate tangent of function load for arc lengt...
FEMethodsSequence & getComputeRhs()
HookFunction & getRhsHook()
Get the Right Hand Side Hook function.
friend MoFEMErrorCode MoFEMSNESMonitorFields(SNES snes, PetscInt its, PetscReal fgnorm, SnesCtx *snes_ctx)
Sens monitor printing residual field by field.
MoFEMErrorCode clearLoops()
Clear loops.
friend MoFEMErrorCode SnesMoFEMSetAssemblyType(SNES snes, MatAssemblyType type)
Set assembly type at the end of SnesMat.