nicokuijpers / SolarSystemSimulator

Solar System Simulator with 3D visualisation written in Java and JavaFX. Positions and velocities of more than 50 solar system bodies are continuously updated using either Newton mechanics or General Relativity. Initial positions and velocities are obtained from Nasa JPL's ephemerides. The journeys of 12 spacecraft are simulated and visualised.
35 stars 5 forks source link

Question #1

Open artamono opened 4 years ago

artamono commented 4 years ago

Hi! Great project you made. Youtube video is nice too. :-) I could not find a better way of contacting you. I was looking for a comparison of Newton mechanics vs General Relativity vs ephemeris data and your project came up. My Java is not that great so before I dig into your code I wanted to ask you a question. Your project is around Voyagers and I need something broader. What do you think will it be possible to use your code to compare errors between Newton vs GR on a scale of 100 or 1000 years? Could you predict the position of Earth for 100 or 1000 years using your code?

nicokuijpers commented 4 years ago

Hi! Thanks voor your interest in our project. In fact, it is broader than the simulation of the Voyagers. The Solar System can be simulated with either Newton Mechanics (NM) or General Relativity (GR) for longer periods of time. It can also be done without real-time visualisation. Simulation results of both simulations can be compared against ephemeris data. Ephemeris data for the planets (including Pluto) is valid from 1620 AD till 2200 AD, so the longest comparison of both simulation types against ephemeris data is 580 years. It is also possible to compare NM and GR against each other for a longer period of time. Please have a look at the technical documentation: https://github.com/nicokuijpers/SolarSystemSimulator/blob/master/SolarSystemSimulatorTechnicalNotes.pdf In Table 3, NM and GR results are compared to ephemeris data after 100 years and 580 years of simulation. After 100 years of simulation, deviation of the position of the Earth is 5876 km using NM and 22 km using GR. In addition, results of NM and GR are compared to each other with respect of the precession of Mercury. Indeed, a precession of 42.98 degrees/century can be observed in case only the Sun and Mercury are simulated using GR, whereas this precession is close to zero for NM. In case the entire Solar System is simulated, then the difference in precession between NM and GR is a bit underestimated, but still close with 42.84 degrees. To answer your question, it is possible to predict the position of the Earth for 100 or 1000 years, or even longer. With GR, the error would be about 22 km after 100 years and around 200 km after 1000 years of simulation. Please let me know if you have further questions. I can do some programming for you if needed.

artamono commented 4 years ago

Thank you! That file with technical notes it's what I needed. I am developing a way to fast evaluate all the relationships between objects. I was looking for a possibility to get a benchmarks, thanks to you I found it :-)

nicokuijpers commented 4 years ago

You’re welcome! If you need anything else, please let me know. Kind regards, Nico Kuijpers

artamono commented 4 years ago

Hello, again :-) I have noticed that you added oblateness to the equation. And according to your data Moon's error is still bad. Also I tried to program the system myself and found out that ephemeris for Earth-Moon object is given as the whole. What will be your next steps in solving the Moon problem? If you don't mind sharing ofc.

nicokuijpers commented 4 years ago

Hi there! Thanks for your remark about adding oblateness. If you look at the position of the Moon relative to the Earth, deviation from ephemeris improves from 27.3 km to 4.7 km (after 2 years of simulation). These changes are hardly noticed when comparing positions relative to the Sun, but they are important when you look at the Moon from the surface of the Earth as is possible in my application.

One problem we haven't solved yet is the following: oblateness seems to work fine with Newton Mechanics, results improve. However, when General Relativity comes into the equation, the results deteriorate. Therefore, we've decided not to apply GR in case acceleration is computed using oblateness. It is still unclear what is causing this problem.

With respect to ephemeris. We use DE405. This includes position of the Earth-Moon barycenter relative to the position of the Sun as well as a vector from the center of the Earth to the center of the Moon. Positions (and velocity) of Earth and Moon relative to the Sun can be obtained by combining the ephemeris of the Earth-Moon barycenter with this vector and using the Earth-Moon mass ratio. This is coded in EphemerisAccurate.java in method planetaryEphemeris().

Please let me know if you have further questions!