[cig-commits] r1372 - in trunk/aspect: doc/modules include/aspect source/simulator

gassmoeller at dealii.org gassmoeller at dealii.org
Fri Nov 16 01:04:50 PST 2012


Author: gassmoeller
Date: 2012-11-16 02:04:50 -0700 (Fri, 16 Nov 2012)
New Revision: 1372

Modified:
   trunk/aspect/doc/modules/changes.h
   trunk/aspect/include/aspect/simulator.h
   trunk/aspect/source/simulator/assembly.cc
   trunk/aspect/source/simulator/parameters.cc
Log:
Adjusted the stabilization parameters to a sufficient value for advection benchmarks like Rayleigh-Taylor. Also renamed a variable in assembly.cc to prevent confusion.

Modified: trunk/aspect/doc/modules/changes.h
===================================================================
--- trunk/aspect/doc/modules/changes.h	2012-11-15 19:15:03 UTC (rev 1371)
+++ trunk/aspect/doc/modules/changes.h	2012-11-16 09:04:50 UTC (rev 1372)
@@ -7,7 +7,18 @@
 All entries are signed with the names of the author.
 </p>
 
+<li>
+Changed: Adjusted the stabilization parameters to stabilize
+advection benchmarks without natural diffusion.
+<br>
+(Rene Gassmoeller, 2012/11/16)
 
+<li>
+Changed: Unified the routines for advecting temperature and
+compositional fields. This includes a different scaling for
+the temperature stabilization that may change results.
+<br>
+(Rene Gassmoeller, 2012/11/15)
 
 <ol>
 <li>

Modified: trunk/aspect/include/aspect/simulator.h
===================================================================
--- trunk/aspect/include/aspect/simulator.h	2012-11-15 19:15:03 UTC (rev 1371)
+++ trunk/aspect/include/aspect/simulator.h	2012-11-16 09:04:50 UTC (rev 1372)
@@ -1218,7 +1218,7 @@
        * <code>source/simulator/assembly.cc</code>.
        */
       void
-      compute_material_model_input_values (const TrilinosWrappers::MPI::BlockVector                    &current_linearization_point,
+      compute_material_model_input_values (const TrilinosWrappers::MPI::BlockVector                    &input_solution,
                                            const FEValues<dim,dim>                                     &input_finite_element_values,
                                            const bool                                                   compute_strainrate,
                                            typename MaterialModel::Interface<dim>::MaterialModelInputs &material_model_inputs) const;

Modified: trunk/aspect/source/simulator/assembly.cc
===================================================================
--- trunk/aspect/source/simulator/assembly.cc	2012-11-15 19:15:03 UTC (rev 1371)
+++ trunk/aspect/source/simulator/assembly.cc	2012-11-16 09:04:50 UTC (rev 1372)
@@ -654,7 +654,7 @@
   template <int dim>
   void
   Simulator<dim>::
-  compute_material_model_input_values (const TrilinosWrappers::MPI::BlockVector                    &current_linearization_point,
+  compute_material_model_input_values (const TrilinosWrappers::MPI::BlockVector                    &input_solution,
                                        const FEValues<dim>                                         &input_finite_element_values,
                                        const bool                                                   compute_strainrate,
                                        typename MaterialModel::Interface<dim>::MaterialModelInputs &material_model_inputs) const
@@ -675,12 +675,12 @@
         input_composition.push_back(temp);
       }
 
-    input_finite_element_values[input_temperature].get_function_values (current_linearization_point,
+    input_finite_element_values[input_temperature].get_function_values (input_solution,
                                                                         material_model_inputs.temperature);
-    input_finite_element_values[input_pressure].get_function_values(current_linearization_point,
+    input_finite_element_values[input_pressure].get_function_values(input_solution,
                                                                     material_model_inputs.pressure);
     if (compute_strainrate)
-      input_finite_element_values[input_velocities].get_function_symmetric_gradients(current_linearization_point,
+      input_finite_element_values[input_velocities].get_function_symmetric_gradients(input_solution,
                                                                                      material_model_inputs.strain_rate);
 
     // the values of the compositional fields are stored as blockvectors for each field
@@ -689,7 +689,7 @@
                                                           std::vector<double> (n_q_points));
 
     for (unsigned int c=0; c<parameters.n_compositional_fields; ++c)
-      input_finite_element_values[input_composition[c]].get_function_values(current_linearization_point,
+      input_finite_element_values[input_composition[c]].get_function_values(input_solution,
                                                                             composition_values[c]);
 
     // then we copy these values to exchange the inner and outer vector, because for the material
@@ -1386,7 +1386,7 @@
                           index,
                           global_field_range,
                           get_maximal_velocity(old_solution),
-                          // use the mid-value of the composition instead of the
+                          // use the mid-value of the advected field instead of the
                           // integral mean. results are not very
                           // sensitive to this and this is far simpler
                           get_entropy_variation ((global_field_range.first +

Modified: trunk/aspect/source/simulator/parameters.cc
===================================================================
--- trunk/aspect/source/simulator/parameters.cc	2012-11-15 19:15:03 UTC (rev 1371)
+++ trunk/aspect/source/simulator/parameters.cc	2012-11-16 09:04:50 UTC (rev 1372)
@@ -401,15 +401,15 @@
         prm.declare_entry ("alpha", "2",
                            Patterns::Double (1, 2),
                            "The exponent $\\alpha$ in the entropy viscosity stabilization. Units: None.");
-        prm.declare_entry ("cR", "0.11",
+        prm.declare_entry ("cR", "0.33",
                            Patterns::Double (0),
                            "The $c_R$ factor in the entropy viscosity "
                            "stabilization. Units: None.");
         prm.declare_entry ("beta", "0.078",
                            Patterns::Double (0),
                            "The $\\beta$ factor in the artificial viscosity "
-                           "stabilization. An appropriate value for 2d is 0.052 "
-                           "and 0.078 for 3d. Units: None.");
+                           "stabilization. An appropriate value for 2d is 0.078 "
+                           "and 0.117 for 3d. Units: None.");
       }
       prm.leave_subsection ();
     }



More information about the CIG-COMMITS mailing list