[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 ¤t_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 ¤t_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