1 #include "ROM_error_post_sampling.h" 2 #include "reduced_order/pod_basis_offline.h" 3 #include "parameters/all_parameters.h" 4 #include "flow_solver/flow_solver.h" 5 #include "flow_solver/flow_solver_factory.h" 6 #include "ode_solver/ode_solver_factory.h" 7 #include "reduced_order/assemble_ECSW_residual.h" 8 #include "reduced_order/assemble_ECSW_jacobian.h" 9 #include "linear_solver/NNLS_solver.h" 10 #include "linear_solver/helper_functions.h" 11 #include "reduced_order/pod_adaptive_sampling.h" 12 #include "reduced_order/hyper_reduced_adaptive_sampling.h" 13 #include "rom_import_helper_functions.h" 14 #include <eigen/Eigen/Dense> 21 template <
int dim,
int nstate>
23 const dealii::ParameterHandler ¶meter_handler_input)
25 , parameter_handler(parameter_handler_input)
28 template <
int dim,
int nstate>
37 template <
int dim,
int nstate>
40 pcout <<
"Starting error analysis for ROM..." << std::endl;
44 std::shared_ptr<ProperOrthogonalDecomposition::OfflinePOD<dim>> pod_petrov_galerkin = std::make_shared<ProperOrthogonalDecomposition::OfflinePOD<dim>>(flow_solver_petrov_galerkin->dg);
48 parameter_sampling->current_pod->basis = pod_petrov_galerkin->basis;
49 parameter_sampling->current_pod->referenceState = pod_petrov_galerkin->referenceState;
50 parameter_sampling->current_pod->snapshotMatrix = pod_petrov_galerkin->snapshotMatrix;
52 std::string path = all_parameters->reduced_order_param.path_to_search;
56 pcout <<
"snapshot_parameters" << std::endl;
60 pcout <<
"File with snapshots not found in folder" << std::endl;
64 pcout <<
"ROM Locations" << std::endl;
int run_test() const override
Evaluate and output the "true" error at ROM Points.
ROMErrorPostSampling(const Parameters::AllParameters *const parameters_input, const dealii::ParameterHandler ¶meter_handler_input)
Constructor.
MatrixXd snapshot_parameters
Matrix of snapshot parameters.
Files for the baseline physics.
ReducedOrderModelParam reduced_order_param
Contains parameters for the Reduced-Order model.
std::string path_to_search
Path to search for snapshots or saved POD basis.
Main parameter class that contains the various other sub-parameter classes.
static std::unique_ptr< FlowSolver< dim, nstate > > select_flow_case(const Parameters::AllParameters *const parameters_input, const dealii::ParameterHandler ¶meter_handler_input)
Factory to return the correct flow solver given input file.
const Parameters::AllParameters *const all_parameters
Pointer to all parameters.
Parameters::AllParameters reinit_params(std::string path) const
Reinitialize parameters.
const dealii::ParameterHandler & parameter_handler
Dummy parameter handler because flowsolver requires it.
MatrixXd rom_points
Matrix of error sampling points.
dealii::ConditionalOStream pcout
ConditionalOStream.
Base class of all the tests.