Point Masses

Top  Previous  Next

By default, gravitational forces from Earth, the Moon, and the Sun are applied to the Spacecraft, but gravitation forces from other celestial bodies can be added to the Force Model for any Spacecraft. Planetary ephemeris data is extracted from a JPL planetary ephemeris file. The DE405.dat is the default file, but FreeFlyer is also packaged with DE200, DE418, and DE421. To configure FreeFlyer to use a different file, go to Options à Preferences à User Preferences and edit the Planetary File.


To learn more about the JPL Development Ephemeris (DE) Files, see the Planetary Ephemerides page in the Data Files section of the Appendix.


This page is divided into the following sections:

Enabling Point Mass Gravity

Specifying Gravitational Field Type



Enabling Point Mass Gravity

Point mass gravitational affects can be modeled on the Spacecraft for a number of celestial bodies, including custom Celestial objects, by editing the Spacecraft object, proceeding to the Force Models page, and clicking the checkbox next to the body, as shown in the image below.


Once the desired celestial body has been checked, ensure that the body is modeled as a point mass using the Field Type drop-down menu.


Spacecraft Force Model with Mars selected as a Point Mass

Spacecraft Force Model with Mars selected as a Point Mass


To enable point mass gravitational forces via FreeFlyer script, either of the following syntaxes may be used:


Alias fm = (Spacecraft1.Propagator AsType RK89).ForceModel; // This alias is used to shorten the script examples below


fm.Mars = 1;

fm.UseBodyForce[3] = 1;


Where any of the following celestial bodies can be substituted for Mars:












and the [3] represents Mars. The bodies are assigned the following array elements:

[0] = Mercury

[1] = Venus

[2] = Earth

[3] = Mars

[4] = Jupiter

[5] = Saturn

[6] = Uranus

[7] = Neptune

[8] = Pluto

[9] = Moon

[10] = Sun



Specifying Gravitational Field Type

By default, when a celestial body is enabled in a Spacecraft's Force Model, FreeFlyer will model all celestial objects as point masses, except for the Earth, which is modeled by default using a 4x4 Zonal and Tesseral potential. To change the field type for any celestial object, use the following syntax:


fm.PlanetFieldType[2] = 0;


Where the [2] represents Earth, as indicated in the bulleted list above, and the PlanetFieldType can be one of the following:


0 for Point Mass gravity

1 for Zonal potential only

2 for Zonal and Tesseral potential

3 for Zonal and Tesseral potential with Solid Tides


The physical properties of each celestial body (Gravity Constant (mu), Body Radius, Reciprocal Flattening) that are used in calculations such as Spacecraft.Height or propagation of a Spacecraft with a point mass gravitational model are set through FreeFlyer script as shown in the examples for setting Earth.Mu below. If propagating a Spacecraft using a gravitational potential field file (see Zonals and Tesserals), the physical properties specified in the file are used for propagation of that Spacecraft.


// Either of these 2 lines will accomplish the same effect

// Setting one of these properties will also update the value of the other


Earth.Mu = 389600.442;

fm.CelestialObjects[2].Mu = 389600.442;



See Also

ForceModel Properties and Methods

Solar System settings that affect Spacecraft Propagation