Nektar++
Public Types | Public Member Functions | Static Public Attributes | Protected Attributes | List of all members
Nektar::NekPreconCfsOperators Class Reference

#include <PreconCfsOp.h>

Public Types

typedef const Array< OneD, NekDoubleInArrayType
 
typedef Array< OneD, NekDoubleOutArrayType
 
typedef std::function< void(const Array< OneD, const Array< OneD, NekDouble > > &, Array< OneD, Array< OneD, SNekBlkMatSharedPtr > > &, SNekBlkMatSharedPtr &, Array< OneD, SNekBlkMatSharedPtr > &, Array< OneD, SNekBlkMatSharedPtr > &, Array< OneD, Array< OneD, NekSingle > > &, TensorOfArray4D< NekSingle > &, TensorOfArray4D< NekSingle > &, TensorOfArray5D< NekSingle > &)> Functor
 
typedef Array< OneD, FunctorFunctorArray
 

Public Member Functions

 NekPreconCfsOperators (void)
 
 NekPreconCfsOperators (const NekPreconCfsOperators &in)
 
NekPreconCfsOperatorsoperator= (const NekPreconCfsOperators &in)
 
template<typename FuncPointerT , typename ObjectPointerT >
void DefineCalcPreconMatBRJCoeff (FuncPointerT func, ObjectPointerT obj)
 
void DoCalcPreconMatBRJCoeff (const Array< OneD, const Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, SNekBlkMatSharedPtr > > &gmtxarray, SNekBlkMatSharedPtr &gmtVar, Array< OneD, SNekBlkMatSharedPtr > &TraceJac, Array< OneD, SNekBlkMatSharedPtr > &TraceJacDeriv, Array< OneD, Array< OneD, NekSingle > > &TraceJacDerivSign, TensorOfArray4D< NekSingle > &TraceJacArray, TensorOfArray4D< NekSingle > &TraceJacDerivArray, TensorOfArray5D< NekSingle > &TraceIPSymJacArray)
 

Static Public Attributes

static const int nfunctor = 1
 

Protected Attributes

FunctorArray m_functors
 

Detailed Description

Definition at line 48 of file PreconCfsOp.h.

Member Typedef Documentation

◆ Functor

Definition at line 60 of file PreconCfsOp.h.

◆ FunctorArray

Definition at line 62 of file PreconCfsOp.h.

◆ InArrayType

Definition at line 51 of file PreconCfsOp.h.

◆ OutArrayType

Definition at line 52 of file PreconCfsOp.h.

Constructor & Destructor Documentation

◆ NekPreconCfsOperators() [1/2]

Nektar::NekPreconCfsOperators::NekPreconCfsOperators ( void  )
inline

Definition at line 65 of file PreconCfsOp.h.

66 {
67 }
static const int nfunctor
Definition: PreconCfsOp.h:63

◆ NekPreconCfsOperators() [2/2]

Nektar::NekPreconCfsOperators::NekPreconCfsOperators ( const NekPreconCfsOperators in)
inline

Definition at line 69 of file PreconCfsOp.h.

71 {
72 for (int i = 0; i < nfunctor; ++i)
73 {
74 m_functors[i] = in.m_functors[i];
75 }
76 }

References m_functors, and nfunctor.

Member Function Documentation

◆ DefineCalcPreconMatBRJCoeff()

template<typename FuncPointerT , typename ObjectPointerT >
void Nektar::NekPreconCfsOperators::DefineCalcPreconMatBRJCoeff ( FuncPointerT  func,
ObjectPointerT  obj 
)
inline

Definition at line 88 of file PreconCfsOp.h.

89 {
90 m_functors[0] = std::bind(func, obj, std::placeholders::_1,
91 std::placeholders::_2, std::placeholders::_3,
92 std::placeholders::_4, std::placeholders::_5,
93 std::placeholders::_6, std::placeholders::_7,
94 std::placeholders::_8, std::placeholders::_9);
95 }

References m_functors.

Referenced by Nektar::CFSImplicit::InitialiseNonlinSysSolver().

◆ DoCalcPreconMatBRJCoeff()

void Nektar::NekPreconCfsOperators::DoCalcPreconMatBRJCoeff ( const Array< OneD, const Array< OneD, NekDouble > > &  inarray,
Array< OneD, Array< OneD, SNekBlkMatSharedPtr > > &  gmtxarray,
SNekBlkMatSharedPtr gmtVar,
Array< OneD, SNekBlkMatSharedPtr > &  TraceJac,
Array< OneD, SNekBlkMatSharedPtr > &  TraceJacDeriv,
Array< OneD, Array< OneD, NekSingle > > &  TraceJacDerivSign,
TensorOfArray4D< NekSingle > &  TraceJacArray,
TensorOfArray4D< NekSingle > &  TraceJacDerivArray,
TensorOfArray5D< NekSingle > &  TraceIPSymJacArray 
)
inline

Definition at line 97 of file PreconCfsOp.h.

106 {
107 ASSERTL1(m_functors[0], "DoNekSysResEval should be defined");
108 m_functors[0](inarray, gmtxarray, gmtVar, TraceJac, TraceJacDeriv,
109 TraceJacDerivSign, TraceJacArray, TraceJacDerivArray,
110 TraceIPSymJacArray);
111 }
#define ASSERTL1(condition, msg)
Assert Level 1 – Debugging which is used whether in FULLDEBUG or DEBUG compilation mode....
Definition: ErrorUtil.hpp:242

References ASSERTL1, and m_functors.

Referenced by Nektar::PreconCfsBRJ::v_BuildPreconCfs().

◆ operator=()

NekPreconCfsOperators & Nektar::NekPreconCfsOperators::operator= ( const NekPreconCfsOperators in)
inline

Definition at line 78 of file PreconCfsOp.h.

79 {
80 for (int i = 0; i < nfunctor; ++i)
81 {
82 m_functors[i] = in.m_functors[i];
83 }
84 return *this;
85 }

References m_functors, and nfunctor.

Member Data Documentation

◆ m_functors

FunctorArray Nektar::NekPreconCfsOperators::m_functors
protected

◆ nfunctor

const int Nektar::NekPreconCfsOperators::nfunctor = 1
static

Definition at line 63 of file PreconCfsOp.h.

Referenced by NekPreconCfsOperators(), and operator=().