Closed DominicDirkx closed 6 years ago
C++ automatic differentiation toolbox: https://github.com/darioizzo/audi
For my thesis project I made a Taylor series integrator that uses Unified State Model elements to propagate a spacecraft subject to:
*might be changed to third order polynomial using four data points.
Next week I will be validating my TSI with the use of the thrustAccelerationExample. If I don't find the time during my thesis to make a pull request, I will do this after my graduation. In that case, I might also include a version of TSI with Cartesian coordinates.
Cheers,
Michael
Hi Michael,
This is a great idea, and would be a very valuable addition. To do it in a way that is generally applicable to other problems will be tricky, but it sounds like you have some good ideas on how to approach it. I think having the propagation set up in such a way that different types of elements can be used (of which you then only implement/use the USM, probably) will be important.
I think it's good to discuss the problem with some people (Kevin, Jacco, Erwin, you, me) to get a broader idea of the best way to interface the code you've been writing with Tudat. I'll send out a Doodle today to plan a date.
Hi Michael,
Do you think that this will still be implemented in Tudat? The way I see it now, it would be a significant piece of work for you to undertake to make everything fully compatible. Perhaps you could put a link to a (private) repository with the code here, and we could consider it for future integration?
Dominic
Hi Dominic,
I don't think that it would be that much work to make the code compatible, as it already includes several Tudat modules and uses the Tudat coding style, but I agree that it would be to much work to undertake before my graduation. Of course, I'm more than willing to cooperate to make this integration possible in the future. I think I invited you already a few months ago to my private repository (mvandenbroeck/Thesis). You are still listed in my collaborators page. Do you still have access to the repository?
Cheers,
Michael
Great to hear! Yes, I still have access to your repository. Let's talk about it in more detail after your graduation.
@mvandenbroeck It's been a while since we talked, and I was just wondering if you had any plans to pick up this issue in the near future. If not, let us know and we'll close this issue. I still have access to your repository if someone else would like to pick it up in the future.
Hi Dominic,
Yeah it would still be great to include it in Tudat, thanks for reminding me. What steps should I go through to make that possible? I could clean up my personal repository (or make a new repository) and collect the pieces of code required for a workable general TSI for the propagation of low-thrust trajectories in a central gravitational field. I will try to look into it next week.
Cheers,
Michael
Hi Michael,
So sorry, I completely overlooked this issue. If you could provide a link to a github repository with teh working code, and a (brief) description of functionality/architecture, that would be great,
Cheers,
Dominic
Hi Dominic,
Sorry for the delay. I started working on it today. I will let you know when it is ready for Tudat. I cannot give you a date, but I'm on it.
Cheers,
Michael
Dear Dominic,
I finally created a new public repository called Thesis_tudatversion which contains the working code of the TSI-USM integrator as well as the RK-USM integrator.
Explanation of the two main files (mainTSI_tudatversion.cpp
and mainRKusm_tudatversion.cpp
) is provided in the README.txt
.
For the interpretation of the output, please see the README file in the Output_tudatversion
subfolder.
Please don't hesitate to contact me if you have any questions.
Thank you for your patience.
Cheers,
Michael
michaelvdbroeckat
gmaildot
com
As was briefly discussed 03-06-2016, we will investigate whether there is the possibility of providing a generic Taylor series integration algorithm in Tudat. Since Taylor series integration is inherently problem-specific, I think this will be quite challenging. Nevertheless, we should critically evaluate the possibilities to set up at least a basic architecture, and possibly implement some common models.