hannorein / rebound

💫 An open-source multi-purpose N-body code.
https://rebound.readthedocs.io/
GNU General Public License v3.0
846 stars 219 forks source link

SimulationArchives larger than 4GB #666

Closed hannorein closed 1 year ago

hannorein commented 1 year ago

Currently 32 bit addresses are used to refer to positions in a SimulationArchive. This restricts the size to 4GB.

hannorein commented 1 year ago

I've just pushed a commit to the largefiles branch. @fhlobik Could you have a look of this was enough to get it working? I don't have a large archive to test it right now. Thank you!

fhlobik commented 1 year ago

Thank you, but it still doesn't seem to work. I'm getting the same results.

hannorein commented 1 year ago

Thanks. Look like I need to create my own 4GB file ;-)

hannorein commented 1 year ago

Could you try again on the same branch. I believe this should be working now.

fhlobik commented 1 year ago

At first it was giving NameError: name 'c_uint64' is not defined. Did you mean: 'c_int64'? line 57 in simulationarchive.py. After changing c_uint64 to c_int64 the simulation archives loaded properly. Thank you!

hannorein commented 1 year ago

Thanks for checking!

You were too fast! ;-). I had just fixed that error in the latest commit.

Let me know if you encounter any problems. Otherwise I'll merge it into the main branch in a little while.