|Top Previous Next
In the previous section covering Hohmann transfers, we stated that Hohmann transfers are typically the most efficient orbit transfers. However, this raises the question: When is it not?
The diagram below depicts a bi-elliptic transfer. In the bi-elliptic transfer, the first transfer is a highly eccentric orbit with an apoapsis higher than the target orbit radius. Once the spacecraft has reached apoapsis, it performs a burn raising its periapsis to the height of its target orbit. Finally, once it reaches periapsis, it performs an orbital insertion burn to put it into a circular orbit.
If you look at the graph below, you can see the relative efficiencies of a Hohmann transfer versus a bi-elliptic transfer. The graph below graphs the amount of Δv required to get to a target orbit using a bi-elliptic transfer. The x-axis shows the ratio of the target orbit to the parking orbit. The y-axis is an arbitrary value of Δv to show the relative efficiencies of the bi-elliptical transfer. The different lines indicate the Δv required if the intermediate orbit is x times bigger than the target orbit. If you'll notice, the black line is 1x, which is the same thing as a Hohmann transfer.
Another thing to note: At an orbit ratio of approximately 11.94, the Hohmann transfer represented by the black line, loses its spot as the most efficient transfer. However, not all the lines are below the black line at this point. This means that when the target orbit to parking orbit ratio is above 11.94, it may be more efficient to perform a bi-elliptic transfer. However, once it reaches a ratio of approximately 15.58, all bi-elliptic transfers are more efficient.
Bi-Elliptic Transfer Δv Requirements
The table below illustrates the most efficient transfer based on the orbit ratio:
Modeling the Bi-Elliptic Transfer
•Create a new Mission Plan and save it as "BiEllipticTransfer.MissionPlan"
Adding a Spacecraft
•Create a Spacecraft with the following Keplerian elements
oA: 7000 km
oI: 0 deg
oRAAN: 0 deg
oW: 0 deg
oTA: 0 deg
•In the Spacecraft object's force model, uncheck the "Moon" and "Sun" boxes. (This is to make sure no unwanted perturbations occur)
•Click "Ok" to close the Spacecraft editor
•Create an ImpulsiveBurn object through the Object Browser
•Double-click on "ImpulsiveBurn1"
•Change the attitude system to "VNB"
•Press "Ok" to close the editor
•Right-click "ImpulsiveBurn1" and clone it twice
•Rename the two clones "ImpulsiveBurn2" and "ImpulsiveBurn3"
•Create a ViewWindow through the Object Browser
•Check "Spacecraft1" in the "Available Objects" list
•Check the "Show Name" box for Spacecraft1
•Change the history mode to "Unlimited" (This will allow for better visualization)
•Go to the "Viewpoints" section on the left-hand side
•On the default view, change the reference frame to "Inertial"
•Change the declination value to 90 deg
•Change the radius value to 700,000 km
•Press "Ok" to close the ViewWindow editor
Building the Mission Sequence
•Drag and drop a FreeForm script editor onto the Mission Sequence
•Double-click the FreeForm script editor
•Rename the script to "User Input"
In this section, we want the user to define the parking orbit, the target orbit, and the magnitude of the bi-elliptic transfer. Also, we need to make sure that the parking orbit the user has defined actually gets assigned to the Spacecraft. To do this, we write:
Now, we need a FreeForm script editor to calculate all the maneuvers needed for the bi-elliptic transfer.
•In the Mission Sequence, drag and drop another FreeForm script editor after the "UserInput" FreeForm script editor
•Double-click the FreeFrom script
•Rename the FreeForm script editor to "Calculate Bi-Elliptic Transfer"
In this FreeForm, there are several calculations we need to do to solve the bi-elliptic transfer problem. Ultimately, this FreeForm script editor will calculate the Δv required for each of the maneuvers, then assign those values to each ImpulsiveBurn object. However, we will take this FreeForm step by step so it doesn't get too complicated. First, let's try and solve the Δv of the first maneuver. To do this, we will be using the Vis-Viva equation, just like we did in the Hohmann transfer section. We will need to calculate the SMA of the first transfer orbit, the speed at periapsis of that orbit, the speed of the parking orbit, and the difference between the two. To do this, we write:
Next, we need to calculate the second maneuver. There are a few more things we need to calculate this time. We have the SMA of the first transfer orbit, but we still need the radius of the apoapsis of that first orbit. To calculate this, we write:
We have the radius of apoapsis of the first transfer orbit. Still, we need the SMA of the second transfer orbit. To calculate this, let's look at the diagram below:
Bi-Elliptic SMA Diagram
Based on this diagram, we can derive a very simple equation to solve for second transfer orbit SMA:
Now, we can write a statement calculating exactly this:
Next, we need to calculate the velocity of the Spacecraft at the apoapsis of the first transfer orbit, the velocity it needs to match the second transfer orbit, and the Δv. To calculate this, we write:
Now that we have calculated the first two maneuvers, we need to calculate the third and final maneuver - the orbital insertion burn. To do this, we need to calculate the velocity of the Spacecraft at the periapsis of the second transfer orbit, the velocity it needs to be to match the target orbit, and the Δv. To calculate this, we write:
At this point, we have calculated the values for all three maneuvers and we can assign these values to the ImpulsiveBurn objects. To do this, we write:
Now, let's move onto the rest of the Mission Sequence.
•In the Mission Sequence, drag and drop a while loop after both FreeForm script editors
•Change the Argument inside the while loop to "(Spacecraft1.ElapsedTime < TIMESPAN(4 hours))"
•Inside the while loop, drag and drop a "Step" command
•Inside the while loop, drag and drop an "Update" command after the "Step" command
•Outside after the while loop, drag and drop three FreeForm script editors after the while loop
•Rename them "Perform Maneuver 1", "Perform Maneuver 2", and "Perform Maneuver 3"
Now, we will go into each of these scripts and have the Spacecraft perform the maneuvers.
To start, let's go into the "Perform Maneuver 1" Script. In this script, we will change the Spacecraft tail color, Maneuver the Spacecraft, then step the Spacecraft to its orbit apoapsis. To do this, we write:
Now let's go into the second maneuver. Open the "Perform Maneuver 2" Script. In this script, we will do the same as before, but we will perform "ImpulsiveBurn2" instead and step the Spacecraft to its periapsis. To do this, we write:
Lastly, let's go into the "Perform Maneuver 3" FreeForm script editor. In this script, we will change the tail color, perform the maneuver, and then report the values of each maneuver, as well as the total required Δv. To do this, we write:
Note that when we calculated "totalDV", we had to use the absolute value of "dV3". This is because for our third maneuver, we need to turn the Spacecraft around and burn in the opposite direction of our velocity vector. Because of this, the value is negative and needs to be positive when calculating the total Δv.
Let's head back to the Mission Sequence to finish the Mission Plan.
•Below the "Perform Maneuver 3" FreeForm script editor, add a while loop
•For the while loop argument, change it so it says "(Spacecraft1.ElapsedTime < TIMESPAN(5 days))"
•Inside the while loop, add a "Step" command
•Inside the while loop, add an "Update" command after the "Step" command
Your Mission Sequence should look something like this:
Mission Sequence Example
Save and Run your Mission Plan to see your results. After running this Mission Plan, answer the following questions:
How did FreeFlyer's calculations compare to your own calculations by hand?
How much Δv did each maneuver cost? How much total Δv was used?
Open the Hohmann transfer Mission Plan you just built. Run the mission with the same parking and target SMAs as this problem. How does the total Δv compare to the bi-elliptic's total Δv?
Go back to the Bi-Elliptic Transfer Mission Plan. In the user input, change the "transferMagnitude" to 5. Did the total amount of Δv increase or decrease?