[P]arallel [Hi]gh-order [Li]brary for [P]DEs  Latest
Parallel High-Order Library for PDEs through hp-adaptive Discontinuous Galerkin methods
pod_basis_base.h
1 #ifndef __POD_BASIS_INTERFACE__
2 #define __POD_BASIS_INTERFACE__
3 
4 #include <deal.II/numerics/vector_tools.h>
5 #include <deal.II/lac/la_parallel_vector.h>
6 #include <deal.II/lac/trilinos_sparse_matrix.h>
7 #include <eigen/Eigen/Dense>
8 
9 namespace PHiLiP {
10 namespace ProperOrthogonalDecomposition {
11 using Eigen::MatrixXd;
12 using Eigen::VectorXd;
13 
15 template <int dim>
16 class PODBase
17 {
18 public:
20  virtual ~PODBase() = default;
21 
23  virtual std::shared_ptr<dealii::TrilinosWrappers::SparseMatrix> getPODBasis() = 0;
24 
26  virtual dealii::LinearAlgebra::ReadWriteVector<double> getReferenceState() = 0;
27 
29  virtual MatrixXd getSnapshotMatrix() = 0;
30 };
31 
32 }
33 }
34 
35 
36 #endif
virtual ~PODBase()=default
Virtual destructor.
virtual std::shared_ptr< dealii::TrilinosWrappers::SparseMatrix > getPODBasis()=0
Function to return basis.
Files for the baseline physics.
Definition: ADTypes.hpp:10
virtual dealii::LinearAlgebra::ReadWriteVector< double > getReferenceState()=0
Function to return reference state.
virtual MatrixXd getSnapshotMatrix()=0
Function to return snapshot matrix.