From 5b8695c7ecf1d2d7e449a5e13dbce104f25a281f Mon Sep 17 00:00:00 2001 From: Marc Fehling Date: Wed, 6 Jan 2021 18:31:47 -0700 Subject: [PATCH] step-27: Changed relative threshold. Updated output. --- examples/step-27/doc/results.dox | 69 ++++++++++++++++---------------- examples/step-27/step-27.cc | 17 ++++---- 2 files changed, 44 insertions(+), 42 deletions(-) diff --git a/examples/step-27/doc/results.dox b/examples/step-27/doc/results.dox index 1347c087b5..afc00d258a 100644 --- a/examples/step-27/doc/results.dox +++ b/examples/step-27/doc/results.dox @@ -16,25 +16,25 @@ Cycle 0: Number of degrees of freedom: 3264 Number of constraints : 384 Cycle 1: - Number of active cells : 966 - Number of degrees of freedom: 5245 - Number of constraints : 936 + Number of active cells : 807 + Number of degrees of freedom: 4764 + Number of constraints : 756 Cycle 2: - Number of active cells : 1143 - Number of degrees of freedom: 8441 - Number of constraints : 1929 + Number of active cells : 927 + Number of degrees of freedom: 7978 + Number of constraints : 1760 Cycle 3: - Number of active cells : 1356 - Number of degrees of freedom: 12349 - Number of constraints : 3046 + Number of active cells : 1020 + Number of degrees of freedom: 11750 + Number of constraints : 2898 Cycle 4: - Number of active cells : 1644 - Number of degrees of freedom: 18178 - Number of constraints : 4713 + Number of active cells : 1158 + Number of degrees of freedom: 16342 + Number of constraints : 3892 Cycle 5: - Number of active cells : 1728 - Number of degrees of freedom: 22591 - Number of constraints : 6095 + Number of active cells : 1197 + Number of degrees of freedom: 20569 + Number of constraints : 4954 @endcode The first thing we learn from this is that the number of constrained degrees @@ -64,36 +64,36 @@ Secondly, let us look at the sequence of meshes generated:
- Triangulation containing reentrant corners without adaptive refinement.
- Triangulation containing reentrant corners with one level of
          refinement. New cells are placed near the corners.
- Triangulation containing reentrant corners with two levels of
          refinement. New cells are placed near the corners.
- Triangulation containing reentrant corners with three levels of
          refinement. New cells are placed near the corners.
- Triangulation containing reentrant corners with four levels of
          refinement. New cells are placed near the corners.
- Triangulation containing reentrant corners with five levels of
          refinement. New cells are placed near the corners. @@ -103,36 +103,37 @@ Secondly, let us look at the sequence of meshes generated: It is clearly visible how the mesh is refined near the corner singularities, as one would expect it. More interestingly, we should be curious to see the distribution of finite element polynomial degrees to these mesh cells, where -grey corresponds to degree two and pink corresponds to degree seven: +the lightest color corresponds to degree two and the darkest one corresponds +to degree seven:
- Initial grid where all cells contain just biquadratic functions.
- Depiction of local approximation degrees after one refinement.
- Depiction of local approximation degrees after two refinements.
- Depiction of local approximation degrees after three refinements.
- Depiction of local approximation degrees after four refinements.
- Depiction of local approximation degrees after five refinements.
@@ -151,32 +152,32 @@ indicating least smoothness and lighter indicating the smoothest areas:
- Estimated regularity per cell on the initial grid.
- Depiction of the estimated regularity per cell after one refinement.
- Depiction of the estimated regularity per cell after two refinements.
- Depiction of the estimated regularity per cell after three refinements.
- Depiction of the estimated regularity per cell after four refinements.
- Depiction of the estimated regularity per cell after five refinements.
diff --git a/examples/step-27/step-27.cc b/examples/step-27/step-27.cc index dce22f0a9d..dcda4a9e52 100644 --- a/examples/step-27/step-27.cc +++ b/examples/step-27/step-27.cc @@ -425,15 +425,16 @@ namespace Step27 // collection, we will assign a future FE index that corresponds to a // polynomial with degree one higher than it currently is. The following // function is capable of doing exactly this. Absent any better - // strategies, we will set the threshold as the mean value between minimal - // and maximal smoothness indicators on cells flagged for refinement. This - // is achieved by setting the corresponding fraction parameter to a value - // of 0.5. In the same way, we deal with cells that are going to be - // coarsened and decrease their polynomial degree when their smoothness - // indicator is below the corresponding threshold determined on cells to - // be coarsened. + // strategies, we will set the threshold via interpolation between the + // minimal and maximal smoothness indicators on cells flagged for + // refinement. Since the corner singularities are strongly localized, we + // will favor $p$- over $h$-refinement quantitatively. We achieve this + // with a low threshold by setting a small interpolation factor of 0.2. In + // the same way, we deal with cells that are going to be coarsened and + // decrease their polynomial degree when their smoothness indicator is + // below the corresponding threshold determined on cells to be coarsened. hp::Refinement::p_adaptivity_from_relative_threshold( - dof_handler, smoothness_indicators, 0.5, 0.5); + dof_handler, smoothness_indicators, 0.2, 0.2); // The above function only determines whether the polynomial degree will // change via future FE indices, but does not manipulate the -- 2.39.5