Impulsive Burns

Top  Previous  Next

The ImpulsiveBurn object is used to provide an instantaneous velocity change to a Spacecraft. Either the Maneuver command or the WhileManeuvering command is used to apply the Impulsive Burn to a Spacecraft. An ImpulsiveBurn object does not require any additional hardware to be added to a Spacecraft.


The following Sample Mission Plans (included with your FreeFlyer installation) demonstrate the use of the Impulsive Burn object:


Interplanetary Samples

Rings of Jupiter


Maneuvering and Targeting Samples

Impulsive Burn

Impulsive Burn Coordinate Systems

Target Apogee - Impulsive Burn



Mass Depletion

The properties of the ImpulsiveBurn, Spacecraft, and any attached Tanks are used to calculate mass depletion due to the maneuver using the rocket equation, based on the user-specified Specific Impulse (Isp). Mass will be depleted from the Spacecraft total mass. For Spacecraft with attached thrusters, the depleted mass is split between all tanks that are attached to the active thrusters (based on ratios of mass flow). If no thrusters are attached, the VehicleDryMass property is updated based on the amount of depleted mass. For more information, see the scale factors section of the Thrusters guide.



Coordinate Systems

The direction of the maneuver can be specified in any of the following attitude reference frames.

Coordinate System

Attitude System




Mean of J2000 (MJ2000)





Velocity-Normal-Binormal (VNB)



Orbit Normal (aligned with the angular momentum vector)

Binormal (completes the right-handed system)

Local Vertical Local Horizontal (LVLH)



Negative Orbit Normal (aligned with the negative angular momentum vector)

Nadir (Points to the center of the Earth)

Spacecraft Body Fixed


Body coordinate X-directed component of maneuver

Body coordinate Y-directed component of maneuver

Body coordinate Z-directed component of maneuver



Geodetic X

Negative Orbit Normal

Normal to Earth's surface



U (Position)

V (Along Velocity Direction)

W (Orbit Normal)



R (Position)

I (Along Velocity Direction/"In-Track")

C (Orbit Normal/"Cross-Track")


In the above descriptions, the orbit normal is aligned with the angular momentum vector, the negative orbit normal is aligned with the negative angular momentum vector, and Nadir points to the center of the Earth. The X-components of the VNB and LVLH coordinate systems, velocity and co-velocity, differ by a rotation about the flight path angle.



The following examples demonstrate some core concepts of maneuvering in FreeFlyer using the ImpulsiveBurn object. The Spacecraft.Maneuver() method can also be used in place of a Maneuver command.


Maneuver a Spacecraft

This mission plan provides an example of implementation of an impulsive burn. The burn is in the Velocity direction of the initially circular orbit. The Maneuver Command can also generate a maneuver report. This report includes the pre- and post-maneuver states of the Spacecraft as well as burn durations, vector deltas, and Tank and Thruster data if applicable. When the Maneuver command is used within a targeting loop, the report will only be generated if the targeting loop converges to a solution. Only the report for the solution will be generated. All executions of the loop for perturbation of the inputs and all nominal executions of the loop before convergence will not generate a report.


ImpulsiveBurn ImpulsiveBurn1;


ImpulsiveBurn1.AttitudeSystem = 2; //LVLH

ImpulsiveBurn1.BurnDirection = {1, 0, 0};


ImpulsiveBurn1.SpecificImpulse = 200;


Maneuver Spacecraft1 using ImpulsiveBurn1 generating "ImpulsiveBurn.txt";


Output File: "ImpulsiveBurn.txt"


Spacecraft Orbit with Impulsive Burn

Spacecraft Orbit with Impulsive Burn


Target a Maneuver

A common way to use the ImpulsiveBurn object is to vary the components and/or magnitude of the burn in a Targeting loop to achieve a change in orbital geometry. The following example configures targets the magnitude of an ImpulsiveBurn along the X-axis of the Velocity-Normal-Binormal frame. It varies the magnitude of the Velocity-component of the DV vector to achieve an eccentricity of 0.8.


ImpulsiveBurn1.AttitudeSystem = 1; //VNB


Target using DifferentialCorrector1;

  Iterate Spacecraft1;

  Vary ImpulsiveBurn1.BurnDirection[0] = 1 + 0.1;


  Maneuver Spacecraft1 using ImpulsiveBurn1;

  Achieve Spacecraft1.E = 0.8  +/- 0.001;


  Plot ImpulsiveBurn1.BurnDirection[0], Spacecraft1.E;




See Also

ImpulsiveBurn Properties and Methods

Maneuver Command