50 auto core_log = logging::core::get();
117 friend PetscErrorCode
SnesRhs(SNES snes, Vec x, Vec f,
void *ctx);
118 friend PetscErrorCode
SnesMat(SNES snes, Vec x, Mat
A, Mat
B,
void *ctx);
121 MatAssemblyType type);
174PetscErrorCode
SnesRhs(SNES snes, Vec x, Vec f,
void *ctx);
190PetscErrorCode
SnesMat(SNES snes, Vec x, Mat
A, Mat
B,
void *ctx);
MoFEMTypes
Those types control how functions respond on arguments, f.e. error handling.
static LoggerType & setLog(const std::string channel)
Set ans resset chanel logger.
#define MOFEM_LOG_TAG(channel, tag)
Tag channel.
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 *snes_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
std::deque< PairNameFEMethodPtr > FEMethodsSequence
Deprecated interface functions.
static boost::shared_ptr< SinkType > createSink(boost::shared_ptr< std::ostream > stream_ptr, std::string comm_filter)
Create a sink object.
static boost::shared_ptr< std::ostream > getStrmWorld()
Get the strm world object.
static bool checkIfChannelExist(const std::string channel)
Check if channel exist.
Interface for nonlinear (SNES) solver.
DEPRECATED FEMethodsSequence & get_loops_to_do_Mat()
PetscLogEvent MOFEM_EVENT_SnesMat
Log events to assemble tangent matrix.
BasicMethodsSequence preProcess_Rhs
Sequence of methods run before residual is assembled.
BasicMethodsSequence postProcess_Mat
FEMethodsSequence & getSetOperators()
friend MoFEMErrorCode SnesMoFEMSetBehavior(SNES snes, MoFEMTypes bh)
Set behavior if finite element in sequence does not exist.
SnesCtx(Interface &m_field, const std::string &problem_name)
MoFEMTypes bH
If set to MF_EXIST check if element exist, default MF_EXIST.
BasicMethodsSequence postProcess_Rhs
Sequence of methods run after residual is assembled.
moab::Interface & moab
moab Interface
MoFEMErrorCode copyLoops(const SnesCtx &snes_ctx)
Copy sequences from other SNES contex.
DEPRECATED BasicMethodsSequence & get_preProcess_to_do_Mat()
MatAssemblyType typeOfAssembly
type of assembly at the end
BasicMethodsSequence & getPreProcSetOperators()
friend MoFEMErrorCode SNESMoFEMSetAssmblyType(SNES snes, MatAssemblyType type)
MoFEMErrorCode clearLoops()
Clear loops.
DEPRECATED BasicMethodsSequence & get_preProcess_to_do_Rhs()
BasicMethodsSequence preProcess_Mat
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.
virtual ~SnesCtx()=default
MoFEM::PairNameFEMethodPtr PairNameFEMethodPtr
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.
bool vErify
If true verify vector.
MoFEM::FEMethodsSequence FEMethodsSequence
BasicMethodsSequence & getPostProcComputeRhs()
FEMethodsSequence loops_to_do_Mat
BasicMethodsSequence & getPostProcSetOperators()
BasicMethodsSequence & getPreProcComputeRhs()
std::string problemName
problem name
FEMethodsSequence loops_to_do_Rhs
FEMethodsSequence & getComputeRhs()
DEPRECATED BasicMethodsSequence & get_postProcess_to_do_Rhs()
boost::movelib::unique_ptr< bool > matAssembleSwitch
DEPRECATED FEMethodsSequence & get_loops_to_do_Rhs()
DEPRECATED BasicMethodsSequence & get_postProcess_to_do_Mat()
MoFEM::Interface & mField
database Interface
boost::movelib::unique_ptr< bool > vecAssembleSwitch
MoFEM::BasicMethodsSequence BasicMethodsSequence
PetscLogEvent MOFEM_EVENT_SnesRhs
Log events to assemble residual.