![]() |
v0.15.0 |
#include "src/interfaces/LoopMethods.hpp"
Public Types | |
enum | TAOContext { CTX_TAO_OBJECTIVE , CTX_TAO_GRADIENT , CTX_TAO_HESSIAN , CTX_TAO_NONE } |
Public Member Functions | |
MoFEMErrorCode | query_interface (boost::typeindex::type_index type_index, UnknownInterface **iface) const |
TaoMethod () | |
virtual | ~TaoMethod ()=default |
MoFEMErrorCode | copyTao (const TaoMethod &tao) |
Copy TAO data. | |
Public Attributes | |
TAOContext | tao_ctx |
Tao | tao |
tao solver | |
Vec & | tao_x |
Vec & | tao_f |
state vector | |
Mat & | tao_A |
gradient vector | |
Mat & | tao_B |
hessian matrix | |
Additional Inherited Members | |
![]() | |
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_DX = 1 << 4 , CTX_SET_X_T = 1 << 5 , CTX_SET_X_TT = 1 << 6 , CTX_SET_TIME = 1 << 7 } |
using | Switches = std::bitset<8> |
![]() | |
PetscData () | |
virtual | ~PetscData ()=default |
MoFEMErrorCode | copyPetscData (const PetscData &petsc_data) |
![]() | |
template<class IFACE > | |
MoFEMErrorCode | registerInterface (bool error_if_registration_failed=true) |
Register interface. | |
template<class IFACE > | |
MoFEMErrorCode | getInterface (IFACE *&iface) const |
Get interface reference to pointer of interface. | |
template<class IFACE > | |
MoFEMErrorCode | getInterface (IFACE **const iface) const |
Get interface pointer to pointer of interface. | |
template<class IFACE , typename boost::enable_if< boost::is_pointer< IFACE >, int >::type = 0> | |
IFACE | getInterface () const |
Get interface pointer to pointer of interface. | |
template<class IFACE , typename boost::enable_if< boost::is_reference< IFACE >, int >::type = 0> | |
IFACE | getInterface () const |
Get reference to interface. | |
template<class IFACE > | |
IFACE * | getInterface () const |
Function returning pointer to interface. | |
virtual | ~UnknownInterface ()=default |
![]() | |
static MoFEMErrorCode | getLibVersion (Version &version) |
Get library version. | |
static MoFEMErrorCode | getFileVersion (moab::Interface &moab, Version &version) |
Get database major version. | |
static MoFEMErrorCode | setFileVersion (moab::Interface &moab, Version version=Version(MoFEM_VERSION_MAJOR, MoFEM_VERSION_MINOR, MoFEM_VERSION_BUILD)) |
Get database major version. | |
static MoFEMErrorCode | getInterfaceVersion (Version &version) |
Get database major version. | |
![]() | |
Switches | data_ctx |
Vec | f |
Mat | A |
Mat | B |
Vec | x |
Vec | dx |
Vec | x_t |
Vec | x_tt |
![]() | |
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 | CtxSetDX = PetscData::Switches(CTX_SET_DX) |
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) |
Definition at line 180 of file LoopMethods.hpp.
Enumerator | |
---|---|
CTX_TAO_OBJECTIVE | |
CTX_TAO_GRADIENT | |
CTX_TAO_HESSIAN | |
CTX_TAO_NONE |
Definition at line 185 of file LoopMethods.hpp.
MoFEM::TaoMethod::TaoMethod | ( | ) |
Definition at line 92 of file LoopMethods.cpp.
|
virtualdefault |
MoFEMErrorCode MoFEM::TaoMethod::copyTao | ( | const TaoMethod & | tao | ) |
Copy TAO data.
Definition at line 96 of file LoopMethods.cpp.
|
virtual |
Reimplemented from MoFEM::PetscData.
Definition at line 86 of file LoopMethods.cpp.
Tao MoFEM::TaoMethod::tao |
tao solver
Definition at line 203 of file LoopMethods.hpp.
Mat& MoFEM::TaoMethod::tao_A |
gradient vector
Definition at line 206 of file LoopMethods.hpp.
Mat& MoFEM::TaoMethod::tao_B |
hessian matrix
Definition at line 207 of file LoopMethods.hpp.
TAOContext MoFEM::TaoMethod::tao_ctx |
Definition at line 201 of file LoopMethods.hpp.
Vec& MoFEM::TaoMethod::tao_f |
state vector
Definition at line 205 of file LoopMethods.hpp.
Vec& MoFEM::TaoMethod::tao_x |
Definition at line 204 of file LoopMethods.hpp.