[cig-commits] [commit] master: Only compute the viscosity if a strain rate was given. This avoids accessing empty arrays and also matches the documented behavior. (401960e)

cig_noreply at geodynamics.org cig_noreply at geodynamics.org
Wed May 21 14:08:49 PDT 2014


Repository : https://github.com/geodynamics/aspect

On branch  : master
Link       : https://github.com/geodynamics/aspect/compare/73a71ba37f203bfed63bb8b602fdbd30ab99b1af...58a3ca45d49c7d331fa02d1fce0b2a74705241eb

>---------------------------------------------------------------

commit 401960e1dd223adf828971a9a32929dc2773749f
Author: Wolfgang Bangerth <bangerth at math.tamu.edu>
Date:   Wed May 21 15:46:34 2014 -0500

    Only compute the viscosity if a strain rate was given. This avoids
    accessing empty arrays and also matches the documented behavior.


>---------------------------------------------------------------

401960e1dd223adf828971a9a32929dc2773749f
 source/material_model/interface.cc | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/source/material_model/interface.cc b/source/material_model/interface.cc
index 7788d2d..0b8e14f 100644
--- a/source/material_model/interface.cc
+++ b/source/material_model/interface.cc
@@ -369,7 +369,11 @@ namespace aspect
     {
       for (unsigned int i=0; i < in.temperature.size(); ++i)
         {
-          out.viscosities[i]                    = viscosity                     (in.temperature[i], in.pressure[i], in.composition[i], in.strain_rate[i], in.position[i]);
+          // as documented, if the strain rate array is empty, then do not compute the
+          // viscosities
+          if (in.strain_rate.size() > 0)
+            out.viscosities[i]                  = viscosity                     (in.temperature[i], in.pressure[i], in.composition[i], in.strain_rate[i], in.position[i]);
+
           out.densities[i]                      = density                       (in.temperature[i], in.pressure[i], in.composition[i], in.position[i]);
           out.thermal_expansion_coefficients[i] = thermal_expansion_coefficient (in.temperature[i], in.pressure[i], in.composition[i], in.position[i]);
           out.specific_heat[i]                  = specific_heat                 (in.temperature[i], in.pressure[i], in.composition[i], in.position[i]);



More information about the CIG-COMMITS mailing list