[Flightgear-devel] Bug in JSBSim FGPropeller.cpp

2007-08-07 Thread Torsten Dreyer
There is a bug in JSBSim causing multiengine aircraft with counterrotating 
props suffer from excessive yaw when engines are running. Significant aileron 
deflection is required to fly straight and level. 

I tracked down that issue and finally came to FGPropeller.cpp line 198:

  vH(eX) = Ixx*omega*Sense;

If I understand correctly, this is some kind of force along the rotating axis 
of the propeller and it should not be multiplied with Sense (unless someone 
mounts a wrong propeller...)

Making the line

  vH(eX) = Ixx*omega;

removes the unwanted yaw and creates symmetrical forces and moments.

The only aircrafts using counterrotating props are the P-38L and the SenecaII. 
All others should not be affected by this patch.

Greetings, Torsten


-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] Bug in JSBSim FGPropeller.cpp

2007-08-07 Thread gh.robin
On Tue 7 August 2007 17:57, Torsten Dreyer wrote:
 There is a bug in JSBSim causing multiengine aircraft with counterrotating
 props suffer from excessive yaw when engines are running. Significant
 aileron deflection is required to fly straight and level.

 I tracked down that issue and finally came to FGPropeller.cpp line 198:

   vH(eX) = Ixx*omega*Sense;

 If I understand correctly, this is some kind of force along the rotating
 axis of the propeller and it should not be multiplied with Sense (unless
 someone mounts a wrong propeller...)

 Making the line

   vH(eX) = Ixx*omega;

 removes the unwanted yaw and creates symmetrical forces and moments.

 The only aircrafts using counterrotating props are the P-38L and the
 SenecaII. All others should not be affected by this patch.

 Greetings, Torsten



May be i don't understand your remark, and i could be wrong,

but all aircraft propeller have not the same rotation direction , 
some are CCWon the same aircraft 
some are CW  on others  aircraft.

Sure there is no problem with P-38L one propeller is given 
 sense -1 /sense
The other is given 
 sense 1 /sense

so, Sense could be -1 or 1 which is significant for the propeller effect.

it is very important to keep in that calculation the Sense.


Regards
-- 
Gérard


-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] Bug in JSBSim FGPropeller.cpp

2007-08-07 Thread gh.robin
On Tue 7 August 2007 18:20, gh.robin wrote:
 On Tue 7 August 2007 17:57, Torsten Dreyer wrote:
  There is a bug in JSBSim causing multiengine aircraft with
  counterrotating props suffer from excessive yaw when engines are running.
  Significant aileron deflection is required to fly straight and level.
 
  I tracked down that issue and finally came to FGPropeller.cpp line 198:
 
vH(eX) = Ixx*omega*Sense;
 
  If I understand correctly, this is some kind of force along the rotating
  axis of the propeller and it should not be multiplied with Sense (unless
  someone mounts a wrong propeller...)
 
  Making the line
 
vH(eX) = Ixx*omega;
 
  removes the unwanted yaw and creates symmetrical forces and moments.
 
  The only aircrafts using counterrotating props are the P-38L and the
  SenecaII. All others should not be affected by this patch.
 
  Greetings, Torsten

 May be i don't understand your remark, and i could be wrong,

 but all aircraft propeller have not the same rotation direction ,
 some are CCWon the same aircraft
 some are CW  on others  aircraft.

 Sure there is no problem with P-38L one propeller is given
  sense -1 /sense
 The other is given
  sense 1 /sense

 so, Sense could be -1 or 1 which is significant for the propeller effect.

 it is very important to keep in that calculation the Sense.


 Regards



In addition to, if these effect seems to be more than you espect it is 
possible to reduce the value with  p_factor /p_factor  with zero there is 
no effect.

-- 
Gérard


-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] Bug in JSBSim FGPropeller.cpp

