[cig-commits] commit 1894 by buerg to /var/svn/dealii/aspect

dealii.demon at gmail.com dealii.demon at gmail.com
Mon Sep 16 10:32:28 PDT 2013


Revision 1894

Name compositional fields.

U   trunk/aspire/include/aspect/material_model/cantera.h
U   trunk/aspire/include/aspect/material_model/interface.h
U   trunk/aspire/include/aspect/material_model/mixture_fraction.h
U   trunk/aspire/include/aspect/material_model/simple.h
U   trunk/aspire/source/material_model/cantera.cc
U   trunk/aspire/source/material_model/interface.cc
U   trunk/aspire/source/material_model/mixture_fraction.cc
U   trunk/aspire/source/material_model/simple.cc
U   trunk/aspire/source/postprocess/visualization.cc


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

Diff:
Modified: trunk/aspire/include/aspect/material_model/cantera.h
===================================================================
--- trunk/aspire/include/aspect/material_model/cantera.h	2013-09-13 21:29:44 UTC (rev 1893)
+++ trunk/aspire/include/aspect/material_model/cantera.h	2013-09-16 17:30:23 UTC (rev 1894)
@@ -143,7 +143,13 @@
         virtual
         void
         parse_parameters (ParameterHandler &prm);
+        
         /**
+         * Return the names of the compositional fields.
+         */
+        virtual void
+        get_composition_names (std::vector<std::string>& names) const;
+        /**
          * @}
          */
 
@@ -159,6 +165,7 @@
         double reference_thermal_alpha;
         double reference_thermal_conductivity;
         std::vector<double> molar_mass;
+        std::vector<std::string> composition_names;
     };
 
   }

Modified: trunk/aspire/include/aspect/material_model/interface.h
===================================================================
--- trunk/aspire/include/aspect/material_model/interface.h	2013-09-13 21:29:44 UTC (rev 1893)
+++ trunk/aspire/include/aspect/material_model/interface.h	2013-09-16 17:30:23 UTC (rev 1894)
@@ -599,7 +599,13 @@
         virtual
         void
         parse_parameters (ParameterHandler &prm);
+        
         /**
+         * Return the names of the compositional fields.
+         */
+        virtual void
+        get_composition_names (std::vector<std::string>& names) const;
+        /**
          * @}
          */
     };

Modified: trunk/aspire/include/aspect/material_model/mixture_fraction.h
===================================================================
--- trunk/aspire/include/aspect/material_model/mixture_fraction.h	2013-09-13 21:29:44 UTC (rev 1893)
+++ trunk/aspire/include/aspect/material_model/mixture_fraction.h	2013-09-16 17:30:23 UTC (rev 1894)
@@ -141,7 +141,13 @@
         virtual
         void
         parse_parameters (ParameterHandler &prm);
+        
         /**
+         * Return the names of the compositional fields.
+         */
+        virtual void
+        get_composition_names (std::vector<std::string>& names) const;
+        /**
          * @}
          */
 

Modified: trunk/aspire/include/aspect/material_model/simple.h
===================================================================
--- trunk/aspire/include/aspect/material_model/simple.h	2013-09-13 21:29:44 UTC (rev 1893)
+++ trunk/aspire/include/aspect/material_model/simple.h	2013-09-16 17:30:23 UTC (rev 1894)
@@ -142,7 +142,13 @@
         virtual
         void
         parse_parameters (ParameterHandler &prm);
+        
         /**
+         * Return the names of the compositional fields.
+         */
+        virtual void
+        get_composition_names (std::vector<std::string>& names) const;
+        /**
          * @}
          */
 

Modified: trunk/aspire/source/material_model/cantera.cc
===================================================================
--- trunk/aspire/source/material_model/cantera.cc	2013-09-13 21:29:44 UTC (rev 1893)
+++ trunk/aspire/source/material_model/cantera.cc	2013-09-16 17:30:23 UTC (rev 1894)
@@ -218,6 +218,11 @@
           
           const unsigned int n_species = ideal_gas_mix->nSpecies ();
           
+          composition_names.resize (n_species);
+          
+          for (unsigned int i = 0; i < n_species; ++i)
+            composition_names[i] = ideal_gas_mix->speciesName (i);
+          
           enthalpy_RT = new double[n_species];
           molar_mass.resize (n_species);
           ideal_gas_mix->getMolecularWeights (molar_mass);
