29 virtual void buildMapping(
const VariableName & vname)
override;
38 void map(
const VariableName & vname,
39 const DenseVector<Real> & full_order_vector,
40 std::vector<Real> & reduced_order_vector)
const override;
50 void map(
const VariableName & vname,
51 const unsigned int global_sample_i,
52 std::vector<Real> & reduced_order_vector)
const override;
62 const std::vector<Real> & reduced_order_vector,
63 DenseVector<Real> & full_order_vector)
const override;
69 const std::vector<DenseVector<Real>> &
leftBasis(
const VariableName & vname);
75 const std::vector<DenseVector<Real>> &
rightBasis(
const VariableName & vname);
81 const std::vector<Real> &
singularValues(
const VariableName & vname);
89 const unsigned int base_i);
97 const unsigned int base_i);
const std::vector< Real > & singularValues(const VariableName &vname)
Return all of the singular values for a given variable.
const std::vector< DenseVector< Real > > & leftBasis(const VariableName &vname)
Return all of the left basis functions for a given variable.
static InputParameters validParams()
std::map< VariableName, std::vector< DenseVector< Real > > > & _left_basis_functions
Restartable container holding the basis functions for each variable.
virtual void buildMapping(const VariableName &vname) override
Abstract function for building mapping for a given variable.
PODMapping(const InputParameters ¶meters)
std::map< VariableName, std::vector< Real > > & _singular_values
Restartable container holding the singular values.
const std::string & _extra_slepc_options
Variable holding additional petsc options for the singular value solve.
void inverse_map(const VariableName &vname, const std::vector< Real > &reduced_order_vector, DenseVector< Real > &full_order_vector) const override
Method used for mapping reduced-order solutions for a given variable onto the full-order space...
const std::vector< dof_id_type > _num_modes
The number of modes which need to be computed.
const ParallelSolutionStorage *const _parallel_storage
Link to the parallel storage which holds the solution fields that are used for the SVD...
void map(const VariableName &vname, const DenseVector< Real > &full_order_vector, std::vector< Real > &reduced_order_vector) const override
Method used for mapping full-order solutions for a given variable onto a latent space.
const DenseVector< Real > & rightBasisFunction(const VariableName &vname, const unsigned int base_i)
Get the base_i-th right basis function for a given variable.
std::map< VariableName, std::vector< DenseVector< Real > > > & _right_basis_functions
Restartable container holding the basis functions for each variable.
Class which provides a Proper Orthogonal Decomposition (POD)-based mapping between full-order and red...
const InputParameters & parameters() const
const DenseVector< Real > & leftBasisFunction(const VariableName &vname, const unsigned int base_i)
Get the base_i-th left basis function for a given variable.
This is an abstract base class for objects that provide mapping between a full-order and a latent spa...
const std::vector< DenseVector< Real > > & rightBasis(const VariableName &vname)
Return all of the right basis functions for a given variable.
const StochasticTools::POD _pod
The POD object which can be used to compute the basis functions/vectors.
A Reporter which stores serialized solution fields for given variables in a distributed fashion...
const std::vector< Real > & _energy_threshold
The energy thresholds for truncation of the number of modes, defined by the user. ...