1 #ifndef __TIME_REFINEMENT_STUDY__ 2 #define __TIME_REFINEMENT_STUDY__ 4 #include <deal.II/base/convergence_table.h> 6 #include "flow_solver/flow_solver.h" 7 #include "dg/dg_base.hpp" 14 template <
int dim,
int nstate>
24 const dealii::ParameterHandler ¶meter_handler_input,
57 std::shared_ptr<dealii::ConvergenceTable> convergence_table,
59 const double expected_order)
const;
GeneralRefinementStudy(const Parameters::AllParameters *const parameters_input, const dealii::ParameterHandler ¶meter_handler_input, const RefinementType refinement_type_input)
Constructor.
RefinementType
Type of refinement to run.
Advection time refinement study.
double calculate_Lp_error_at_final_time_wrt_function(std::shared_ptr< DGBase< dim, double >> dg, const Parameters::AllParameters parameters, double final_time, int norm_p) const
Selects which flow case to simulate.
Parameters::AllParameters reinit_params_and_refine(const Parameters::AllParameters *parameters_in, int refinement, const RefinementType how) const
Reinitialize parameters while refining the timestep. Necessary because all_parameters is constant...
Files for the baseline physics.
int run_refinement_study_and_write_result(const Parameters::AllParameters *parameters_in, const double expected_order, const bool check_only_last_refinement=false, const bool append_to_file=false) const
Run the refinements.
int run_test() const override
Run test.
const RefinementType refinement_type
Type of refinement to run.
const int n_calculations
Number of times to solve for convergence summary.
Main parameter class that contains the various other sub-parameter classes.
const double refine_ratio
Ratio to refine by.
const dealii::ParameterHandler & parameter_handler
Parameter handler for storing the .prm file being ran.
virtual 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
Calculate the L2 error and return local testfail for the converged flowsolver.
DGBase is independent of the number of state variables.
Base class of all the tests.