SG_USING_STD(setprecision);
//#include <string.h>
+#include <stdio.h>
+
namespace yasim {
const float pi=3.14159;
+static inline float sqr(float a) { return a * a; }
+
Rotor::Rotor()
{
_alpha0=-.05;
{
if ((_engineon)&&(_omegarel>=1)) return;
if ((!_engineon)&&(_omegarel<=0)) return;
- _omegarel+=dt*1/5.*(_engineon?1:-1); //hier 30
+ _omegarel+=dt*1/30.*(_engineon?1:-1);
_omegarel=Math::clamp(_omegarel,0,1);
_omega=_omegan*_omegarel;
int i;
rk=l-p;
rl=1-rk;
/*
- rl=Math::sqr(Math::sin(rl*pi/2));
- rk=Math::sqr(Math::sin(rk*pi/2));
+ rl=sqr(Math::sin(rl*pi/2));
+ rk=sqr(Math::sin(rk*pi/2));
*/
if(w==2) {k+=2;l+=2;}
else
float phi=Math::atan2(2*omega*_delta,omega0*omega0-omega*omega);
//float relamp=omega*omega/(2*_delta*Math::sqrt(omega0*omega0-_delta*_delta));
- float relamp=omega*omega/(2*_delta*Math::sqrt(Math::sqr(omega0*omega0-omega*omega)+4*_delta*_delta*omega*omega));
+ float relamp=omega*omega/(2*_delta*Math::sqrt(sqr(omega0*omega0-omega*omega)+4*_delta*_delta*omega*omega));
if (!_no_torque)
{
torque0=_power_at_pitch_0/4*1000/omega;
//_delta=omega*_delta;
_delta*=maxpitchforce/(_max_pitch*omega*lentocenter*2*_weight_per_blade*.453);
float phi=Math::atan2(2*omega*_delta,omega0*omega0-omega*omega);
- float phi2=Math::abs(omega0-omega)<.000000001?pi/2:Math::atan(2*omega*_delta/(omega0*omega0-omega*omega));
- float relamp=omega*omega/(2*_delta*Math::sqrt(Math::sqr(omega0*omega0-omega*omega)+4*_delta*_delta*omega*omega));
+ // float phi2=Math::abs(omega0-omega)<.000000001?pi/2:Math::atan(2*omega*_delta/(omega0*omega0-omega*omega));
+ float relamp=omega*omega/(2*_delta*Math::sqrt(sqr(omega0*omega0-omega*omega)+4*_delta*_delta*omega*omega));
if (!_no_torque)
{
torque0=_power_at_pitch_0/_number_of_blades*1000/omega;
<< " relamp: " << relamp
<< " delta: " <<_delta);
- float lspeed[3],dirzentforce[3];
+ // float lspeed[3];
+ float dirzentforce[3];
float f=(!_ccw)?1:-1;
//Math::mul3(f*speed,directions[1],lspeed);