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.