[cig-commits] [commit] master: add TemperatureOrComposition::component_index (5bae163)

cig_noreply at geodynamics.org cig_noreply at geodynamics.org
Mon May 19 20:13:13 PDT 2014


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

On branch  : master
Link       : https://github.com/geodynamics/aspect/compare/76d4275352ef2cae5de9a073acd1c03a92c2670c...4f3d06fd1f3754419813db37ec9ef7f0f6f3cb15

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

commit 5bae163db812e1c4e0f98c71338247801f66bf09
Author: Timo Heister <timo.heister at gmail.com>
Date:   Mon May 12 15:57:02 2014 -0400

    add TemperatureOrComposition::component_index


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

5bae163db812e1c4e0f98c71338247801f66bf09
 include/aspect/simulator.h           | 6 ++++++
 source/simulator/helper_functions.cc | 9 +++++++++
 2 files changed, 15 insertions(+)

diff --git a/include/aspect/simulator.h b/include/aspect/simulator.h
index aa3db00..aaf7ff8 100644
--- a/include/aspect/simulator.h
+++ b/include/aspect/simulator.h
@@ -398,6 +398,12 @@ namespace aspect
         is_temperature () const;
 
         /**
+         * Look up the component index for this temperature or compositional field
+         * i. See Introspection::component_indices for more information.
+         */
+        unsigned int component_index(const Introspection<dim> &introspection) const;
+
+        /**
          * Look up the block index for this temperature or compositional field
          * i. See Introspection::block_indices for more information.
          */
diff --git a/source/simulator/helper_functions.cc b/source/simulator/helper_functions.cc
index 5276aad..8c01f69 100644
--- a/source/simulator/helper_functions.cc
+++ b/source/simulator/helper_functions.cc
@@ -107,6 +107,15 @@ namespace aspect
       return introspection.block_indices.compositional_fields[compositional_variable];
   }
 
+  template <int dim>
+  unsigned int
+  Simulator<dim>::TemperatureOrComposition::component_index(const Introspection<dim> &introspection) const
+  {
+    if (this->is_temperature())
+      return introspection.component_indices.temperature;
+    else
+      return introspection.component_indices.compositional_fields[compositional_variable];
+  }
 
   template <int dim>
   void Simulator<dim>::output_program_stats()



More information about the CIG-COMMITS mailing list