CG  Version 25
Chemkin.h
Go to the documentation of this file.
1 #include "Overture.h"
2 #include "Reactions.h"
3 
4 class Chemkin : public Reactions
5 {
6  public:
7  Chemkin();
8  Chemkin(const aString & chemistryFileName, const aString & transportFileName =nullString );
9  ~Chemkin();
10 
11  // ------ these functions are derived from the base class -----------------------------
12  virtual void reactionRates( const real & teS,
13  const RealArray & kb,
14  const RealArray & kf );
15  virtual void chemicalSource(const real & rhoS,
16  const real & teS,
17  const RealArray & y,
18  const RealArray & sigma,
19  const RealArray & sy=Overture::nullRealArray() );
20  virtual void chemicalSource(const RealArray & rhoS, const RealArray & teS,
21  const RealArray & y,
22  const RealArray & sigma,
23  const RealArray & sy=Overture::nullRealArray() );
24 
25  // molecular weight of a species (kg/mole)
26  virtual real mw(const int & species ) const;
27  // absolute enthalpy of a species
28  virtual real h(const int species, const real te );
29  virtual RealArray & h(const int species,
30  const RealArray & teS,
31  const RealArray & h0 );
32 
33  // cp of a species
34  virtual real cp(const int species, const real te );
35  virtual RealArray & cp(const int species,
36  const RealArray & teS,
37  const RealArray & cp0 );
38  virtual RealArray & entropy(const RealArray & teS,
39  const RealArray & pS,
40  const RealArray & y,
41  const RealArray & entropy );
42 
43  // new forms:
44  virtual RealArray & h(const RealArray & teS,
45  const RealArray & hi );
46  virtual RealArray & cp(const RealArray & teS,
47  const RealArray & cpi );
48  virtual RealArray & sigmaFromScaledPTY( const RealArray & pS,
49  const RealArray & teS,
50  const RealArray & y,
51  const RealArray & sigmai );
52  virtual RealArray & sigmaFromPTY( const RealArray & pS,
53  const RealArray & teS,
54  const RealArray & y,
55  const RealArray & sigmai );
56 
57  virtual RealArray & sigmaFromRPTY(const RealArray & rhoS,
58  const RealArray & pS,
59  const RealArray & teS,
60  const RealArray & y,
61  const RealArray & sigmai );
62 // virtual void chemistrySource( const RealArray & p,
63 // const RealArray & te,
64 // const RealArray & y,
65 // const RealArray & rho,
66 // const RealArray & source );
67 
68 
69  // mixture viscosity:
70  virtual RealArray & viscosity(const RealArray & teS,
71  const RealArray & y,
72  const RealArray & eta );
73  // mixture thermal conductivity
74  virtual RealArray & thermalConductivity(const RealArray & teS,
75  const RealArray & y,
76  const RealArray & lambda );
77  // mixture diffusion coefficients
78  virtual RealArray & diffusion(const RealArray & pS,
79  const RealArray & teS,
80  const RealArray & y,
81  const RealArray & lambda );
82 
83  // ------------------------------------------------------------------------------------------
84 
85  int initialize(const aString & chemistryFileName,
86  const aString & transportFileName=nullString); // supply a Chemkin binary file to read
87 
88  int rhoY( const RealArray & pS,
89  const RealArray & teS,
90  const RealArray & yS,
91  const RealArray & rhoS );
92  int cpBS( const RealArray & teS,
93  const RealArray & y,
94  const RealArray & cp );
95  int wYP( const RealArray & pS,
96  const RealArray & teS,
97  const RealArray & y,
98  const RealArray & wDot );
99 
100 
101  protected:
102  intArray iwork, imcwrk; // work arrays for Chemkin and the transport routines
103  RealArray rwork, rmcwrk;
104 
105  char *cwork;
107 
108 };
109 
110