Orrery
A GPU-accelerated N-body gravitational simulator
Loading...
Searching...
No Matches
orrery::sim::RunOutput Class Referenceabstract

Somewhere for a run to report itself to. More...

#include <orrery/sim/run_output.hpp>

Inheritance diagram for orrery::sim::RunOutput:
orrery::sim::FileOutput

Public Member Functions

virtual void record (const Simulation &simulation, bool is_final)=0
 Record the current state of simulation.

Protected Member Functions

 RunOutput (const RunOutput &)=default
 RunOutput (RunOutput &&)=default
RunOutput & operator= (const RunOutput &)=default
RunOutput & operator= (RunOutput &&)=default

Detailed Description

Somewhere for a run to report itself to.

Member Function Documentation

◆ record()

virtual void orrery::sim::RunOutput::record ( const Simulation & simulation,
bool is_final )
pure virtual

Record the current state of simulation.

Called once before the first step and once after each step, with is_final true only on the last of those. An implementation decides for itself which of those calls it acts on.

May throw. This is called between steps rather than inside one, so the prohibition in section 4 of the implementation plan on exceptions leaving a kernel is not engaged, and a disc that has filled is something the person running the simulation has to be told about rather than something to carry on quietly without.

Implemented in orrery::sim::FileOutput.


The documentation for this class was generated from the following file: