GRINS-0.8.0
antioch_constant_transport_evaluator.h
Go to the documentation of this file.
1 //-----------------------------------------------------------------------bl-
2 //--------------------------------------------------------------------------
3 //
4 // GRINS - General Reacting Incompressible Navier-Stokes
5 //
6 // Copyright (C) 2014-2017 Paul T. Bauman, Roy H. Stogner
7 // Copyright (C) 2010-2013 The PECOS Development Team
8 //
9 // This library is free software; you can redistribute it and/or
10 // modify it under the terms of the Version 2.1 GNU Lesser General
11 // Public License as published by the Free Software Foundation.
12 //
13 // This library is distributed in the hope that it will be useful,
14 // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 // Lesser General Public License for more details.
17 //
18 // You should have received a copy of the GNU Lesser General Public
19 // License along with this library; if not, write to the Free Software
20 // Foundation, Inc. 51 Franklin Street, Fifth Floor,
21 // Boston, MA 02110-1301 USA
22 //
23 //-----------------------------------------------------------------------el-
24 
25 
26 #ifndef GRINS_ANTIOCH_CONSTANT_TRANSPORT_EVALUATOR_H
27 #define GRINS_ANTIOCH_CONSTANT_TRANSPORT_EVALUATOR_H
28 
29 #include "grins_config.h"
30 
31 #ifdef GRINS_HAVE_ANTIOCH
32 
33 // GRINS
36 
37 // libMesh
38 #include "libmesh/libmesh_common.h"
39 
40 // Antioch
41 #include "antioch/wilke_evaluator.h"
42 
43 namespace GRINS
44 {
46 
53  template<typename KineticsThermoCurveFit, typename Thermo, typename Conductivity>
54  class AntiochConstantTransportEvaluator : public AntiochEvaluator<KineticsThermoCurveFit,Thermo>
55  {
56  public:
57 
59  : AntiochEvaluator<Antioch::CEACurveFit<libMesh::Real>,Thermo>( mixture ),
60  _mu( mixture.mu() ),
61  _conductivity( mixture.conductivity() ),
62  _diffusivity( mixture.diffusivity() )
63  {}
64 
66 
67  libMesh::Real mu( const libMesh::Real /*T*/,
68  const libMesh::Real /*P*/,
69  const std::vector<libMesh::Real>& /*Y*/ )
70  { return _mu; }
71 
72  libMesh::Real k( const libMesh::Real T,
73  const libMesh::Real /*P*/,
74  const std::vector<libMesh::Real>& Y )
75  {
76  // Second T is dummy
77  const libMesh::Real cp = this->cp( T, T, Y );
78  return _conductivity( _mu, cp );
79  }
80 
81  void mu_and_k_and_D( const libMesh::Real /*T*/,
82  const libMesh::Real rho,
83  const libMesh::Real cp,
84  const std::vector<libMesh::Real>& /*Y*/,
85  libMesh::Real & mu, libMesh::Real & k,
86  std::vector<libMesh::Real> & D )
87  {
88  mu = _mu;
89  k = _conductivity( _mu, cp );
90  std::fill( D.begin(), D.end(), _diffusivity.D(rho,cp,k) );
91  }
92 
93  protected:
94 
95  const libMesh::Real _mu;
96 
97  const Conductivity & _conductivity;
98 
99  const Antioch::ConstantLewisDiffusivity<libMesh::Real> & _diffusivity;
100 
101  private:
102 
104 
105  };
106 
107 } // end namespace GRINS
108 
109 #endif // GRINS_HAVE_ANTIOCH
110 
111 #endif // GRINS_ANTIOCH_CONSTANT_TRANSPORT_EVALUATOR_H
Wrapper class for evaluating chemistry and thermo properties using Antioch.
Wrapper class for evaluating constant transport properties, including Antioch::ConstantLewisDiffusivi...
void mu_and_k_and_D(const libMesh::Real, const libMesh::Real rho, const libMesh::Real cp, const std::vector< libMesh::Real > &, libMesh::Real &mu, libMesh::Real &k, std::vector< libMesh::Real > &D)
GRINS namespace.
libMesh::Real mu(const libMesh::Real, const libMesh::Real, const std::vector< libMesh::Real > &)
AntiochConstantTransportEvaluator(const AntiochConstantTransportMixture< KineticsThermoCurveFit, Conductivity > &mixture)
libMesh::Real cp(const libMesh::Real &T, const libMesh::Real P, const std::vector< libMesh::Real > &Y)
const Antioch::ConstantLewisDiffusivity< libMesh::Real > & _diffusivity
Wrapper class for storing state for constant transport properties, including Antioch::ConstantLewisDi...
libMesh::Real k(const libMesh::Real T, const libMesh::Real, const std::vector< libMesh::Real > &Y)

Generated on Tue Dec 19 2017 12:47:28 for GRINS-0.8.0 by  doxygen 1.8.9.1