RBGen  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
RBGen_Method.hpp
1 #ifndef RBGEN_METHOD_HPP
2 #define RBGEN_METHOD_HPP
3 
4 #include "RBGen_FileIOHandler.hpp"
5 #include "Teuchos_RCP.hpp"
7 
12 namespace RBGen {
13 
15  template<class DataSetType, class OperatorType>
16  class Method {
17 
18  public:
20 
21 
23  Method() {};
24 
25 
27  virtual ~Method() {};
29 
31 
32 
34  virtual void computeBasis() = 0;
35 
37  virtual void updateBasis( const Teuchos::RCP< DataSetType >& update_ss ) = 0;
38 
40 
42 
43 
45  virtual Teuchos::RCP<const DataSetType> getBasis() const = 0;
46 
48  virtual double getCompTime() const = 0;
49 
51 
53 
54 
56  virtual void Initialize( const Teuchos::RCP< Teuchos::ParameterList >& params,
58  const Teuchos::RCP< RBGen::FileIOHandler< OperatorType > >& fileio = Teuchos::null ) = 0;
59 
61  virtual void Reset( const Teuchos::RCP< DataSetType >& new_ss ) = 0;
62 
64 
66 
67 
68  virtual bool isInitialized() = 0;
69 
71  };
72 
73 } // end of RBGen namespace
74 
75 #endif // RBGEN_METHOD_HPP
virtual void Reset(const Teuchos::RCP< DataSetType > &new_ss)=0
Reset the snapshot set used to compute the reduced basis.
virtual Teuchos::RCP< const DataSetType > getBasis() const =0
Get the basis computed by the reduced basis method.
virtual ~Method()
Destructor.
virtual void Initialize(const Teuchos::RCP< Teuchos::ParameterList > &params, const Teuchos::RCP< const DataSetType > &ss, const Teuchos::RCP< RBGen::FileIOHandler< OperatorType > > &fileio=Teuchos::null)=0
Initialize the method with the given parameter list and snapshot set.
Method()
Default constructor.
virtual void computeBasis()=0
Compute a basis for the provided snapshots.
Abstract base class for reduced basis methods.
virtual double getCompTime() const =0
Returns the computational time taken to compute the reduced basis.
Abstract base class for reading datasets from files.
virtual void updateBasis(const Teuchos::RCP< DataSetType > &update_ss)=0
Append new snapshots to the set, and update the basis.