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().
1.8.14