v0.8.15
Public Member Functions | Public Attributes | List of all members
MoFEM::LegendrePolynomialCtx Struct Reference

Class used to give arguments to Legendre base functions. More...

#include <src/approximation/LegendrePolynomial.hpp>

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

Public Member Functions

MoFEMErrorCode query_interface (const MOFEMuuid &uuid, MoFEM::UnknownInterface **iface) const
 
 LegendrePolynomialCtx (int p, double *diff_s, int dim, boost::shared_ptr< MatrixDouble > base_fun_ptr, boost::shared_ptr< MatrixDouble > base_diff_fun_ptr)
 
 ~LegendrePolynomialCtx ()
 
- Public Member Functions inherited from MoFEM::BaseFunctionCtx
 BaseFunctionCtx ()
 
 ~BaseFunctionCtx ()
 
- Public Member Functions inherited from MoFEM::UnknownInterface
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 ()
 
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

int P
 
doublediffS
 
int dIm
 
boost::shared_ptr< MatrixDoublebaseFunPtr
 
boost::shared_ptr< MatrixDoublebaseDiffFunPtr
 
PetscErrorCode(* basePolynomialsType0 )(int p, double s, double *diff_s, double *L, double *diffL, const int dim)
 

Additional Inherited Members

- Protected Member Functions inherited from MoFEM::UnknownInterface
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...
 

Detailed Description

Class used to give arguments to Legendre base functions.

Definition at line 31 of file LegendrePolynomial.hpp.

Constructor & Destructor Documentation

◆ LegendrePolynomialCtx()

MoFEM::LegendrePolynomialCtx::LegendrePolynomialCtx ( int  p,
double diff_s,
int  dim,
boost::shared_ptr< MatrixDouble base_fun_ptr,
boost::shared_ptr< MatrixDouble base_diff_fun_ptr 
)

Definition at line 45 of file LegendrePolynomial.hpp.

51  :
52  P(p),
53  diffS(diff_s),
54  dIm(dim),
55  baseFunPtr(base_fun_ptr),
56  baseDiffFunPtr(base_diff_fun_ptr),
58  }
PetscErrorCode Legendre_polynomials(int p, double s, double *diff_s, double *L, double *diffL, const int dim)
Calculate Legendre approximation basis.
boost::shared_ptr< MatrixDouble > baseFunPtr
boost::shared_ptr< MatrixDouble > baseDiffFunPtr
PetscErrorCode(* basePolynomialsType0)(int p, double s, double *diff_s, double *L, double *diffL, const int dim)

◆ ~LegendrePolynomialCtx()

MoFEM::LegendrePolynomialCtx::~LegendrePolynomialCtx ( )

Definition at line 59 of file LegendrePolynomial.hpp.

59 {}

Member Function Documentation

◆ query_interface()

MoFEMErrorCode MoFEM::LegendrePolynomialCtx::query_interface ( const MOFEMuuid uuid,
MoFEM::UnknownInterface **  iface 
) const
virtual

Reimplemented from MoFEM::BaseFunctionCtx.

Reimplemented in MoFEM::KernelLobattoPolynomialCtx, and MoFEM::LobattoPolynomialCtx.

Definition at line 33 of file LegendrePolynomial.cpp.

35  {
36 
38  *iface = NULL;
39  if(uuid == IDD_LEGENDRE_BASE_FUNCTION) {
40  *iface = const_cast<LegendrePolynomialCtx*>(this);
42  } else {
43  SETERRQ(PETSC_COMM_WORLD,MOFEM_DATA_INCONSISTENCY,"wrong interference");
44  }
47 }
MoFEMErrorCode query_interface(const MOFEMuuid &uuid, MoFEM::UnknownInterface **iface) const
#define MoFEMFunctionBeginHot
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:483
#define CHKERRG(n)
Check error code of MoFEM/MOAB/PETSc function.
Definition: definitions.h:526
static const MOFEMuuid IDD_LEGENDRE_BASE_FUNCTION
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return() ...
Definition: definitions.h:490
static MoFEMErrorCodeGeneric< PetscErrorCode > ierr
Definition: Common.hpp:80
Class used to give arguments to Legendre base functions.

Member Data Documentation

◆ baseDiffFunPtr

boost::shared_ptr<MatrixDouble > MoFEM::LegendrePolynomialCtx::baseDiffFunPtr

Definition at line 39 of file LegendrePolynomial.hpp.

◆ baseFunPtr

boost::shared_ptr<MatrixDouble > MoFEM::LegendrePolynomialCtx::baseFunPtr

Definition at line 38 of file LegendrePolynomial.hpp.

◆ basePolynomialsType0

PetscErrorCode(* MoFEM::LegendrePolynomialCtx::basePolynomialsType0) (int p, double s, double *diff_s, double *L, double *diffL, const int dim)

Definition at line 41 of file LegendrePolynomial.hpp.

◆ diffS

double* MoFEM::LegendrePolynomialCtx::diffS

Definition at line 36 of file LegendrePolynomial.hpp.

◆ dIm

int MoFEM::LegendrePolynomialCtx::dIm

Definition at line 37 of file LegendrePolynomial.hpp.

◆ P

int MoFEM::LegendrePolynomialCtx::P

Definition at line 35 of file LegendrePolynomial.hpp.


The documentation for this struct was generated from the following files: