|
Orrery
A GPU-accelerated N-body gravitational simulator
|
What the run writes down, and how often. More...
#include <orrery/sim/configuration.hpp>
Public Attributes | |
| std::string | trajectory_path |
| Where the binary trajectory goes. | |
| core::Index | trajectory_stride = 0 |
| bool | trajectory_velocities = false |
| Whether trajectory frames carry velocities as well as positions. | |
| std::string | diagnostics_path |
| Where the CSV diagnostics stream goes. | |
| core::Index | diagnostics_stride = 0 |
| How often the conserved quantities are measured, in steps. | |
| std::string | checkpoint_path |
| Where checkpoints go, if any. | |
| core::Index | checkpoint_stride = 0 |
Friends | |
| bool | operator== (const OutputSettings &, const OutputSettings &)=default |
What the run writes down, and how often.
Each of the three outputs is switched on by being given a path and off by being left empty, and each has its own stride in steps. A stride of zero means the output is written once at the start and once at the end and not in between, which is what a run wants when it cares about the final state and not the path taken to it.
| std::string orrery::sim::OutputSettings::trajectory_path |
Where the binary trajectory goes.
docs/formats/trajectory.md specifies the file this produces.
| bool orrery::sim::OutputSettings::trajectory_velocities = false |
Whether trajectory frames carry velocities as well as positions.
Off by default because a renderer needs positions alone and the file is twice the size with them. A trajectory is not a checkpoint and cannot be resumed from either way, which is what docs/formats/checkpoint.md exists to provide.
| core::Index orrery::sim::OutputSettings::diagnostics_stride = 0 |
How often the conserved quantities are measured, in steps.
Measuring them costs an N^2 pass, since the potential energy is a sum over pairs and shares no code with the solver on purpose, so this should be a few hundred rather than one. Zero, the default, measures at the two ends of the run only.
| std::string orrery::sim::OutputSettings::checkpoint_path |
Where checkpoints go, if any.
One path rather than a pattern, overwritten each time. A run that keeps every checkpoint it takes fills a disc with states nobody asked for, and the state a person wants after an interruption is the last one.