1 #include "parameters/parameters_artificial_dissipation.h" 8 prm.enter_subsection(
"artificial dissipation");
11 prm.declare_entry(
"add_artificial_dissipation",
"false",
12 dealii::Patterns::Bool(),
13 "Persson's subscell shock capturing artificial dissipation.");
15 prm.declare_entry(
"artificial_dissipation_type",
"laplacian",
16 dealii::Patterns::Selection(
19 "enthalpy_conserving_laplacian |"),
20 "Type of artificial dissipation we want to implement. Choices are laplacian, physical and enthalpy_conserving_laplacian");
22 prm.declare_entry(
"artificial_dissipation_test_type",
"poly_order_convergence",
23 dealii::Patterns::Selection(
24 "residual_convergence |" 25 "discontinuity_sensor_activation |" 26 "enthalpy_conservation |" 27 "poly_order_convergence |"),
28 "Type of artificial dissipation test type we want to implement. Choices are residual_convergence, discontinuity_sensor_activation, poly_order_convergence");
30 prm.declare_entry(
"mu_artificial_dissipation",
"1.0",
31 dealii::Patterns::Double(-1e20,1e20),
32 "Mu (viscosity) from Persson's subcell shock capturing.");
34 prm.declare_entry(
"kappa_artificial_dissipation",
"1.0",
35 dealii::Patterns::Double(-1e20,1e20),
36 "Kappa from Persson's subcell shock capturing");
38 prm.declare_entry(
"use_enthalpy_error",
"false",
39 dealii::Patterns::Bool(),
40 "By default we calculate the entropy error from the conservative variables. Otherwise, compute the enthalpy error. An example is in Euler Gaussian bump.");
43 prm.leave_subsection();
48 prm.enter_subsection(
"artificial dissipation");
54 const std::string artificial_dissipation_string = prm.get(
"artificial_dissipation_type");
55 if (artificial_dissipation_string ==
"laplacian")
59 else if (artificial_dissipation_string ==
"physical")
63 else if (artificial_dissipation_string ==
"enthalpy_conserving_laplacian")
68 const std::string artificial_dissipation_test_string = prm.get(
"artificial_dissipation_test_type");
69 if (artificial_dissipation_test_string ==
"residual_convergence")
73 else if (artificial_dissipation_test_string ==
"discontinuity_sensor_activation")
77 else if (artificial_dissipation_test_string ==
"enthalpy_conservation")
81 else if (artificial_dissipation_test_string ==
"poly_order_convergence")
89 prm.leave_subsection();
bool use_enthalpy_error
Flag to calculate enthalpy error.
Files for the baseline physics.
static void declare_parameters(dealii::ParameterHandler &prm)
Function to declare parameters.
ArtificialDissipationTestType artificial_dissipation_test_type
Selected dissipation test type.
double kappa_artificial_dissipation
Parameter kappa from Persson and Peraire, 2008.
double mu_artificial_dissipation
Parameter mu from Persson & Peraire, 2008.
bool add_artificial_dissipation
Flag to add artificial dissipation from Persson's shock capturing paper.
ArtificialDissipationType artificial_dissipation_type
Selected artificial dissipation type specified in the input.
void parse_parameters(dealii::ParameterHandler &prm)
Function to parse parameters.