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 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_root
 
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 = false;
48  m_root = false;
49 
50  if (0 == m_Comm->GetRank())
51  {
52  m_root = true;
53  }
54  m_verbose = pSession->DefinesCmdLineArgument("verbose");
55 
56  m_spacedim = pFields[0]->GetGraph()->GetSpaceDimension();
57  pSession->LoadParameter("PreconMatFreezNumb", m_PreconMatFreezNumb, 200);
58 }
int m_PreconMatFreezNumb
Definition: PreconCfs.h:84
LibUtilities::CommSharedPtr m_Comm
Definition: PreconCfs.h:79

◆ ~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 121 of file PreconCfs.h.

125 {
126  v_BuildPreconCfs(pFields, intmp, time, lambda);
127 }
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:93

References v_BuildPreconCfs().

◆ DoNullPrecon()

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

Definition at line 63 of file PreconCfs.cpp.

65 {
66  boost::ignore_unused(flag);
67  Vmath::Vcopy(pInput.size(), pInput, 1, pOutput, 1);
68 }
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 73 of file PreconCfs.cpp.

77 {
78  ASSERTL0(pInput.size() == pOutput.size(),
79  "In and Out not the same size in DoNullPrecon");
80  v_DoPreconCfs(pFields, pInput, pOutput, flag);
82 }
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:215
int m_PreconTimesCounter
Definition: PreconCfs.h:85
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:84

References ASSERTL0.

◆ InitObject()

void Nektar::PreconCfs::InitObject ( )
inline

Definition at line 113 of file PreconCfs.h.

114 {
115  v_InitObject();
116 }
virtual void v_InitObject()
Definition: PreconCfs.cpp:59

References v_InitObject().

◆ UpdatePreconMatCheck()

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

Reimplemented in Nektar::PreconCfsBRJ.

Definition at line 102 of file PreconCfs.cpp.

104 {
105  NEKERROR(ErrorUtil::efatal, "UpdatePreconMatCheck not defined");
106  return false;
107 }
#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.

◆ 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 93 of file PreconCfs.cpp.

97 {
98  boost::ignore_unused(pFields, intmp, time, lambda);
99  NEKERROR(ErrorUtil::efatal, "v_BuildPreconCfs not defined");
100 }

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 84 of file PreconCfs.cpp.

88 {
89  boost::ignore_unused(pFields, pInput, pOutput, flag);
90  NEKERROR(ErrorUtil::efatal, "v_DoPreconCfs not defined");
91 }

References NEKERROR.

◆ v_InitObject()

void Nektar::PreconCfs::v_InitObject ( )
protectedvirtual

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

Definition at line 59 of file PreconCfs.cpp.

60 {
61 }

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

Member Data Documentation

◆ m_BndEvaluateTime

NekDouble Nektar::PreconCfs::m_BndEvaluateTime
protected

Definition at line 88 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 79 of file PreconCfs.h.

◆ m_DtLambdaPreconMat

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

◆ m_PreconMatFreezNumb

int Nektar::PreconCfs::m_PreconMatFreezNumb
protected

Definition at line 84 of file PreconCfs.h.

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

◆ m_PreconTimesCounter

int Nektar::PreconCfs::m_PreconTimesCounter
protected

◆ m_root

bool Nektar::PreconCfs::m_root
protected

Definition at line 80 of file PreconCfs.h.

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

◆ m_spacedim

int Nektar::PreconCfs::m_spacedim
protected

◆ m_verbose

bool Nektar::PreconCfs::m_verbose
protected

Definition at line 81 of file PreconCfs.h.

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