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.