v0.14.0
Public Types | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
MoFEM::PetscData Struct Reference

#include <src/interfaces/LoopMethods.hpp>

Inheritance diagram for MoFEM::PetscData:
[legend]
Collaboration diagram for MoFEM::PetscData:
[legend]

Public Types

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 (boost::typeindex::type_index type_index, UnknownInterface **iface) const
 
 PetscData ()
 
virtual ~PetscData ()=default
 
MoFEMErrorCode copyPetscData (const PetscData &petsc_data)
 
- Public Member Functions inherited from MoFEM::UnknownInterface
template<class IFACE >
MoFEMErrorCode registerInterface (bool error_if_registration_failed=true)
 Register 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
 

Public Attributes

Switches data_ctx
 
Vec f
 
Mat A
 
Mat B
 
Vec x
 
Vec x_t
 
Vec x_tt
 

Static Public Attributes

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)
 

Additional Inherited Members

- Static Public Member Functions inherited from MoFEM::UnknownInterface
static MoFEMErrorCode getLibVersion (Version &version)
 Get library version. More...
 
static MoFEMErrorCode getFileVersion (moab::Interface &moab, Version &version)
 Get database major version. More...
 
static MoFEMErrorCode setFileVersion (moab::Interface &moab, Version version=Version(MoFEM_VERSION_MAJOR, MoFEM_VERSION_MINOR, MoFEM_VERSION_BUILD))
 Get database major version. More...
 
static MoFEMErrorCode getInterfaceVersion (Version &version)
 Get database major version. More...
 

Detailed Description

Definition at line 13 of file LoopMethods.hpp.

Member Typedef Documentation

◆ Switches

using MoFEM::PetscData::Switches = std::bitset<8>

Definition at line 33 of file LoopMethods.hpp.

Member Enumeration Documentation

◆ DataContext

Enumerator
CTX_SET_NONE 
CTX_SET_F 
CTX_SET_A 
CTX_SET_B 
CTX_SET_X 
CTX_SET_X_T 
CTX_SET_X_TT 
CTX_SET_TIME 

Definition at line 22 of file LoopMethods.hpp.

22  {
23  CTX_SET_NONE = 0,
24  CTX_SET_F = 1 << 0,
25  CTX_SET_A = 1 << 1,
26  CTX_SET_B = 1 << 2,
27  CTX_SET_X = 1 << 3,
28  CTX_SET_X_T = 1 << 4,
29  CTX_SET_X_TT = 1 << 6,
30  CTX_SET_TIME = 1 << 7
31  };

Constructor & Destructor Documentation

◆ PetscData()

MoFEM::PetscData::PetscData ( )

Definition at line 27 of file LoopMethods.cpp.

28  : data_ctx(PetscData::CtxSetNone), f(PETSC_NULL), A(PETSC_NULL),
29  B(PETSC_NULL), x(PETSC_NULL), x_t(PETSC_NULL), x_tt(PETSC_NULL) {}

◆ ~PetscData()

virtual MoFEM::PetscData::~PetscData ( )
virtualdefault

Member Function Documentation

◆ copyPetscData()

MoFEMErrorCode MoFEM::PetscData::copyPetscData ( const PetscData petsc_data)

Definition at line 31 of file LoopMethods.cpp.

31  {
32  this->data_ctx = petsc_data.data_ctx;
33  this->f = petsc_data.f;
34  this->A = petsc_data.A;
35  this->B = petsc_data.B;
36  this->x = petsc_data.x;
37  this->x = petsc_data.x;
38  this->x_t = petsc_data.x_t;
39  this->x_tt = petsc_data.x_tt;
40  return 0;
41 }

◆ query_interface()

MoFEMErrorCode MoFEM::PetscData::query_interface ( boost::typeindex::type_index  type_index,
UnknownInterface **  iface 
) const
virtual

Implements MoFEM::UnknownInterface.

Reimplemented in MoFEM::DofMethod, MoFEM::EntityMethod, MoFEM::FEMethod, MoFEM::BasicMethod, MoFEM::TSMethod, MoFEM::SnesMethod, and MoFEM::KspMethod.

Definition at line 21 of file LoopMethods.cpp.

22  {
23  *iface = const_cast<PetscData *>(this);
24  return 0;
25 }

Member Data Documentation

◆ A

Mat MoFEM::PetscData::A

Definition at line 49 of file LoopMethods.hpp.

◆ B

Mat MoFEM::PetscData::B

