On Tuesday 31 August 2010 21:08:32 Jon S. Berndt wrote:

> Ron, Hal,
>
> Just a reminder that this feature (arbitrary functions in engine
> definitions) - I believe - works and is now in JSBSim CVS. Maybe it should
> be moved to FlightGear?
>
> Jon

I tend to keep my FlightGear up-to-date with the latest JSBSim.  I keep a git 
clone of this at http://gitorious.org/fg/jentrons-flightgear.  I don't have 
write access to the master repository.

I haven't done anything (yet) with Hal's exhaust thrust function.  I was 
waiting for someone else to work out the math...

The exhaust thrust function should return a force.  Newton tells us:

 F=ma

or

 Newtons=kg*m/s^2 (SI)
 lbf=slugs * ft/s^2 (US pound as force)
 poundals = lb * ft/s^2 (US pound as mass)

For the rest of this discusion I'm going to use the US pound as a force 
system.

Hal had said something like

 F=m*v^2

but that yields slugs*ft^2/s^2.  Not the correct units.

 F=m_dot * v_e  [1]

where m_dot is total mass flow per second and v_e is the velocity of the 
exhaust stream.

 lbf = (slugs/2)*(f/s) = slugs* ft/s^2

m_dot = m_dot_air + m_dot_fuel for our model. FGPiston currently calculates 
m_dot_air internally, but does not expose it as a property.  m_dot_fuel is a 
property, and we could potentially use it, along with the mixture setting, to 
estimate m_dot_air.  The problem with this approach is m_dot_fuel can be zero 
while m_dot_air still has a non-zero value.  m_dot_air could also be 
estimated as a function of RPM, engine displacement, and manifold air 
density.  Something like:

 m_dot_air = (1/2)(RPM/60)(rho_manifold)(displacement)(volumetric_efficiency)

[2] gives us a formula for v_e:
 
  v_e = sqrt( (T*R/M) (2k/(k-1)) [1 - (P_e/P)^((k-1)/K)])

See the wikipedia article for a full explanation of the formula.

 k~= 1.4  

for exhaust temperatures up to 1000 degrees C.
so the second term becomes:

 (2k/(k-1)) ~= 7.0

The third term 

 [1 - (P_e/P)^((k-1)/K)]

Can be thought of as an efficiency factor, It should always be greater than or 
equal to zero and less than or equal to 1.  Its value probably increases with 
pressure altitude as I believe that will lower P_e (pressure at the exit end 
of the exhaust manifold); P (pressure from the cylinders when the exhaust 
valves open) is probably related to manifold pressure and RPM.   It may be 
appropriate to think of this as a constant, too.  A first guess would be 
~0,4.

The first term:

  (T*R/M) 

contains two constants, R and M, so this value is completely controlled by T, 
our exhaust gas temperature,  Exhaust gas temperature is available as a 
property in FlightGear but not JSBSim stand-alone.

In short, I propose the following formula for v_e:

 v_e = sqrt( egt * k) where k = R/M * 7 * 0.4

Thanks,
Ron

---

[1] http://en.wikipedia.org/wiki/Rocket_engine_nozzle#Specific_Impulse
[2] 
http://en.wikipedia.org/wiki/Rocket_engine_nozzle#1-D_Analysis_of_gas_flow_in_rocket_engine_nozzles

------------------------------------------------------------------------------
This SF.net Dev2Dev email is sponsored by:

Show off your parallel programming skills.
Enter the Intel(R) Threading Challenge 2010.
http://p.sf.net/sfu/intel-thread-sfd
_______________________________________________
Flightgear-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/flightgear-devel

Reply via email to