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

#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 ()=default
 
void InitObject ()
 
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)
 
bool UpdatePreconMatCheck (const Array< OneD, const NekDouble > &res, const NekDouble dtLambda)
 
void SetOperators (const NekPreconCfsOperators &in)
 

Protected Member Functions

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

Protected Attributes

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

Detailed Description

Definition at line 59 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 48 of file PreconCfs.cpp.

51{
52 m_Comm = vComm;
53 m_verbose = pSession->DefinesCmdLineArgument("verbose");
54 m_spacedim = pFields[0]->GetGraph()->GetSpaceDimension();
55 pSession->LoadParameter("PreconMatFreezNumb", m_PreconMatFreezNumb, 200);
56}
int m_PreconMatFreezNumb
Definition: PreconCfs.h:92
LibUtilities::CommSharedPtr m_Comm
Definition: PreconCfs.h:88

References m_Comm, m_PreconMatFreezNumb, m_spacedim, and m_verbose.

◆ ~PreconCfs()

virtual Nektar::PreconCfs::~PreconCfs ( )
virtualdefault

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 139 of file PreconCfs.h.

143{
144 v_BuildPreconCfs(pFields, intmp, time, lambda);
145}
virtual void v_BuildPreconCfs(const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, const Array< OneD, const Array< OneD, NekDouble > > &intmp, const NekDouble time, const NekDouble lambda)=0

References v_BuildPreconCfs().

◆ DoPreconCfs()

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

Definition at line 125 of file PreconCfs.h.

129{
130 ASSERTL0(pInput.size() == pOutput.size(),
131 "In and Out not the same size in DoPreconCfs");
132 v_DoPreconCfs(pFields, pInput, pOutput, flag);
134}
#define ASSERTL0(condition, msg)
Definition: ErrorUtil.hpp:208
int m_PreconTimesCounter
Definition: PreconCfs.h:93
virtual void v_DoPreconCfs(const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, const Array< OneD, NekDouble > &pInput, Array< OneD, NekDouble > &pOutput, const bool &flag)=0

References ASSERTL0, m_PreconTimesCounter, and v_DoPreconCfs().

◆ InitObject()

void Nektar::PreconCfs::InitObject ( )
inline

Definition at line 117 of file PreconCfs.h.

118{
119 v_InitObject();
120}
virtual void v_InitObject()=0

References v_InitObject().

◆ SetOperators()

void Nektar::PreconCfs::SetOperators ( const NekPreconCfsOperators in)
inline

Definition at line 82 of file PreconCfs.h.

83 {
84 m_operator = in;
85 }
NekPreconCfsOperators m_operator
Definition: PreconCfs.h:91

References m_operator.

◆ UpdatePreconMatCheck()

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

Definition at line 150 of file PreconCfs.h.

152{
153 return v_UpdatePreconMatCheck(res, dtLambda);
154}
virtual bool v_UpdatePreconMatCheck(const Array< OneD, const NekDouble > &res, const NekDouble dtLambda)=0

References v_UpdatePreconMatCheck().

◆ v_BuildPreconCfs()

virtual 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 
)
protectedpure virtual

Implemented in Nektar::PreconCfsBRJ.

Referenced by BuildPreconCfs().

◆ v_DoPreconCfs()

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

Implemented in Nektar::PreconCfsBRJ.

Referenced by DoPreconCfs().

◆ v_InitObject()

virtual void Nektar::PreconCfs::v_InitObject ( )
protectedpure virtual

Implemented in Nektar::PreconCfsBRJ.

Referenced by InitObject().

◆ v_UpdatePreconMatCheck()

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

Implemented in Nektar::PreconCfsBRJ.

Referenced by UpdatePreconMatCheck().

Member Data Documentation

◆ m_CalcPreconMatFlag

bool Nektar::PreconCfs::m_CalcPreconMatFlag = false
protected

◆ m_Comm

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

Definition at line 88 of file PreconCfs.h.

Referenced by PreconCfs(), and Nektar::PreconCfsBRJ::v_BuildPreconCfs().

◆ m_DtLambdaPreconMat

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

◆ m_operator

NekPreconCfsOperators Nektar::PreconCfs::m_operator
protected

Definition at line 91 of file PreconCfs.h.

Referenced by SetOperators(), and Nektar::PreconCfsBRJ::v_BuildPreconCfs().

◆ m_PreconMatFreezNumb

int Nektar::PreconCfs::m_PreconMatFreezNumb
protected

Definition at line 92 of file PreconCfs.h.

Referenced by PreconCfs(), and 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 89 of file PreconCfs.h.

Referenced by PreconCfs(), and Nektar::PreconCfsBRJ::v_BuildPreconCfs().