1 #ifndef __TIME_REFINEMENT_STUDY_REFERENCE__ 2 #define __TIME_REFINEMENT_STUDY_REFERENCE__ 4 #include <deal.II/base/convergence_table.h> 6 #include "dg/dg_base.hpp" 7 #include "general_refinement_study.h" 14 template <
int dim,
int nstate>
21 const dealii::ParameterHandler ¶meter_handler_input);
29 dealii::LinearAlgebra::distributed::Vector<double> calculate_reference_solution(
const double final_time)
const;
35 double final_time_actual
42 std::shared_ptr<dealii::ConvergenceTable> convergence_table,
44 const double expected_order)
const override;
47 const dealii::LinearAlgebra::distributed::Vector<double> reference_solution;
Advection time refinement study.
Selects which flow case to simulate.
Files for the baseline physics.
double calculate_L2_error_at_final_time_wrt_reference(std::shared_ptr< DGBase< dim, double >> dg, const Parameters::AllParameters parameters, double final_time_actual) const
Calculate L2 error at the final time in the passed parameters.
int run_test() const override
Run test.
Parameters::AllParameters reinit_params_for_reference_solution(int number_of_timesteps, double final_time) const
Reinitialize parameters and set initial_timestep according to reference solution and passed final tim...
Main parameter class that contains the various other sub-parameter classes.
std::tuple< double, int > process_and_write_conv_tables(std::shared_ptr< FlowSolver::FlowSolver< dim, nstate >> flow_solver, const Parameters::AllParameters params, double L2_error_old, std::shared_ptr< dealii::ConvergenceTable > convergence_table, int refinement, const double expected_order) const override
Calculate the L2 error and return local testfail for the converged flowsolver.
TimeRefinementStudyReference(const Parameters::AllParameters *const parameters_input, const dealii::ParameterHandler ¶meter_handler_input)
Constructor.
Time refinement study which compares to a reference solution.
DGBase is independent of the number of state variables.