35 #include "TDepVolCteBase.h"
36 #include "TTurbineMap.h"
37 #include "TController.h"
55 int FNumControlObject;
57 bool FRackIsControlled;
64 int FNumeroTurbinaTGV;
69 int FTipoAjusteRdTurbina;
70 bool asgNumeroTurbina;
71 nmRendimientoTurbina FCalRendTurbina;
72 double FPresionSalida;
73 double FVelocidadSalida;
76 double FAsonidoSalida;
79 double FDiametroRodete;
80 double FDiametroTurbinaIn;
81 double FDiametroRodeteOut;
82 double FDiametroTuerca;
86 double FTrabajoRealPaso;
88 double FTrabajoFluido;
89 double FRendInstantaneo;
90 double *FRelacionCinAcum;
91 double FAjustRendTurb;
100 int *FSentidoEntrada;
101 double *FPresionEntrada;
102 double *FVelocidadEntrada;
103 double *FGastoEntrada;
104 double *FTempEntrada;
105 double *FAsonidoEntrada;
107 double *FTemp0Entrada;
108 double *FEntalpia0Entrada;
109 double *FPresion0Entrada;
110 double *FEntalpiaIsenSalida;
111 double *FRelacionCinematica;
112 double *FRendTurbina;
118 double FPotenciaPaso;
120 double FTrabajoIsenInstTotal;
121 double FRelacionCinGlobalAcum;
122 double *FPonderacionRelacionCinematica;
124 double *FGastoCorregido;
125 double *FRegimenCorregido;
126 double *FRelacionExpansion;
128 nmTurbineType FTipoTurbina;
139 void TransformaContorno(
double *L,
double *B,
double *E,
double *a,
double *v,
double *p,
int modo,
double Gamma);
145 double CpTurbineSimple(
double Temperature,
double YBurnt);
147 double CpTurbineComplete(
double YO2,
double YCO2,
double YH2O,
double Temperature);
154 void PutNumeroTurbina(
int NumeroTurbina) {
155 if(!asgNumeroTurbina) {
156 FNumeroTurbina = NumeroTurbina;
157 asgNumeroTurbina =
true;
159 std::cout <<
"ERROR: Esta turbina ya tiene numero asignada" << std::endl;
171 int getNumeroTurbina() {
172 return FNumeroTurbina;
175 int getNumeroEntradas() {
176 return FNumeroEntradas;
180 void PutRegimen(
double valor) {
188 double getPotenciaPaso() {
189 return FPotenciaPaso;
193 double GetRelacionCinematica(
int i);
195 virtual double GetEfficiency() = 0;
201 TTurbina(
int i, nmTipoDeposito TipoDeposito,
int nentradas, nmTipoCalculoEspecies SpeciesModel,
int numeroespecies,
202 nmCalculoGamma GammaCalculation,
bool ThereIsEGR);
206 void ActualizaPropiedades(
double TimeCalculo);
208 void LeeTurbina(
const char *FileWAM, fpos_t &filepos);
210 void AsignaDatosSalida(
int nodsaltur,
int tubsaltur,
int extremo,
int sentido);
212 virtual void ReadAverageResultsTurb(
const char *FileWAM, fpos_t &filepos) = 0;
214 virtual void CabeceraResultadosMedTurb(stringstream& medoutput) = 0;
216 virtual void ImprimeResultadosMedTurb(stringstream& medoutput) = 0;
218 virtual void IniciaMedias() = 0;
220 virtual void AcumulaMedias(
double Tiempo) = 0;
222 virtual void LeeResultadosInstantTurb(
const char *FileWAM, fpos_t &filepos) = 0;
224 virtual void CabeceraResultadosInstantTurb(stringstream& insoutput) = 0;
226 virtual void ImprimeResultadosInstantTurb(stringstream& insoutput) = 0;
228 virtual void ResultadosInstantTurb() = 0;
230 virtual void CalculaResultadosMediosTurb() = 0;
232 void AsignaDatosEntrada(
int nodentur,
int tubsaltur,
int extremo,
int sentido,
int n);
234 virtual void CalculaCondicionTurbina(
double TimeCalculo) = 0;
236 virtual void AsignaEntradaSalidaCC() = 0;
238 void CalculoPotenciaPaso();
240 virtual void ImprimeResultadosMediosPantalla() = 0;
242 void AsignaRackController(
TController **Controller);
246 void AsignTCHTM(
TTC_HTM *HTM) {
251 void CalculateAdiabaticMap(
double TinC);
253 double TempMeasure() {
254 return FMapa->TempMeasure();
258 void AsignAcousticElements(
TTubo **Pipe);