.. default-domain:: lua .. highlight:: lua .. currentmodule:: SpaceCenter Flight ====== .. class:: Flight Used to get flight telemetry for a vessel, by calling :meth:`SpaceCenter.Vessel.flight`. All of the information returned by this class is given in the reference frame passed to that method. Obtained by calling :meth:`SpaceCenter.Vessel.flight`. .. note:: To get orbital information, such as the apoapsis or inclination, see :class:`SpaceCenter.Orbit`. .. attribute:: g_force: number The current G force acting on the vessel in :math:`g`. :Attribute: Read-only, cannot be set :rtype: number .. attribute:: mean_altitude: number The altitude above sea level, in meters. Measured from the center of mass of the vessel. :Attribute: Read-only, cannot be set :rtype: number .. attribute:: surface_altitude: number The altitude above the surface of the body or sea level, whichever is closer, in meters. Measured from the center of mass of the vessel. :Attribute: Read-only, cannot be set :rtype: number .. attribute:: bedrock_altitude: number The altitude above the surface of the body, in meters. When over water, this is the altitude above the sea floor. Measured from the center of mass of the vessel. :Attribute: Read-only, cannot be set :rtype: number .. attribute:: elevation: number The elevation of the terrain under the vessel, in meters. This is the height of the terrain above sea level, and is negative when the vessel is over the sea. :Attribute: Read-only, cannot be set :rtype: number .. attribute:: latitude: number The `latitude `_ of the vessel for the body being orbited, in degrees. :Attribute: Read-only, cannot be set :rtype: number .. attribute:: longitude: number The `longitude `_ of the vessel for the body being orbited, in degrees. :Attribute: Read-only, cannot be set :rtype: number .. attribute:: velocity: Tuple The velocity of the vessel, in the reference frame :class:`SpaceCenter.ReferenceFrame`. :Attribute: Read-only, cannot be set :returns: The velocity as a vector. The vector points in the direction of travel, and its magnitude is the speed of the vessel in meters per second. :rtype: Tuple .. attribute:: speed: number The speed of the vessel in meters per second, in the reference frame :class:`SpaceCenter.ReferenceFrame`. :Attribute: Read-only, cannot be set :rtype: number .. attribute:: horizontal_speed: number The horizontal speed of the vessel in meters per second, in the reference frame :class:`SpaceCenter.ReferenceFrame`. :Attribute: Read-only, cannot be set :rtype: number .. attribute:: vertical_speed: number The vertical speed of the vessel in meters per second, in the reference frame :class:`SpaceCenter.ReferenceFrame`. :Attribute: Read-only, cannot be set :rtype: number .. attribute:: acceleration: Tuple The acceleration of the vessel, in the reference frame :class:`SpaceCenter.ReferenceFrame`. This is the total acceleration, including the acceleration due to gravity, and is the time derivative of :attr:`SpaceCenter.Flight.velocity`. :Attribute: Read-only, cannot be set :returns: The acceleration as a vector. The vector points in the direction of the acceleration, and its magnitude is the acceleration of the vessel in :math:`m/s^2`. :rtype: Tuple .. attribute:: center_of_mass: Tuple The position of the center of mass of the vessel, in the reference frame :class:`SpaceCenter.ReferenceFrame` :Attribute: Read-only, cannot be set :returns: The position as a vector. :rtype: Tuple .. attribute:: rotation: Tuple The rotation of the vessel, in the reference frame :class:`SpaceCenter.ReferenceFrame` :Attribute: Read-only, cannot be set :returns: The rotation as a quaternion of the form :math:`(x, y, z, w)`. :rtype: Tuple .. attribute:: direction: Tuple The direction that the vessel is pointing in, in the reference frame :class:`SpaceCenter.ReferenceFrame`. :Attribute: Read-only, cannot be set :returns: The direction as a unit vector. :rtype: Tuple .. attribute:: pitch: number The pitch of the vessel relative to the horizon, in degrees. A value between -90° and +90°. :Attribute: Read-only, cannot be set :rtype: number .. note:: An absolute Euler angle, ill-conditioned when the vessel points near vertical (pitch → ±90°), where heading and roll become ambiguous. For an always-defined attitude use :attr:`SpaceCenter.Flight.rotation` or :attr:`SpaceCenter.Flight.direction`. .. attribute:: heading: number The heading of the vessel (its angle relative to north), in degrees. A value between 0° and 360°. :Attribute: Read-only, cannot be set :rtype: number .. note:: An absolute Euler angle, undefined when the vessel points near vertical (pitch → ±90°). For an always-defined attitude use :attr:`SpaceCenter.Flight.rotation` or :attr:`SpaceCenter.Flight.direction`. .. attribute:: roll: number The roll of the vessel relative to the horizon, in degrees. A value between -180° and +180°. :Attribute: Read-only, cannot be set :rtype: number .. note:: An absolute Euler angle, ill-conditioned when the vessel points near vertical (pitch → ±90°), where the vertical-plane reference vanishes. For an always-defined attitude use :attr:`SpaceCenter.Flight.rotation`; for a well-defined roll use the auto-pilot's ``TargetRoll`` / ``RollError`` against a chosen up reference. .. attribute:: prograde: Tuple The prograde direction of the vessels orbit, in the reference frame :class:`SpaceCenter.ReferenceFrame`. :Attribute: Read-only, cannot be set :returns: The direction as a unit vector. :rtype: Tuple .. attribute:: retrograde: Tuple The retrograde direction of the vessels orbit, in the reference frame :class:`SpaceCenter.ReferenceFrame`. :Attribute: Read-only, cannot be set :returns: The direction as a unit vector. :rtype: Tuple .. attribute:: surface_prograde: Tuple The direction of the vessels surface velocity, in the reference frame :class:`SpaceCenter.ReferenceFrame`. This is the prograde direction as shown on the navball when in surface mode. :Attribute: Read-only, cannot be set :returns: The direction as a unit vector. :rtype: Tuple .. note:: Singular when surface speed is approximately zero. .. attribute:: surface_retrograde: Tuple The direction opposite to the vessels surface velocity, in the reference frame :class:`SpaceCenter.ReferenceFrame`. This is the retrograde direction as shown on the navball when in surface mode. :Attribute: Read-only, cannot be set :returns: The direction as a unit vector. :rtype: Tuple .. note:: Singular when surface speed is approximately zero. .. attribute:: normal: Tuple The direction normal to the vessels orbit, in the reference frame :class:`SpaceCenter.ReferenceFrame`. :Attribute: Read-only, cannot be set :returns: The direction as a unit vector. :rtype: Tuple .. attribute:: anti_normal: Tuple The direction opposite to the normal of the vessels orbit, in the reference frame :class:`SpaceCenter.ReferenceFrame`. :Attribute: Read-only, cannot be set :returns: The direction as a unit vector. :rtype: Tuple .. attribute:: radial: Tuple The radial direction of the vessels orbit, in the reference frame :class:`SpaceCenter.ReferenceFrame`. :Attribute: Read-only, cannot be set :returns: The direction as a unit vector. :rtype: Tuple .. attribute:: anti_radial: Tuple The direction opposite to the radial direction of the vessels orbit, in the reference frame :class:`SpaceCenter.ReferenceFrame`. :Attribute: Read-only, cannot be set :returns: The direction as a unit vector. :rtype: Tuple .. attribute:: atmosphere_density: number The current density of the atmosphere around the vessel, in :math:`kg/m^3`. :Attribute: Read-only, cannot be set :rtype: number .. attribute:: dynamic_pressure: number The dynamic pressure acting on the vessel, in Pascals. This is a measure of the strength of the aerodynamic forces. It is equal to ½ · air density · velocity². It is commonly denoted :math:`Q`. :Attribute: Read-only, cannot be set :rtype: number .. attribute:: static_pressure: number The static atmospheric pressure acting on the vessel, in Pascals. :Attribute: Read-only, cannot be set :rtype: number .. attribute:: static_pressure_at_msl: number The static atmospheric pressure at mean sea level, in Pascals. :Attribute: Read-only, cannot be set :rtype: number .. attribute:: aerodynamic_force: Tuple The total aerodynamic forces acting on the vessel, in reference frame :class:`SpaceCenter.ReferenceFrame`. :Attribute: Read-only, cannot be set :returns: A vector pointing in the direction that the force acts, with its magnitude equal to the strength of the force in Newtons. :rtype: Tuple .. attribute:: aerodynamic_torque: Tuple The net aerodynamic torque currently acting on the vessel about its center of mass, in reference frame :class:`SpaceCenter.ReferenceFrame`. The magnitude is in newton-meters. :Attribute: Read-only, cannot be set :returns: A vector pointing along the axis of the torque, with its magnitude equal to the strength of the torque in newton-meters. :rtype: Tuple .. note:: This is the live counterpart to :attr:`SpaceCenter.Flight.aerodynamic_force`: it reconstructs the per-part aerodynamic forces and application points that the game applied on the current physics frame and levers them about the center of mass, rather than re-simulating them for hypothetical conditions the way :meth:`SpaceCenter.Flight.simulate_aerodynamic_torque_at` does. It is intended for validating the simulator against the live game state. Not available when `Ferram Aerospace Research `_ is installed, as FAR does not expose a live per-frame torque. .. method:: simulate_aerodynamic_force_at(body, position, velocity, rotation) Simulate and return the total aerodynamic forces acting on the vessel, if it were traveling with the given velocity, at the given position and orientation, in the atmosphere of the given celestial body. :param SpaceCenter.CelestialBody body: The celestial body whose atmosphere the forces are simulated in. :param Tuple position: The position of the vessel, in reference frame :class:`SpaceCenter.ReferenceFrame`. :param Tuple velocity: The velocity of the vessel, in reference frame :class:`SpaceCenter.ReferenceFrame`. :param Tuple rotation: The orientation of the vessel, in reference frame :class:`SpaceCenter.ReferenceFrame`, in the same form as :meth:`SpaceCenter.Vessel.rotation`. The angle of attack and sideslip follow from this orientation relative to the velocity; the roll component sets the direction of any aerodynamic lift. Pass the vessel's current rotation to evaluate the force at its current orientation. :returns: A vector pointing in the direction that the force acts, with its magnitude equal to the strength of the force in Newtons, in reference frame :class:`SpaceCenter.ReferenceFrame`. :rtype: Tuple .. note:: The position, velocity and rotation arguments, and the returned force, are all expressed in reference frame :class:`SpaceCenter.ReferenceFrame`. The result is the force the vessel would experience if it were placed at that position and orientation with the air flowing past it at that velocity; it is the force at the requested orientation, not the force in the vessel's current orientation. Atmospheric temperature and density are evaluated at the current universal time. .. method:: simulate_aerodynamic_torque_at(body, position, velocity, rotation, angular_velocity) Simulate and return the total aerodynamic torque acting on the vessel about its center of mass, if it were traveling with the given velocity, at the given position, orientation and angular velocity, in the atmosphere of the given celestial body. :param SpaceCenter.CelestialBody body: The celestial body whose atmosphere the torque is simulated in. :param Tuple position: The position of the vessel, in reference frame :class:`SpaceCenter.ReferenceFrame`. :param Tuple velocity: The velocity of the vessel, in reference frame :class:`SpaceCenter.ReferenceFrame`. :param Tuple rotation: The orientation of the vessel, in reference frame :class:`SpaceCenter.ReferenceFrame`, in the same form as :meth:`SpaceCenter.Vessel.rotation`. Pass the vessel's current rotation to evaluate the torque at its current orientation. :param Tuple angular_velocity: The angular velocity of the vessel, in reference frame :class:`SpaceCenter.ReferenceFrame`. This adds the solid-body rotation term to each part's local airflow and the per-part rigid-body angular drag the game applies, together giving the aerodynamic damping torque. Pass a zero vector to evaluate the static torque. :returns: A vector pointing along the axis of the torque, with its magnitude equal to the strength of the torque in newton-meters, in reference frame :class:`SpaceCenter.ReferenceFrame`. :rtype: Tuple .. note:: The position, velocity, rotation and angular velocity arguments, and the returned torque, are all expressed in reference frame :class:`SpaceCenter.ReferenceFrame`. When `Ferram Aerospace Research `_ is installed the angular velocity argument is ignored. Atmospheric temperature and density are evaluated at the current universal time. This is the ideal rigid-body aerodynamic torque, summed from the per-part forces about the center of mass. A vessel may not visibly rotate by the full amount when a large aerodynamic force acts on a small part far from the center of mass, because the game applies each part's force to that part and propagates it through the joints rather than to the vessel as a rigid body. .. method:: simulate_aerodynamic_wrench_at(body, position, velocity, rotation, angular_velocity, ut) Simulate and return the total aerodynamic force and torque acting on the vessel, if its center of mass were traveling with the given velocity, at the given position, orientation and angular velocity, in the atmosphere of the given celestial body. :param SpaceCenter.CelestialBody body: The celestial body whose atmosphere the wrench is simulated in. :param Tuple position: The position of the vessel's center of mass, in reference frame :class:`SpaceCenter.ReferenceFrame`. :param Tuple velocity: The velocity of the vessel's center of mass, in reference frame :class:`SpaceCenter.ReferenceFrame`. :param Tuple rotation: The orientation of the vessel, in reference frame :class:`SpaceCenter.ReferenceFrame`, in the same form as :meth:`SpaceCenter.Vessel.rotation`. Pass the vessel's current rotation to evaluate the wrench at its current orientation. :param Tuple angular_velocity: The angular velocity of the vessel, in reference frame :class:`SpaceCenter.ReferenceFrame`. This adds the solid-body rotation term to each part's local airflow and the per-part rigid-body angular drag the game applies, together giving the aerodynamic damping force and torque. Pass a zero vector to evaluate the static wrench relative to the reference frame. :param number ut: The universal time used for the atmospheric ephemeris. It selects the body/Sun geometry used for temperature and density, but does not change or propagate :class:`SpaceCenter.ReferenceFrame` or any of the state arguments. :returns: A pair containing the aerodynamic force in newtons followed by the aerodynamic torque in newton-meters about the vessel's center of mass. Both are vectors in reference frame :class:`SpaceCenter.ReferenceFrame`. :rtype: Tuple .. note:: The position and velocity describe the hypothetical center-of-mass state. The position, velocity, rotation and angular velocity arguments, and both returned vectors, are expressed in reference frame :class:`SpaceCenter.ReferenceFrame`. For future-state prediction, :attr:`SpaceCenter.CelestialBody.non_rotating_reference_frame` is recommended so that the spatial state has unambiguous inertial semantics. This is an instantaneous rigid-body result based on the vessel's current parts, drag cubes and control-surface state. When `Ferram Aerospace Research `_ is installed the angular velocity and *ut* arguments are ignored. .. attribute:: lift: Tuple The `aerodynamic lift `_ currently acting on the vessel. :Attribute: Read-only, cannot be set :returns: A vector pointing in the direction that the force acts, with its magnitude equal to the strength of the force in Newtons. :rtype: Tuple .. attribute:: drag: Tuple The `aerodynamic drag `_ currently acting on the vessel. :Attribute: Read-only, cannot be set :returns: A vector pointing in the direction of the force, with its magnitude equal to the strength of the force in Newtons. :rtype: Tuple .. attribute:: aerodynamic_acceleration: Tuple The acceleration of the vessel due to the total aerodynamic forces acting on it (:attr:`SpaceCenter.Flight.aerodynamic_force` divided by the vessel's mass), in reference frame :class:`SpaceCenter.ReferenceFrame`. :Attribute: Read-only, cannot be set :returns: A vector pointing in the direction that the vessel is accelerated, with its magnitude equal to the acceleration in :math:`m/s^2`. :rtype: Tuple .. attribute:: lift_acceleration: Tuple The acceleration of the vessel due to :attr:`SpaceCenter.Flight.lift` (the aerodynamic lift divided by the vessel's mass), in reference frame :class:`SpaceCenter.ReferenceFrame`. :Attribute: Read-only, cannot be set :returns: A vector pointing in the direction that the vessel is accelerated, with its magnitude equal to the acceleration in :math:`m/s^2`. :rtype: Tuple .. attribute:: drag_acceleration: Tuple The acceleration of the vessel due to :attr:`SpaceCenter.Flight.drag` (the aerodynamic drag divided by the vessel's mass), in reference frame :class:`SpaceCenter.ReferenceFrame`. :Attribute: Read-only, cannot be set :returns: A vector pointing in the direction that the vessel is accelerated, with its magnitude equal to the acceleration in :math:`m/s^2`. :rtype: Tuple .. attribute:: speed_of_sound: number The speed of sound, in the atmosphere around the vessel, in :math:`m/s`. :Attribute: Read-only, cannot be set :rtype: number .. attribute:: mach: number The speed of the vessel, in multiples of the speed of sound. :Attribute: Read-only, cannot be set :rtype: number .. attribute:: reynolds_number: number The vessels Reynolds number. :Attribute: Read-only, cannot be set :rtype: number .. note:: Requires `Ferram Aerospace Research `_. .. attribute:: true_air_speed: number The `true air speed `_ of the vessel, in meters per second. :Attribute: Read-only, cannot be set :rtype: number .. attribute:: equivalent_air_speed: number The `equivalent air speed `_ of the vessel, in meters per second. :Attribute: Read-only, cannot be set :rtype: number .. attribute:: terminal_velocity: number An estimate of the current terminal velocity of the vessel, in meters per second. This is the speed at which the drag forces cancel out the force of gravity. :Attribute: Read-only, cannot be set :rtype: number .. attribute:: angle_of_attack: number The pitch angle between the orientation of the vessel and its velocity vector, in degrees. :Attribute: Read-only, cannot be set :rtype: number .. attribute:: sideslip_angle: number The yaw angle between the orientation of the vessel and its velocity vector, in degrees. :Attribute: Read-only, cannot be set :rtype: number .. attribute:: total_air_temperature: number The `total air temperature `_ of the atmosphere around the vessel, in Kelvin. This includes the :attr:`SpaceCenter.Flight.static_air_temperature` and the vessel's kinetic energy. :Attribute: Read-only, cannot be set :rtype: number .. attribute:: static_air_temperature: number The `static (ambient) temperature `_ of the atmosphere around the vessel, in Kelvin. :Attribute: Read-only, cannot be set :rtype: number .. attribute:: stall_fraction: number The current amount of stall, between 0 and 1. A value greater than 0.005 indicates a minor stall and a value greater than 0.5 indicates a large-scale stall. :Attribute: Read-only, cannot be set :rtype: number .. note:: Requires `Ferram Aerospace Research `_. .. attribute:: drag_coefficient: number The coefficient of drag. This is the amount of drag produced by the vessel. It depends on air speed, air density and wing area. :Attribute: Read-only, cannot be set :rtype: number .. note:: Requires `Ferram Aerospace Research `_. .. attribute:: lift_coefficient: number The coefficient of lift. This is the amount of lift produced by the vessel, and depends on air speed, air density and wing area. :Attribute: Read-only, cannot be set :rtype: number .. note:: Requires `Ferram Aerospace Research `_. .. attribute:: ballistic_coefficient: number The `ballistic coefficient `_. :Attribute: Read-only, cannot be set :rtype: number .. note:: Requires `Ferram Aerospace Research `_. .. attribute:: thrust_specific_fuel_consumption: number The thrust specific fuel consumption for the jet engines on the vessel. This is a measure of the efficiency of the engines, with a lower value indicating a more efficient vessel. This value is the number of Newtons of fuel that are burned, per hour, to produce one newton of thrust. :Attribute: Read-only, cannot be set :rtype: number .. note:: Requires `Ferram Aerospace Research `_.