The TIPSY VECTOR format is an ascii format where the first line contains the number of elements of the 3 dimensional vector, followed by all elements, one vector at a time (but split of 3 lines).
The TIPSY binary format is the more common format. Its binary header (28 or 32 bytes, perhaps padded to 32) contains the time and number of bodies (see below).
4 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0
The header is 28 bytes in Tipsy’s original code/defs.h, however, many authors are padding this with a integer version, making it 32 bytes. This also limits the number of particles, see CAVEAT below.
struct header { double time ; int nbodies ; // total number of bodies int ndim ; // always 3 int nsph ; // number of gas particles int ndark ; // number of dark/halo particles int nstar ; // number of star particles int version ; // a new 32-byte padding field not used by all tipsy I/O projects } ;
Since the 32 byte header contains a few 4-byte integers, this limits the total number of particles to ~2 billion, unless the parser is recoded to use unsigned int, in which case ~4 billion can be used.
nemo/src/nbody/io/tipsydefs.h definition of the TIPSY binary format bonsai/runtime/include/tipsydefs.h Bonsai’s view (with some fields changed type) [no version] tipsy/code/defs.h Original definition [no version] uns_projects/lib/utils/tipsydefs.std.h [no version]Note that Bonsai has hyjacked the Phi field for dark and stars for an integer ID. With the -DWITH_BOOM you can currently carry a new acc/epot in version 6 of the tipsy files
23-dec-1994 man written PJT 5-feb-2022 document some historic confusion PJT