Non-spherical gravity calculations

Sword7

Active member
Joined
Mar 23, 2008
Messages
176
Reaction score
32
Points
28
Location
Gaithersburg, MD
Hello folks,

On other forum, I noticed that non-spherical moons around Jupiter affects spacecraft's orbit path. How do moons orbits around football-shaped dwarf planet Haumea? How about potato-shaped, odd-shaped, etc? Does anyone have any good sources about gravity calculations for non-spherical objects?

Does anyone have any planet/moon data for orbit simulation due to non-spherical for accurate orbit path like Jupiter moons, asteroids, etc?

Thanks,
Sword7
 
Orbiter can calculate non-spherical effects in relation to their variation with latitude, but not with longitude. This paper suggests that despite the ellipsoid shape of Haumea, it can be assumed to be a spheroid due to its high rotation rate compared to the period of its satellites. A J2 coefficient is given which you could use in creating a config file for Haumea. Orbiter can also calculate the position of those moons by integrating their state vectors over time, provided your time acceleration is not too high. See section 22.3 of the Orbiter.pdf for more info.

Something like GMAT will support tesseral harmonic coefficients, provided you can find them down or estimate them yourself. I haven't played with it much personally.
 
Orbiter can calculate non-spherical effects in relation to their variation with latitude, but not with longitude. This paper suggests that despite the ellipsoid shape of Haumea, it can be assumed to be a spheroid due to its high rotation rate compared to the period of its satellites. A J2 coefficient is given which you could use in creating a config file for Haumea. Orbiter can also calculate the position of those moons by integrating their state vectors over time, provided your time acceleration is not too high. See section 22.3 of the Orbiter.pdf for more info.

Something like GMAT will support tesseral harmonic coefficients, provided you can find them down or estimate them yourself. I haven't played with it much personally.

Ok, I now got GMAT software and reviewed them. I have another questions about coefficient data. I only saw a few planets have gravity data for accurate orbit paths. How about asteroid, Jupiter moons, etc?

How to calculate coefficient data for orbit? I am very new to that since I only know basic gravity formula (spherical objects).

About Orbiter.pdf (section 22.3), I did not see any gravity data but basic orbital parameters. Other topics on this forum, one of addon developers mention JCoeff parameters.

Thanks again,
Sword7
 
Ok, I now got GMAT software and reviewed them. I have another questions about coefficient data. I only saw a few planets have gravity data for accurate orbit paths. How about asteroid, Jupiter moons, etc?
Similarly in Orbiter only a few bodies have J-coefficients nominated. A Google search would be you best bet for finding others. If you find any good sources, let me know. As I mentioned above, the paper I linked has a J2 value for Haumea.

How to calculate coefficient data for orbit? I am very new to that since I only know basic gravity formula (spherical objects).
In detail, I don't know. In general terms though you want to find the coefficients of the Legendre polynomials in a multipole expansion of the gravitational field (noting that the monopole and dipole terms, J0 & J1, will always be zero). The gravitational field could be determined from observation for a real body, or by calculation for a hypothetical body. To calculate it you need to define a density distribution function for the body and then integrate it to find the gravitational vector field. That is about as much as I know, the detailed math is too much for me but maybe you might have better luck with it.

About Orbiter.pdf (section 22.3), I did not see any gravity data but basic orbital parameters. Other topics on this forum, one of addon developers mention JCoeff parameters.
22.3 tells you how to define planets/moons. I pointed it out because I thought you might want to use it to create your own planets/moons. In particular, if you want Orbiter to calculate the effect of non-spherical gravity on a moon, you will want to set some JCoeff values (see Earth.cfg for example) in the parent body and set EllipticOrbit to FALSE in the moon.

EDIT: You might also want to look at Orbiter\Doc\Technotes\gravity.pdf to see how Orbiter does these calculations.
 
Ok, thanks for providing gravity.pdf and I looked into 'Orbiter/Doc/Technotes' directory and found it. I noticed that non-spherical gravity formula in that documentation uses degree coordinations (not XYZ coordinations for graphics display). How about XYZ-based formula or do I have convert degree coordinations to XYZ coordinations for displaying/mapping?

Thanks again,
Sword7
 
You need to convert to spherical coordinates. The non-spherical gravity coefficients are based on spherical harmonics so it makes it easier to work in a spherical coordinate frame.
 
Hello folks,

Ok, I searched for that through google and found cartesian/spherical coordinates conversion forth and back. For example,

Cartesian to spherical conversion

rho = sqrt(x^2 + y^2 + z^2)
theta = atan2(y, x)
phi = atan2(z, sqrt(x^2 + y^2))

Spherical to cartesian conversion

x = rho * cos(phi) * cos(theta)
y = rho * cos(phi) * sin(theta)
z = rho * sin(phi)

According to gravity.pdf, I noticed that non-spherical gravity formula uses 2-body problem. How about n-body problem like earth, moon, and spacecraft, etc?

Thanks again,
Sword7
 
According to gravity.pdf, I noticed that non-spherical gravity formula uses 2-body problem. How about n-body problem like earth, moon, and spacecraft, etc?
The solution for dealing with non-spherical gravity in gravity.pdf is not restricted to 2-body cases, that is, it will work satisfactorily to determine the gravity force on one body from any number of other non-spherical ones (ie, by vector sum of each one). If you are looking for analytical solutions to the n-body problem, you will be sorely disappointed. The closest I know of, Sundman's series, requires so many terms to converge that using numerical integration (what Orbiter does for orbiting vessels) is more efficient.
 
Back
Top