Nektar++
|
Base class for the development of solvers. More...
#include <DriverArpack.h>
Static Public Member Functions | |
static DriverSharedPtr | create (const LibUtilities::SessionReaderSharedPtr &pSession) |
Creates an instance of this class. More... | |
Static Public Attributes | |
static std::string | className = GetDriverFactory().RegisterCreatorFunction("Arpack", DriverArpack::create) |
Name of the class. More... | |
Protected Member Functions | |
DriverArpack (const LibUtilities::SessionReaderSharedPtr pSession) | |
Constructor. More... | |
virtual | ~DriverArpack () |
Destructor. More... | |
virtual void | v_InitObject (std::ostream &out=std::cout) |
Virtual function for initialisation implementation. More... | |
virtual void | v_Execute (std::ostream &out=std::cout) |
Virtual function for solve implementation. More... | |
Protected Member Functions inherited from Nektar::SolverUtils::DriverArnoldi | |
DriverArnoldi (const LibUtilities::SessionReaderSharedPtr pSession) | |
Constructor. More... | |
virtual | ~DriverArnoldi () |
Destructor. More... | |
void | CopyArnoldiArrayToField (Array< OneD, NekDouble > &array) |
Copy Arnoldi storage to fields. More... | |
void | CopyFieldToArnoldiArray (Array< OneD, NekDouble > &array) |
Copy fields to Arnoldi storage. More... | |
void | CopyFwdToAdj () |
Copy the forward field to the adjoint system in transient growth calculations. More... | |
void | WriteFld (std::string file, std::vector< Array< OneD, NekDouble > > coeffs) |
Write coefficients to file. More... | |
void | WriteFld (std::string file, Array< OneD, NekDouble > coeffs) |
void | WriteEvs (std::ostream &evlout, const int k, const NekDouble real, const NekDouble imag, NekDouble resid=NekConstants::kNekUnsetDouble, bool DumpInverse=true) |
virtual Array< OneD, NekDouble > | v_GetRealEvl (void) |
virtual Array< OneD, NekDouble > | v_GetImagEvl (void) |
Protected Member Functions inherited from Nektar::SolverUtils::Driver | |
Driver (const LibUtilities::SessionReaderSharedPtr pSession) | |
Initialises EquationSystem class members. More... | |
Protected Attributes | |
int | m_maxn |
int | m_maxnev |
int | m_maxncv |
Protected Attributes inherited from Nektar::SolverUtils::DriverArnoldi | |
int | m_kdim |
int | m_nvec |
Dimension of Krylov subspace. More... | |
int | m_nits |
Number of vectors to test. More... | |
NekDouble | m_evtol |
Maxmum number of iterations. More... | |
NekDouble | m_period |
Tolerance of iteratiosn. More... | |
bool | m_timeSteppingAlgorithm |
Period of time stepping algorithm. More... | |
int | m_infosteps |
underlying operator is time stepping More... | |
int | m_nfields |
interval to dump information if required. More... | |
NekDouble | m_realShift |
NekDouble | m_imagShift |
int | m_negatedOp |
Array< OneD, NekDouble > | m_real_evl |
Operator in solve call is negated. More... | |
Array< OneD, NekDouble > | m_imag_evl |
Protected Attributes inherited from Nektar::SolverUtils::Driver | |
LibUtilities::CommSharedPtr | m_comm |
Communication object. More... | |
LibUtilities::SessionReaderSharedPtr | m_session |
Session reader object. More... | |
LibUtilities::SessionReaderSharedPtr | session_LinNS |
I the Coupling between SFD and arnoldi. More... | |
Array< OneD, EquationSystemSharedPtr > | m_equ |
Equation system to solve. More... | |
int | m_nequ |
number of equations More... | |
enum EvolutionOperatorType | m_EvolutionOperator |
Evolution Operator. More... | |
Static Protected Attributes | |
static std::string | arpackProblemTypeLookupIds [] |
static std::string | arpackProblemTypeDefault = LibUtilities::SessionReader::RegisterDefaultSolverInfo("ArpackProblemType","LargestMag") |
static std::string | driverLookupId = LibUtilities::SessionReader::RegisterEnumValue("Driver","Arpack",0) |
Static Protected Attributes inherited from Nektar::SolverUtils::Driver | |
static std::string | evolutionOperatorLookupIds [] |
static std::string | evolutionOperatorDef |
static std::string | driverDefault |
Static Private Attributes | |
static std::string | ArpackProblemTypeTrans [] |
Friends | |
class | MemoryManager< DriverArpack > |
Additional Inherited Members | |
Public Member Functions inherited from Nektar::SolverUtils::DriverArnoldi | |
SOLVER_UTILS_EXPORT void | ArnoldiSummary (std::ostream &out) |
Public Member Functions inherited from Nektar::SolverUtils::Driver | |
virtual | ~Driver () |
Destructor. More... | |
SOLVER_UTILS_EXPORT void | InitObject (std::ostream &out=std::cout) |
Initialise Object. More... | |
SOLVER_UTILS_EXPORT void | Execute (std::ostream &out=std::cout) |
Execute driver. More... | |
SOLVER_UTILS_EXPORT Array < OneD, EquationSystemSharedPtr > | GetEqu () |
SOLVER_UTILS_EXPORT Array < OneD, NekDouble > | GetRealEvl (void) |
SOLVER_UTILS_EXPORT Array < OneD, NekDouble > | GetImagEvl (void) |
Base class for the development of solvers.
Definition at line 49 of file DriverArpack.h.
|
protected |
Constructor.
Definition at line 65 of file DriverArpack.cpp.
|
protectedvirtual |
|
inlinestatic |
Creates an instance of this class.
Definition at line 55 of file DriverArpack.h.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), and CellMLToNektar.cellml_metadata::p.
|
protectedvirtual |
Virtual function for solve implementation.
Implements Nektar::SolverUtils::Driver.
Definition at line 115 of file DriverArpack.cpp.
References ArpackProblemTypeTrans, ASSERTL0, Nektar::SolverUtils::DriverArnoldi::CopyArnoldiArrayToField(), Nektar::SolverUtils::DriverArnoldi::CopyFieldToArnoldiArray(), Nektar::SolverUtils::DriverArnoldi::CopyFwdToAdj(), Arpack::Dnaupd(), Arpack::Dneupd(), Nektar::SolverUtils::eTransientGrowth, Nektar::NekConstants::kNekUnsetDouble, Nektar::NekConstants::kNekZeroTol, Nektar::SolverUtils::Driver::m_comm, Nektar::SolverUtils::Driver::m_equ, Nektar::SolverUtils::Driver::m_EvolutionOperator, Nektar::SolverUtils::DriverArnoldi::m_evtol, Nektar::SolverUtils::DriverArnoldi::m_imag_evl, Nektar::SolverUtils::DriverArnoldi::m_imagShift, Nektar::SolverUtils::DriverArnoldi::m_infosteps, Nektar::SolverUtils::DriverArnoldi::m_kdim, m_maxn, Nektar::SolverUtils::DriverArnoldi::m_negatedOp, Nektar::SolverUtils::DriverArnoldi::m_nfields, Nektar::SolverUtils::DriverArnoldi::m_nits, Nektar::SolverUtils::DriverArnoldi::m_nvec, Nektar::SolverUtils::DriverArnoldi::m_real_evl, Nektar::SolverUtils::DriverArnoldi::m_realShift, Nektar::SolverUtils::Driver::m_session, Nektar::SolverUtils::DriverArnoldi::m_timeSteppingAlgorithm, Vmath::Sadd(), WARNINGL0, Nektar::SolverUtils::DriverArnoldi::WriteEvs(), and Nektar::SolverUtils::DriverArnoldi::WriteFld().
|
protectedvirtual |
Virtual function for initialisation implementation.
Reimplemented from Nektar::SolverUtils::DriverArnoldi.
Definition at line 81 of file DriverArpack.cpp.
References Nektar::SolverUtils::DriverArnoldi::ArnoldiSummary(), ArpackProblemTypeTrans, ASSERTL0, Nektar::SolverUtils::Driver::m_equ, Nektar::SolverUtils::DriverArnoldi::m_kdim, m_maxn, m_maxncv, m_maxnev, Nektar::SolverUtils::Driver::m_nequ, Nektar::SolverUtils::DriverArnoldi::m_nvec, Nektar::SolverUtils::Driver::m_session, and Nektar::SolverUtils::DriverArnoldi::v_InitObject().
|
friend |
Definition at line 52 of file DriverArpack.h.
|
staticprotected |
Definition at line 84 of file DriverArpack.h.
|
staticprotected |
Definition at line 83 of file DriverArpack.h.
|
staticprivate |
Definition at line 88 of file DriverArpack.h.
Referenced by v_Execute(), and v_InitObject().
|
static |
Name of the class.
Definition at line 62 of file DriverArpack.h.
|
staticprotected |
Definition at line 85 of file DriverArpack.h.
|
protected |
Definition at line 67 of file DriverArpack.h.
Referenced by v_Execute(), and v_InitObject().
|
protected |
Definition at line 69 of file DriverArpack.h.
Referenced by v_InitObject().
|
protected |
Definition at line 68 of file DriverArpack.h.
Referenced by v_InitObject().