OpenWAM
Source
Turbocompressor
TMapaComp.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 TMapaCompH
30
#define TMapaCompH
31
32
#include <cstdio>
33
#include "
Constantes.h
"
34
#include "Globales.h"
35
#include "TCompressorMap.h"
36
37
// ---------------------------------------------------------------------------
38
// ---------------------------------------------------------------------------
39
40
class
TMapaComp
:
public
TCompressorMap
{
41
private
:
42
// ---------------------------------------------------------------------------
43
// VARIABLES PRIVADAS
44
// ---------------------------------------------------------------------------
45
46
int
FNumeroCompresor;
// Numero del compresor al que pertenece el mapa.
47
double
FPresionRef;
// Pressure de referencia
48
double
FTempRef;
// Temperature de referencia
49
double
FRegMin;
// Curva de minimo regimen
50
double
FRegMax;
// Curva de maximo regimen
51
double
FRegComp;
// Regimen current
52
double
FIncReg;
// Incremento de regimen entre curvas
53
int
FNumCurvasReg;
// Numero total de curvas de regimen
54
double
FGastoMin;
// Massflow minimo
55
double
FGastoMax;
// Massflow maximo
56
double
FIncGasto;
// Incremento de massflow entre puntos del mapa
57
int
FNumPuntosGasto;
// Numero de puntos de massflow de las curvas
58
int
FNumCurvasRendMax;
// Numero maximo de curvas de rendimiento maximo de todas las curvas
59
int
*FNumCurvasRen;
// Numero de curvas de rendimiento
60
int
*FNumCurvasRenAd;
// Numero de curvas de rendimiento adimensionalizado
61
double
*FGastoRelComp1;
// Massflow de la curva para relacion de compresion = 1
62
double
*FGastoBombeo;
// Massflow de la curva de regimen cuando corta la de bombeo
63
double
*FRelCompBombeo;
// Relacion de compresion del punto de bombeo
64
double
**FRelComp;
// Relacion de compresion para los diferentes gastos
65
double
**FGastoRend;
// Massflow para cada punto de rendimiento
66
double
**FRend;
// Valores de rendimiento del compresor
67
68
stSpline
*FSpl;
// Variables auxiliares rutina Spline
69
stOrtoPol
*FOrtp;
// Variables auxiliares rutina PolOrtogonal
70
71
double
*FCoefSplBombeo;
72
double
*FCoefSplRC;
73
double
*FRegimenCurva;
74
double
**FCoefbSup;
75
double
**FCoefbInf;
76
double
**FCoefcSup;
77
double
**FCoefcInf;
78
double
**FCoefdSup;
79
double
**FCoefdInf;
80
int
FNumTerms;
81
double
*FCoefbX;
82
double
*FCoefcX;
83
double
*FCoefdX;
84
85
double
FRendCurvaBombeo;
// Varialbes para la creacion de las curvas de rendimiento con el massflow adimensionalizado
86
double
FRendGastoMaximo;
87
double
**FGastoAdim;
88
double
**FRendAdim;
89
double
**FCoefSplRend;
90
91
int
FNumPuntos;
92
double
*FGastoInt;
93
double
*FRelCompInt;
94
95
double
FGastoBombeoX;
96
double
FGastoRelComp1X;
97
double
FRelCompBombeoX;
98
double
FCurrentPresMAX;
99
int
FCurvInf;
100
101
// ---------------------------------------------------------------------------
102
// FUNCIONES PRIVADAS
103
// ---------------------------------------------------------------------------
104
105
void
Spline(
int
n,
double
*x,
double
*y,
double
*sol);
106
107
void
PolOrtogonal(
int
nterms,
int
npoint,
double
*ma,
double
*rd,
double
*w,
double
*b,
double
*c,
double
*d);
108
109
double
EvaluaSpline(
double
punto,
int
n,
double
*x,
double
*y,
double
*sol);
110
111
void
ImprimeMapa();
112
113
// ---------------------------------------------------------------------------
114
// ---------------------------------------------------------------------------
115
116
public
:
117
118
// ---------------------------------------------------------------------------
119
// VARIABLES PRIVADAS
120
// ---------------------------------------------------------------------------
121
122
int
getNumPuntos() {
123
return
FNumPuntos;
124
}
125
;
126
127
double
getTempRef() {
128
return
FTempRef;
129
}
130
;
131
132
double
getPresionRef() {
133
return
FPresionRef;
134
}
135
;
136
137
double
GetRelCompInt(
int
i);
138
139
double
GetGastoInt(
int
i);
140
141
double
getGastoRelComp1() {
142
return
FGastoRelComp1X;
143
}
144
;
145
146
double
getGastoBombeo() {
147
return
FGastoBombeoX;
148
}
149
;
150
151
double
getRelCompBombeo() {
152
return
FRelCompBombeoX;
153
}
154
;
155
156
double
getRegimenCorregido() {
157
return
FRegComp;
158
}
159
;
160
161
double
getMaxCompRatio() {
162
return
FCurrentPresMAX;
163
}
164
;
165
166
double
getTempMeasure() {
167
return
300;
168
}
169
;
170
171
// ---------------------------------------------------------------------------
172
// FUNCIONES PUBLICAS
173
// ---------------------------------------------------------------------------
174
175
TMapaComp
(
int
i);
176
177
~
TMapaComp
();
178
179
void
LeeMapa(FILE *fich);
180
181
void
InterpolaMapa(
double
rtc,
double
AmbientTemperature);
182
183
double
EvaluaRendimiento(
double
MasaAire);
184
185
double
EvaluaRendSplines(
double
MasaAire);
186
187
double
EvaluaRCSplines(
double
MasaAire);
188
189
double
EvaluaRCHermite(
double
Massflow);
190
191
double
BuscaRegimen(
double
RC,
double
Massflow,
double
AmbientTemperature);
192
193
void
CalculateAdiabaticEfficiency(
TTC_HTM
*HTM,
double
TinT) {
194
}
195
;
196
197
};
198
199
#endif
TMapaComp
Definition:
TMapaComp.h:40
stSpline
Definition:
Globales.h:911
Constantes.h
TTC_HTM
Definition:
TTC_HTM.h:307
stOrtoPol
Definition:
Globales.h:925
TCompressorMap
Definition:
TCompressorMap.h:12
Generated on Wed Jul 28 2021 05:16:03 for OpenWAM by
1.8.17