Maik: Use exact calculation instead of 1st order approximation
This commit is contained in:
parent
acaf611495
commit
bf02d9bdd0
1 changed files with 1 additions and 10 deletions
|
@ -449,22 +449,13 @@ float Rotorpart::calculateAlpha(float* v_rel_air, float rho,
|
||||||
//angle between blade movement caused by rotor-rotation and the
|
//angle between blade movement caused by rotor-rotation and the
|
||||||
//total movement of the blade
|
//total movement of the blade
|
||||||
|
|
||||||
/* the next shold look like this, but this is the inner loop of
|
|
||||||
the rotor simulation. For small angles (and we hav only small
|
|
||||||
angles) the first order approximation works well
|
|
||||||
lift_moment += r*(lift * Math::cos(angle)
|
lift_moment += r*(lift * Math::cos(angle)
|
||||||
- drag * Math::sin(angle));
|
- drag * Math::sin(angle));
|
||||||
*torque += r*(drag * Math::cos(angle)
|
*torque += r*(drag * Math::cos(angle)
|
||||||
+ lift * Math::sin(angle));
|
+ lift * Math::sin(angle));
|
||||||
*/
|
|
||||||
lift_moment += r*(lift * (1-angle*angle)
|
|
||||||
- drag * angle);
|
|
||||||
*torque += r*(drag * (1-angle*angle)
|
|
||||||
+ lift * angle);
|
|
||||||
|
|
||||||
if (returnlift!=NULL) *returnlift+=lift;
|
if (returnlift!=NULL) *returnlift+=lift;
|
||||||
}
|
}
|
||||||
//as above, use 1st order approximation
|
//use 1st order approximation for alpha
|
||||||
//float alpha=Math::atan2(lift_moment,_centripetalforce * _len);
|
//float alpha=Math::atan2(lift_moment,_centripetalforce * _len);
|
||||||
float alpha;
|
float alpha;
|
||||||
if (_shared_flap_hinge)
|
if (_shared_flap_hinge)
|
||||||
|
|
Loading…
Add table
Reference in a new issue