Orbit Propagator Interface
Since version 9.
Contents
Overview
The orbit propagator interface, which is created by PropagateOrbitPlugin.m allows you to propagate any type of orbit using ode113, the MathWork's state-of-the-art propagator.
The GUI has several different "panes." These are summarized below. The following sections discuss each in more detail.
Time Pane - set the time Elements Pane - set the initial orbital elements. These are always referenced to the ECI frame Atmosphere Pane - select one of four atmosphere models Propagation Pane - select the coordinate frame in which to propagate Gravity Model Pane - select the gravity model and the order of the model Stopping Conditions Pane - select the stopping condition for the simulation Customization Pane - select simulation options and functions you wish to plug in to the simulation Buttons - control the simulation
The propagator can be run interactively or as part of a Matlab script.
Panes
- Time Pane: The time plug-in, in the upper right corner of the Propagator window, contains the values for the epoch, maximum duration, and time step of the next propagation run. This plug-in allows you to convert the epoch between Julian Date and UTC Calendar date. The duration field allows you to enter a maximum duration for the run. If the specified stopping condition is not met within the specified duration the run will stop. The default duration is one hour. The DT field allows you to specify the time step of the propagation. The default DT is 100 seconds. DT may be negative.
A set of times can be entered for the duration. For example you could enter:
0:25 hr
or
linspace(0,60000,1000) sec
or
[0 1 7 9 11 22 43 900] min
or
MyTimeSequence hr
Any Matlab command or function can be entered into duration. If anything except a time is entered, DT is ignored.
- Elements Pane: The elements plug-in allows you to enter and convert between Keplerian elements, equinoctial elements, RV elements and RP/RA elements. The planet used for the orbit center is also shown. RP/RA elements can be used for any elliptical orbit. They substitute perigee radius and apogee radius for eccentricity and semi-major axis.
- Atmosphere Pane: You can select any one of four models. The first two are altitude dependent and are based on a spherical planet model. The third is the Jacchia J70 Atm pane. If you select Jacchia J70 Atm, the atmosphere plugin GUI for FATMDensity will appear with initialization parameters. DO NOT CLOSE THIS WINDOW until your simulation is over.
The J70 inputs are: aP Geomagnetic index 6.7 hours before the computation f Daily 10.7 cm solar flux (e-22 watts/m^2/cycle/sec) fHat 81-day mean of f (e-22 watts/m^2/cycle/sec) fHat400 fHat 400 days before computation date
If you select Other... the DensityFunction edit box will be enabled. You can enter the name of your own density function in this box.
- Propagate Pane: This selects the pane in which to propagate. The ECIR frame is an inertial frame which coincides with the EF frame at the start of the simulation.
- Gravity Model Pane: You can download GEMT*, JGM-* and WGS84 models from various websites. Any file with the suffix .GEO will be displayed in the pulldown menu. You can enter the number of zonal and tesseral harmonics you wish to use. If you just want the J2 or J4 zonal, you can hit the button to set the appropriate model order. Database extracts mu from the Constant database and restricts you to a point mass planet model.
- Stopping Conditions Pane: You can select any combination of stopping conditions listed in the pane. Some require data. The event detection software will cycle through the stopping conditions and check each one. The one that is detected first will be triggered. If you pick two stopping conditions really close together you may have problems converging on an event.
- Customization Pane: The first five are the names of functions the propagator should call. The default names in the GUI are default functions. When you hit initialize, the function will display an initialization GUI. YOU MUST LEAVE THESE WINDOWS OPEN! Otherwise the propagator will get an error. If you do not initialize a function it will not be called.
The Noise Function returns the plant noise matrix, q, for the covariance propagation:
pDot = f*p + p*f' + q
where f is the matrix of partials of the right-hand-side of the orbit.
The initial mass is the mass of the spacecrft.
The integration tolerance gives the overall tolerance used to determine when to change order or step size. The relative tolerance gives the error on any one state. The numbers in the GUI, 1e-12 in each, give accuracy to the level of cm.
The covariance tolerance is the absolute tolerance on covariance propagation.
The three checkboxes allow you to select planetary perturbations, propagate the covariance and use a analytical derivative for the covariance propagation. When you select planetary perturbations, you will get the moon and the sun if the earth is the center and the sun and earth if the moon is the center. No other perturbations are modeled at this time.
When you select "Propagate Covariance" the covariance and noise inputs will be enabled. You should enter the initial state covariance into the box. You need only enter upper or lower triangular information. The propagator automatically does
p = 0.5*(p + p')
to insure that the covariance matrix is symmetric.
The second is the constant acceleration noise covariance matrix to be used in the equation
pDot = f*p + p*f' + q
Buttons
- Save Plot Data: Save the plot data in a mat file. The plot is saved as a matrix with rows:
[x;y;z;vX;vY;vZ;mass;pXX;....;pZZ]
Only the main diagonal of the covariance matrix is saved.
- Close Plots: Close the plot windows. It only closes the most recent set.
- Open: Open a gui data file.
- Save Data: Save the gui data in a mat file.
- Stop and Plot: Stop the simulation and plot.
- Propagate: Run the propagator.
- QUIT: Quit. It will ask you to save unsaved plot and GUI data.
- Help: Get help.
Back to GUIindex.html