]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Make the polynomial degrees in step-61 selectable. 8055/head
authorWolfgang Bangerth <bangerth@colostate.edu>
Thu, 9 May 2019 14:51:58 +0000 (08:51 -0600)
committerWolfgang Bangerth <bangerth@colostate.edu>
Thu, 9 May 2019 14:51:58 +0000 (08:51 -0600)
examples/step-61/doc/results.dox
examples/step-61/step-61.cc

index ed99e7b0ff455f835c9d4bcd2df7916cbfe14193..d7807542eb50c9c458b8ce1f7c41cb252dad168d 100644 (file)
@@ -1,16 +1,20 @@
 <h1>Results</h1>
 
-We run the program with a right hand side that will produce the solution
-$p = \sin(\pi x) \sin(\pi y)$ and with homogeneous Dirichlet 
-boundary conditions in the domain $\Omega = (0,1)^2$. In addition, we choose
-the coefficient matrix in the differential operator $\mathbf{K}$ as the 
-identity matrix. We test this setup using $\mbox{WG}(Q_0,Q_0;RT_{[0]})$, 
-$\mbox{WG}(Q_1,Q_1;RT_{[1]})$ and $\mbox{WG}(Q_2,Q_2;RT_{[2]})$ element 
-combinations. We will then visualize pressure values in interiors of cells 
-and on faces. We want to see that the pressure maximum is around 1 and the minimum 
-is around 0. With mesh refinement, the convergence rates of pressure, 
-velocity and flux should then be around 1 for $\mbox{WG}(Q_0,Q_0;RT_{[0]})$ , 2 
-for $\mbox{WG}(Q_1,Q_1;RT_{[1]})$, and 3 for $\mbox{WG}(Q_2,Q_2;RT_{[2]})$.
+We run the program with a right hand side that will produce the
+solution $p = \sin(\pi x) \sin(\pi y)$ and with homogeneous Dirichlet
+boundary conditions in the domain $\Omega = (0,1)^2$. In addition, we
+choose the coefficient matrix in the differential operator
+$\mathbf{K}$ as the identity matrix. We test this setup using
+$\mbox{WG}(Q_0,Q_0;RT_{[0]})$, $\mbox{WG}(Q_1,Q_1;RT_{[1]})$ and
+$\mbox{WG}(Q_2,Q_2;RT_{[2]})$ element combinations, which one can
+select by using the appropriate constructor argument for the
+`WGDarcyEquation` object in `main()`. We will then visualize pressure
+values in interiors of cells and on faces. We want to see that the
+pressure maximum is around 1 and the minimum is around 0. With mesh
+refinement, the convergence rates of pressure, velocity and flux
+should then be around 1 for $\mbox{WG}(Q_0,Q_0;RT_{[0]})$ , 2 for
+$\mbox{WG}(Q_1,Q_1;RT_{[1]})$, and 3 for
+$\mbox{WG}(Q_2,Q_2;RT_{[2]})$.
 
 
 <h3>Test results on <i>WG(Q<sub>0</sub>,Q<sub>0</sub>;RT<sub>[0]</sub>)</i></h3>
index b6813ae9cf7ea6f906b5f82b97a7e5c444047059..442d95e4cdc7bbf12c0c6a37572400be60db1746 100644 (file)
@@ -80,7 +80,7 @@ namespace Step61
   class WGDarcyEquation
   {
   public:
-    WGDarcyEquation();
+    WGDarcyEquation(const unsigned int degree);
     void run();
 
   private:
@@ -244,8 +244,8 @@ namespace Step61
   // functions, which will here include the ones used for the interior and
   // interface pressures, $p^\circ$ and $p^\partial$.
   template <int dim>
-  WGDarcyEquation<dim>::WGDarcyEquation()
-    : fe(FE_DGQ<dim>(0), 1, FE_FaceQ<dim>(0), 1)
+  WGDarcyEquation<dim>::WGDarcyEquation(const unsigned int degree)
+    : fe(FE_DGQ<dim>(degree), 1, FE_FaceQ<dim>(degree), 1)
     , dof_handler(triangulation)
 
   {}
@@ -363,7 +363,7 @@ namespace Step61
   template <int dim>
   void WGDarcyEquation<dim>::assemble_system()
   {
-    const FE_RaviartThomas<dim> fe_rt(0);
+    const FE_RaviartThomas<dim> fe_rt(fe.base_element(0).degree);
 
     const QGauss<dim>     quadrature_formula(fe_rt.degree + 1);
     const QGauss<dim - 1> face_quadrature_formula(fe_rt.degree + 1);
@@ -649,7 +649,7 @@ namespace Step61
   template <int dim>
   void WGDarcyEquation<dim>::compute_velocity_errors()
   {
-    const FE_RaviartThomas<dim> fe_rt(0);
+    const FE_RaviartThomas<dim> fe_rt(fe.base_element(0).degree);
 
     const QGauss<dim>     quadrature_formula(fe_rt.degree + 1);
     const QGauss<dim - 1> face_quadrature_formula(fe_rt.degree + 1);
@@ -972,7 +972,7 @@ int main()
   try
     {
       dealii::deallog.depth_console(2);
-      Step61::WGDarcyEquation<2> wg_darcy;
+      Step61::WGDarcyEquation<2> wg_darcy(0);
       wg_darcy.run();
     }
   catch (std::exception &exc)

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.