![]() |
v0.10.0 |
data structure for ksp (linear solver) context More...
#include <src/interfaces/LoopMethods.hpp>
Public Types | |
enum | KSPContext { CTX_SETFUNCTION, CTX_OPERATORS, CTX_KSPNONE } |
pass information about context of KSP/DM for with finite element is computed More... | |
![]() | |
enum | DataContext { CTX_SET_NONE = 0, CTX_SET_F = 1 << 0, CTX_SET_A = 1 << 1, CTX_SET_B = 1 << 2, CTX_SET_X = 1 << 3, CTX_SET_X_T = 1 << 4, CTX_SET_X_TT = 1 << 6, CTX_SET_TIME = 1 << 7 } |
using | Switches = std::bitset< 8 > |
Public Member Functions | |
MoFEMErrorCode | query_interface (const MOFEMuuid &uuid, UnknownInterface **iface) const |
KspMethod () | |
virtual | ~KspMethod ()=default |
MoFEMErrorCode | copyKsp (const KspMethod &ksp) |
copy data form another method More... | |
![]() | |
PetscData () | |
virtual | ~PetscData ()=default |
![]() | |
template<class IFACE > | |
MoFEMErrorCode | registerInterface (const MOFEMuuid &uuid, bool error_if_registration_failed=true) |
Register interface. More... | |
template<class IFACE , bool VERIFY = false> | |
MoFEMErrorCode | getInterface (const MOFEMuuid &uuid, IFACE *&iface) const |
Get interface by uuid and return reference to pointer of interface. More... | |
template<class IFACE > | |
MoFEMErrorCode | getInterface (IFACE *&iface) const |
Get interface refernce to pointer of interface. More... | |
template<class IFACE > | |
MoFEMErrorCode | getInterface (IFACE **const iface) const |
Get interface pointer to pointer of interface. More... | |
template<class IFACE , typename boost::enable_if< boost::is_pointer< IFACE >, int >::type = 0> | |
IFACE | getInterface () const |
Get interface pointer to pointer of interface. More... | |
template<class IFACE , typename boost::enable_if< boost::is_reference< IFACE >, int >::type = 0> | |
IFACE | getInterface () const |
Get reference to interface. More... | |
template<class IFACE > | |
IFACE * | getInterface () const |
Function returning pointer to interface. More... | |
virtual | ~UnknownInterface ()=default |
virtual MoFEMErrorCode | getLibVersion (Version &version) const |
Get library version. More... | |
virtual const MoFEMErrorCode | getFileVersion (moab::Interface &moab, Version &version) const |
Get database major version. More... | |
virtual MoFEMErrorCode | getInterfaceVersion (Version &version) const |
Get database major version. More... | |
template<> | |
MoFEMErrorCode | getInterface (const MOFEMuuid &uuid, UnknownInterface *&iface) const |
Public Attributes | |
KSPContext | ksp_ctx |
Context. More... | |
KSP | ksp |
KSP solver. More... | |
Vec & | ksp_f |
Mat & | ksp_A |
Mat & | ksp_B |
![]() | |
Switches | data_ctx |
Vec | f |
Mat | A |
Mat | B |
Vec | x |
Vec | x_t |
Vec | x_tt |
Additional Inherited Members | |
![]() | |
static constexpr Switches | CtxSetNone = PetscData::Switches(CTX_SET_NONE) |
static constexpr Switches | CtxSetF = PetscData::Switches(CTX_SET_F) |
static constexpr Switches | CtxSetA = PetscData::Switches(CTX_SET_A) |
static constexpr Switches | CtxSetB = PetscData::Switches(CTX_SET_B) |
static constexpr Switches | CtxSetX = PetscData::Switches(CTX_SET_X) |
static constexpr Switches | CtxSetX_T = PetscData::Switches(CTX_SET_X_T) |
static constexpr Switches | CtxSetX_TT = PetscData::Switches(CTX_SET_X_TT) |
static constexpr Switches | CtxSetTime = PetscData::Switches(CTX_SET_TIME) |
![]() | |
boost::typeindex::type_index | getClassIdx (const MOFEMuuid &uid) const |
Get type name for interface Id. More... | |
MOFEMuuid | getUId (const boost::typeindex::type_index &class_idx) const |
Get interface Id for class name. More... | |
data structure for ksp (linear solver) context
Struture stores context data which are set in functions run by PETSc SNES functions.
Definition at line 88 of file LoopMethods.hpp.
pass information about context of KSP/DM for with finite element is computed
Enumerator | |
---|---|
CTX_SETFUNCTION | |
CTX_OPERATORS | |
CTX_KSPNONE |
Definition at line 96 of file LoopMethods.hpp.
MoFEM::KspMethod::KspMethod | ( | ) |
Definition at line 58 of file LoopMethods.cpp.
|
virtualdefault |
MoFEMErrorCode MoFEM::KspMethod::copyKsp | ( | const KspMethod & | ksp | ) |
copy data form another method
ksp | ksp method |
Definition at line 62 of file LoopMethods.cpp.
|
virtual |
Reimplemented from MoFEM::PetscData.
Reimplemented in MoFEM::DofMethod, MoFEM::EntityMethod, MoFEM::FEMethod, and MoFEM::BasicMethod.
Definition at line 48 of file LoopMethods.cpp.
KSP MoFEM::KspMethod::ksp |
KSP solver.
Definition at line 110 of file LoopMethods.hpp.
Mat& MoFEM::KspMethod::ksp_A |
Definition at line 113 of file LoopMethods.hpp.
Mat& MoFEM::KspMethod::ksp_B |
Definition at line 114 of file LoopMethods.hpp.
KSPContext MoFEM::KspMethod::ksp_ctx |
Context.
Definition at line 109 of file LoopMethods.hpp.
Vec& MoFEM::KspMethod::ksp_f |
Definition at line 112 of file LoopMethods.hpp.