35 #ifndef NEKTAR_SOLVERUTILS_DRIVERARNOLDI_H
36 #define NEKTAR_SOLVERUTILS_DRIVERARNOLDI_H
102 void WriteEvs(std::ostream &evlout,
const int k,
105 bool DumpInverse =
true);
110 void GetUnmaskFunction(std::vector<std::vector<LibUtilities::EquationSharedPtr> > & unmaskfun);
112 virtual void v_InitObject(std::ostream &out = std::cout);
#define SOLVER_UTILS_EXPORT
General purpose memory allocation routines with the ability to allocate from thread specific memory p...
Base class for the development of solvers.
virtual ~DriverArnoldi()
Destructor.
void CopyFwdToAdj()
Copy the forward field to the adjoint system in transient growth calculations.
void GetUnmaskFunction(std::vector< std::vector< LibUtilities::EquationSharedPtr > > &unmaskfun)
void WriteFld(std::string file, std::vector< Array< OneD, NekDouble > > coeffs)
Write coefficients to file.
NekDouble m_period
Tolerance of iteratiosn.
int m_infosteps
underlying operator is time stepping
SOLVER_UTILS_EXPORT const Array< OneD, const NekDouble > & GetMaskCoeff() const
Array< OneD, NekDouble > m_maskCoeffs
DriverArnoldi(const LibUtilities::SessionReaderSharedPtr pSession, const SpatialDomains::MeshGraphSharedPtr pGraph)
Constructor.
void CopyFieldToArnoldiArray(Array< OneD, NekDouble > &array)
Copy fields to Arnoldi storage.
virtual void v_InitObject(std::ostream &out=std::cout)
int m_nvec
Dimension of Krylov subspace.
bool m_timeSteppingAlgorithm
Period of time stepping algorithm.
int m_nits
Number of vectors to test.
Array< OneD, NekDouble > m_imag_evl
void CopyArnoldiArrayToField(Array< OneD, NekDouble > &array)
Copy Arnoldi storage to fields.
virtual Array< OneD, NekDouble > v_GetImagEvl(void)
SOLVER_UTILS_EXPORT const Array< OneD, const NekDouble > & GetMaskPhys() const
Array< OneD, NekDouble > m_maskPhys
NekDouble m_evtol
Maxmum number of iterations.
virtual Array< OneD, NekDouble > v_GetRealEvl(void)
int m_nfields
interval to dump information if required.
SOLVER_UTILS_EXPORT void ArnoldiSummary(std::ostream &out)
Array< OneD, NekDouble > m_real_evl
Operator in solve call is negated.
void WriteEvs(std::ostream &evlout, const int k, const NekDouble real, const NekDouble imag, NekDouble resid=NekConstants::kNekUnsetDouble, bool DumpInverse=true)
Base class for the development of solvers.
std::shared_ptr< SessionReader > SessionReaderSharedPtr
static const NekDouble kNekUnsetDouble
std::shared_ptr< MeshGraph > MeshGraphSharedPtr
The above copyright notice and this permission notice shall be included.