[cig-commits] commit 1932 by heister to /var/svn/dealii/aspect

dealii.demon at gmail.com dealii.demon at gmail.com
Wed Oct 2 08:27:33 PDT 2013


Revision 1932

remove repeated calls to is_compressible() in the inner most loops

U   trunk/aspect/source/simulator/assembly.cc


http://www.dealii.org/websvn/revision.php?repname=Aspect+Repository&path=%2F&rev=1932&peg=1932

Diff:
Modified: trunk/aspect/source/simulator/assembly.cc
===================================================================
--- trunk/aspect/source/simulator/assembly.cc	2013-10-01 21:24:41 UTC (rev 1931)
+++ trunk/aspect/source/simulator/assembly.cc	2013-10-02 15:26:58 UTC (rev 1932)
@@ -841,13 +841,14 @@
   {
     const unsigned int dofs_per_cell = scratch.finite_element_values.get_fe().dofs_per_cell;
     const unsigned int n_q_points    = scratch.finite_element_values.n_quadrature_points;
+    const bool is_compressible = material_model->is_compressible();
 
     scratch.finite_element_values.reinit (cell);
 
     if (rebuild_stokes_matrix)
       data.local_matrix = 0;
     data.local_rhs = 0;
-    if (material_model->is_compressible())
+    if (is_compressible)
       data.local_pressure_shape_function_integrals = 0;
 
     // we only need the strain rates for the viscosity,
@@ -885,7 +886,7 @@
         gravity = gravity_model->gravity_vector (scratch.finite_element_values.quadrature_point(q));
 
         const double compressibility
-          = (material_model->is_compressible()
+          = (is_compressible
              ?
              scratch.material_model_outputs.compressibilities[q]
              :
@@ -896,7 +897,7 @@
           for (unsigned int i=0; i<dofs_per_cell; ++i)
             for (unsigned int j=0; j<dofs_per_cell; ++j)
               data.local_matrix(i,j) += ( eta * 2.0 * (scratch.grads_phi_u[i] * scratch.grads_phi_u[j])
-                                          - (material_model->is_compressible()
+                                          - (is_compressible
                                              ?
                                              eta * 2.0/3.0 * (scratch.div_phi_u[i] * scratch.div_phi_u[j])
                                              :
@@ -910,7 +911,7 @@
         for (unsigned int i=0; i<dofs_per_cell; ++i)
           data.local_rhs(i) += (
                                  (density * gravity * scratch.phi_u[i])
-                                 + (material_model->is_compressible()
+                                 + (is_compressible
                                     ?
                                     (pressure_scaling *
                                      compressibility * density *
@@ -920,7 +921,7 @@
                                     0)
                                )
                                * scratch.finite_element_values.JxW(q);
-        if (material_model->is_compressible())
+        if (is_compressible)
           for (unsigned int i=0; i<dofs_per_cell; ++i)
             data.local_pressure_shape_function_integrals(i) += scratch.phi_p[i] * scratch.finite_element_values.JxW(q);
       }
@@ -1081,7 +1082,8 @@
     const double alpha                = material_model_outputs.thermal_expansion_coefficients[q];
     const double density              = material_model_outputs.densities[q];
     const double viscosity            = material_model_outputs.viscosities[q];
-    const double compressibility      = (material_model->is_compressible()
+    const bool is_compressible        = material_model->is_compressible();
+    const double compressibility      = (is_compressible
                                          ?
                                          material_model_outputs.compressibilities[q]
                                          :
@@ -1112,7 +1114,7 @@
           2 * viscosity *
           current_strain_rate * current_strain_rate
           -
-          (material_model->is_compressible()
+          (is_compressible
            ?
            2./3.*viscosity*std::pow(compressibility * density * (current_u * gravity),
                                     2)
@@ -1152,7 +1154,7 @@
     const unsigned int n_q_points    = scratch.finite_element_values.n_quadrature_points;
 
     const unsigned int solution_component
-      = (temperature_or_composition.is_temperature()
+    = (temperature_or_composition.is_temperature()
         ?
         introspection.component_indices.temperature
         :


More information about the CIG-COMMITS mailing list