2007-08-07 Thread Berndt, Jon S
 There is a bug in JSBSim causing multiengine aircraft with 
 counterrotating props suffer from excessive yaw when engines 
 are running. Significant aileron deflection is required to 
 fly straight and level. 
 
 I tracked down that issue and finally came to FGPropeller.cpp 
 line 198:
 
   vH(eX) = Ixx*omega*Sense;
 
 If I understand correctly, this is some kind of force along 
 the rotating axis of the propeller and it should not be 
 multiplied with Sense (unless someone mounts a wrong propeller...)
 
 Making the line
 
   vH(eX) = Ixx*omega;
 
 removes the unwanted yaw and creates symmetrical forces and moments.
 
 The only aircrafts using counterrotating props are the P-38L 
 and the SenecaII. 
 All others should not be affected by this patch.
 
 Greetings, Torsten


If this is indeed a cause of a problem such as you describe, or a bug, I
would be very surprised. Here's why:

If you look at FGPropeller.cpp, you will see that the vector vH does not
add to the moment of the aircraft unless there is already a rotational
motion experienced by the aircraft. See the equation where vH is summed
into the moment equation:

  vMn = fdmex-GetPropagate()-GetPQR()*vH + vTorque*Sense;

If the rotational rates (returned by the function GetPQR()) are zero -
that is, at steady state - the angular momentum (vH) parameter will add
*nothing* to the total moment (vMn). The angular momentum introduces
gyroscopic effects. 

If the effect is too strong, it could be that the Ixx value for the
propeler/engine shaft is too large. In that case, the angular momentum
calculated would be too large and would cause the aircraft to behave
erratically when manuevering.

Can you tell more about the conditions in your test, and more about the
problem?

Jon

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] Bug in JSBSim FGPropeller.cpp

2007-08-07 Thread Torsten Dreyer
 If the rotational rates (returned by the function GetPQR()) are zero -
 that is, at steady state - the angular momentum (vH) parameter will add
 *nothing* to the total moment (vMn). The angular momentum introduces
 gyroscopic effects.

 If the effect is too strong, it could be that the Ixx value for the
 propeler/engine shaft is too large. In that case, the angular momentum
 calculated would be too large and would cause the aircraft to behave
 erratically when manuevering.
Maybe I am wrong, but shouldnt these effects from the left engine compensate 
those from the right engine if both are rotating in opposite directions?

 Can you tell more about the conditions in your test, and more about the
 problem?
I will try :-)
When you start the SenecaII and give full throttle on ground with parking 
brakes set, the aircraft turns slowly to the left (because the brakes are to 
weak - thats another story). 
When you fly the aircraft with full throttle with wings level, a slight 
aileron deflection to the right is needed (approx. 0.05) to keep the wings 
level. When you idle the engines, no aileron is needed to keep the wings 
level.

I put some debug code into FGPropulsion.cpp:
for (i=0; inumEngines; i++) {
cout  computing engine   i  \n;
Engines[i]-Calculate();
vForces  += Engines[i]-GetBodyForces();  // sum body frame forces
vMoments += Engines[i]-GetMoments(); // sum body frame moments
cout  Forces:   Engines[i]-GetBodyForces()  \n;
cout  Moments:   Engines[i]-GetMoments()  \n;
cout  finished with engine   i  \n\n;
}

and FGPropeller.cpp:
  vMn = fdmex-GetPropagate()-GetPQR()*vH + vTorque*Sense;
cout  PQR:   fdmex-GetPropagate()-GetPQR()  \n;
cout  vH(eX):   vH(eX)  \n;
cout  vMn:   vMn  \n;

And the output for the Seneca is

computing engine 0
PQR: -0.00243528 , -0.000488289 , -0.0360579
vH(eX): 508.722
vMn: -376.628 , -18.3435 , 0.248403
Forces: 819.428 , 0 , 0
Moments: -376.628 , -529.63 , 4889.5
finished with engine 0

computing engine 1
PQR: -0.00243528 , -0.000488289 , -0.0360579
vH(eX): -508.722
vMn: -376.628 , 18.3435 , -0.248403
Forces: 819.428 , 0 , 0
Moments: -376.628 , -492.943 , -4889.5
finished with engine 1