Definition at line 50 of file LoopMethods.hpp.

◆ CtxSetA

constexpr PetscData::Switches MoFEM::PetscData::CtxSetA = PetscData::Switches(CTX_SET_A)
staticconstexpr

Definition at line 37 of file LoopMethods.hpp.

◆ CtxSetB

constexpr PetscData::Switches MoFEM::PetscData::CtxSetB = PetscData::Switches(CTX_SET_B)
staticconstexpr

Definition at line 38 of file LoopMethods.hpp.

◆ CtxSetF

constexpr PetscData::Switches MoFEM::PetscData::CtxSetF = PetscData::Switches(CTX_SET_F)
staticconstexpr

Definition at line 36 of file LoopMethods.hpp.

◆ CtxSetNone

constexpr PetscData::Switches MoFEM::PetscData::CtxSetNone = PetscData::Switches(CTX_SET_NONE)
staticconstexpr

Definition at line 35 of file LoopMethods.hpp.

◆ CtxSetTime

constexpr PetscData::Switches MoFEM::PetscData::CtxSetTime = PetscData::Switches(CTX_SET_TIME)
staticconstexpr

Definition at line 42 of file LoopMethods.hpp.

◆ CtxSetX

constexpr PetscData::Switches MoFEM::PetscData::CtxSetX = PetscData::Switches(CTX_SET_X)
staticconstexpr

Definition at line 39 of file LoopMethods.hpp.

◆ CtxSetX_T

constexpr PetscData::Switches MoFEM::PetscData::CtxSetX_T = PetscData::Switches(CTX_SET_X_T)
staticconstexpr

Definition at line 40 of file LoopMethods.hpp.

◆ CtxSetX_TT

constexpr PetscData::Switches MoFEM::PetscData::CtxSetX_TT = PetscData::Switches(CTX_SET_X_TT)
staticconstexpr

Definition at line 41 of file LoopMethods.hpp.

◆ data_ctx

Switches MoFEM::PetscData::data_ctx

Definition at line 44 of file LoopMethods.hpp.

◆ f

Vec MoFEM::PetscData::f

Definition at line 48 of file LoopMethods.hpp.

◆ x

Vec MoFEM::PetscData::x
Examples
prism_elements_from_surface.cpp.

Definition at line 51 of file LoopMethods.hpp.

◆ x_t

Vec MoFEM::PetscData::x_t

Definition at line 52 of file LoopMethods.hpp.

◆ x_tt

Vec MoFEM::PetscData::x_tt

Definition at line 53 of file LoopMethods.hpp.


The documentation for this struct was generated from the following files:
MoFEM::PetscData::x
Vec x
Definition: LoopMethods.hpp:51
MoFEM::PetscData::x_tt
Vec x_tt
Definition: LoopMethods.hpp:53
MoFEM::PetscData::B
Mat B
Definition: LoopMethods.hpp:50
MoFEM::PetscData::CTX_SET_X_TT
@ CTX_SET_X_TT
Definition: LoopMethods.hpp:29
MoFEM::PetscData::PetscData
PetscData()
Definition: LoopMethods.cpp:27
MoFEM::PetscData::data_ctx
Switches data_ctx
Definition: LoopMethods.hpp:44
MoFEM::PetscData::A
Mat A
Definition: LoopMethods.hpp:49
MoFEM::PetscData::CtxSetNone
static constexpr Switches CtxSetNone
Definition: LoopMethods.hpp:35
MoFEM::PetscData::f
Vec f
Definition: LoopMethods.hpp:48
MoFEM::PetscData::CTX_SET_TIME
@ CTX_SET_TIME
Definition: LoopMethods.hpp:30
MoFEM::PetscData::CTX_SET_B
@ CTX_SET_B
Definition: LoopMethods.hpp:26
MoFEM::PetscData::CTX_SET_A
@ CTX_SET_A
Definition: LoopMethods.hpp:25
MoFEM::PetscData::CTX_SET_F
@ CTX_SET_F
Definition: LoopMethods.hpp:24
MoFEM::PetscData::CTX_SET_NONE
@ CTX_SET_NONE
Definition: LoopMethods.hpp:23
MoFEM::PetscData::x_t
Vec x_t
Definition: LoopMethods.hpp:52
MoFEM::PetscData::CTX_SET_X_T
@ CTX_SET_X_T
Definition: LoopMethods.hpp:28
MoFEM::PetscData::CTX_SET_X
@ CTX_SET_X
Definition: LoopMethods.hpp:27