1 #include "parameters/parameters_mesh_adaptation.h"     8     prm.enter_subsection(
"mesh adaptation");
    10         prm.declare_entry(
"total_mesh_adaptation_cycles",
"0",
    11                            dealii::Patterns::Integer(),
    12                           "Maximum adaptation steps for a problem.");
    14         prm.declare_entry(
"mesh_adaptation_type", 
"h_adaptation",
    15                           dealii::Patterns::Selection(
    19                           " anisotropic_adaptation "    21                           "Mesh adaptation type that we want to use. "    26                           "  anisotropic_adaptation>.");
    28         prm.declare_entry(
"use_goal_oriented_mesh_adaptation",
"false",
    29                           dealii::Patterns::Bool(),
    30                           "Flag to use goal oriented mesh adaptation. False by default.");
    33         prm.enter_subsection(
"fixed-fraction");
    35             prm.declare_entry(
"refine_fraction",
"0.0",
    36                               dealii::Patterns::Double(0.0,1.0),
    37                               "Fraction of cells to be h-refined.");
    39             prm.declare_entry(
"h_coarsen_fraction",
"0.0",
    40                               dealii::Patterns::Double(0.0,1.0),
    41                               "Fraction of cells to be h-coarsened.");
    43             prm.declare_entry(
"hp_smoothness_tolerance",
"1.0e-6",
    44                               dealii::Patterns::Double(0.0,1.0e5),
    45                               "Tolerance to decide between h- or p-refinement.");
    47         prm.leave_subsection();
    49         prm.enter_subsection(
"anisotropic");
    51             prm.declare_entry(
"mesh_complexity_anisotropic_adaptation",
"50.0",
    52                               dealii::Patterns::Double(0.0,1.0e5),
    53                               "Continuous equivalent of number of vertices/elements.");
    55             prm.declare_entry(
"norm_Lp_anisotropic_adaptation",
"2.0",
    56                               dealii::Patterns::Double(0.0,1.0e5),
    57                               "Lp norm w.r.t. which the optimization is performed in the continuous mesh framework.");
    59         prm.leave_subsection(); 
    61     prm.leave_subsection(); 
    67     prm.enter_subsection(
"mesh adaptation");
    70         const std::string mesh_adaptation_string = prm.get(
"mesh_adaptation_type");
    71         if(mesh_adaptation_string == 
"h_adaptation")                {
mesh_adaptation_type = MeshAdaptationType::h_adaptation;}
    72         else if(mesh_adaptation_string == 
"p_adaptation")           {
mesh_adaptation_type = MeshAdaptationType::p_adaptation;}
    73         else if(mesh_adaptation_string == 
"hp_adaptation")          {
mesh_adaptation_type = MeshAdaptationType::hp_adaptation;}
    74         else if(mesh_adaptation_string == 
"anisotropic_adaptation") {
mesh_adaptation_type = MeshAdaptationType::anisotropic_adaptation;}
    78         prm.enter_subsection(
"fixed-fraction");
    84         prm.leave_subsection();
    86         prm.enter_subsection(
"anisotropic");
    91         prm.leave_subsection(); 
    93     prm.leave_subsection(); 
 int total_mesh_adaptation_cycles
Total/maximum number of mesh adaptation cycles while solving a problem. 
Files for the baseline physics. 
double hp_smoothness_tolerance
Tolerance to decide between h- or p-refinement. 
void parse_parameters(dealii::ParameterHandler &prm)
Parse parameters. 
MeshAdaptationType mesh_adaptation_type
Selection of mesh adaptation type. 
double norm_Lp_anisotropic_adaptation
Lp norm w.r.t. which the optimization is performed in the continuous mesh framework. 
double h_coarsen_fraction
Fraction of cells to be h-coarsened. 
bool use_goal_oriented_mesh_adaptation
Flag to use goal oriented mesh adaptation. 
double mesh_complexity_anisotropic_adaptation
Continuous equivalent of number of vertices/elements. Used in anisotropic mesh adaptation. 
double refine_fraction
Fraction of cells to be h or p-refined. 
static void declare_parameters(dealii::ParameterHandler &prm)
Declare parameters.