OpenWAM
TEffCorrector.h
1 // ---------------------------------------------------------------------------
2 
3 #ifndef TEffCorrectorH
4 #define TEffCorrectorH
5 // ---------------------------------------------------------------------------
6 
7 #include "Globales.h"
8 
10  double AF; // Air fuel ratio
11  double Humidity; // Humidity
12  double MassFlow; // Mass flow (kg/s)
13  double IT_C; // Inlet temperature (degC)
14  double IT_K; // Inlet temperature (K)
15  double IP; // Inlet pressure (bar)
16  double PR; // Pressure ratio (-)
17  double RTC_C; // Corrected speed (rpm)
18  double TISO_K; // Isoentropic outlet temperature (K)
19  double TREF_K; // Reference map temperature (K)
20  double PREF; // Reference map pressure (K)
21  double TMAP_K; // Original map measurement temperature (K)
22  double MassFlowC; // Corrected mass flow (kg/s)
23  double EFF; // Efficiency
24  double T0_K; // Stagnation temperature (K)
25  double Cp; // Heat capacity
26  double SecIn; // Inlet section (m^3)
27 
28  double funCORRMass() {
29  return MassFlow * sqrt(IT_K / TREF_K) / (IP / PREF);
30  }
31  ;
32 
33  double funUnCORRMass() {
34  return MassFlowC * (IP / PREF) / sqrt(IT_K / TREF_K);
35  }
36  ;
37 
38  double funCORRRTC(double RTC) {
39  return RTC / sqrt(IT_K / TREF_K);
40  }
41  ;
42 
43  double funUnCORRRTC() {
44  return RTC_C * sqrt(IT_K / TREF_K);
45  }
46  ;
47 
48  double funTiso(double g, double sig) {
49  return IT_K * pow(PR, sig * (g - 1) / g);
50  }
51  ;
52 
53  double funT0() {
54  return IT_K + pow2(MassFlow * 287 * IT_K / IP / SecIn) / 2 / Cp;
55  }
56  ;
57 
58  double funP0(double g) {
59  return IP * pow(T0_K / IT_K, (g - 1) / g);
60  }
61  ;
62 };
63 
65  private:
66 
69 
70  int TurbineNode;
71  int CompressorNode;
72  int OilNode;
73 
74  // Input oil data
75  double FO_MassFlow; // Oil mass flow (kg/s)
76  double FO_IT_C; // Oil inlet temperature (degC)
77  double FO_IT_K; // Oil inlet temperature (K)
78  double FO_IP; // Oil inlet pressure (bar)
79 
80  // Input data turbocharger
81  double FRTC; // Turbocharger Speed (rpm)
82 
83  double FNumberNodes;
84 
85  dMatrix FMatriz_KS;
86  dVector FNode_Temp_K;
87 
88  dMatrix FMatrix_dT;
89  dMatrix FMatrix_HF;
90 
91  inline double K_T_H1() {
92  return 12.00;
93  }
94  ;
95 
96  inline double K_H1_H2() {
97  return 12.11;
98  }
99  ;
100 
101  inline double K_H2_H3() {
102  return 20.05;
103  }
104  ;
105 
106  inline double K_H3_C() {
107  return 3.74;
108  }
109  ;
110 
111  inline double hAk_GAS_T(double Re_mass_tur, double Re_shaft) {
112  return 0.306 * pow(Re_mass_tur, 0.965) * pow(Re_shaft, -0.417);
113  }
114  ;
115 
116  inline double hAk_H1_OIL(double Re_mass_oil, double Re_shaft, double Pr_oil, double mu_oil_h1) {
117  return 2.7 * pow(Re_mass_oil, 1.46) * pow(Re_shaft, -1.12) * cbrt(Pr_oil) * pow(mu_oil_h1, -0.69);
118  }
119  ;
120 
121  inline double hAk_H2_OIL(double Re_mass_oil, double Re_shaft, double Pr_oil, double mu_oil_h2) {
122  return 6.2e-3 * pow(Re_mass_oil, 3.83) * pow(Re_shaft, -2.02) * cbrt(Pr_oil) * pow(mu_oil_h2, -1.02);
123  }
124  ;
125 
126  inline double hAk_H3_OIL(double Re_mass_oil, double Re_shaft, double Pr_oil, double mu_oil_h3) {
127  return 6.6e-3 * pow(Re_mass_oil, -0.128) * pow(Re_shaft, 1.25) * cbrt(Pr_oil) * pow(mu_oil_h3, -0.876);
128  }
129  ;
130 
131  inline double hAk_H3_AIR(double Re_mass_com) {
132  return 14.3 * pow(Re_mass_com, 0.225);
133  }
134  ;
135 
136  inline double hAk_C_AIR(double Re_mass_com) {
137  return 2.6e-2 * pow(Re_mass_com, 0.942);
138  }
139  ;
140 
141  double Turb_Heat_Flow();
142 
143  double Comp_Heat_Flow();
144 
145  double Oil_Heat_Flow();
146 
147  public:
148  TEffCorrector();
149 
150  ~TEffCorrector();
151 
152  void InputData(double T_AF, double T_Humidity, double T_MassFlow, double T_IT_C, double T_IP, double T_PR,
153  double C_Humidity, double C_MassFlow, double C_IT_C, double C_IP, double C_PR, double O_MassFlow, double O_IT_C,
154  double O_IP, double RTC);
155 
156  void BuidMatrix();
157 
158  void SolveNodeTemperatures(double TET, double TEC, double TOIL);
159 
160  void SolveHeatFlowMatix();
161 
162  void SolveDeltaTemp();
163 
164 };
165 #endif
TEffCorrector
Definition: TEffCorrector.h:64
stTurbomachinery
Definition: TEffCorrector.h:9
dMatrix
std::vector< std::vector< double > > dMatrix
2-dimensional double matrix
Definition: Math_wam.h:71
pow2
T pow2(T x)
Returns x to the power of 2.
Definition: Math_wam.h:88
dVector
std::vector< double > dVector
Double vector.
Definition: Math_wam.h:70