@@ -228,6 +233,16 @@
       }
       prm.leave_subsection ();
     }
+    
+    template <int dim>
+    void
+    Cantera<dim>::get_composition_names (std::vector<std::string>& names) const
+    {
+      AssertDimension (names.size (), composition_names.size ());
+      
+      for (unsigned int i = 0; i < composition_names.size (); ++i)
+        names[i] = composition_names[i];
+    }
   }
 }
 

Modified: trunk/aspire/source/material_model/interface.cc
===================================================================
--- trunk/aspire/source/material_model/interface.cc	2013-09-13 21:29:44 UTC (rev 1893)
+++ trunk/aspire/source/material_model/interface.cc	2013-09-16 17:30:23 UTC (rev 1894)
@@ -187,6 +187,11 @@
     void
     Interface<dim>::parse_parameters (dealii::ParameterHandler &prm)
     {}
+    
+    template <int dim>
+    void
+    Interface<dim>::get_composition_names (std::vector<std::string>& names) const
+    {}
 
 
 // -------------------------------- Deal with registering material models and automating

Modified: trunk/aspire/source/material_model/mixture_fraction.cc
===================================================================
--- trunk/aspire/source/material_model/mixture_fraction.cc	2013-09-13 21:29:44 UTC (rev 1893)
+++ trunk/aspire/source/material_model/mixture_fraction.cc	2013-09-16 17:30:23 UTC (rev 1894)
@@ -21,6 +21,7 @@
 
 
 #include <aspect/material_model/mixture_fraction.h>
+#include <boost/lexical_cast.hpp>
 #include <deal.II/base/parameter_handler.h>
 
 using namespace dealii;
@@ -261,6 +262,14 @@
       }
       prm.leave_subsection();
     }
+    
+    template <int dim>
+    void
+    MixtureFraction<dim>::get_composition_names (std::vector<std::string>& names) const
+    {
+      for (unsigned int i = 0; i < names.size (); ++i)
+        names[i] = "C_" + boost::lexical_cast<std::string> (i);
+    }
   }
 }
 

Modified: trunk/aspire/source/material_model/simple.cc
===================================================================
--- trunk/aspire/source/material_model/simple.cc	2013-09-13 21:29:44 UTC (rev 1893)
+++ trunk/aspire/source/material_model/simple.cc	2013-09-16 17:30:23 UTC (rev 1894)
@@ -21,6 +21,7 @@
 
 
 #include <aspect/material_model/simple.h>
+#include <boost/lexical_cast.hpp>
 #include <deal.II/base/parameter_handler.h>
 
 using namespace dealii;
@@ -250,6 +251,14 @@
       }
       prm.leave_subsection();
     }
+    
+    template <int dim>
+    void
+    Simple<dim>::get_composition_names (std::vector<std::string>& names) const
+    {
+      for (unsigned int i = 0; i < names.size (); ++i)
+        names[i] = "C_" + boost::lexical_cast<std::string> (i);
+    }
   }
 }
 

Modified: trunk/aspire/source/postprocess/visualization.cc
===================================================================
--- trunk/aspire/source/postprocess/visualization.cc	2013-09-13 21:29:44 UTC (rev 1893)
+++ trunk/aspire/source/postprocess/visualization.cc	2013-09-16 17:30:23 UTC (rev 1894)
@@ -194,10 +194,16 @@
       std::vector<std::string> solution_names (dim, "velocity");
       solution_names.push_back ("p");
       solution_names.push_back ("T");
-      for (unsigned int c=0; c<this->n_compositional_fields(); ++c)
-        solution_names.push_back ("C_" + boost::lexical_cast<std::string>(c));
+      
+      {
+        std::vector<std::string> composition_names (this->n_compositional_fields ());
+        
+        this->get_material_model ().get_composition_names (composition_names);
+        
+        for (unsigned int c = 0; c < this->n_compositional_fields (); ++c)
+          solution_names.push_back (composition_names[c]);
+      }
 
-
       std::vector<DataComponentInterpretation::DataComponentInterpretation>
       interpretation (dim,
                       DataComponentInterpretation::component_is_part_of_vector);


More information about the CIG-COMMITS mailing list