and the P-38L says:
computing engine 0
PQR: 0.000489925 , 3.41744e-05 , -0.00822598
vH(eX): -3114.13
vMn: -6748.41 , 25.6167 , 0.106423
Moments: 3071.39 , 0 , 0
Moments: -6748.41 , -2090.55 , 25605.2
finished with engine 0

computing engine 1
PQR: 0.000489925 , 3.41744e-05 , -0.00822598
vH(eX): 3114.13
vMn: -6748.41 , -25.6167 , -0.106423
Moments: 3071.39 , 0 , 0
Moments: -6748.41 , -3126.87 , -25605.2
finished with engine 1


As you can see, the moments second values are different on the second value, 
because PQR is not zero.

Both aircraft are sitting on ground, parking brake set, full throttle.

I hope this helps

Torsten

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] Bug in JSBSim FGPropeller.cpp

2007-08-07 Thread Torsten Dreyer
  May be i don't understand your remark, and i could be wrong,
 
  but all aircraft propeller have not the same rotation direction ,
  some are CCWon the same aircraft
  some are CW  on others  aircraft.
Correct - and some aircraft have both of it: one CW and one CCW.
 
  Sure there is no problem with P-38L one propeller is given
   sense -1 /sense
  The other is given
   sense 1 /sense
 
  so, Sense could be -1 or 1 which is significant for the propeller effect.
 
  it is very important to keep in that calculation the Sense.
Yes - also true.

 In addition to, if these effect seems to be more than you espect it is
 possible to reduce the value with  p_factor /p_factor  with zero there
 is no effect.
Since the engines of the P-38L and the Seneca are turning in opposite 
directions, the p-factor of both propellers are compensating each other. 
Thats why aircraft with counterrotating props are made: they are easier to 
fly!

Try yourself: Get the P-38L in the air and fly full throttle straight and 
level, open the property-browser for controls/flight. I need a right aileron 
deflection to keep the wings level. If I reduce power to idle, the aircraft 
turns sharply to the right with that aileron setting. 
This should not happen on aircraft with counterrotating props.


Torsten





-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] Bug in JSBSim FGPropeller.cpp

2007-08-07 Thread Hans Fugal
On 8/7/07, Torsten Dreyer [EMAIL PROTECTED] wrote:
 Try yourself: Get the P-38L in the air and fly full throttle straight and
 level, open the property-browser for controls/flight. I need a right aileron
 deflection to keep the wings level. If I reduce power to idle, the aircraft
 turns sharply to the right with that aileron setting.
 This should not happen on aircraft with counterrotating props.

I observe this, but I wonder if it isn't the way things should be (in
spite of the counterrotating props). Maybe there's another effect at
play that counterrotation doesn't solve entirely? I don't remember
where now, but I thought I read something that satisfactorily
explained the Seneca's behavior to me. Perhaps someone who has flown a
counterrotating twin can weigh in.

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] Bug in JSBSim FGPropeller.cpp

2007-08-07 Thread Ralf Gerlich
Hans Fugal wrote:
 Perhaps someone who has flown a counterrotating twin can weigh in.

Then Torsten is the right person here. Guess who does fly the real-life
counterpart of the Seneca in FlightGear?

Cheers,
Ralf

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] Bug in JSBSim FGPropeller.cpp

2007-08-07 Thread Torsten Dreyer
 explained the Seneca's behavior to me. Perhaps someone who has flown a
 counterrotating twin can weigh in.
The Seneca POH says:
  Counter-rotation of the propellers provides balanced thrust during takeoff 
and climb and eliminates the `critical engine` in single engine flight.

Not that much of information, but it is true: I get my feet out of the pedals 
after the gear has left the runway and you don't need your hands either to 
compensate any bank or yaw.

- It's a good idea to be ready to jump in if one engine fails, of course ;-) 

Greetings, Torsten

-
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now   http://get.splunk.com/
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel