def test_convert_force(self): force = 1.0 expected_force = 4.44822 converted_force = convert_jsbsim_force(force) self.assertAlmostEqual(expected_force, converted_force, 3)
def thrust(self): """Return the engine thrust in newtons""" thrust = self.fdmexec.GetPropulsion()\ .GetEngine(0)\ .GetThruster()\ .GetThrust() return convert_jsbsim_force(thrust)
def test_engine(self): huginn_data_path = configuration.get_data_path() fdm_builder = FDMBuilder(huginn_data_path) fdm_builder.aircraft = "Rascal" fdmexec = fdm_builder.create_fdm() engine = Engine(fdmexec) self.assertAlmostEqual(engine.thrust, convert_jsbsim_force(fdmexec.GetPropulsion().GetEngine(0).GetThruster().GetThrust())) self.assertAlmostEqual(engine.throttle, fdmexec.GetFCS().GetThrottleCmd(0))
def test_get_forces(self): huginn_data_path = configuration.get_data_path() fdm_builder = FDMBuilder(huginn_data_path) fdmexec = fdm_builder.create_fdm() forces = Forces(fdmexec) self.assertAlmostEqual( forces.x_body, convert_jsbsim_force(fdmexec.GetAerodynamics().GetForces(1)), 3) self.assertAlmostEqual( forces.y_body, convert_jsbsim_force(fdmexec.GetAerodynamics().GetForces(2)), 3) self.assertAlmostEqual( forces.z_body, convert_jsbsim_force(fdmexec.GetAerodynamics().GetForces(3)), 3) self.assertAlmostEqual( forces.x_wind, convert_jsbsim_force(fdmexec.GetAerodynamics().GetvFw(1)), 3) self.assertAlmostEqual( forces.y_wind, convert_jsbsim_force(fdmexec.GetAerodynamics().GetvFw(2)), 3) self.assertAlmostEqual( forces.z_wind, convert_jsbsim_force(fdmexec.GetAerodynamics().GetvFw(3)), 3) self.assertAlmostEqual( forces.x_total, convert_jsbsim_force(fdmexec.GetAccelerations().GetForces(1)), 3) self.assertAlmostEqual( forces.y_total, convert_jsbsim_force(fdmexec.GetAccelerations().GetForces(2)), 3) self.assertAlmostEqual( forces.z_total, convert_jsbsim_force(fdmexec.GetAccelerations().GetForces(3)), 3)
def z_total(self): """Return the total force along the z axis in the body frame. The value is in Newtons""" force = self.fdmexec.GetAccelerations().GetForces(3) return convert_jsbsim_force(force)
def z_wind(self): """Return the force along the z axis in the wind frame. The value is in Newtons""" force = self.fdmexec.GetAerodynamics().GetvFw(3) return convert_jsbsim_force(force)
def y_body(self): """Return the force along the y axis in the body frame. The value is in Newtons""" force = self.fdmexec.GetAerodynamics().GetForces(2) return convert_jsbsim_force(force)