| 
    Nektar++
    
   | 
 
Base class for the development of solvers. More...
#include <DriverArnoldi.h>


Public Member Functions | |
| 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) | 
Protected Member Functions | |
| 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 void | v_InitObject (std::ostream &out=std::cout) | 
| 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... | |
| virtual SOLVER_UTILS_EXPORT void | v_Execute (std::ostream &out=std::cout)=0 | 
| Virtual function for solve implementation.  More... | |
Protected Attributes | |
| 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... | |
Friends | |
| class | MemoryManager< DriverArnoldi > | 
Additional Inherited Members | |
  Static Protected Attributes inherited from Nektar::SolverUtils::Driver | |
| static std::string | evolutionOperatorLookupIds [] | 
| static std::string | evolutionOperatorDef | 
| static std::string | driverDefault | 
Base class for the development of solvers.
Definition at line 47 of file DriverArnoldi.h.
      
  | 
  protected | 
Constructor.
Constructor
Definition at line 49 of file DriverArnoldi.cpp.
References m_infosteps, and Nektar::SolverUtils::Driver::m_session.
      
  | 
  protectedvirtual | 
| void Nektar::SolverUtils::DriverArnoldi::ArnoldiSummary | ( | std::ostream & | out | ) | 
Definition at line 114 of file DriverArnoldi.cpp.
References ASSERTL0, Nektar::SolverUtils::Driver::m_comm, m_evtol, m_imagShift, m_kdim, m_nits, m_nvec, m_realShift, Nektar::SolverUtils::Driver::m_session, and m_timeSteppingAlgorithm.
Referenced by Nektar::SolverUtils::DriverModifiedArnoldi::v_InitObject(), and Nektar::SolverUtils::DriverArpack::v_InitObject().
      
  | 
  protected | 
Copy Arnoldi storage to fields.
Copy Arnoldi array to field variables which depend from either the m_fields or m_forces
Definition at line 165 of file DriverArnoldi.cpp.
References Nektar::SolverUtils::Driver::m_equ, m_nfields, and Vmath::Vcopy().
Referenced by Nektar::SolverUtils::DriverModifiedArnoldi::EV_update(), and Nektar::SolverUtils::DriverArpack::v_Execute().
      
  | 
  protected | 
Copy fields to Arnoldi storage.
Copy field variables which depend from either the m_fields or m_forces array the Arnoldi array
Definition at line 182 of file DriverArnoldi.cpp.
References Nektar::SolverUtils::eAdaptiveSFD, Nektar::SolverUtils::Driver::m_equ, Nektar::SolverUtils::Driver::m_EvolutionOperator, Nektar::SolverUtils::Driver::m_nequ, m_nfields, and Vmath::Vcopy().
Referenced by Nektar::SolverUtils::DriverModifiedArnoldi::EV_update(), Nektar::SolverUtils::DriverModifiedArnoldi::v_Execute(), and Nektar::SolverUtils::DriverArpack::v_Execute().
      
  | 
  protected | 
Copy the forward field to the adjoint system in transient growth calculations.
Initialisation for the transient growth
Definition at line 212 of file DriverArnoldi.cpp.
References ASSERTL0, Nektar::SolverUtils::Driver::m_equ, m_nfields, m_timeSteppingAlgorithm, and Vmath::Vcopy().
Referenced by Nektar::SolverUtils::DriverModifiedArnoldi::EV_update(), and Nektar::SolverUtils::DriverArpack::v_Execute().
      
  | 
  inlineprotectedvirtual | 
Reimplemented from Nektar::SolverUtils::Driver.
Definition at line 107 of file DriverArnoldi.h.
References m_imag_evl.
      
  | 
  inlineprotectedvirtual | 
Reimplemented from Nektar::SolverUtils::Driver.
Definition at line 102 of file DriverArnoldi.h.
References m_real_evl.
      
  | 
  protectedvirtual | 
Arnoldi driver initialisation
Reimplemented from Nektar::SolverUtils::Driver.
Reimplemented in Nektar::SolverUtils::DriverSteadyState, Nektar::SolverUtils::DriverArpack, and Nektar::SolverUtils::DriverModifiedArnoldi.
Definition at line 67 of file DriverArnoldi.cpp.
References ASSERTL0, Nektar::SolverUtils::Driver::m_equ, m_evtol, m_imagShift, m_kdim, m_negatedOp, m_nfields, m_nits, m_nvec, m_period, m_realShift, Nektar::SolverUtils::Driver::m_session, m_timeSteppingAlgorithm, and Nektar::SolverUtils::Driver::v_InitObject().
Referenced by Nektar::SolverUtils::DriverModifiedArnoldi::v_InitObject(), and Nektar::SolverUtils::DriverArpack::v_InitObject().
      
  | 
  protected | 
