Nektar++
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
Nektar::PreconCfs Class Reference

#include <PreconCfs.h>

Inheritance diagram for Nektar::PreconCfs:
[legend]

Public Member Functions

 PreconCfs (const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, const LibUtilities::SessionReaderSharedPtr &pSession, const LibUtilities::CommSharedPtr &vComm)
 
virtual ~PreconCfs ()
 
void DoPreconCfs (const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, const Array< OneD, NekDouble > &pInput, Array< OneD, NekDouble > &pOutput, const bool &flag)
 
void BuildPreconCfs (const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, const Array< OneD, const Array< OneD, NekDouble >> &intmp, const NekDouble time, const NekDouble lambda)
 
void InitObject ()
 
virtual bool v_UpdatePreconMatCheck (const Array< OneD, const NekDouble > &res, const NekDouble dtLambda)
 
bool UpdatePreconMatCheck (const Array< OneD, const NekDouble > &res, const NekDouble dtLambda)
 

Protected Member Functions

virtual void v_InitObject ()
 
void DoNullPrecon (const Array< OneD, NekDouble > &pInput, Array< OneD, NekDouble > &pOutput, const bool &flag)
 

Protected Attributes

LibUtilities::CommSharedPtr m_Comm
 
bool m_verbose
 
int m_spacedim
 
int m_PreconMatFreezNumb
 
int m_PreconTimesCounter
 
NekDouble m_DtLambdaPreconMat = -1.0
 
NekDouble m_BndEvaluateTime
 
bool m_CalcPreconMatFlag = false
 

Private Member Functions

virtual void v_DoPreconCfs (const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, const Array< OneD, NekDouble > &pInput, Array< OneD, NekDouble > &pOutput, const bool &flag)
 
virtual void v_BuildPreconCfs (const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, const Array< OneD, const Array< OneD, NekDouble >> &intmp, const NekDouble time, const NekDouble lambda)
 

Detailed Description

Definition at line 52 of file PreconCfs.h.

Constructor & Destructor Documentation

◆ PreconCfs()

Nektar::PreconCfs::PreconCfs ( const Array< OneD, MultiRegions::ExpListSharedPtr > &  pFields,
const LibUtilities::SessionReaderSharedPtr pSession,
const LibUtilities::CommSharedPtr vComm 
)

Definition at line 42 of file PreconCfs.cpp.

45 {
46  m_Comm = vComm;
47  m_verbose = pSession->DefinesCmdLineArgument("verbose");
48  m_spacedim = pFields[0]->GetGraph()->GetSpaceDimension();
49  pSession->LoadParameter("PreconMatFreezNumb", m_PreconMatFreezNumb, 200);
50 }
int m_PreconMatFreezNumb
Definition: PreconCfs.h:86
LibUtilities::CommSharedPtr m_Comm
Definition: PreconCfs.h:82

◆ ~PreconCfs()

virtual Nektar::PreconCfs::~PreconCfs ( )
inlinevirtual

Definition at line 59 of file PreconCfs.h.

60  {
61  }

Member Function Documentation

◆ BuildPreconCfs()

void Nektar::PreconCfs::BuildPreconCfs ( const Array< OneD, MultiRegions::ExpListSharedPtr > &  pFields,
const Array< OneD, const Array< OneD, NekDouble >> &  intmp,
const NekDouble  time,
const NekDouble  lambda 
)
inline

Definition at line 132 of file PreconCfs.h.

136 {
137  v_BuildPreconCfs(pFields, intmp, time, lambda);
138 }
virtual void v_BuildPreconCfs(const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, const Array< OneD, const Array< OneD, NekDouble >> &intmp, const NekDouble time, const NekDouble lambda)
Definition: PreconCfs.cpp:85

References v_BuildPreconCfs().

◆ DoNullPrecon()

void Nektar::PreconCfs::DoNullPrecon ( const Array< OneD, NekDouble > &  pInput,
Array< OneD, NekDouble > &  pOutput,
const bool &  flag 
)
protected

Definition at line 55 of file PreconCfs.cpp.

57 {
58  boost::ignore_unused(flag);
59  Vmath::Vcopy(pInput.size(), pInput, 1, pOutput, 1);
60 }
void Vcopy(int n, const T *x, const int incx, T *y, const int incy)
Definition: Vmath.cpp:1255

References Vmath::Vcopy().

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

◆ DoPreconCfs()

void Nektar::PreconCfs::DoPreconCfs ( const Array< OneD, MultiRegions::ExpListSharedPtr > &  pFields,
const Array< OneD, NekDouble > &  pInput,
Array< OneD, NekDouble > &  pOutput,
const bool &  flag 
)

Definition at line 65 of file PreconCfs.cpp.

