Create a simulation of a 3D universe with one or more particle generators. They emit particles moving through space which can be influenced by boundaries (e.g. walls), force fields (e.g. drag) and other arbitrary obstacles. These interactions follow physical models of various kinds (deflection, elastic collision, drag forces, friction....). Depending on the time & skill of people the user interface can be input file driven or any common GUI might be used to change parameters. The position of these particles can be either saved to an ascii file for rendering using an external program, or real-time display can be implemented.
Due to the many variations of possible particle types, particle generators, forces and so on good inheritance design is necessary. Furthermore the need for integration will enforce the implementation of a "generic integration engine" with possibly different ODE solvers.