OpenWAM
TIsoSpeedLine.h
1 /* --------------------------------------------------------------------------------*\
2 ==========================|
3  \\ /\ /\ // O pen | OpenWAM: The Open Source 1D Gas-Dynamic Code
4  \\ | X | // W ave |
5  \\ \/_\/ // A ction | CMT-Motores Termicos / Universidad Politecnica Valencia
6  \\/ \// M odel |
7  ----------------------------------------------------------------------------------
8  License
9 
10  This file is part of OpenWAM.
11 
12  OpenWAM is free software: you can redistribute it and/or modify
13  it under the terms of the GNU General Public License as published by
14  the Free Software Foundation, either version 3 of the License, or
15  (at your option) any later version.
16 
17  OpenWAM is distributed in the hope that it will be useful,
18  but WITHOUT ANY WARRANTY; without even the implied warranty of
19  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20  GNU General Public License for more details.
21 
22  You should have received a copy of the GNU General Public License
23  along with OpenWAM. If not, see <http://www.gnu.org/licenses/>.
24 
25 
26  \*-------------------------------------------------------------------------------- */
27 
28 // ---------------------------------------------------------------------------
29 #ifndef TIsoSpeedLineH
30 #define TIsoSpeedLineH
31 
32 #include <vector>
33 #include <iostream>
34 
35 // #include "interp_1d.h"
36 #include "Globales.h"
37 #include "TTC_HTM.h"
38 
39 // ---------------------------------------------------------------------------
40 
42  private:
43 
44  double FSpeed;
45  double FERMax;
46  double FERMin;
47  dVector FExpansionRatio;
48  dVector FExpansionRatioAdim;
49  dVector FReducedAirMassFlow;
50  dVector FReducedAirMassFlowAdim;
51  dVector FEfficiency;
52  dVector StatorEffectiveSection;
53  dVector RotorEffectiveSection;
54  dVector FPower;
55  double FPowerMin;
56  double FPowerMax;
57  int FNumDatos;
58 
59  Base_interp *iStator;
60  Base_interp *iRotor;
61  Base_interp *iEfficiency;
62 
63  public:
64 
65  TIsoSpeedLine();
66  ~TIsoSpeedLine();
67 
68  void ReadIsoSpeed(int point, FILE *Input);
69 
70  void AsignaValores(double ER, double MF, double EF);
71 
72  void EffectiveSection(double Area, bool CalculaGR, double Angle, double Diam1, double Diam2, double Diam3,
73  double n_limit);
74 
75  void CalculatePower(double Tin);
76 
77  void PutSpeed(double sp);
78 
79  double Speed() /* {return FSpeed;} */;
80 
81  double ERMax() /* {return FERMax;} */;
82 
83  double ERMin() /* {return FERMin;} */;
84 
85  double PowerMin() {
86  return FPowerMin;
87  }
88 
89  double PowerMax() {
90  return FPowerMax;
91  }
92 
93  double Stator(double ERAdim);
94 
95  double Rotor(double ERAdim);
96 
97  double Efficiency(double ERAdim);
98 
99  void Adimensionaliza();
100 
101  void GetAdiabaticEfficiency(TTC_HTM *HTM, double TinT, double TinC);
102 
103  void PrintEffectiveSection(FILE *fich);
104 
105 };
106 
107 #endif
TIsoSpeedLine
Definition: TIsoSpeedLine.h:41
TTC_HTM
Definition: TTC_HTM.h:307
Base_interp
Definition: Math_wam.h:285
dVector
std::vector< double > dVector
Double vector.
Definition: Math_wam.h:70