-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Stopping Simulation - Question #144
Comments
Hi Gabriel! Thanks for asking and using our package. Regarding the question about checking some condition (which I guess you define from the distance of two objects) at each step of the integration, there is no specific way of doing that. Yet, there are two ways I can think of doing that:
Regarding the second question, whether we have a way of controlling the number of points of the output, yes we do. We have methods that return all time steps, and you can fix the maximum number of integration steps through the keyword argument I hope these comments are helpful! |
Thank you Luis, totally helpful. I've runned few tests comparing Vern9() with TaylorIntregration and for very long tspans TaylorIntegration sounds better since the energy was conserved better than Vern9() for a million years and 10 million years and the running time was faster. I'm trying to implement a simple problem like Planar CR3BP and see how poincare surfaces was going on, my sections are doing well i'm obtaining the expected results and the code seems fine. However i still faces some implementation difficulties. My problem is :
example:
My routines to call out the simulation are defined below.
Thank you |
Regarding this let me first ask, what is the version of the package you are using? The reason I ask this is because the last version (v0.9.0) should be faster than the previous one (v0.8.x), if you use
This problem is actually close to my heart; see this and this papers :-) Once I have promoted my own (old!) papers (I hope you knew them already), let me say that on that time I chose quite uncommon coordinates for the Poincare section, precisely because I was interested in escapes. Collisions eventually appeared, depending on the Jacobi constant, and they are difficult to handle...
What I would do is to write another function based on the method of the method The idea is to introduce the "escape switch" (your If you follow this scheme, you don't need to change anything related to the returned output, though you certainly may, because you can always evaluate the I hope these comments are helpful! |
Gotcha Luis. Yes i'm using the last version and the @taylorize. I'm really enjoing the precision of this numerical integrator, i'm probably gonna use it on my future works. Unfortunately, I didn't know yours published works. I've have finished my masters 3months ago and i worked a half of my thesis on the PCR3BP with surface sections in retrograde orbits. I'm an enthusiast about anything related with chaotic/periodic orbits analysis methods and tools. I'm probably gonna read your work with pleasure since is a very related area to me. I've started my PhD and i'm gonna search something related with chaos 3BP and perturbations somehow. Handling with close-encounters and collisions was the problem i was facing using anothers languages and numerical integrators. I'm very new to Julia (i have some experience in python) and i'm trying to understand and starting to make my tools to start my work. I've forked the files and coppied to my computer explicit everything as functions and made some changes taylorinteg functions to always check for my collision/escape conditions following the steps you shared. It was trick at first because i didn't know about the A suggestion is an implementation of a generic function to break simulation when this conditions becomes true. Thank you for the attention. Feel free to close this topic. |
Thanks Gabriel for all comments and suggestions. I just opened #145 to not forget your suggestion. Regarding the RC3BP, there is a lot of recent work carried out by E. Zottos and collaborators. Also, there is some work by (applied) mathematicians which may interest you, specially related to collisions. Collisions are numerically nasty, in the sense that the manifolds yielding the collision are parabolic; yet, the numerical instabilities are apparent. A nice problem all together! |
I'm a bit late to the party, but just wanted to mention that you can also use TaylorIntegration via the common interface with DifferentialEquations.jl, and that way you can use callbacks to stop an integration given a certain condition, both with Vern9 or TaylorMethod. Hope this helps. |
Hello there,
My name is Gabriel and I work in astronomy and space engineering and am new to julia. My tests involve collisions and escapes, so I need to check each step. I wonder if there is any way to stop numerical integration without using differential equation compatibility callbacks ?
I would also like to know if there is any way to control the number of points in the output?
The text was updated successfully, but these errors were encountered: