OpenWAM
TTubo.h
Go to the documentation of this file.
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 
53 //---------------------------------------------------------------------------
54 #ifndef TTuboH
55 #define TTuboH
56 #include <cstdio>
57 #include <iostream>
58 #ifdef __BORLANDC__
59 #include <vcl.h>
60 #endif
61 //#include <cmath>
62 #include "TCondicionContorno.h"
63 #include "TDeposito.h"
64 #include "TBloqueMotor.h"
65 #include "TCCUnionEntreTubos.h"
66 #include "TCCCilindro.h"
67 #include "TCCDeposito.h"
68 #include "TDPF.h"
69 #include "Constantes.h"
70 #include "Globales.h"
71 //#include "roots.h"
72 
73 //---------------------------------------------------------------------------
74 //---------------------------------------------------------------------------
75 
76 class TCondicionContorno;
77 class TBloqueMotor;
78 class TDeposito;
79 
80 struct stFunDisCar {
81  double A_0;
82  double A_1;
83  double V_0;
84  double V_1;
85  double D_t;
86  double Sign;
87 
88  stFunDisCar(double a0, double a1, double v0, double v1, double dt, double sg) {
89  A_0 = a0;
90  A_1 = a1;
91  V_0 = v0;
92  V_1 = v1;
93  D_t = dt;
94  Sign = sg;
95  }
96  double operator()(double x) {
97  double xx = 1 - x;
98  if(Sign > 0) {
99  double a = A_0 * xx + A_1 * x;
100  double v = V_0 * xx + V_1 * x;
101  return x - (a - v) * D_t;
102  } else {
103  double a = A_0 * x + A_1 * xx;
104  double v = V_0 * x + V_1 * xx;
105  return xx - (a + v) * D_t;
106  }
107  }
108 };
109 
116 class TTubo {
117  private:
118 //---------------------------------------------------------------------------
119 // VARIABLES PRIVADAS
120 //---------------------------------------------------------------------------
121 
122  int FTuboCCNodoIzq;
123  int FTuboCCNodoDer;
124 
125  // Datos Geometricos
126 
127  int FNumeroTubo;
128  int FNodoIzq;
129  int FNodoDer;
130  int FNin;
131  int FJClase;
132  double FXref;
133  double FLongitudTotal;
134  double FMallado;
135  int FNTramos;
136  nmTipoMallado FTipoMallado;
137  double *FLTramo;
138  double *FDExtTramo;
139  double *FDiametroTubo;
140  double *FDiametroD12;
141  double *FDiametroS12;
142  double *FArea;
143  double *FArea12;
144  double *FDerLin;
145  double *FDerLin12;
146  double *FDerLinArea;
147  double *FDerLinArea12;
148  bool FIntercooler;
149  bool FConcentrico;
150  int FNumeroConductos;
151 
152  // Propiedades termicas y friccion
153 
154  double FFriccion;
155  nmTipoTransCal FTipoTransCal;
156  double FCoefAjusFric;
157  double FCoefAjusTC;
158  double FEspesorIntPrin;
159  double FEspesorExtPrin;
160  double FEspesorPrin;
161  double FDensidadPrin;
162  double FCalEspPrin;
163  double FConductPrin;
164  double FTRefrigerante;
165  nmRefrigerante FTipRefrig;
166  int FTctpt;
167  nmTipoCalcTempParedTubos FTipoCalcTempPared;
168  double FTIniParedTub;
169  double *FVelPro;
170  double *FCoefTurbulencia;
171  double ***FSUMTPTuboPro;
172  double FSUMTime;
173  double **FTPTubo;
174  double **FTParedAnt;
175  double FTExt;
176  //double FAlpha;
177  double FCoefExt;
178  double *Fhi;
179  double *Fhe;
180  double *Frho;
181  double *FRe;
182  stCapa *FCapa;
183  int FNumCapas;
184  double FEmisividad;
185  double *FResistRadInt;
186  double *FResistRadExt;
187  double *FResistAxiAnt;
188  double *FResistAxiPos;
189  double *FCapInt;
190  double *FCapMed;
191  double *FCapExt;
192 
193  // Propiedades termofluidodinamicas
194 
195  double FVelMedia;
196  double FTini;
197  double FPini;
198  double *FPresion0;
199  double *FAsonido0;
200  double *FVelocidad0;
201  double *FPresion1;
202  double *FAsonido1;
203  double *FVelocidad1;
204  double *FVelocidadDim;
205  double *FAsonidoDim;
206  double *FTemperature;
207  double *FFlowMass;
208 
209  // Vectores metodo de calculo
210 
211  stModeloCalculoTubos FMod;
212  double **FU0;
213  double **FU0Sum;
214  double **FU0Medio;
215  double *FVelocidadMedia;
216  double *FAsonidoMedia;
217  double *FPresionMedia;
218  double **FU1;
219  double **FUt;
220  double **FU12;
221  double **FW;
222  double **FV1;
223  double **FV2;
224  double FCcese;
225 
226  // Vectores del flux corrected transport
227 
228  double **FUfct0;
229  double **FUfct1;
230  double **FUfctd;
231  double **FUfctad;
232  double **Ffl;
233  double **FdU;
234  double **FDeltaFCTd;
235  double **FflU;
236  double **FaU;
237 
238  // Vectores de TVD Davis
239 
240  //double **FTVD;
241  //double **FTVDdU;
242  //double *FTVDpp;
243  //double *FTVDpn;
244  //double *FTVDphp;
245  //double *FTVDphn;
246  //double *FTVDrp;
247  //double *FTVDrn;
248  //double *FTVDGn;
249  //double *FTVDGp;
250 
251  // Variables del TVD
252 
253  stTVD FTVD;
254  double *sqrtRhoA;
255 
256  // Calculo Especies
257 
258  int FNumeroEspecies;
259  nmTipoCalculoEspecies FCalculoEspecies;
260  nmCalculoGamma FCalculoGamma;
261  double *FComposicionInicial;
262  double **FFraccionMasicaEspecie;
263  double **FFraccionMasicaCC;
264  bool FHayEGR;
265  int FIntEGR;
266 
267  int FNumEcuaciones;
268 
269  double *FVelocidadCC;
270  double *FDensidadCC;
271  double *FAreaCC;
272  double *FGamma;
273  double *FRMezcla;
274  double *FCpMezcla;
275  double *FCvMezcla;
276  double FGammaN;
277 
278  double *FGamma1;
279  double *FGamma3;
280  double *FGamma4;
281  double *FGamma5;
282  double *FGamma6;
283 
284  // Tiempos
285 
286 // double FTime0; //!< Time at current time step
287 // double FTime1; //!< Time at following time step
288 // double FDeltaTime; //!< Time step
289  double *FCourantLocal;
290  double FCourant;
291 
292  // Resultados medios e instantaneos
293 
294  stResMediosTubo *ResultadosMedios;
295  int FNumResMedios;
296  stResInstantTubo *ResultInstantaneos;
297  int FNumResInstant;
298  double FTiempoMedSUM;
299  double FControlResMed;
300  stSensoresTubo *Sensor;
301  int FNumDistSensores;
302 
303  double FAnguloTotalCiclo;
304  double FRegimenFicticio;
305 
306  int FCicloTubo;
307  int FCicloActual; // !< Number of the current cycle when there is not engine in the configuration
308  double FDuracionCiclo; // !< Cycle duration (in time) to calculate wall temperature convergence when there is not engine in the configuration
309  int FNumCiclosSinInerciaTermica; // !< Number of cycles without thermal inertia consideration when there is not engine in the configuration
310 
311  TDPF *FDPFSalidaTubo; // DPF connected to the outlet of the duct
312  TDPF *FDPFEntradaTubo; // DPF connected to the inlet of the duct
313  bool FHayDPFNodoIzq; // bool to identify DPF connected at the inlet of the duct
314  bool FHayDPFNodoDer; // bool to identify DPF connected at the outlet of the duct
315  int FNodoDPFEntrada; // Node of the DPF connected to the inlet of the duct
316  int FNodoDPFSalida; // Node of the DPF connected to the outlet of the duct
317  int *FTipoCanal; // bool to identify DPF connected at the outlet of the duct
318 
319 //---------------------------------------------------------------------------
320 // FUNCIONES PRIVADAS
321 //---------------------------------------------------------------------------
322 
324  void CalculoPuntosMalla(double ene
325  );
326 
327  //double InterpolaTubo(double vizq,double vder,double axid,double xif);
328 
330  void Transforma1(const double& v,
331  const double& a,
332  const double& p,
333  double** U,
334  const double& Gamma,
335  const double& Gamma1,
336  double* Yespecie,
337  const int& i
338  );
339 
341  void Transforma1Area(const double& v,
342  const double& a,
343  const double& p,
344  double** U,
345  const double& area,
346  const double& Gamma,
347  const double& Gamma1,
348  double* Yespecie,
349  const int& i
350  );
351 
353  void Transforma2(double& v,
354  double& a,
355  double& p,
356  double** U,
357  const double& Gamma,
358  const double& Gamma1,
359  double* Yespecie,
360  const int& i
361  );
362 
364  void Transforma2Area(double& v,
365  double& a,
366  double& p,
367  double** U,
368  const double& area,
369  const double& Gamma,
370  const double& Gamma1,
371  double* Yespecie,
372  const int& i
373  );
374 
376  void Transforma3Area(double** Ufct,
377  double** U,
378  double Area,
379  double Gamma,
380  double Gamma1,
381  double Gamma6,
382  int i
383  );
384 
386  void Transforma4Area(double** U1,
387  double** Ufctd,
388  double Area,
389  double Gamma,
390  double Gamma1,
391  double Gamma3,
392  double Gamma4,
393  double Gamma6,
394  int i
395  );
396 
398  double Maximo(double x,
399  double y
400  );
401 
403  double Minimo(double x,
404  double y
405  );
406 
408  void LaxWendroff();
409 
411  void LaxWendroffArea();
412 
414  void FluxCorrectedTransport();
415 
417  void CalculaFlujo(double** U,
418  double** W,
419  double* Gamma,
420  double* Gamma1,
421  int Nodos
422  );
423 
425  void CalculaFuente1(double** U,
426  double** V1,
427  double* Gamma,
428  double* Gamma1,
429  int Nodos
430  );
431 
433  void CalculaFuente1Area(double** U,
434  double** V1,
435  double* Area,
436  double* Gamma1,
437  int Nodos
438  );
439 
441  void CalculaFuente2(double** U,
442  double** V2,
443  double* Area,
444  double* hi,
445  double* rho,
446  double* Re,
447  double* TempParedTubo,
448  double* Gamma,
449  double* Rmezcla,
450  double* Gamma1,
451  int Nodos
452  );
453 
455  void CalculaFuente2Area(double** U,
456  double** V2,
457  double* Area,
458  double* hi,
459  double* rho,
460  double* Re,
461  double* TempParedTubo,
462  double* Gamma,
463  double* Rmezcla,
464  double* Gamma1,
465  int Nodos
466  );
467 
469  double DerLinF(double d1,
470  double d2,
471  double xref
472  );
473 
475  double DerLinFArea(double area1,
476  double area2,
477  double xref
478  );
479 
481  void Colebrook(double rug,
482  double dia,
483  double& f,
484  double Re
485  );
486 
488  void TransmisionCalor(double tgas,
489  double diametro,
490  double& q,
491  double hi,
492  double rho,
493  double Tw
494  );
495 
497  void TransformaContorno(double& L,
498  double& B,
499  double& E,
500  double& a,
501  double& v,
502  double& p,
503  const int& modo,
504  const double& Gamma1,
505  const double& Gamma3,
506  const double& Gamma4,
507  const double& Gamma5
508  );
509 
511  double CalculaNIT(double a,
512  double v,
513  double p,
514  double d,
515  double Gamma, double Rmezcla);
516 
517  //void FuncionTVD();
518 
520  void Calculo_Entropia(double& entropia,
521  double& velocidadp,
522  int ind,
523  double dist,
524  int signo,
525  double DeltaTiempo,
526  int indiceCC
527  );
528 
530  void Calculo_Caracteristica(double& caracteristica,
531  double& velocidadp,
532  double& asonidop,
533  int ind,
534  double dist,
535  int signo,
536  double entropia,
537  double DeltaTiempo
538  );
539 
541  void CalculaB();
542 
544  void CalculaBmen();
545 
547  void CalculaBmas();
548 
550  void CalculaMatrizJacobiana();
551 
553  void TVD_Estabilidad();
554 
556  void TVD_Limitador();
557 
558  void RoeConstants();
559 
561  void DimensionaTVD();
562 
564  double Limita(double r
565  );
566 
567  public:
568 //---------------------------------------------------------------------------
569 // VARIABLES PUBLICAS
570 //---------------------------------------------------------------------------
571 
579  int getNumeroTubo() const;
580 
588  int getNodoIzq() const;
589 
597  int getNodoDer() const;
598 
599  int getNin() {
600  return FNin;
601  }
602  ;
603  int getNumeroConductos() {
604  return FNumeroConductos;
605  }
606  ;
607  double getXRef() {
608  return FXref;
609  }
610  ;
611 
619  double getLongitudTotal() const;
620 
621  nmTipoTransCal getTipoTransCal() {
622  return FTipoTransCal;
623  }
624  ;
625  double getCoefAjustTC() {
626  return FCoefAjusTC;
627  }
628  ;
629  double getCoefAjustFric() {
630  return FCoefAjusFric;
631  }
632  ;
633  double getFriccion() {
634  return FFriccion;
635  }
636  ;
637  double getEmisividad() {
638  return FEmisividad;
639  }
640  ;
641  bool getConcentrico() {
642  return FConcentrico;
643  }
644  ;
645  double getDuracionCiclo() {
646  return FDuracionCiclo;
647  }
648  ;
649  double getNumCiclosSinInerciaTermica() {
650  return FNumCiclosSinInerciaTermica;
651  }
652  ;
653  nmTipoCalcTempParedTubos getTipoCalcTempPared() {
654  return FTipoCalcTempPared;
655  }
656  ;
657  double getAnguloTotalCiclo() {
658  return FAnguloTotalCiclo;
659  }
660  ;
661  double getTExt() {
662  return FTExt;
663  }
664  ;
665  double getEspesorIntPrin() {
666  return FEspesorIntPrin;
667  }
668  ;
669  double getConductPrin() {
670  return FConductPrin;
671  }
672  ;
673  double getEspesorPrin() {
674  return FEspesorPrin;
675  }
676  ;
677  double getDensidadPrin() {
678  return FDensidadPrin;
679  }
680  ;
681  double getCalEspPrin() {
682  return FCalEspPrin;
683  }
684  ;
685  bool getHayDPFNodoDer() {
686  return FHayDPFNodoDer;
687  }
688  ;
689  bool getHayDPFNodoIzq() {
690  return FHayDPFNodoIzq;
691  }
692  ;
693  int getNumCapas() {
694  return FNumCapas;
695  }
696  ;
698  return FDPFEntradaTubo;
699  }
700  ;
701  TDPF* getDPFSalida() {
702  return FDPFSalidaTubo;
703  }
704  ;
705  int getNodoDPFEntrada() {
706  return FNodoDPFEntrada;
707  }
708  ;
709  int getNodoDPFSalida() {
710  return FNodoDPFSalida;
711  }
712  ;
713 
714  double FTime0;
715 
723  double getTime0() const;
724 
732  void PutTime0(double valor);
733 
734  double FTime1;
735 
743  double getTime1() const;
744 
752  void PutTime1(double valor);
753 
754  double FDeltaTime;
755 
763  double getDeltaTime() const;
764 
772  void PutDeltaTime(double valor);
773 
781  double getMallado() const;
782 
791  double GetDensidad(int i) const;
792 
801  double GetArea(int i) const;
802 
811  double GetDiametro(int i) const;
812 
821  double GetVelocidad(int i) const;
822 
831  double GetAsonido(int i) const;
832 
841  double GetPresion(int i) const;
842 
852  double GetTPTubo(int j, int i) const;
853 
863  void PutTPTubo(int k, int i, double valor);
864 
874  double GetTPTuboAnt(int j, int) const;
875 
884  double GetVelPro(int i) const;
885 
894  void PutVelPro(int i, double valor);
895 
904  double GetCoefTurbulencia(int i) const;
905 
913  double getTemperaturaInicial() const;
914 
922  double getTempWallIni() const;
923 
931  double getPresionInicial() const;
932 
940  double getVelocidadMedia() const;
941 
950  double GetFraccionMasicaInicial(int i) const;
951 
953  double GetFraccionMasicaCC(int j,
954  int i
955  ) {
956  return FFraccionMasicaCC[j][i];
957  }
958  ;
959 
961  double GetVelocidadCC(int i
962  ) {
963  return FVelocidadCC[i];
964  }
965  ;
966 
968  double GetDensidadCC(int i
969  ) {
970  return FDensidadCC[i];
971  }
972  ;
973 
975  double GetAreaCC(int i
976  ) {
977  return FAreaCC[i];
978  }
979  ;
980 
987  double GetGamma(int i) const;
988 
995  double GetRMezcla(int i) const;
996 
1004  double GetCpMezcla(int i) const;
1005 
1013  double GetCvMezcla(int i) const;
1014 
1015  nmFormulacionLeyes getFormulacionLeyes() {
1016  return FMod.FormulacionLeyes;
1017  }
1018  ;
1020  double GetU0(int i,
1021  int j
1022  ) {
1023  return FU0[i][j];
1024  }
1025  ;
1026 
1029  double Gethi(int i
1030  ) {
1031  return Fhi[i];
1032  }
1033  ;
1034 
1037  double Gethe(int i
1038  ) {
1039  return Fhe[i];
1040  }
1041  ;
1042 
1045  stCapa GetCapa(int i) {
1046  return FCapa[i];
1047  }
1048  ;
1049 
1052  int GetTipoCanal(int i) {
1053  return FTipoCanal[i];
1054  }
1055  ;
1056 
1057  void PutConcentric(double valor) {
1058  valor == 0 ? FConcentrico = false : FConcentrico = true;
1059  }
1060  ;
1061 
1062 //---------------------------------------------------------------------------
1063 // FUNCIONES PUBLICAS
1064 //---------------------------------------------------------------------------
1065 
1067  TTubo(int SpeciesNumber,
1068  int j,
1069  double SimulationDuration,
1070  TBloqueMotor **Engine,
1071  nmTipoCalculoEspecies SpeciesModel,
1072  nmCalculoGamma GammaCalculation,
1073  bool ThereIsEGR
1074  );
1075 
1077  ~TTubo();
1078 
1080  void LeeDatosGeneralesTubo(const char*FileWAM,
1081  fpos_t&filepos
1082  );
1083 
1085  void LeeDatosGeometricosTubo(const char* FileWAM,
1086  fpos_t& filepos,
1087  double ene,
1088  int tipomallado,
1089  TBloqueMotor ** Engine
1090  );
1091 
1094 
1097  TBloqueMotor ** Engine,
1098  double AmbientTemperature
1099  );
1100 
1102  void EstabilidadMetodoCalculo();
1103 
1106 
1109  );
1110 
1112  void ReduccionFlujoSubsonico();
1113 
1116 
1118  void ReadAverageResultsTubo(const char* FileWAM,
1119  fpos_t& filepos,
1120  bool HayMotor
1121  );
1122 
1124  void HeaderAverageResults(std::stringstream& medoutput,
1125  stEspecies* DatosEspecies
1126  ) const;
1127 
1129  void ImprimeResultadosMedios(std::stringstream& medoutput
1130  ) const;
1131 
1133  void ReadInstantaneousResultsTubo(const char* FileWAM,
1134  fpos_t& filepos,
1135  bool HayMotor
1136  );
1137 
1139  void HeaderInstantaneousResults(std::stringstream& insoutput,
1140  stEspecies* DatosEspecies
1141  ) const;
1142 
1144  void ImprimeResultadosInstantaneos(std::stringstream& insoutput
1145  ) const;
1146 
1148  void CalculaResultadosMedios(double Theta
1149  );
1150 
1153 
1155  void SalidaGeneralTubos(stEspecies* DatosEspecies
1156  ) const;
1157 
1159  void CalculaTemperaturaPared(TBloqueMotor ** Engine,
1160  double Theta,
1161  double CrankAngle,
1162  TCondicionContorno ** BC
1163  );
1164 
1165  void CalculaTemperaturaParedSinMotor(TCondicionContorno **BC);
1166 
1168  void AjustaPaso(double Intervalo
1169  );
1170 
1173  double DeltaTiempo
1174  );
1175 
1177  double Interpola_Entropia(nmPipeEnd TipoExtremoTubo,
1178  double DeltaTiempo
1179  );
1180 
1182  double Interpola_Caracteristica(double entropia,
1183  int signo,
1184  int extremo,
1185  double DeltaTiempo
1186  );
1187 
1190  );
1191 
1194  TDeposito **Deposito
1195  );
1196 
1199  );
1200 
1203  double AmbientPressure,
1204  double AmbientTemperature
1205  );
1206 
1209  );
1210 
1213  );
1214 
1216  void ActualizaPropiedadesGas();
1217 
1219  double GetFraccionMasica(int j,
1220  int i
1221  ) {
1222  return FFraccionMasicaEspecie[j][i];
1223  }
1224  ;
1225 };
1226 
1227 //---------------------------------------------------------------------------
1228 #endif
stEspecies
Definition: Globales.h:297
TTubo::ActualizaValoresNuevos
void ActualizaValoresNuevos(TCondicionContorno **BC)
Definition: TTubo.cpp:2256
TTubo::getNodoDer
int getNodoDer() const
Gets the right-hand side node.
Definition: TTubo.cpp:5456
TTubo::Gethe
double Gethe(int i)
Definition: TTubo.h:1037
TTubo
a Finite differences pipe.
Definition: TTubo.h:116
TTubo::CalculaVariablesFundamentales
void CalculaVariablesFundamentales()
Definition: TTubo.cpp:1550
TTubo::FTime1
double FTime1
Time at following time step.
Definition: TTubo.h:734
TTubo::CalculaCoeficientePeliculaExterior
void CalculaCoeficientePeliculaExterior(TBloqueMotor **Engine, double AmbientPressure, double AmbientTemperature)
Definition: TTubo.cpp:3349
stCapa
Definition: Globales.h:1394
TTubo::getLongitudTotal
double getLongitudTotal() const
Gets the total length of the pipe.
Definition: TTubo.cpp:5448
TTubo::getTemperaturaInicial
double getTemperaturaInicial() const
Gets the initial temperature.
Definition: TTubo.cpp:5480
Constantes.h
TTubo::GetGamma
double GetGamma(int i) const
Gets the specific heat capacities ratio at a given cell.
Definition: TTubo.cpp:5444
TTubo::getTime1
double getTime1() const
Gets the time at the following time-step.
Definition: TTubo.cpp:5492
TTubo::getTempWallIni
double getTempWallIni() const
Gets the initial temperature of the wall.
Definition: TTubo.cpp:5484
TTubo::HeaderInstantaneousResults
void HeaderInstantaneousResults(std::stringstream &insoutput, stEspecies *DatosEspecies) const
Definition: TTubo.cpp:2812
TTubo::GetCoefTurbulencia
double GetCoefTurbulencia(int i) const
Gets the turbulence coefficient.
Definition: TTubo.cpp:5416
TTubo::InicializaCaracteristicas
void InicializaCaracteristicas(TCondicionContorno **BC)
Definition: TTubo.cpp:4734
TTubo::GetTPTuboAnt
double GetTPTuboAnt(int j, int) const
Gets the previous wall temperature at a given cell and node.
Definition: TTubo.cpp:5501
TDPF
Definition: TDPF.h:45
TTubo::Interpola_Caracteristica
double Interpola_Caracteristica(double entropia, int signo, int extremo, double DeltaTiempo)
Definition: TTubo.cpp:4584
TTubo::FDeltaTime
double FDeltaTime
Time step.
Definition: TTubo.h:754
TTubo::LeeDatosGeometricosTubo
void LeeDatosGeometricosTubo(const char *FileWAM, fpos_t &filepos, double ene, int tipomallado, TBloqueMotor **Engine)
Definition: TTubo.cpp:681
TTubo::GetDiametro
double GetDiametro(int i) const
Gets the cell diameter.
Definition: TTubo.cpp:5436
TTubo::PutDeltaTime
void PutDeltaTime(double valor)
Sets the time step.
Definition: TTubo.cpp:5517
TTubo::ImprimeResultadosInstantaneos
void ImprimeResultadosInstantaneos(std::stringstream &insoutput) const
Definition: TTubo.cpp:2914
TTubo::CalculaCaracteristicasExtremos
void CalculaCaracteristicasExtremos(TCondicionContorno **BC, double DeltaTiempo)
Definition: TTubo.cpp:4411
TTubo::HeaderAverageResults
void HeaderAverageResults(std::stringstream &medoutput, stEspecies *DatosEspecies) const
Definition: TTubo.cpp:2569
TTubo::ComunicacionDPF
void ComunicacionDPF(TCondicionContorno **CC, TDeposito **Deposito)
TTubo::GetVelocidad
double GetVelocidad(int i) const
Gets the fluid speed.
Definition: TTubo.cpp:5505
TTubo::ImprimeResultadosMedios
void ImprimeResultadosMedios(std::stringstream &medoutput) const
Definition: TTubo.cpp:2647
TTubo::GetFraccionMasicaCC
double GetFraccionMasicaCC(int j, int i)
Definition: TTubo.h:953
TTubo::GetFraccionMasicaInicial
double GetFraccionMasicaInicial(int i) const
Gets the initial mass fraction of species i.
Definition: TTubo.cpp:5440
TTubo::GetPresion
double GetPresion(int i) const
Gets the fluid pressure.
Definition: TTubo.cpp:5468
TCondicionContorno
Definition: TCondicionContorno.h:54
TTubo::CalculaResistenciasdePared
void CalculaResistenciasdePared(TCondicionContorno **BC)
Definition: TTubo.cpp:3451
TTubo::GetTPTubo
double GetTPTubo(int j, int i) const
Gets the wall temperature at a given cell and node.
Definition: TTubo.cpp:5496
TDeposito
Definition: TDeposito.h:44
TTubo::GetVelPro
double GetVelPro(int i) const
Gets the integrated gas velocity.
Definition: TTubo.cpp:5513
TTubo::GetCpMezcla
double GetCpMezcla(int i) const
Gets the specific heat capacity at constant pressure at a given cell.
Definition: TTubo.cpp:5420
TTubo::getDeltaTime
double getDeltaTime() const
Gets the time step.
Definition: TTubo.cpp:5428
stModeloCalculoTubos
Definition: Globales.h:744
TTubo::GetCvMezcla
double GetCvMezcla(int i) const
Gets the specific heat capacity at constant volume at a given cell.
Definition: TTubo.cpp:5424
TTubo::GetCapa
stCapa GetCapa(int i)
Definition: TTubo.h:1045
stFunDisCar
Definition: TTubo.h:80
stResInstantTubo
Definition: Globales.h:795
TTubo::SalidaGeneralTubos
void SalidaGeneralTubos(stEspecies *DatosEspecies) const
Definition: TTubo.cpp:4343
TTubo::PutTPTubo
void PutTPTubo(int k, int i, double valor)
Sets the wall temperature at a given cell and node.
Definition: TTubo.cpp:5529
stSensoresTubo
Definition: Globales.h:832
TTubo::getDPFEntrada
TDPF * getDPFEntrada()
Definition: TTubo.h:697
TTubo::GetU0
double GetU0(int i, int j)
Definition: TTubo.h:1020
TTubo::FTime0
double FTime0
Time at current time step.
Definition: TTubo.h:712
TTubo::AjustaPaso
void AjustaPaso(double Intervalo)
Definition: TTubo.cpp:4393
TTubo::getTime0
double getTime0() const
Gets the current time.
Definition: TTubo.cpp:5488
TTubo::getMallado
double getMallado() const
Gets the mesh size.
Definition: TTubo.cpp:5452
TTubo::ComunicacionTubo_CC
void ComunicacionTubo_CC(TCondicionContorno **BC)
Definition: TTubo.cpp:861
TTubo::PutTime1
void PutTime1(double valor)
Sets the time after the following time-step.
Definition: TTubo.cpp:5525
TTubo::GetDensidadCC
double GetDensidadCC(int i)
Definition: TTubo.h:968
stResMediosTubo
Definition: Globales.h:756
TTubo::ReduccionFlujoSubsonico
void ReduccionFlujoSubsonico()
Definition: TTubo.cpp:2390
TTubo::CalculaTemperaturaPared
void CalculaTemperaturaPared(TBloqueMotor **Engine, double Theta, double CrankAngle, TCondicionContorno **BC)
Definition: TTubo.cpp:3711
TBloqueMotor
Definition: TBloqueMotor.h:43
TTubo::LeeDatosGeneralesTubo
void LeeDatosGeneralesTubo(const char *FileWAM, fpos_t &filepos)
Definition: TTubo.cpp:535
TTubo::IniciaVariablesFundamentalesTubo
void IniciaVariablesFundamentalesTubo()
Definition: TTubo.cpp:961
TTubo::GetDensidad
double GetDensidad(int i) const
Gets the density.
Definition: TTubo.cpp:5432
TTubo::IniciaVariablesTransmisionCalor
void IniciaVariablesTransmisionCalor(TCondicionContorno **BC, TBloqueMotor **Engine, double AmbientTemperature)
Definition: TTubo.cpp:1452
TTubo::PutVelPro
void PutVelPro(int i, double valor)
Sets the integrated gas velocity.
Definition: TTubo.cpp:5533
TTubo::CalculaResultadosMedios
void CalculaResultadosMedios(double Theta)
Definition: TTubo.cpp:2968
TTubo::ReadInstantaneousResultsTubo
void ReadInstantaneousResultsTubo(const char *FileWAM, fpos_t &filepos, bool HayMotor)
Definition: TTubo.cpp:2691
TTubo::GetRMezcla
double GetRMezcla(int i) const
Gets the gas constant of the mixture at a given cell.
Definition: TTubo.cpp:5476
TTubo::~TTubo
~TTubo()
Definition: TTubo.cpp:214
TTubo::Gethi
double Gethi(int i)
Definition: TTubo.h:1029
TTubo::GetTipoCanal
int GetTipoCanal(int i)
Definition: TTubo.h:1052
TTubo::getNumeroTubo
int getNumeroTubo() const
Gets the pipe id.
Definition: TTubo.cpp:5464
TTubo::GetVelocidadCC
double GetVelocidadCC(int i)
Definition: TTubo.h:961
TTubo::CalculaCoeficientePeliculaInterior
void CalculaCoeficientePeliculaInterior(TCondicionContorno **BC)
Definition: TTubo.cpp:3650
TTubo::GetFraccionMasica
double GetFraccionMasica(int j, int i)
Definition: TTubo.h:1219
TTubo::getPresionInicial
double getPresionInicial() const
Gets the initial pressure.
Definition: TTubo.cpp:5472
TTubo::Interpola_Entropia
double Interpola_Entropia(nmPipeEnd TipoExtremoTubo, double DeltaTiempo)
Definition: TTubo.cpp:4441
TTubo::GetAsonido
double GetAsonido(int i) const
Gets the speed of sound.
Definition: TTubo.cpp:5412
TTubo::getVelocidadMedia
double getVelocidadMedia() const
Gets the mean speed.
Definition: TTubo.cpp:5509
TTubo::ActualizaPropiedadesGas
void ActualizaPropiedadesGas()
Definition: TTubo.cpp:1170
TTubo::PutTime0
void PutTime0(double valor)
Sets the current time.
Definition: TTubo.cpp:5521
TTubo::GetArea
double GetArea(int i) const
Gets the cross section at a given cell.
Definition: TTubo.cpp:5408
TTubo::EstabilidadMetodoCalculo
void EstabilidadMetodoCalculo()
Definition: TTubo.cpp:1519
TTubo::ReduccionFlujoSubsonicoFCT
void ReduccionFlujoSubsonicoFCT()
Definition: TTubo.cpp:2419
TTubo::ReadAverageResultsTubo
void ReadAverageResultsTubo(const char *FileWAM, fpos_t &filepos, bool HayMotor)
Definition: TTubo.cpp:2456
TTubo::GetAreaCC
double GetAreaCC(int i)
Definition: TTubo.h:975
stTVD
Definition: Globales.h:305
TTubo::getNodoIzq
int getNodoIzq() const
Gets the left-hand side node.
Definition: TTubo.cpp:5460
TTubo::TTubo
TTubo(int SpeciesNumber, int j, double SimulationDuration, TBloqueMotor **Engine, nmTipoCalculoEspecies SpeciesModel, nmCalculoGamma GammaCalculation, bool ThereIsEGR)
Definition: TTubo.cpp:62
TTubo::CalculaResultadosInstantaneos
void CalculaResultadosInstantaneos()
Definition: TTubo.cpp:3145