[cig-commits] [commit] master: rename temperature_or_composition to advection_field (5cdc17a)

cig_noreply at geodynamics.org cig_noreply at geodynamics.org
Wed May 21 07:43:32 PDT 2014


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

On branch  : master
Link       : https://github.com/geodynamics/aspect/compare/6aa7541c733b8fd1cc1b0c74536c8804aaeb7015...fa9e02e17c95bc1a8c6b635f193e536888750f41

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

commit 5cdc17a68fc614cab6f70a745a4ae48d3b45b503
Author: Juliane Dannberg <dannberg at gfz-potsdam.de>
Date:   Tue May 20 17:16:23 2014 +0200

    rename temperature_or_composition to advection_field


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

5cdc17a68fc614cab6f70a745a4ae48d3b45b503
 include/aspect/simulator.h             |  28 ++++-----
 source/simulator/assembly.cc           | 104 ++++++++++++++++-----------------
 source/simulator/core.cc               |  36 ++++++------
 source/simulator/helper_functions.cc   |  42 ++++++-------
 source/simulator/initial_conditions.cc |   2 +-
 source/simulator/simulator_access.cc   |   4 +-
 source/simulator/solver.cc             |  16 ++---
 7 files changed, 116 insertions(+), 116 deletions(-)

diff --git a/include/aspect/simulator.h b/include/aspect/simulator.h
index 1382787..8b03203 100644
--- a/include/aspect/simulator.h
+++ b/include/aspect/simulator.h
@@ -336,7 +336,7 @@ namespace aspect
        * be told which one of the two, as well as on which of the
        * compositional variables.
        */
