-
- HP = Percentage_Power * MaxHP / 100.0;
-
- Power_SI = HP * CONVERT_HP_TO_WATTS;
-
- // Calculate Engine Torque. Check for div by zero since percentage power correlation does not guarantee zero power at zero rpm.
- if(RPM == 0) {
- Torque_SI = 0;
- }
- else {
- Torque_SI = (Power_SI * 60.0) / (2.0 * PI * RPM); //Torque = power / angular velocity
- // cout << Torque << " Nm\n";
- }
-
-//**********************************************************************
-//Calculate Exhaust gas temperature
-
- // cout << "Thi = " << equivalence_ratio << '\n';
-
- combustion_efficiency = Lookup_Combustion_Efficiency(equivalence_ratio); //The combustion efficiency basically tells us what proportion of the fuels calorific value is released
-
- // cout << "Combustion efficiency = " << combustion_efficiency << '\n';
-
- //now calculate energy release to exhaust
- //We will assume a three way split of fuel energy between useful work, the coolant system and the exhaust system
- //This is a reasonable first suck of the thumb estimate for a water cooled automotive engine - whether it holds for an air cooled aero engine is probably open to question
- //Regardless - it won't affect the variation of EGT with mixture, and we con always put a multiplier on EGT to get a reasonable peak value.
- enthalpy_exhaust = m_dot_fuel * calorific_value_fuel * combustion_efficiency * 0.33;
- heat_capacity_exhaust = (Cp_air * m_dot_air) + (Cp_fuel * m_dot_fuel);
- delta_T_exhaust = enthalpy_exhaust / heat_capacity_exhaust;
-// delta_T_exhaust = Calculate_Delta_T_Exhaust();
-
- // cout << "T_amb " << T_amb;
- // cout << " dT exhaust = " << delta_T_exhaust;
-
- EGT = T_amb + delta_T_exhaust;
-
- //The above gives the exhaust temperature immediately prior to leaving the combustion chamber
- //Now derate to give a more realistic figure as measured downstream
- //For now we will aim for a peak of around 400 degC (750 degF)
-
- EGT *= 0.444 + ((0.544 - 0.444) * Percentage_Power / 100.0);
-
- EGT_degF = (EGT * 1.8) - 459.67;
-
- //cout << " EGT = " << EGT << " degK " << EGT_degF << " degF";// << '\n';
-
-//***************************************************************************************
-// Calculate Cylinder Head Temperature
-
-/* DCL 27/10/00
-
-This is a somewhat rough first attempt at modelling cylinder head temperature. The cylinder head
-is assumed to be at uniform temperature. Obviously this is incorrect, but it simplifies things a
-lot, and we're just looking for the behaviour of CHT to be correct. Energy transfer to the cylinder
-head is assumed to be one third of the energy released by combustion at all conditions. This is a
-reasonable estimate, although obviously in real life it varies with different conditions and possibly
-with CHT itself. I've split energy transfer from the cylinder head into 2 terms - free convection -
-ie convection to stationary air, and forced convection, ie convection into flowing air. The basic
-free convection equation is: dqdt = -hAdT Since we don't know A and are going to set h quite arbitarily
-anyway I've knocked A out and just wrapped it up in h - the only real significance is that the units
-of h will be different but that dosn't really matter to us anyway. In addition, we have the problem
-that the prop model I'm currently using dosn't model the backwash from the prop which will add to the
-velocity of the cooling air when the prop is turning, so I've added an extra term to try and cope
-with this.
-
-In real life, forced convection equations are genarally empirically derived, and are quite complicated
-and generally contain such things as the Reynolds and Nusselt numbers to various powers. The best
-course of action would probably to find an empirical correlation from the literature for a similar
-situation and try and get it to fit well. However, for now I am using my own made up very simple
-correlation for the energy transfer from the cylinder head:
-
-dqdt = -(h1.dT) -(h2.m_dot.dT) -(h3.rpm.dT)
-
-where dT is the temperature different between the cylinder head and the surrounding air, m_dot is the
-mass flow rate of cooling air through an arbitary volume, rpm is the engine speed in rpm (this is the
-backwash term), and h1, h2, h3 are co-efficients which we can play with to attempt to get the CHT
-behaviour to match real life.
-
-In order to change the values of CHT that the engine settles down at at various conditions,
-have a play with h1, h2 and h3. In order to change the rate of heating/cooling without affecting
-equilibrium values alter the cylinder head mass, which is really quite arbitary. Bear in mind that
-altering h1, h2 and h3 will also alter the rate of heating or cooling as well as equilibrium values,
-but altering the cylinder head mass will only alter the rate. It would I suppose be better to read
-the values from file to avoid the necessity for re-compilation every time I change them.
-