HyPar  1.0
Finite-Difference Hyperbolic-Parabolic PDE Solver on Cartesian Grids
rom_object.h
Go to the documentation of this file.
1 #ifdef with_librom
2 
8 #ifndef _ROM_OBJECT_H_
9 #define _ROM_OBJECT_H_
10 
12 #define _ROM_TYPE_NONE_ "none"
13 
15 #define _LIBROM_INP_FNAME_ "librom.inp"
16 
17 #include <string>
18 #include <linalg/Vector.h>
19 
30 class ROMObject
31 {
32  public:
33 
35  virtual ~ROMObject() { }
36 
38  virtual void projectInitialSolution( CAROM::Vector& ) = 0;
40  virtual void takeSample( const CAROM::Vector&, const double ) = 0;
42  virtual void train() = 0;
44  virtual const CAROM::Vector* const predict( const double ) const = 0;
46  virtual void save( const std::string& ) const = 0;
48  virtual void load( const std::string& ) = 0;
49 
50  protected:
51 
52  private:
53 
54 };
55 
56 #endif
57 
58 #endif
virtual void train()=0
Base class defining a ROM object.
Definition: rom_object.h:30
virtual void save(const std::string &) const =0
virtual ~ROMObject()
Definition: rom_object.h:35
virtual const CAROM::Vector *const predict(const double) const =0
virtual void load(const std::string &)=0
virtual void projectInitialSolution(CAROM::Vector &)=0
virtual void takeSample(const CAROM::Vector &, const double)=0