Tudat / tudat

NOTE: This Tudat version is no longer supported. See https://docs.tudat.space/en/stable/ and https://github.com/tudat-team/tudat-bundle for the new version
BSD 3-Clause "New" or "Revised" License
87 stars 142 forks source link

Add Unified State Model state derivative model #155

Closed mvandenbroeck closed 6 years ago

mvandenbroeck commented 7 years ago

Hi,

I would like to use a state derivative model that uses seven Unified State Model elements (USM7) in combination with the existing Tudat RK integrator. @DominicDirkx informed me that the fact that USM7 requires 7 elements to be propagated can cause a problem since the current setup might only work with state vectors of type Eigen::Vector6d.

Would it be possible to change the type of the state vectors to Eigen::VectorXd in all related files to allow for a more general state vector?

Thanks,

Michael

DominicDirkx commented 7 years ago

Hi Michael,

I've looked into this a bit further, and it should be feasible. Implementing a new propagator is actually relatively straightforward, I've recently done it for the Gaussian Kepler and MEE equations. The main issue is setting up the differential equations. You have these equations for USM implemented already right? If so, could you post a link to the file(s) in your repository. After your graduation, I'll probably have a few questions on the details of the USM to see how we can best integrate this into Tudat,

Dominic

mvandenbroeck commented 7 years ago

Hi Dominic,

I'm happy to hear that implementing a new propagator is relatively easy. Yeah, I implemented a state derivative model for the USM. It is also part of the mvandenbroeck/Thesis repository, where you should have access to. The state derivative model itself is given in unifiedStateModelStateDerivativeModel.cpp

After my graduation I will have to order my files and make proper README.txt files for them anyways, so I'm open for questions and would love to see (part of) my work integrated into Tudat.

Cheers,

Michael

DominicDirkx commented 7 years ago

@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.

mvandenbroeck commented 7 years ago

Hi Dominic,

Thanks for the reminder. I will have a look at it this week, because this should be fairly easy to include.

Cheers,

Michael

DominicDirkx commented 6 years ago

Hi Michael,

So sorry, I completely overlooked this issue. If you could provide a link to a github repository with the working code, and a (brief) description of functionality/architecture, that would be great,

Cheers,

Dominic

mvandenbroeck commented 6 years ago

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

mvandenbroeck commented 6 years ago

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 michaelvdbroeckatgmaildotcom

DominicDirkx commented 6 years ago

HI Michael,

Sorry for taking so long to respond. Thanks a lot for taking the time to structure this code, it will be very valuable for us, and our future students!

Cheers,

Dominic