What is a state partition?
A state partition is one piece of a simulation’s state. Simulations have a ‘state’ associated to them for each value of time.
A simulation state holds all of the essential information we want to track to make the simulation useful to us which, crucially, includes all of the information that is needed for the simulation to proceed.
In order to simplify how all of this state data is processed and retrieved, we’re going to partition this simulation state into several ‘state partition’ data structures.
For example, one of these partitions might hold all the data associated to a player in a sports team, and the whole simulation needs all of the players within its overall state.
Each state partition carries data that can be different for each moment in time of the simulation. In order to track this evolution, we create a ‘state partition history’ data structure for each state partition.
Each state partition history has indices which always match those of the cumulative timesteps history, so they are always synchronised with each other.