void FGFDMExec::DoLinearization(int mode) { double saved_time; if (Constructing) return; saved_time = sim_time; FGLinearization lin(this,mode); Setsim_time(saved_time); }
void FGFDMExec::DoSimplexTrim(int mode) { double saved_time; if (Constructing) return; if (mode < 0 || mode > JSBSim::tNone) { cerr << endl << "Illegal trimming mode!" << endl << endl; return; } saved_time = sim_time; FGSimplexTrim trim(this, (JSBSim::TrimMode)mode); sim_time = saved_time; Setsim_time(saved_time); }
void FGFDMExec::Initialize(FGInitialCondition *FGIC) { Setsim_time(0.0); Propagate->SetInitialState( FGIC ); LoadInputs(eAccelerations); Accelerations->Run(false); LoadInputs(ePropagate); Propagate->InitializeDerivatives(); LoadInputs(eAtmosphere); Atmosphere->Run(false); Winds->SetWindNED(FGIC->GetWindNEDFpsIC()); Auxiliary->Run(false); }
void FGFDMExec::Initialize(FGInitialCondition *FGIC) { Setsim_time(0.0); Propagate->SetInitialState( FGIC ); LoadInputs(eInertial); Inertial->Run(false); LoadInputs(eAccelerations); Accelerations->Run(false); LoadInputs(ePropagate); Propagate->InitializeDerivatives(); Winds->SetWindNED(FGIC->GetWindNEDFpsIC()); LoadInputs(eMassBalance); MassBalance->Run(false); }
void FGFDMExec::DoTrim(int mode) { double saved_time; if (Constructing) return; if (mode < 0 || mode > JSBSim::tNone) { cerr << endl << "Illegal trimming mode!" << endl << endl; return; } saved_time = sim_time; FGTrim trim(this, (JSBSim::TrimMode)mode); if ( !trim.DoTrim() ) cerr << endl << "Trim Failed" << endl << endl; trim.Report(); Setsim_time(saved_time); }