1 #ifndef RBGEN_INCSVD_POD_H
2 #define RBGEN_INCSVD_POD_H
4 #include "RBGen_PODMethod.hpp"
5 #include "RBGen_Method.hpp"
6 #include "RBGen_Filter.hpp"
7 #include "AnasaziEpetraAdapter.hpp"
8 #include "AnasaziOrthoManager.hpp"
9 #include "Epetra_MultiVector.h"
10 #include "Epetra_Operator.h"
11 #include "Epetra_SerialDenseMatrix.h"
126 bool isInitialized() {
return isInitialized_; }
133 void incStep(
int lup);
134 virtual void makePass() = 0;
135 virtual void expand(
const int lup) = 0;
160 std::vector<double> sigma_;
192 std::vector<double> resNorms_;
204 #endif // RBGEN_INCSVD_POD_H
void Reset(const Teuchos::RCP< Epetra_MultiVector > &new_ss)
Reset the snapshot set used to compute the reduced basis.
std::vector< double > getSingularValues() const
Return the singular values.
double getCompTime() const
Return the cummulative wall-clock time.
Teuchos::RCP< const Epetra_MultiVector > getRightBasis() const
Return a basis for the right singular subspace.
Teuchos::RCP< const Epetra_MultiVector > getBasis() const
Return a basis for the left singular subspace.
void computeBasis()
Computes bases for the left and (optionally) right singular subspaces, along with singular vaues...
virtual void updateBasis(const Teuchos::RCP< Epetra_MultiVector > &update_ss)=0
Update the current basis by appending new snapshots.
Abstract base class for reduced basis methods.
Abstract base class for reduced basis POD methods.
void Initialize(const Teuchos::RCP< Teuchos::ParameterList > ¶ms, const Teuchos::RCP< const Epetra_MultiVector > &init, const Teuchos::RCP< RBGen::FileIOHandler< Epetra_Operator > > &fileio=Teuchos::null)
Initialize the method with the given parameter list and snapshot set.
const std::vector< double > & getResNorms()
Return the scaled residual norms.
IncSVDPOD()
Default constructor.
Class for producing a basis using the Incremental SVD.
double totalElapsedTime(bool readCurrentTime=false) const
virtual ~IncSVDPOD()
Destructor.