OpenWAM
Source
Connections
TValvula4T.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 TValvula4TH
30
#define TValvula4TH
31
32
#include <cstdio>
33
#ifdef __BORLANDC__
34
#include <vcl.h>
35
#endif
36
#include <iostream>
37
38
#include "TTipoValvula.h"
39
40
#include "TController.h"
41
42
//---------------------------------------------------------------------------
43
//---------------------------------------------------------------------------
44
45
class
TValvula4T
:
public
TTipoValvula
{
46
private
:
47
//CONSTANTES INICIALES
48
49
dVector
FAngle;
50
dVector
FLevantamiento;
51
Hermite_interp
*fun_FLift;
52
double
FIncrAng;
53
54
double
FIncrLev;
55
56
dVector
FLiftCD;
57
dVector
FDatosCDEntrada;
58
Hermite_interp
*fun_CDin;
59
dVector
FDatosCDSalida;
60
Hermite_interp
*fun_CDout;
61
dVector
FDatosTorbellino;
62
Hermite_interp
*fun_Torb;
63
64
double
FCDEntrada;
65
double
FCDSalida;
66
double
FDiametro;
67
double
FDiametroRef;
68
double
FAnguloApertura;
69
double
FAnguloApertura0;
70
double
FAngle0;
71
double
FAnguloCierre;
72
double
FCoefTorbMedio;
73
// VARIABLES DE CALCULO
74
double
FApertura;
75
76
bool
FVVT;
77
bool
FVVTLift;
78
bool
FVVTTiming;
79
bool
FVVTDuration;
80
81
double
FVVTLiftMultiplier;
82
double
FVVTTimigGap;
83
double
FVVTDurationMultiplier;
84
85
int
FVVTLiftCtrlID;
86
int
FVVTTimingCtrlID;
87
int
FVVTDurationCtrlID;
88
89
TController
*FVVTLiftCtrl;
90
TController
*FVVTTimingCtrl;
91
TController
*FVVTDurationCtrl;
92
93
int
FValvula;
94
95
//double Interpola2(double x,double *y,int n);
96
97
public
:
98
99
TValvula4T
(
TValvula4T
*Origen,
int
valv);
100
101
TValvula4T
();
102
103
~
TValvula4T
();
104
105
double
getAnguloApertura() {
106
return
FAnguloApertura;
107
}
108
;
109
double
getAnguloCierre() {
110
return
FAnguloCierre;
111
}
112
;
113
double
getDiametro() {
114
return
FDiametro;
115
}
116
;
117
double
getCTorbMed() {
118
return
FCoefTorbMedio;
119
}
120
;
121
122
void
LeeDatosIniciales(
const
char
*FileWAM, fpos_t &filepos,
int
norden,
bool
HayMotor,
TBloqueMotor
*Engine);
123
124
void
CalculaCD(
double
Angulo);
125
126
void
VVTControl(
double
Time);
127
128
void
AsignaLevController(
TController
**Controller);
129
130
void
GetCDin(
double
Time);
131
132
void
GetCDout(
double
Time);
133
134
};
135
136
//---------------------------------------------------------------------------
137
//---------------------------------------------------------------------------
138
#endif
TController
Definition:
TController.h:37
TTipoValvula
Definition:
TTipoValvula.h:53
Hermite_interp
Definition:
Math_wam.h:311
TValvula4T
Definition:
TValvula4T.h:45
TBloqueMotor
Definition:
TBloqueMotor.h:43
dVector
std::vector< double > dVector
Double vector.
Definition:
Math_wam.h:70
Generated on Wed Jul 28 2021 05:16:03 for OpenWAM by
1.8.17