Definition at line 269 of file DriverArnoldi.cpp.
References Nektar::NekConstants::kNekUnsetDouble, m_imagShift, m_negatedOp, m_period, m_realShift, m_timeSteppingAlgorithm, and sign.
Referenced by Nektar::SolverUtils::DriverModifiedArnoldi::EV_post(), Nektar::SolverUtils::DriverModifiedArnoldi::EV_test(), and Nektar::SolverUtils::DriverArpack::v_Execute().
      
  | 
  protected | 
Write coefficients to file.
Definition at line 236 of file DriverArnoldi.cpp.
References ASSERTL1, Nektar::SolverUtils::Driver::m_equ, and m_nfields.
Referenced by Nektar::SolverUtils::DriverModifiedArnoldi::EV_post(), and Nektar::SolverUtils::DriverArpack::v_Execute().
      
  | 
  protected | 
Definition at line 251 of file DriverArnoldi.cpp.
References ASSERTL1, Nektar::SolverUtils::Driver::m_equ, and m_nfields.
      
  | 
  friend | 
Definition at line 50 of file DriverArnoldi.h.
      
  | 
  protected | 
Maxmum number of iterations.
Definition at line 58 of file DriverArnoldi.h.
Referenced by ArnoldiSummary(), Nektar::SolverUtils::DriverModifiedArnoldi::EV_test(), Nektar::SolverUtils::DriverArpack::v_Execute(), and v_InitObject().
Definition at line 70 of file DriverArnoldi.h.
Referenced by Nektar::SolverUtils::DriverModifiedArnoldi::v_Execute(), Nektar::SolverUtils::DriverArpack::v_Execute(), and v_GetImagEvl().
      
  | 
  protected | 
Definition at line 66 of file DriverArnoldi.h.
Referenced by ArnoldiSummary(), Nektar::SolverUtils::DriverModifiedArnoldi::v_Execute(), Nektar::SolverUtils::DriverArpack::v_Execute(), v_InitObject(), and WriteEvs().
      
  | 
  protected | 
underlying operator is time stepping
Definition at line 62 of file DriverArnoldi.h.
Referenced by DriverArnoldi(), and Nektar::SolverUtils::DriverArpack::v_Execute().
      
  | 
  protected | 
Definition at line 55 of file DriverArnoldi.h.
Referenced by ArnoldiSummary(), Nektar::SolverUtils::DriverSteadyState::ComputeOptimization(), Nektar::SolverUtils::DriverModifiedArnoldi::v_Execute(), Nektar::SolverUtils::DriverArpack::v_Execute(), Nektar::SolverUtils::DriverArpack::v_InitObject(), and v_InitObject().
      
  | 
  protected | 
Definition at line 67 of file DriverArnoldi.h.
Referenced by Nektar::SolverUtils::DriverArpack::v_Execute(), v_InitObject(), and WriteEvs().
      
  | 
  protected | 
interval to dump information if required.
Definition at line 64 of file DriverArnoldi.h.
Referenced by CopyArnoldiArrayToField(), CopyFieldToArnoldiArray(), CopyFwdToAdj(), Nektar::SolverUtils::DriverModifiedArnoldi::v_Execute(), Nektar::SolverUtils::DriverArpack::v_Execute(), v_InitObject(), and WriteFld().
      
  | 
  protected | 
Number of vectors to test.
Definition at line 57 of file DriverArnoldi.h.
Referenced by ArnoldiSummary(), Nektar::SolverUtils::DriverModifiedArnoldi::v_Execute(), Nektar::SolverUtils::DriverArpack::v_Execute(), and v_InitObject().
      
  | 
  protected | 
Dimension of Krylov subspace.
Definition at line 56 of file DriverArnoldi.h.
Referenced by ArnoldiSummary(), Nektar::SolverUtils::DriverModifiedArnoldi::v_Execute(), Nektar::SolverUtils::DriverArpack::v_Execute(), Nektar::SolverUtils::DriverArpack::v_InitObject(), and v_InitObject().
      
  | 
  protected | 
Tolerance of iteratiosn.
Definition at line 59 of file DriverArnoldi.h.
Referenced by v_InitObject(), and WriteEvs().
Operator in solve call is negated.
Definition at line 69 of file DriverArnoldi.h.
Referenced by Nektar::SolverUtils::DriverModifiedArnoldi::v_Execute(), Nektar::SolverUtils::DriverArpack::v_Execute(), and v_GetRealEvl().
      
  | 
  protected | 
Definition at line 65 of file DriverArnoldi.h.
Referenced by ArnoldiSummary(), Nektar::SolverUtils::DriverArpack::v_Execute(), v_InitObject(), and WriteEvs().
      
  | 
  protected | 
Period of time stepping algorithm.
Definition at line 60 of file DriverArnoldi.h.
Referenced by ArnoldiSummary(), CopyFwdToAdj(), Nektar::SolverUtils::DriverModifiedArnoldi::EV_test(), Nektar::SolverUtils::DriverArpack::v_Execute(), v_InitObject(), and WriteEvs().
 1.8.8