-      struct TemperatureOrComposition
+      struct AdvectionField
       {
         /**
          * An enum indicating whether the identified variable is the
@@ -368,7 +368,7 @@ namespace aspect
          * This function is implemented in
          * <code>source/simulator/helper_functions.cc</code>.
          */
-        TemperatureOrComposition (const FieldType field_type,
+        AdvectionField (const FieldType field_type,
                                   const unsigned int compositional_variable = numbers::invalid_unsigned_int);
 
         /**
@@ -379,7 +379,7 @@ namespace aspect
          * <code>source/simulator/helper_functions.cc</code>.
          */
         static
-        TemperatureOrComposition temperature ();
+        AdvectionField temperature ();
 
         /**
          * A static function that creates an object identifying given
@@ -389,7 +389,7 @@ namespace aspect
          * <code>source/simulator/helper_functions.cc</code>.
          */
         static
-        TemperatureOrComposition composition (const unsigned int compositional_variable);
+        AdvectionField composition (const unsigned int compositional_variable);
 
         /**
          * Return whether this object refers to the temperature field.
@@ -506,7 +506,7 @@ namespace aspect
        * This function is implemented in
        * <code>source/simulator/assembly.cc</code>.
        */
-      void build_advection_preconditioner (const TemperatureOrComposition &temperature_or_composition,
+      void build_advection_preconditioner (const AdvectionField &advection_field,
                                            std_cxx1x::shared_ptr<aspect::LinearAlgebra::PreconditionILU> &preconditioner);
 
       /**
@@ -524,7 +524,7 @@ namespace aspect
        * This function is implemented in
        * <code>source/simulator/assembly.cc</code>.
        */
-      void assemble_advection_system (const TemperatureOrComposition &temperature_or_composition);
+      void assemble_advection_system (const AdvectionField &advection_field);
 
       /**
        * Solve one block of the the temperature/composition linear system.
@@ -536,7 +536,7 @@ namespace aspect
        * This function is implemented in
        * <code>source/simulator/solver.cc</code>.
        */
-      double solve_advection (const TemperatureOrComposition &temperature_or_composition);
+      double solve_advection (const AdvectionField &advection_field);
 
       /**
        * Solve the Stokes linear system. Return the initial nonlinear
@@ -717,7 +717,7 @@ namespace aspect
        * <code>source/simulator/assembly.cc</code>.
        */
       void
-      local_assemble_advection_system (const TemperatureOrComposition &temperature_or_composition,
+      local_assemble_advection_system (const AdvectionField &advection_field,
                                        const std::pair<double,double> global_field_range,
                                        const double                   global_max_velocity,
                                        const double                   global_entropy_variation,
@@ -737,7 +737,7 @@ namespace aspect
       double compute_heating_term(const internal::Assembly::Scratch::AdvectionSystem<dim>  &scratch,
                                   typename MaterialModel::Interface<dim>::MaterialModelInputs &material_model_inputs,
                                   typename MaterialModel::Interface<dim>::MaterialModelOutputs &material_model_outputs,
-                                  const TemperatureOrComposition &temperature_or_composition,
+                                  const AdvectionField &advection_field,
                                   const unsigned int q) const;
 
 
@@ -813,7 +813,7 @@ namespace aspect
        * function takes the pre-existing size of this vector as the number of
        * depth slices.
        */
-      void compute_depth_average_field(const TemperatureOrComposition &temperature_or_composition,
+      void compute_depth_average_field(const AdvectionField &advection_field,
                                        std::vector<double> &values) const;
 
       /**
@@ -998,7 +998,7 @@ namespace aspect
        * <code>source/simulator/assembly.cc</code>.
        */
       double get_entropy_variation (const double average_value,
-                                    const TemperatureOrComposition &temperature_or_composition) const;
+                                    const AdvectionField &advection_field) const;
 
       /**
        * Compute the minimal and maximal temperature througout the domain from
@@ -1009,7 +1009,7 @@ namespace aspect
        * <code>source/simulator/helper_functions.cc</code>.
        */
       std::pair<double,double>
-      get_extrapolated_temperature_or_composition_range (const TemperatureOrComposition &temperature_or_composition) const;
+      get_extrapolated_advection_field_range (const AdvectionField &advection_field) const;
 
       /**
        * Compute the size of the next time step from the mesh size and the
@@ -1038,7 +1038,7 @@ namespace aspect
                         const double                        average_temperature,
                         const double                        global_entropy_variation,
                         const double                        cell_diameter,
-                        const TemperatureOrComposition     &temperature_or_composition) const;
+                        const AdvectionField     &advection_field) const;
 
       /**
        * Compute the residual of one advection equation to be used for the
@@ -1051,7 +1051,7 @@ namespace aspect
       void
       compute_advection_system_residual(internal::Assembly::Scratch::AdvectionSystem<dim> &scratch,
                                         const double                        average_field,
-                                        const TemperatureOrComposition     &temperature_or_composition,
+                                        const AdvectionField     &advection_field,
                                         double                             &max_residual,
                                         double                             &max_velocity,
                                         double                             &max_density,
diff --git a/source/simulator/assembly.cc b/source/simulator/assembly.cc
index 49ad33c..b5fff9c 100644
--- a/source/simulator/assembly.cc
+++ b/source/simulator/assembly.cc
@@ -518,7 +518,7 @@ namespace aspect
   template <int dim>
   double
   Simulator<dim>::get_entropy_variation (const double average_field,
-                                         const TemperatureOrComposition &temperature_or_composition) const
+                                         const AdvectionField &advection_field) const
   {
     // only do this if we really need entropy
     // variation. otherwise return something that's obviously
@@ -532,11 +532,11 @@ namespace aspect
     const unsigned int n_q_points = quadrature_formula.size();
 
     const FEValuesExtractors::Scalar field
-      = (temperature_or_composition.is_temperature()
+      = (advection_field.is_temperature()
          ?
          introspection.extractors.temperature
          :
-         introspection.extractors.compositional_fields[temperature_or_composition.compositional_variable]
+         introspection.extractors.compositional_fields[advection_field.compositional_variable]
         );
 
     FEValues<dim> fe_values (finite_element, quadrature_formula,
@@ -605,7 +605,7 @@ namespace aspect
   Simulator<dim>::
   compute_advection_system_residual(internal::Assembly::Scratch::AdvectionSystem<dim> &scratch,
                                     const double                        average_field,
-                                    const TemperatureOrComposition     &temperature_or_composition,
+                                    const AdvectionField               &advection_field,
                                     double                             &max_residual,
                                     double                             &max_velocity,
                                     double                             &max_density,
@@ -623,10 +623,10 @@ namespace aspect
         const double u_grad_field = u * (scratch.old_field_grads[q] +
                                          scratch.old_old_field_grads[q]) / 2;
 
-        const double density              = ((temperature_or_composition.is_temperature())
+        const double density              = ((advection_field.is_temperature())
                                              ? scratch.explicit_material_model_outputs.densities[q] : 1.0);
-        const double conductivity = ((temperature_or_composition.is_temperature()) ? scratch.explicit_material_model_outputs.thermal_conductivities[q] : 0.0);
-        const double c_P                  = ((temperature_or_composition.is_temperature()) ? scratch.explicit_material_model_outputs.specific_heat[q] : 1.0);
+        const double conductivity = ((advection_field.is_temperature()) ? scratch.explicit_material_model_outputs.thermal_conductivities[q] : 0.0);
+        const double c_P                  = ((advection_field.is_temperature()) ? scratch.explicit_material_model_outputs.specific_heat[q] : 1.0);
         const double k_Delta_field = conductivity
                                      * (scratch.old_field_laplacians[q] +
                                         scratch.old_old_field_laplacians[q]) / 2;
@@ -637,7 +637,7 @@ namespace aspect
           = compute_heating_term(scratch,
                                  scratch.explicit_material_model_inputs,
                                  scratch.explicit_material_model_outputs,
-                                 temperature_or_composition,
+                                 advection_field,
                                  q);
         double residual
           = std::abs(density * c_P * (dField_dt + u_grad_field) - k_Delta_field - gamma);
@@ -662,7 +662,7 @@ namespace aspect
                      const double                        average_field,
                      const double                        global_entropy_variation,
                      const double                        cell_diameter,
-                     const TemperatureOrComposition     &temperature_or_composition) const
+                     const AdvectionField     &advection_field) const
   {
     if (std::abs(global_u_infty) < 1e-50
         || std::abs(global_entropy_variation) < 1e-50
@@ -676,7 +676,7 @@ namespace aspect
 
     compute_advection_system_residual(scratch,
                                       average_field,
-                                      temperature_or_composition,
+                                      advection_field,
                                       max_residual,
                                       max_velocity,
                                       max_density,
@@ -721,9 +721,9 @@ namespace aspect
 
     // this function computes the artificial viscosity for the temperature
     // equation only. create an object that signifies this.
-    const TemperatureOrComposition torc = TemperatureOrComposition::temperature_field;
+    const AdvectionField torc = AdvectionField::temperature_field;
     const std::pair<double,double>
-    global_field_range = get_extrapolated_temperature_or_composition_range (torc);
+    global_field_range = get_extrapolated_advection_field_range (torc);
     double global_entropy_variation = get_entropy_variation ((global_field_range.first +
                                                               global_field_range.second) / 2,
                                                              torc);
@@ -1230,12 +1230,12 @@ namespace aspect
 
   template <int dim>
   void
-  Simulator<dim>::build_advection_preconditioner(const TemperatureOrComposition &temperature_or_composition,
+  Simulator<dim>::build_advection_preconditioner(const AdvectionField &advection_field,
                                                  std_cxx1x::shared_ptr<aspect::LinearAlgebra::PreconditionILU> &preconditioner)
   {
-    switch (temperature_or_composition.field_type)
+    switch (advection_field.field_type)
       {
-        case TemperatureOrComposition::temperature_field:
+        case AdvectionField::temperature_field:
         {
           computing_timer.enter_section ("   Build temperature preconditioner");
 
@@ -1247,12 +1247,12 @@ namespace aspect
           break;
         }
 
-        case TemperatureOrComposition::compositional_field:
+        case AdvectionField::compositional_field:
         {
           computing_timer.enter_section ("   Build composition preconditioner");
 
           const unsigned int block_number
-            = 3+temperature_or_composition.compositional_variable;
+            = 3+advection_field.compositional_variable;
           preconditioner.reset (new LinearAlgebra::PreconditionILU());
           preconditioner->initialize (system_matrix.block(block_number,
                                                           block_number));
@@ -1273,11 +1273,11 @@ namespace aspect
   Simulator<dim>::compute_heating_term(const internal::Assembly::Scratch::AdvectionSystem<dim>  &scratch,
                                        typename MaterialModel::Interface<dim>::MaterialModelInputs &material_model_inputs,
                                        typename MaterialModel::Interface<dim>::MaterialModelOutputs &material_model_outputs,
-                                       const TemperatureOrComposition     &temperature_or_composition,
+                                       const AdvectionField     &advection_field,
                                        const unsigned int q) const
   {
 
-    if (temperature_or_composition.field_type == TemperatureOrComposition::compositional_field)
+    if (advection_field.field_type == AdvectionField::compositional_field)
       return 0.0;
 
     const double current_T = material_model_inputs.temperature[q];
@@ -1363,7 +1363,7 @@ namespace aspect
 
   template <int dim>
   void Simulator<dim>::
-  local_assemble_advection_system (const TemperatureOrComposition     &temperature_or_composition,
+  local_assemble_advection_system (const AdvectionField     &advection_field,
                                    const std::pair<double,double> global_field_range,
                                    const double                   global_max_velocity,
                                    const double                   global_entropy_variation,
@@ -1384,19 +1384,19 @@ namespace aspect
     Assert (scratch.phi_field.size() == advection_dofs_per_cell, ExcInternalError());
 
     const unsigned int solution_component
-      = (temperature_or_composition.is_temperature()
+      = (advection_field.is_temperature()
          ?
          introspection.component_indices.temperature
          :
-         introspection.component_indices.compositional_fields[temperature_or_composition.compositional_variable]
+         introspection.component_indices.compositional_fields[advection_field.compositional_variable]
         );
 
     const FEValuesExtractors::Scalar solution_field
-      = (temperature_or_composition.is_temperature()
+      = (advection_field.is_temperature()
          ?
          introspection.extractors.temperature
          :
-         introspection.extractors.compositional_fields[temperature_or_composition.compositional_variable]
+         introspection.extractors.compositional_fields[advection_field.compositional_variable]
         );
 
     scratch.finite_element_values.reinit (cell);
@@ -1410,7 +1410,7 @@ namespace aspect
     data.local_matrix = 0;
     data.local_rhs = 0;
 
-    if (temperature_or_composition.is_temperature())
+    if (advection_field.is_temperature())
       {
         scratch.finite_element_values[introspection.extractors.temperature].get_function_values (old_solution,
             scratch.old_temperature_values);
@@ -1444,10 +1444,10 @@ namespace aspect
       }
     else
       {
-        scratch.finite_element_values[introspection.extractors.compositional_fields[temperature_or_composition.compositional_variable]].get_function_values(old_solution,
-            scratch.old_composition_values[temperature_or_composition.compositional_variable]);
-        scratch.finite_element_values[introspection.extractors.compositional_fields[temperature_or_composition.compositional_variable]].get_function_values(old_old_solution,
-            scratch.old_old_composition_values[temperature_or_composition.compositional_variable]);
+        scratch.finite_element_values[introspection.extractors.compositional_fields[advection_field.compositional_variable]].get_function_values(old_solution,
+            scratch.old_composition_values[advection_field.compositional_variable]);
+        scratch.finite_element_values[introspection.extractors.compositional_fields[advection_field.compositional_variable]].get_function_values(old_old_solution,
+            scratch.old_old_composition_values[advection_field.compositional_variable]);
       }
 
     scratch.finite_element_values[introspection.extractors.velocities].get_function_values (old_solution,
@@ -1458,8 +1458,8 @@ namespace aspect
         scratch.current_velocity_values);
 
 
-    scratch.old_field_values = ((temperature_or_composition.is_temperature()) ? &scratch.old_temperature_values : &scratch.old_composition_values[temperature_or_composition.compositional_variable]);
-    scratch.old_old_field_values = ((temperature_or_composition.is_temperature()) ? &scratch.old_old_temperature_values : &scratch.old_old_composition_values[temperature_or_composition.compositional_variable]);
+    scratch.old_field_values = ((advection_field.is_temperature()) ? &scratch.old_temperature_values : &scratch.old_composition_values[advection_field.compositional_variable]);
+    scratch.old_old_field_values = ((advection_field.is_temperature()) ? &scratch.old_old_temperature_values : &scratch.old_old_composition_values[advection_field.compositional_variable]);
 
     scratch.finite_element_values[solution_field].get_function_gradients (old_solution,
                                                                           scratch.old_field_grads);
@@ -1471,7 +1471,7 @@ namespace aspect
     scratch.finite_element_values[solution_field].get_function_laplacians (old_old_solution,
                                                                            scratch.old_old_field_laplacians);
 
-    if (temperature_or_composition.is_temperature())
+    if (advection_field.is_temperature())
       {
         compute_material_model_input_values (current_linearization_point,
                                              scratch.finite_element_values,
@@ -1509,7 +1509,7 @@ namespace aspect
                            0.5 * (global_field_range.second + global_field_range.first),
                            global_entropy_variation,
                            cell->diameter(),
-                           temperature_or_composition);
+                           advection_field);
     Assert (nu >= 0, ExcMessage ("The artificial viscosity needs to be a non-negative quantity."));
 
     for (unsigned int q=0; q<n_q_points; ++q)
@@ -1525,7 +1525,7 @@ namespace aspect
           }
 
         const double density_c_P              =
-          ((temperature_or_composition.is_temperature())
+          ((advection_field.is_temperature())
            ?
            scratch.material_model_outputs.densities[q] *
            scratch.material_model_outputs.specific_heat[q]
@@ -1534,13 +1534,13 @@ namespace aspect
         Assert (density_c_P >= 0, ExcMessage ("The product of density and c_P needs to be a non-negative quantity."));
 
         const double conductivity =
-          ((temperature_or_composition.is_temperature())
+          ((advection_field.is_temperature())
            ?
            scratch.material_model_outputs.thermal_conductivities[q]
            :
            0.0);
         const double latent_heat_LHS =
-          ((parameters.include_latent_heat && temperature_or_composition.is_temperature())
+          ((parameters.include_latent_heat && advection_field.is_temperature())
            ?
            - scratch.material_model_outputs.densities[q] *
            scratch.material_model_inputs.temperature[q] *
@@ -1553,14 +1553,14 @@ namespace aspect
         const double gamma = compute_heating_term(scratch,
                                                   scratch.material_model_inputs,
                                                   scratch.material_model_outputs,
-                                                  temperature_or_composition,
+                                                  advection_field,
                                                   q);
         const double reaction_term =
-          ((temperature_or_composition.is_temperature())
+          ((advection_field.is_temperature())
            ?
            0.0
            :
-           scratch.material_model_outputs.reaction_terms[q][temperature_or_composition.compositional_variable]);
+           scratch.material_model_outputs.reaction_terms[q][advection_field.compositional_variable]);
 
         const double field_term_for_rhs
           = (use_bdf2_scheme ?
@@ -1627,9 +1627,9 @@ namespace aspect
 
 
   template <int dim>
-  void Simulator<dim>::assemble_advection_system (const TemperatureOrComposition &temperature_or_composition)
+  void Simulator<dim>::assemble_advection_system (const AdvectionField &advection_field)
   {
-    if (temperature_or_composition.is_temperature())
+    if (advection_field.is_temperature())
       {
         computing_timer.enter_section ("   Assemble temperature system");
         system_matrix.block (2,2) = 0;
@@ -1637,13 +1637,13 @@ namespace aspect
     else
       {
         computing_timer.enter_section ("   Assemble composition system");
-        system_matrix.block(3+temperature_or_composition.compositional_variable,
-                            3+temperature_or_composition.compositional_variable) = 0;
+        system_matrix.block(3+advection_field.compositional_variable,
+                            3+advection_field.compositional_variable) = 0;
       }
     system_rhs = 0;
 
     const std::pair<double,double>
-    global_field_range = get_extrapolated_temperature_or_composition_range (temperature_or_composition);
+    global_field_range = get_extrapolated_advection_field_range (advection_field);
 
     typedef
     FilteredIterator<typename DoFHandler<dim>::active_cell_iterator>
@@ -1657,7 +1657,7 @@ namespace aspect
          std_cxx1x::bind (&Simulator<dim>::
                           local_assemble_advection_system,
                           this,
-                          temperature_or_composition,
+                          advection_field,
                           global_field_range,
                           get_maximal_velocity(old_solution),
                           // use the mid-value of the advected field instead of the
@@ -1665,7 +1665,7 @@ namespace aspect
                           // sensitive to this and this is far simpler
                           get_entropy_variation ((global_field_range.first +
                                                   global_field_range.second) / 2,
-                                                 temperature_or_composition),
+                                                 advection_field),
                           std_cxx1x::_1,
                           std_cxx1x::_2,
                           std_cxx1x::_3),
@@ -1692,9 +1692,9 @@ namespace aspect
          // field index.)
          internal::Assembly::Scratch::
          AdvectionSystem<dim> (finite_element,
-                               finite_element.base_element(temperature_or_composition.base_element(introspection)),
+                               finite_element.base_element(advection_field.base_element(introspection)),
                                mapping,
-                               QGauss<dim>((temperature_or_composition.is_temperature()
+                               QGauss<dim>((advection_field.is_temperature()
                                             ?
                                             parameters.temperature_degree
                                             :
@@ -1703,7 +1703,7 @@ namespace aspect
                                            (parameters.stokes_velocity_degree+1)/2),
                                parameters.n_compositional_fields),
          internal::Assembly::CopyData::
-         AdvectionSystem<dim> (finite_element.base_element(temperature_or_composition.base_element(introspection))));
+         AdvectionSystem<dim> (finite_element.base_element(advection_field.base_element(introspection))));
 
     system_matrix.compress(VectorOperation::add);
     system_rhs.compress(VectorOperation::add);
@@ -1734,10 +1734,10 @@ namespace aspect
                                                                      const internal::Assembly::CopyData::StokesSystem<dim> &data); \
   template void Simulator<dim>::assemble_stokes_system (); \
   template void Simulator<dim>::get_artificial_viscosity (Vector<float> &viscosity_per_cell) const; \
-  template void Simulator<dim>::build_advection_preconditioner (const TemperatureOrComposition &, \
+  template void Simulator<dim>::build_advection_preconditioner (const AdvectionField &, \
                                                                 std_cxx1x::shared_ptr<aspect::LinearAlgebra::PreconditionILU> &preconditioner); \
   template void Simulator<dim>::local_assemble_advection_system ( \
-                                                                  const TemperatureOrComposition     &temperature_or_composition, \
+                                                                  const AdvectionField          &advection_field, \
                                                                   const std::pair<double,double> global_field_range, \
                                                                   const double                   global_max_velocity, \
                                                                   const double                   global_entropy_variation, \
@@ -1746,7 +1746,7 @@ namespace aspect
                                                                   internal::Assembly::CopyData::AdvectionSystem<dim> &data); \
   template void Simulator<dim>::copy_local_to_global_advection_system ( \
                                                                         const internal::Assembly::CopyData::AdvectionSystem<dim> &data); \
-  template void Simulator<dim>::assemble_advection_system (const TemperatureOrComposition     &temperature_or_composition); \
+  template void Simulator<dim>::assemble_advection_system (const AdvectionField     &advection_field); \
    
 
 
diff --git a/source/simulator/core.cc b/source/simulator/core.cc
index 0b4442a..06e4737 100644
--- a/source/simulator/core.cc
+++ b/source/simulator/core.cc
@@ -1072,20 +1072,20 @@ namespace aspect
       {
         case NonlinearSolver::IMPES:
         {
-          assemble_advection_system (TemperatureOrComposition::temperature());
-          build_advection_preconditioner(TemperatureOrComposition::temperature(),
+          assemble_advection_system (AdvectionField::temperature());
+          build_advection_preconditioner(AdvectionField::temperature(),
                                          T_preconditioner);
-          solve_advection(TemperatureOrComposition::temperature());
+          solve_advection(AdvectionField::temperature());
 
           current_linearization_point.block(introspection.block_indices.temperature)
             = solution.block(introspection.block_indices.temperature);
 
           for (unsigned int c=0; c<parameters.n_compositional_fields; ++c)
             {
-              assemble_advection_system (TemperatureOrComposition::composition(c));
-              build_advection_preconditioner(TemperatureOrComposition::composition(c),
+              assemble_advection_system (AdvectionField::composition(c));
+              build_advection_preconditioner(AdvectionField::composition(c),
                                              C_preconditioner);
-              solve_advection(TemperatureOrComposition::composition(c)); // this is correct, 0 would be temperature
+              solve_advection(AdvectionField::composition(c)); // this is correct, 0 would be temperature
               current_linearization_point.block(introspection.block_indices.compositional_fields[c])
                 = solution.block(introspection.block_indices.compositional_fields[c]);
             }
@@ -1158,13 +1158,13 @@ namespace aspect
 
           do
             {
-              assemble_advection_system(TemperatureOrComposition::temperature());
+              assemble_advection_system(AdvectionField::temperature());
 
               if (iteration == 0)
-                build_advection_preconditioner(TemperatureOrComposition::temperature(),
+                build_advection_preconditioner(AdvectionField::temperature(),
                                                T_preconditioner);
 
-              const double temperature_residual = solve_advection(TemperatureOrComposition::temperature());
+              const double temperature_residual = solve_advection(AdvectionField::temperature());
 
               current_linearization_point.block(introspection.block_indices.temperature)
                 = solution.block(introspection.block_indices.temperature);
@@ -1173,11 +1173,11 @@ namespace aspect
 
               for (unsigned int c=0; c<parameters.n_compositional_fields; ++c)
                 {
-                  assemble_advection_system (TemperatureOrComposition::composition(c));
-                  build_advection_preconditioner(TemperatureOrComposition::composition(c),
+                  assemble_advection_system (AdvectionField::composition(c));
+                  build_advection_preconditioner(AdvectionField::composition(c),
                                                  C_preconditioner);
                   composition_residual[c]
-                    = solve_advection(TemperatureOrComposition::composition(c));
+                    = solve_advection(AdvectionField::composition(c));
                   current_linearization_point.block(introspection.block_indices.compositional_fields[c])
                     = solution.block(introspection.block_indices.compositional_fields[c]);
                 }
@@ -1237,19 +1237,19 @@ namespace aspect
         case NonlinearSolver::iterated_Stokes:
         {
           // solve the temperature system once...
-          assemble_advection_system (TemperatureOrComposition::temperature());
-          build_advection_preconditioner (TemperatureOrComposition::temperature (),
+          assemble_advection_system (AdvectionField::temperature());
+          build_advection_preconditioner (AdvectionField::temperature (),
                                           T_preconditioner);
-          solve_advection(TemperatureOrComposition::temperature());
+          solve_advection(AdvectionField::temperature());
           current_linearization_point.block(introspection.block_indices.temperature)
             = solution.block(introspection.block_indices.temperature);
 
           for (unsigned int c=0; c<parameters.n_compositional_fields; ++c)
             {
-              assemble_advection_system (TemperatureOrComposition::composition(c));
-              build_advection_preconditioner (TemperatureOrComposition::composition (c),
+              assemble_advection_system (AdvectionField::composition(c));
+              build_advection_preconditioner (AdvectionField::composition (c),
                                               C_preconditioner);
-              solve_advection(TemperatureOrComposition::composition(c));
+              solve_advection(AdvectionField::composition(c));
               current_linearization_point.block(introspection.block_indices.compositional_fields[c])
                 = solution.block(introspection.block_indices.compositional_fields[c]);
             }
diff --git a/source/simulator/helper_functions.cc b/source/simulator/helper_functions.cc
index f8ea1ef..5909d49 100644
--- a/source/simulator/helper_functions.cc
+++ b/source/simulator/helper_functions.cc
@@ -56,8 +56,8 @@ namespace aspect
 {
 
   template <int dim>
-  Simulator<dim>::TemperatureOrComposition::
-  TemperatureOrComposition (const FieldType field_type,
+  Simulator<dim>::AdvectionField::
+  AdvectionField (const FieldType field_type,
                             const unsigned int compositional_variable)
     :
     field_type (field_type),
@@ -72,26 +72,26 @@ namespace aspect
 
 
   template <int dim>
-  typename Simulator<dim>::TemperatureOrComposition
-  Simulator<dim>::TemperatureOrComposition::temperature ()
+  typename Simulator<dim>::AdvectionField
+  Simulator<dim>::AdvectionField::temperature ()
   {
-    return TemperatureOrComposition(temperature_field);
+    return AdvectionField(temperature_field);
   }
 
 
 
   template <int dim>
-  typename Simulator<dim>::TemperatureOrComposition
-  Simulator<dim>::TemperatureOrComposition::composition (const unsigned int compositional_variable)
+  typename Simulator<dim>::AdvectionField
+  Simulator<dim>::AdvectionField::composition (const unsigned int compositional_variable)
   {
-    return TemperatureOrComposition(compositional_field,
+    return AdvectionField(compositional_field,
                                     compositional_variable);
   }
 
 
   template <int dim>
   bool
-  Simulator<dim>::TemperatureOrComposition::is_temperature() const
+  Simulator<dim>::AdvectionField::is_temperature() const
   {
     return (field_type == temperature_field);
   }
@@ -99,7 +99,7 @@ namespace aspect
 
   template <int dim>
   unsigned int
-  Simulator<dim>::TemperatureOrComposition::block_index(const Introspection<dim> &introspection) const
+  Simulator<dim>::AdvectionField::block_index(const Introspection<dim> &introspection) const
   {
     if (this->is_temperature())
       return introspection.block_indices.temperature;
@@ -110,7 +110,7 @@ namespace aspect
 
   template <int dim>
   unsigned int
-  Simulator<dim>::TemperatureOrComposition::base_element(const Introspection<dim> &introspection) const
+  Simulator<dim>::AdvectionField::base_element(const Introspection<dim> &introspection) const
   {
     if (this->is_temperature())
       return introspection.base_elements.temperature;
@@ -391,21 +391,21 @@ namespace aspect
   template <int dim>
   std::pair<double,double>
   Simulator<dim>::
-  get_extrapolated_temperature_or_composition_range (const TemperatureOrComposition &temperature_or_composition) const
+  get_extrapolated_advection_field_range (const AdvectionField &advection_field) const
   {
     const QIterated<dim> quadrature_formula (QTrapez<1>(),
-                                             (temperature_or_composition.is_temperature() ?
+                                             (advection_field.is_temperature() ?
                                               parameters.temperature_degree :
                                               parameters.composition_degree));
 
     const unsigned int n_q_points = quadrature_formula.size();
 
     const FEValuesExtractors::Scalar field
-      = (temperature_or_composition.is_temperature()
+      = (advection_field.is_temperature()
          ?
          introspection.extractors.temperature
          :
-         introspection.extractors.compositional_fields[temperature_or_composition.compositional_variable]
+         introspection.extractors.compositional_fields[advection_field.compositional_variable]
         );
 
     FEValues<dim> fe_values (mapping, finite_element, quadrature_formula,
@@ -857,15 +857,15 @@ namespace aspect
   }
 
   template <int dim>
-  void Simulator<dim>::compute_depth_average_field(const TemperatureOrComposition &temperature_or_composition,
+  void Simulator<dim>::compute_depth_average_field(const AdvectionField &advection_field,
                                                    std::vector<double> &values) const
   {
     const FEValuesExtractors::Scalar field
-      = (temperature_or_composition.is_temperature()
+      = (advection_field.is_temperature()
          ?
          introspection.extractors.temperature
          :
-         introspection.extractors.compositional_fields[temperature_or_composition.compositional_variable]
+         introspection.extractors.compositional_fields[advection_field.compositional_variable]
         );
 
     FunctorDepthAverageField<dim> f(field);
@@ -1071,14 +1071,14 @@ namespace aspect
 namespace aspect
 {
 #define INSTANTIATE(dim) \
-  template struct Simulator<dim>::TemperatureOrComposition; \
+  template struct Simulator<dim>::AdvectionField; \
   template void Simulator<dim>::normalize_pressure(LinearAlgebra::BlockVector &vector); \
   template void Simulator<dim>::denormalize_pressure(LinearAlgebra::BlockVector &vector); \
   template double Simulator<dim>::get_maximal_velocity (const LinearAlgebra::BlockVector &solution) const; \
-  template std::pair<double,double> Simulator<dim>::get_extrapolated_temperature_or_composition_range (const TemperatureOrComposition &temperature_or_composition) const; \
+  template std::pair<double,double> Simulator<dim>::get_extrapolated_advection_field_range (const AdvectionField &advection_field) const; \
   template std::pair<double,bool> Simulator<dim>::compute_time_step () const; \
   template void Simulator<dim>::make_pressure_rhs_compatible(LinearAlgebra::BlockVector &vector); \
-  template void Simulator<dim>::compute_depth_average_field(const TemperatureOrComposition &temperature_or_composition, std::vector<double> &values) const; \
+  template void Simulator<dim>::compute_depth_average_field(const AdvectionField &advection_field, std::vector<double> &values) const; \
   template void Simulator<dim>::compute_depth_average_viscosity(std::vector<double> &values) const; \
   template void Simulator<dim>::compute_depth_average_velocity_magnitude(std::vector<double> &values) const; \
   template void Simulator<dim>::compute_depth_average_sinking_velocity(std::vector<double> &values) const; \
diff --git a/source/simulator/initial_conditions.cc b/source/simulator/initial_conditions.cc
index 8c2f01c..f0f2912 100644
--- a/source/simulator/initial_conditions.cc
+++ b/source/simulator/initial_conditions.cc
@@ -67,7 +67,7 @@ namespace aspect
     bool normalize_composition = false;
 
 //TODO: The code here is confusing. We should be using something
-// like the TemperatureOrComposition class instead of just a single
+// like the AdevctionField class instead of just a single
 // integer 'n'
     for (unsigned int n=0; n<1+parameters.n_compositional_fields; ++n)
       {
diff --git a/source/simulator/simulator_access.cc b/source/simulator/simulator_access.cc
index 1f20605..8c85eea 100644
--- a/source/simulator/simulator_access.cc
+++ b/source/simulator/simulator_access.cc
@@ -212,7 +212,7 @@ namespace aspect
   void
   SimulatorAccess<dim>::get_depth_average_temperature(std::vector<double> &values) const
   {
-    simulator->compute_depth_average_field(Simulator<dim>::TemperatureOrComposition::temperature(),
+    simulator->compute_depth_average_field(Simulator<dim>::AdvectionField::temperature(),
                                            values);
   }
 
@@ -224,7 +224,7 @@ namespace aspect
     // make sure that what we get here is really an index of one of the compositional fields
     AssertIndexRange(composition_index,this->n_compositional_fields());
 
-    simulator->compute_depth_average_field(Simulator<dim>::TemperatureOrComposition::composition(composition_index),
+    simulator->compute_depth_average_field(Simulator<dim>::AdvectionField::composition(composition_index),
                                            values);
   }
 
diff --git a/source/simulator/solver.cc b/source/simulator/solver.cc
index 8ad76fe..75f4dbb 100644
--- a/source/simulator/solver.cc
+++ b/source/simulator/solver.cc
@@ -288,12 +288,12 @@ namespace aspect
   }
 
   template <int dim>
-  double Simulator<dim>::solve_advection (const TemperatureOrComposition &temperature_or_composition)
+  double Simulator<dim>::solve_advection (const AdvectionField &advection_field)
   {
     double advection_solver_tolerance = -1;
-    unsigned int block_number = temperature_or_composition.block_index(introspection);
+    unsigned int block_number = advection_field.block_index(introspection);
 
-    if (temperature_or_composition.is_temperature())
+    if (advection_field.is_temperature())
       {
         computing_timer.enter_section ("   Solve temperature system");
         pcout << "   Solving temperature system... " << std::flush;
@@ -303,7 +303,7 @@ namespace aspect
       {
         computing_timer.enter_section ("   Solve composition system");
         pcout << "   Solving composition system "
-              << temperature_or_composition.compositional_variable+1
+              << advection_field.compositional_variable+1
               << "... " << std::flush;
         advection_solver_tolerance = parameters.composition_solver_tolerance;
       }
@@ -341,7 +341,7 @@ namespace aspect
     solver.solve (system_matrix.block(block_number,block_number),
                   distributed_solution.block(block_number),
                   system_rhs.block(block_number),
-                  (temperature_or_composition.is_temperature()
+                  (advection_field.is_temperature()
                    ?
                    *T_preconditioner
                    :
@@ -355,12 +355,12 @@ namespace aspect
     pcout << solver_control.last_step()
           << " iterations." << std::endl;
 
-    if (temperature_or_composition.is_temperature())
+    if (advection_field.is_temperature())
       statistics.add_value("Iterations for temperature solver",
                            solver_control.last_step());
     else
       statistics.add_value("Iterations for composition solver " +
-                           Utilities::int_to_string(temperature_or_composition.compositional_variable+1),
+                           Utilities::int_to_string(advection_field.compositional_variable+1),
                            solver_control.last_step());
 
     computing_timer.exit_section();
@@ -514,7 +514,7 @@ namespace aspect
 namespace aspect
 {
 #define INSTANTIATE(dim) \
-  template double Simulator<dim>::solve_advection (const TemperatureOrComposition &); \
+  template double Simulator<dim>::solve_advection (const AdvectionField &); \
   template double Simulator<dim>::solve_stokes ();
 
   ASPECT_INSTANTIATE(INSTANTIATE)



More information about the CIG-COMMITS mailing list