Class which computes a Proper Orthogonal Decomposition (POD) for snapshots stored in ParallelSolutionStorage. More...
#include <POD.h>
Public Member Functions | |
POD (const ParallelSolutionStorage *const parallel_storage, const std::string &extra_slepc_options, const Parallel::Communicator &comm) | |
void | computePOD (const VariableName &vname, std::vector< DenseVector< Real >> &left_basis_functions, std::vector< DenseVector< Real >> &right_basis_functions, std::vector< Real > &singular_values, const dof_id_type num_modes, const Real energy) const |
Private Member Functions | |
dof_id_type | determineNumberOfModes (const std::vector< Real > &singular_values, const dof_id_type num_modes_compute, const Real energy) const |
Determine the number of basis functions needed for a given variable based on the information on the singular values. More... | |
Private Attributes | |
const ParallelSolutionStorage *const | _parallel_storage |
The container where the snapshots are stored. More... | |
const std::string & | _extra_slepc_options |
Additional options for the singular value solver. More... | |
const Parallel::Communicator & | _communicator |
The communicator for parallel routines. More... | |
Class which computes a Proper Orthogonal Decomposition (POD) for snapshots stored in ParallelSolutionStorage.
StochasticTools::POD::POD | ( | const ParallelSolutionStorage *const | parallel_storage, |
const std::string & | extra_slepc_options, | ||
const Parallel::Communicator & | comm | ||
) |
void StochasticTools::POD::computePOD | ( | const VariableName & | vname, |
std::vector< DenseVector< Real >> & | left_basis_functions, | ||
std::vector< DenseVector< Real >> & | right_basis_functions, | ||
std::vector< Real > & | singular_values, | ||
const dof_id_type | num_modes, | ||
const Real | energy | ||
) | const |
vname | Variable name to extract snapshot data |
left_basis_functions | Vector for left basis functions |
right_basis_functions | Vector for right basis functions |
singular_values | Vector for singular values |
num_modes | Max number of modes to compute |
energy | Energy threshold to determine the minimum number of modes |
Definition at line 40 of file POD.C.
Referenced by PODMapping::buildMapping().
|
private |
Determine the number of basis functions needed for a given variable based on the information on the singular values.
singular_values | Vector of singular values |
num_modes_compute | Max number of modes to compute |
energy | Energy threshold to determine the minimum number of modes |
Definition at line 205 of file POD.C.
Referenced by computePOD().
|
private |
The communicator for parallel routines.
Definition at line 65 of file POD.h.
Referenced by computePOD().
|
private |
Additional options for the singular value solver.
Definition at line 63 of file POD.h.
Referenced by computePOD().
|
private |
The container where the snapshots are stored.
Definition at line 61 of file POD.h.
Referenced by computePOD().