15#include <fhsim/simobject/SimObject.h>
16#include <fhsim/PrintDuringExec.h>
20static const double gd_PI = 3.14159265358979323846;
104 ISignalPort* m_M_load;
105 ISignalPort* m_N_eng_SP;
106 ISignalPort* m_pInM_SP;
107 ISignalPort* m_MinLambda_SP;
130 IMEP = IP = M_CC = W_InM = T_ExP = X = W_ExP = W_fuel = Lambda = 0;
167 M_eng = N_eng = P_eng = 0;
186 W_trb = T_cmp = W_cmp = M_trb = M_cmp = N_TC = k = PR_trb = PR_cmp = 1;
206 double MaxFuelPrCycle;
211 MaxFuelPrCycle = FuelPrCycle = 1e-3;
269 CCIEngine(
const std::string& simobjectname, ISimObjectCreator*
const creator);
274 const double* out_CC_IP(
const double T,
const double*
const X);
275 const double* out_CC_Lambda(
const double T,
const double*
const X);
276 const double* out_CC_M_CC(
const double T,
const double*
const X);
277 const double* out_CC_T_ExP(
const double T,
const double*
const X);
278 const double* out_CC_W_ExP(
const double T,
const double*
const X);
279 const double* out_CC_W_fuel(
const double T,
const double*
const X);
280 const double* out_CC_W_InM(
const double T,
const double*
const X);
281 const double* out_CC_X(
const double T,
const double*
const X);
284 const double* out_InM_p(
const double T,
const double*
const X);
287 const double* out_ExM_p(
const double T,
const double*
const X);
290 const double* out_CS_M_eng(
const double T,
const double*
const X);
291 const double* out_CS_N_eng(
const double T,
const double*
const X);
292 const double* out_CS_P_eng(
const double T,
const double*
const X);
295 const double* out_TC_K_cmp(
const double T,
const double*
const X);
296 const double* out_TC_M_trb(
const double T,
const double*
const X);
297 const double* out_TC_M_cmp(
const double T,
const double*
const X);
298 const double* out_TC_PR_cmp(
const double T,
const double*
const X);
299 const double* out_TC_PR_trb(
const double T,
const double*
const X);
300 const double* out_TC_T_cmp(
const double T,
const double*
const X);
301 const double* out_TC_W_cmp(
const double T,
const double*
const X);
302 const double* out_TC_W_trb(
const double T,
const double*
const X);
303 const double* out_TC_N_TC(
const double T,
const double*
const X);
306 const double* out_IC_T_IC(
const double T,
const double*
const X);
309 const double* out_ECU_FuelPrCyc(
const double T,
const double*
const X);
310 const double* out_ECU_MaxFuelPrCyc(
const double T,
const double*
const X);
311 const double* out_ECU_WGOpening(
const double T,
const double*
const X);
314 void OdeFcn(
const double T,
const double *
const X,
double *
const XDot)
const;
316#ifdef FH_VISUALIZATION
319 virtual void RenderInit(Ogre::Root*
const ogreRoot, ISimObjectCreator*
const creator);
322 virtual void RenderUpdate(
const double T,
const double*
const X);
330 double IntegratorAntiWindup(
const double*
const adX,
const StateType *p_StateInfo,
double Dot)
const;
332 double CalcInM()
const;
334 double CalcExM()
const;
335 void CalcCompressor()
const;
336 void CalcTurbine()
const;
337 double CalcTC()
const;
338 double CalcCS(
const double T,
const double*
const X)
const;
340 double CalcECUWG(
const double T,
const double*
const X)
const;
341 double CalcECUMaxFuelPrCycle(
const double T,
const double*
const X)
const;
342 double CalcECUFuelPrCycle(
const double T,
const double*
const X)
const;
345 double PIController(
PIType *p_PI,
StateType *p_State,
const double*
const adX)
const;
366 PrintDuringExec* m_Print;
368#ifdef FH_VISUALIZATION
369 Ogre::SceneNode* m_RenderNode;
Definition CIEngine.h:266
ModelInType m_InMod
Model input indexes.
Definition CIEngine.h:361
const double * out_CC_IMEP(const double T, const double *const X)
Output functions.
bool LoadParameterFile(ISimObjectCreator *creator)
Loads engine parameters from xml file.
CCIEngine(const std::string &simobjectname, ISimObjectCreator *const creator)
The constructor sets the pointer to the output object and the parser object.
ModParType m_ModPar
Model parameters.
Definition CIEngine.h:348
ModVarType m_Var
Model variables used in the different submodels.
Definition CIEngine.h:364
void OdeFcn(const double T, const double *const X, double *const XDot) const
Calculates the state derivatives.
StateType mS_p_InM
States.
Definition CIEngine.h:351
Definition CIEngine.h:117
Definition CIEngine.h:160
Definition CIEngine.h:203
Definition CIEngine.h:148
Definition CIEngine.h:232
Definition CIEngine.h:192
Definition CIEngine.h:136
Definition CIEngine.h:217
Definition CIEngine.h:103
Definition CIEngine.h:253
Definition CIEngine.h:242
Definition CIEngine.h:173