From b996eca299b9e30739c9a066507cfb34e4f3b02e Mon Sep 17 00:00:00 2001 From: bcoconni Date: Fri, 29 Nov 2013 19:37:39 +0100 Subject: [PATCH] Fix for bug #1238: the accelerations, velocities, etc. are now updated to a consistent set of values prior to exiting the trim routines. --- src/FDM/JSBSim/JSBSim.cxx | 2 -- src/FDM/JSBSim/initialization/FGTrim.cpp | 9 ++++++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/FDM/JSBSim/JSBSim.cxx b/src/FDM/JSBSim/JSBSim.cxx index d71d8fca2..f6efc4b11 100644 --- a/src/FDM/JSBSim/JSBSim.cxx +++ b/src/FDM/JSBSim/JSBSim.cxx @@ -1261,8 +1261,6 @@ void FGJSBsim::do_trim(void) fgtrim = new FGTrim(fdmex,tFull); } - fdmex->RunIC(); - if ( !fgtrim->DoTrim() ) { fgtrim->Report(); fgtrim->TrimStats(); diff --git a/src/FDM/JSBSim/initialization/FGTrim.cpp b/src/FDM/JSBSim/initialization/FGTrim.cpp index 85de49462..bb346598a 100644 --- a/src/FDM/JSBSim/initialization/FGTrim.cpp +++ b/src/FDM/JSBSim/initialization/FGTrim.cpp @@ -242,6 +242,7 @@ bool FGTrim::DoTrim(void) { fdmex->DisableOutput(); + fdmex->RunIC(); fdmex->SetTrimStatus(true); fdmex->SuspendIntegration(); @@ -380,13 +381,15 @@ bool FGTrim::DoTrim(void) { cout << endl << " Trim failed" << endl; } + fdmex->SetTrimStatus(false); + fdmex->ResumeIntegration(); + fdmex->RunIC(); + fdmex->EnableOutput(); + for(i=0;i < fdmex->GetGroundReactions()->GetNumGearUnits();i++){ fdmex->GetGroundReactions()->GetGearUnit(i)->SetReport(true); } - fdmex->SetTrimStatus(false); - fdmex->ResumeIntegration(); - fdmex->EnableOutput(); return !trim_failed; } -- 2.39.5