OpenWAM
TUnionDireccional.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 TUnionDireccionalH
30 #define TUnionDireccionalH
31 #include "TDepVolCteBase.h"
32 
34  private:
35 
36 // Variable privadas
37 
38  TCondicionContorno **FCCEntrada;
39  TCondicionContorno *FCCSalida;
40 
41  int FNumUnionDireccional; // Numero de Union Direccional.
42  int *FNodoEntrada; // Nodo de entrada(en cada una de las dos entradas.
43  int FNodoSalida; // Nodo de salida.
44  int *FSentidoEntrada; // Sentido del flujo en los nodos de entrada a la union direccional.
45  double *FCDSalidaInicial; // Valor del coeficiente de descarga de salida hasta la velocidad en que aparece el efecto direccional.
46  double *FVelocidadCorte; // Valor de la velocidad en el tubo i para la que aparece el efecto direccional sobre el tubo j.
47  double *FVelocidadFin; // Valor de la velocidad en el tubo i para la que se anula el coeficiente de descarga de salida en el tubo j.
48  double *FVelocity; // Velocity en los nodos de entrada a la union direccional.
49  double *FCoefA;
50  double *FCoefB;
51 
52  protected:
53 
54  public:
55 
56  //---------------------------------------------------------------------------
57  // FUNCIONES PUBLICAS
58  //---------------------------------------------------------------------------
59 
60  TUnionDireccional(int i, int NUnionDireccional, nmTipoCalculoEspecies SpeciesModel, int numeroespecies,
61  nmCalculoGamma GammaCalculation, bool ThereIsEGR);
62 
64 
65  void ActualizaPropiedades(double TimeCalculo);
66 
67  void AsignaCCUnionDireccional();
68 
69  void LeeDatosUnionDireccional(const char *FileWAM, fpos_t &filepos);
70 
71  void CalculoUnionDireccional();
72 
73  void UpdateProperties0DModel(double TimeCalculo);
74 
75 };
76 
77 //---------------------------------------------------------------------------
78 #endif
TUnionDireccional
Definition: TUnionDireccional.h:33
TDepVolCteBase
Definition: TDepVolCteBase.h:33
TCondicionContorno
Definition: TCondicionContorno.h:54