Code Monkey home page Code Monkey logo

Comments (6)

rahil-makadia avatar rahil-makadia commented on August 24, 2024

Correction, I am seeing similar roundtrip errors with Didymos, not worse. I was misinterpreting my results but the issue still stands

from assist.

hannorein avatar hannorein commented on August 24, 2024

The old timestep algorithm might stall for very close encounters as we discuss in Pham et al. Both time stepping algorithms result in the same timestep for circular orbits (that's how we've normalized the new one). However, for eccentric or hyperbolic orbits, the new algorithm gives a timestep ~2.5 times larger. I suspect this explains the difference in accuracy.

Try the following: use the new algorithm, but reduce the epsilon value by a factor of 1000. The simulations should be ~2-3x slower, the accuracy should match what you obtained with the previous algorithm, and there should be no more (fewer) issues with stalling simulations for very close encounters.

(FWIW, there is an open pull request #102 to just use the old algorithm for now as a default)

from assist.

rahil-makadia avatar rahil-makadia commented on August 24, 2024

Reducing the tolerance did make an improvement without a significant performance hit. Can you explain a bit more what the intuition was behind reducing it by a factor of 1000 just in case I run into something similar in the future? Seems like the new algorithm is enabling much lower epsilon values than the old one...

I'll keep in mind that the open pull request might get merged when I am comparing the GRSS propagator with ASSIST in the future!

from assist.

hannorein avatar hannorein commented on August 24, 2024

These are all great questions!

Yes! You should be able to use much lower epsilon values without getting stuck.

For the intuition about the factor 1000, see Equation 17. The timestep is proportional to $\epsilon^{1/7}$. Thus reducing epsilon by 1000 reduces the timestep by about 2.7.

from assist.

rahil-makadia avatar rahil-makadia commented on August 24, 2024

Ah I see, so because we know the factor by which the new algorithm is increasing timesteps, we can figure out what the new epsilon should be with the updated algorithm to match the old one. Makes sense, thanks! Feel free to close the issue

from assist.

hannorein avatar hannorein commented on August 24, 2024

Correct. We could have chosen the new default timestep to always be smaller than the old one, but that would be way too pessimistic in most situations. This one here is an exception because very high precision is required during a close encounter.

from assist.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.