Ejemplo n.º 1
0
void FGFDMExec::DoLinearization(int mode)
{
  double saved_time;
  if (Constructing) return;
  saved_time = sim_time;
  FGLinearization lin(this,mode);
  Setsim_time(saved_time);
}
Ejemplo n.º 2
0
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);
}
Ejemplo n.º 3
0
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);
}
Ejemplo n.º 4
0
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);
}
Ejemplo n.º 5
0
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);
}