## Where communities thrive

• Join over 1.5M+ people
• Join over 100K+ communities
• Free without limits
##### Activity
Chris Andre
@ChrisAndre
But it does not yet compute all the solutions for 0<N<Nmax
Does it still admit 2N+1 solutions? I'm having trouble conceptualizing it for exponential sinusoids. And I'll try to reason about how to find Nmax soon.
Dario Izzo
@darioizzo
Interesting question. I guess you need to look to the $tof, \gamma$ plots to have an answer. I could not find much to say theoretically.
Chris Andre
@ChrisAndre
I hadn't seen that report before, thanks!
I'm confused as to how the Lambert solver will fit into the Multi-LTGA problem... Is it assumed that there is an impulse during a swingby?
Dario Izzo
@darioizzo
yes ... need to go now, will be back in 30 mins ..
Chris Andre
@ChrisAndre
I found this in the report, is this usable for finding Nmax ? >a particular heuristic has been implemented: for a given transfer the number
of allowable revolutions can not be larger than the ratio between the transfer time and the
shortest revolution period between the departure celestial body and the target celestial body
Dario Izzo
@darioizzo
It is usable, but its only a heuristic and will probably overestimate Nmax
Could Nmax be computed by computing the max and min tof for each N ? Or this would be too slow?
Chris Andre
@ChrisAndre
The θ˙1 graph is nicely symmetric
My idea is to ignore ϕ and k0 and μ and interpolate between the minima on either side of the origin
and then reconstruct the integral once we have a good polynomial representation of that slice with ϕ, k0, and μ in mind
Chris Andre
@ChrisAndre
It might even be possible to cache the interpolating polynomials since the only parameters left to describe it are k1 and k2
I don't know how it will work performance-wise, but we can soon find out!
Chris Andre
@ChrisAndre
Chris Andre
@ChrisAndre
Alright, the C++ impl. mimics the Python impl. so far.
I've put it directly into my PyKEP fork, but I've kept it isolated
I'll start commiting it to Github later today
Chris Andre
@ChrisAndre
My fork now has the start of the cpp implementation: https://github.com/ChrisAndre/pykep
The code is not great, I can't remember the last time I coded in cpp. It shouldn't be hard to fix bad form hopefully...
Chris Andre
@ChrisAndre
What else should the solver interface expose? I left prototypes for calculating the final mass ratio and maximum thrust for a spacecraft, is this the right idea?
Dario Izzo
@darioizzo
Chris, sorry for not answering quicckly, but this month we are working on GTOC on top of the other things and I will be a bit absent minded :)
Dario Izzo
@darioizzo
Hey Chris ... how is this proceeding? I have finally time for other things as a quite intensive month finished.
Chris Andre
@ChrisAndre
I made an attempt at submitting a GTOC solution myself, so not much has changed in the last 3 weeks
Chris Andre
@ChrisAndre
I'm wondering how exposins will fit into the optimization process. Can they be used as an initial guess in the local optimizer in the Sims-Flanagan model? Or are they better for an initial survey of possibilities?
Dario Izzo
@darioizzo
Both possibilities are to be considered.
The addition you are programming should be generic enough to allow users to test the expsins for use in researching these type
of questions.
Chris Andre
@ChrisAndre
I'm restructuring the code so it looks better, and so it will be easier to use. This should be done in a few days at most.
Do you use any performance tools for optimizing speed? I looked into valgrind/callgrind, but something C++-specific might be better.
Dario Izzo
@darioizzo
@Chris, no I do not have c++ profiler I use. I do use valgrind, but only to debug for memory leaks and invalid reads ....
Chris Andre
@ChrisAndre
It is now partly integrated into PyKEP https://github.com/ChrisAndre/pykep
Chris Andre
@ChrisAndre
It will attempt to detect the maximum number of revolutions for the first direction and solve all of them. Right now it has trouble if feasible solutions require revolutions greater than zero (change lw to False to see), so I will fix that today. Or the last parameter in the constructor can be set to some revolution number and it will only try that one.
Dario Izzo
@darioizzo
OK, let me know when you want me to give it a try
Chris Andre
@ChrisAndre
It should work now!
Chris Andre
@ChrisAndre
There's some documentation left, and hopefully some optimizations can be looked into
Chris Andre
@ChrisAndre
Sorry for the wait, I wrote up a progress report. The core is complete (I hope!) https://github.com/ChrisAndre/expsin/blob/master/Exposin%20Project.ipynb
Chris Andre
@ChrisAndre
And the PyKEP fork with the project is here; https://github.com/ChrisAndre/pykep
Chris Andre
@ChrisAndre
It should be suitable to try out now. I added an extra test in https://github.com/ChrisAndre/expsin/blob/master/Exposin%20Project.ipynb to reproduce one of the graphs from the study but I had no luck in getting similar results.
Chris Andre
@ChrisAndre
oops, I found the bug! The code now appears to replicate the figures seen in the study.
Dario Izzo
@darioizzo
Makes sense now ... sorry for the little time I had to give you feedback on this, unfortunately things are getting hectic here at the Agency and soon I will leave for a few weeks too .... I promise to spend some time before the end of summer ...
Chris Andre
@ChrisAndre
Just want to check in, how are the GSOC and SOCIS projects going? It looks like jdiez has finished, I assume you're waiting for some time to be thorough with your review. No rush; just looking for an idea of the time frame you have in mind for these projects.
Dario Izzo
@darioizzo
@ChrisAndre Unfortunately we had to fail both students this year as they were busy and could not complete the assigned tasks .. so both extnsions are on hold
I still did not have time to review your exp sin work .. will try to do so in conjunction with another module that includes some debris simulation stuff
Chris Andre
@ChrisAndre
Hey Dario, it was great to meet you in Napa at the conference. Unfortunately I was not able to speak with you long. I understand that PyKEP/PaGMO are on hold for now, but I am still interested in doing some work on some of your projects. Do you have any simple work that needs to be done?
I was also considering implementing a general thrust-law propagator sometime soon and was wondering if you would be interested in merging that into PyKEP... does that sound like a good fit for the toolkit?
Dario Izzo
@darioizzo
Chris, I am always interested in adding code to PyKEP, but it all depends on the final quality if eventually we will merge it into master.
As we do not have much time these days to follow the projectc, we would only merge pull requests that need close-to-zero work from our side
Chris Andre
@ChrisAndre
Understandable, since you appear very busy I do not wish to burden you further with expsin - unless you happen to find a need for it later, I think it can be shelved for now. I do appreciate the assistance!