69 {
70  ASSERTL0(pInput.size() == pOutput.size(),
71  "In and Out not the same size in DoNullPrecon");
72  v_DoPreconCfs(pFields, pInput, pOutput, flag);
74 }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:215
int m_PreconTimesCounter
Definition: PreconCfs.h:87
virtual void v_DoPreconCfs(const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, const Array< OneD, NekDouble > &pInput, Array< OneD, NekDouble > &pOutput, const bool &flag)
Definition: PreconCfs.cpp:76

References ASSERTL0.

◆ InitObject()

void Nektar::PreconCfs::InitObject ( )
inline

Definition at line 115 of file PreconCfs.h.

116 {
117  v_InitObject();
118 }
virtual void v_InitObject()
Definition: PreconCfs.cpp:51

References v_InitObject().

◆ UpdatePreconMatCheck()

bool Nektar::PreconCfs::UpdatePreconMatCheck ( const Array< OneD, const NekDouble > &  res,
const NekDouble  dtLambda 
)
inline

Definition at line 123 of file PreconCfs.h.

125 {
126  return v_UpdatePreconMatCheck(res, dtLambda);
127 }
virtual bool v_UpdatePreconMatCheck(const Array< OneD, const NekDouble > &res, const NekDouble dtLambda)
Definition: PreconCfs.cpp:94

References v_UpdatePreconMatCheck().

◆ v_BuildPreconCfs()

void Nektar::PreconCfs::v_BuildPreconCfs ( const Array< OneD, MultiRegions::ExpListSharedPtr > &  pFields,
const Array< OneD, const Array< OneD, NekDouble >> &  intmp,
const NekDouble  time,
const NekDouble  lambda 
)
privatevirtual

Reimplemented in Nektar::PreconCfsOp, and Nektar::PreconCfsBRJ.

Definition at line 85 of file PreconCfs.cpp.

89 {
90  boost::ignore_unused(pFields, intmp, time, lambda);
91  NEKERROR(ErrorUtil::efatal, "v_BuildPreconCfs not defined");
92 }
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mode...
Definition: ErrorUtil.hpp:209

References NEKERROR.

Referenced by BuildPreconCfs().

◆ v_DoPreconCfs()

void Nektar::PreconCfs::v_DoPreconCfs ( const Array< OneD, MultiRegions::ExpListSharedPtr > &  pFields,
const Array< OneD, NekDouble > &  pInput,
Array< OneD, NekDouble > &  pOutput,
const bool &  flag 
)
privatevirtual

Reimplemented in Nektar::PreconCfsOp, and Nektar::PreconCfsBRJ.

Definition at line 76 of file PreconCfs.cpp.

80 {
81  boost::ignore_unused(pFields, pInput, pOutput, flag);
82  NEKERROR(ErrorUtil::efatal, "v_DoPreconCfs not defined");
83 }

References NEKERROR.

◆ v_InitObject()

void Nektar::PreconCfs::v_InitObject ( )
protectedvirtual

Reimplemented in Nektar::PreconCfsOp, and Nektar::PreconCfsBRJ.

Definition at line 51 of file PreconCfs.cpp.

52 {
53 }

Referenced by InitObject(), and Nektar::PreconCfsOp::v_InitObject().

◆ v_UpdatePreconMatCheck()

bool Nektar::PreconCfs::v_UpdatePreconMatCheck ( const Array< OneD, const NekDouble > &  res,
const NekDouble  dtLambda 
)
virtual

Reimplemented in Nektar::PreconCfsBRJ.

Definition at line 94 of file PreconCfs.cpp.

96 {
97  boost::ignore_unused(res, dtLambda);
98  NEKERROR(ErrorUtil::efatal, "v_UpdatePreconMatCheck not defined");
99  return false;
100 }

References NEKERROR.

Referenced by UpdatePreconMatCheck().

Member Data Documentation

◆ m_BndEvaluateTime

NekDouble Nektar::PreconCfs::m_BndEvaluateTime
protected

Definition at line 90 of file PreconCfs.h.

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

◆ m_CalcPreconMatFlag

bool Nektar::PreconCfs::m_CalcPreconMatFlag = false
protected

◆ m_Comm

LibUtilities::CommSharedPtr Nektar::PreconCfs::m_Comm
protected

Definition at line 82 of file PreconCfs.h.

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

◆ m_DtLambdaPreconMat

NekDouble Nektar::PreconCfs::m_DtLambdaPreconMat = -1.0
protected

◆ m_PreconMatFreezNumb

int Nektar::PreconCfs::m_PreconMatFreezNumb
protected

Definition at line 86 of file PreconCfs.h.

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

◆ m_PreconTimesCounter

int Nektar::PreconCfs::m_PreconTimesCounter
protected

◆ m_spacedim

int Nektar::PreconCfs::m_spacedim
protected

◆ m_verbose

bool Nektar::PreconCfs::m_verbose
protected

Definition at line 83 of file PreconCfs.h.

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