Comments (6)
Correction, I am seeing similar roundtrip errors with Didymos, not worse. I was misinterpreting my results but the issue still stands
from assist.
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.
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.
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
from assist.
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.
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)
- Slowing of certain orbits with rebound version 4.0.3 HOT 11
- DeprecationWarning: pkg_resources is deprecated as an API. HOT 1
- Output cadence HOT 1
- jd_ref bug? HOT 2
- Geocentric flag HOT 3
- Unit tests HOT 6
- Unit test for non-gravitational forces HOT 5
- mkdocs HOT 18
- Github "About" HOT 2
- Mass loss HOT 2
- Make asteroid SPK file optional HOT 1
- Add a way to silence stderr logging HOT 1
- Possible problem with rotation equations in forces.c HOT 3
- cd assist/examples/plain_interface make does not exist HOT 6
- Version number should be inferred from git tag HOT 1
- pip install failing for assit HOT 16
- Note to ourselves: we should make the PyPi (and conda-forge) publishing be automatically triggered from a CI step in github, once the repo is tagged with something like `vX.Y.Z`.
- undefined symbol: reb_error? HOT 6
- Releasing a package to conda-forge HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from assist.