Skip to content
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

Integrate n-body code into current architecture #162

Open
Capital-Asterisk opened this issue Dec 18, 2021 · 1 comment
Open

Integrate n-body code into current architecture #162

Capital-Asterisk opened this issue Dec 18, 2021 · 1 comment
Labels
planned Likely a requirement for a 'final' product

Comments

@Capital-Asterisk
Copy link
Contributor

The codebase had evolved significantly since @z-adams worked on an n-body solar system branch. At the time it was written, satellites in the universe were moved around by classes known as "Trajectories." The idea for the Trajectory class turned out to be inefficient; I'm not sure of the exact details, but additional steps were required for setting position data among other issue. As the code became more data-oriented, Trajectories was replaced with "Coordinate Spaces," see section in architecture.md and #124. Coordinate Spaces lay out satellite position and movement data, which can simply be modified by functions in the universe update (universe update doesn't exist after #158 broke it).

Coordinate Spaces were designed around z-adam's code and comments, so porting all the black magic to the new architecture should be relatively easy:tm:.

Parts of the code was moved into the solar-system3 branch where they are commented out; I don't quite remember which one of z-adam's branches is the latest or original.

solar-system3 NBody.h - Likely the important bit to port over
solar-system3 NBody.cpp - SIMD black magic and other stuff

CartesianSimple.h - Example of a simple coordinate space.

@Capital-Asterisk Capital-Asterisk changed the title Intergrate n-body code into current architecture Integrate n-body code into current architecture Dec 18, 2021
@z-adams
Copy link
Contributor

z-adams commented Dec 18, 2021

In case you need it, my most recent branch was called "solar-system2"

@Capital-Asterisk Capital-Asterisk added the planned Likely a requirement for a 'final' product label May 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
planned Likely a requirement for a 'final' product
Projects
None yet
Development

No branches or pull requests

2 participants