]> git.mxchange.org Git - flightgear.git/blob - src/FDM/JSBSim/FGTurbine.cpp
New Turbine engine model framework
[flightgear.git] / src / FDM / JSBSim / FGTurbine.cpp
1 /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
2
3  Module:       FGTurbine.cpp
4  Author:       Jon S. Berndt
5  Date started: 08/23/2002
6  Purpose:      This module models a turbine engine.
7
8  ------------- Copyright (C) 2002  Jon S. Berndt (jsb@hal-pc.org) --------------
9
10  This program is free software; you can redistribute it and/or modify it under
11  the terms of the GNU General Public License as published by the Free Software
12  Foundation; either version 2 of the License, or (at your option) any later
13  version.
14
15  This program is distributed in the hope that it will be useful, but WITHOUT
16  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
17  FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
18  details.
19
20  You should have received a copy of the GNU General Public License along with
21  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
22  Place - Suite 330, Boston, MA  02111-1307, USA.
23
24  Further information about the GNU General Public License can also be found on
25  the world wide web at http://www.gnu.org.
26
27 FUNCTIONAL DESCRIPTION
28 --------------------------------------------------------------------------------
29
30 This class descends from the FGEngine class and models a Turbine engine based
31 on parameters given in the engine config file for this class
32
33 HISTORY
34 --------------------------------------------------------------------------------
35 08/23/2002  JSB  Created
36
37 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
38 INCLUDES
39 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
40
41 #include "FGTurbine.h"
42
43 static const char *IdSrc = "$Id$";
44 static const char *IdHdr = ID_TURBINE;
45
46 /*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
47 CLASS IMPLEMENTATION
48 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%*/
49
50
51 FGTurbine::FGTurbine(FGFDMExec* exec, FGConfigFile* cfg) : FGEngine(exec)
52 {
53   Debug(0);
54 }
55
56 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
57
58 FGTurbine::~FGTurbine()
59 {
60   Debug(1);
61 }
62
63 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
64
65 double FGTurbine::Calculate(double dummy)
66 {
67   ConsumeFuel();
68   return 0.0;
69 }
70
71 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
72
73 void FGTurbine::doInlet(void)
74 {
75 }
76
77 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
78
79 void FGTurbine::doCompressor(void)
80 {
81 }
82
83 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
84
85 void FGTurbine::doBleedDuct(void)
86 {
87 }
88
89 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
90
91 void FGTurbine::doCombustor(void)
92 {
93 }
94
95 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
96
97 void FGTurbine::doTurbine(void)
98 {
99 }
100
101 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
102
103 void FGTurbine::doConvergingNozzle(void)
104 {
105 }
106
107 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
108
109 void FGTurbine::doTransition(void)
110 {
111 }
112
113 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
114
115
116 bool FGTurbine::Load(FGConfigFile *AC_cfg)
117 {
118 }
119
120 //%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
121 //    The bitmasked value choices are as follows:
122 //    unset: In this case (the default) JSBSim would only print
123 //       out the normally expected messages, essentially echoing
124 //       the config files as they are read. If the environment
125 //       variable is not set, debug_lvl is set to 1 internally
126 //    0: This requests JSBSim not to output any messages
127 //       whatsoever.
128 //    1: This value explicity requests the normal JSBSim
129 //       startup messages
130 //    2: This value asks for a message to be printed out when
131 //       a class is instantiated
132 //    4: When this value is set, a message is displayed when a
133 //       FGModel object executes its Run() method
134 //    8: When this value is set, various runtime state variables
135 //       are printed out periodically
136 //    16: When set various parameters are sanity checked and
137 //       a message is printed out when they go out of bounds
138
139 void FGTurbine::Debug(int from)
140 {
141   if (debug_lvl <= 0) return;
142
143   if (debug_lvl & 1) { // Standard console startup message output
144     if (from == 0) { // Constructor
145
146     }
147   }
148   if (debug_lvl & 2 ) { // Instantiation/Destruction notification
149     if (from == 0) cout << "Instantiated: FGTurbine" << endl;
150     if (from == 1) cout << "Destroyed:    FGTurbine" << endl;
151   }
152   if (debug_lvl & 4 ) { // Run() method entry print for FGModel-derived objects
153   }
154   if (debug_lvl & 8 ) { // Runtime state variables
155   }
156   if (debug_lvl & 16) { // Sanity checking
157   }
158   if (debug_lvl & 64) {
159     if (from == 0) { // Constructor
160       cout << IdSrc << endl;
161       cout << IdHdr << endl;
162     }
163   }
164 }
165