antioch-0.4.0
binary_diffusion_base.h
Go to the documentation of this file.
1 //-----------------------------------------------------------------------bl-
2 //--------------------------------------------------------------------------
3 //
4 // Antioch - A Gas Dynamics Thermochemistry Library
5 //
6 // Copyright (C) 2014-2016 Paul T. Bauman, Benjamin S. Kirk,
7 // Sylvain Plessis, Roy H. Stonger
8 //
9 // Copyright (C) 2013 The PECOS Development Team
10 //
11 // This library is free software; you can redistribute it and/or
12 // modify it under the terms of the Version 2.1 GNU Lesser General
13 // Public License as published by the Free Software Foundation.
14 //
15 // This library is distributed in the hope that it will be useful,
16 // but WITHOUT ANY WARRANTY; without even the implied warranty of
17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 // Lesser General Public License for more details.
19 //
20 // You should have received a copy of the GNU Lesser General Public
21 // License along with this library; if not, write to the Free Software
22 // Foundation, Inc. 51 Franklin Street, Fifth Floor,
23 // Boston, MA 02110-1301 USA
24 //
25 //-----------------------------------------------------------------------el-
26 
27 #ifndef ANTIOCH_BINARY_DIFFUSION_BASE_H
28 #define ANTIOCH_BINARY_DIFFUSION_BASE_H
29 
30 //C++
31 #include <vector>
32 
33 // Antioch
34 #include "antioch/metaprogramming_decl.h" // ANTIOCH_AUTO*
35 
36 namespace Antioch
37 {
39 
47  template<typename Subclass, typename CoeffType>
49  {
50  public:
51 
53 
54  virtual ~BinaryDiffusionBase(){};
55 
56  void reset_coeffs( const TransportSpecies<CoeffType> & s_i,
57  const TransportSpecies<CoeffType> & s_j );
58 
60 
70  template<typename StateType>
71  void extrapolate_max_temp(const StateType& Tmax);
72 
73  template <typename StateType>
74  const
75  ANTIOCH_AUTO(StateType)
76  operator()(const StateType & T, const StateType & molar_density) const
77  ANTIOCH_AUTOFUNC(StateType, static_cast<const Subclass*>(this)->op_impl(T, molar_density))
78 
79  };
80 
81  template<typename Subclass, typename CoeffType>
82  void BinaryDiffusionBase<Subclass,CoeffType>::reset_coeffs(const TransportSpecies<CoeffType> & s_i,
83  const TransportSpecies<CoeffType> & s_j )
84  {
85  static_cast<const Subclass*>(this)->reset_coeffs_impl(s_i,s_j);
86  }
87 
88  template<typename Subclass, typename CoeffType>
89  template<typename StateType>
91  {
92  static_cast<Subclass*>(this)->extrapolate_max_temp_impl(Tmax);
93  }
94 
95 } // end namespace Antioch
96 
97 #endif // ANTIOCH_BINARY_DIFFUSION_BASE_H
Class to encapsulate data relevant for transport for each chemical species.
void extrapolate_max_temp(const StateType &Tmax)
Extrapolate to input maximum temperature, given in [K].
void reset_coeffs(const TransportSpecies< CoeffType > &s_i, const TransportSpecies< CoeffType > &s_j)
Base class for binary diffusion models.
#define ANTIOCH_AUTOFUNC(Type, Expr)
const ANTIOCH_AUTO(StateType) KineticsTheoryThermalConductivity< ThermoEvaluator
The parameters are reduced parameters.

Generated on Thu Jul 7 2016 11:09:45 for antioch-0.4.0 by  doxygen 1.8.8