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 > &)> FunctorType1
 
typedef std::function< void(InArrayType &, InArrayType &, OutArrayType &, const bool &)> FunctorType2
 
typedef Array< OneD, FunctorType1FunctorType1Array
 
typedef Array< OneD, FunctorType2FunctorType2Array
 

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 nfunctor1 = 1
 
static const int nfunctor2 = 0
 

Protected Attributes

FunctorType1Array m_functors1
 
FunctorType2Array m_functors2
 

Detailed Description

Definition at line 49 of file PreconCfsOp.h.

Member Typedef Documentation

◆ FunctorType1

Definition at line 61 of file PreconCfsOp.h.

◆ FunctorType1Array

Definition at line 66 of file PreconCfsOp.h.

◆ FunctorType2

Definition at line 65 of file PreconCfsOp.h.

◆ FunctorType2Array

Definition at line 67 of file PreconCfsOp.h.

◆ InArrayType

Definition at line 52 of file PreconCfsOp.h.

◆ OutArrayType

Definition at line 53 of file PreconCfsOp.h.

Constructor & Destructor Documentation

◆ NekPreconCfsOperators() [1/2]

Nektar::NekPreconCfsOperators::NekPreconCfsOperators ( void  )
inline

Definition at line 71 of file PreconCfsOp.h.

72  {
73  }
FunctorType2Array m_functors2
Definition: PreconCfsOp.h:148
FunctorType1Array m_functors1
Definition: PreconCfsOp.h:147
static const int nfunctor2
Definition: PreconCfsOp.h:69
static const int nfunctor1
Definition: PreconCfsOp.h:68

◆ NekPreconCfsOperators() [2/2]

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

Definition at line 74 of file PreconCfsOp.h.

76  {
77  for (int i = 0; i < nfunctor1; ++i)
78  {
79  m_functors1[i] = in.m_functors1[i];
80  }
81  for (int i = 0; i < nfunctor2; ++i)
82  {
83  m_functors2[i] = in.m_functors2[i];
84  }
85  }

References m_functors1, m_functors2, nfunctor1, and nfunctor2.

Member Function Documentation

◆ DefineCalcPreconMatBRJCoeff()

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

Definition at line 102 of file PreconCfsOp.h.

103  {
104  m_functors1[0] = std::bind(
105  func, obj, std::placeholders::_1, std::placeholders::_2,
106  std::placeholders::_3, std::placeholders::_4, std::placeholders::_5,
107  std::placeholders::_6, std::placeholders::_7, std::placeholders::_8,
108  std::placeholders::_9);
109  }

References m_functors1.

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 111 of file PreconCfsOp.h.

120  {
121  ASSERTL1(m_functors1[0], "DoNekSysResEval should be defined");
122  m_functors1[0](inarray, gmtxarray, gmtVar, TraceJac, TraceJacDeriv,
123  TraceJacDerivSign, TraceJacArray, TraceJacDerivArray,
124  TraceIPSymJacArray);
125  }
#define ASSERTL1(condition, msg)
Assert Level 1 – Debugging which is used whether in FULLDEBUG or DEBUG compilation mode....
Definition: ErrorUtil.hpp:249

References ASSERTL1, and m_functors1.

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

◆ operator=()

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

Definition at line 87 of file PreconCfsOp.h.

88  {
89  for (int i = 0; i < nfunctor1; ++i)
90  {
91  m_functors1[i] = in.m_functors1[i];
92  }
93  for (int i = 0; i < nfunctor2; ++i)
94  {
95  m_functors2[i] = in.m_functors2[i];
96  }
97 
98  return *this;
99  }

References m_functors1, m_functors2, nfunctor1, and nfunctor2.

Member Data Documentation

◆ m_functors1

FunctorType1Array Nektar::NekPreconCfsOperators::m_functors1
protected

◆ m_functors2

FunctorType2Array Nektar::NekPreconCfsOperators::m_functors2
protected

Definition at line 148 of file PreconCfsOp.h.

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

◆ nfunctor1

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

Definition at line 68 of file PreconCfsOp.h.

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

◆ nfunctor2

const int Nektar::NekPreconCfsOperators::nfunctor2 = 0
static

Definition at line 69 of file PreconCfsOp.h.

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