21 SNES snes, Vec x, Vec
F, boost::shared_ptr<CacheTuple> cache_ptr,
127 friend PetscErrorCode
SnesRhs(SNES snes, Vec x, Vec f,
void *ctx);
128 friend PetscErrorCode
SnesMat(SNES snes, Vec x, Mat A, Mat
B,
void *ctx);
131 MatAssemblyType type);
135 MatAssemblyType type);
166PetscErrorCode
SnesRhs(SNES snes, Vec x, Vec f,
void *ctx);
182PetscErrorCode
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 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
MoFEMErrorCode MoFEMSNESMonitorEnergy(SNES snes, PetscInt its, PetscReal fgnorm, SnesCtx *ctx)
Sens monitor printing residual field by field.
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.
SnesCtx(Interface &m_field, std::string problem_name)
BasicMethodsSequence & getPreProcLoadTangent()
Get the BasicMethod sequence for preprocessing of FunctionFn.
BasicMethodsSequence & getPreProcSetOperators()
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.