Table of Contents

Name

bodytrans - dataformat for body to scalar mapping functions

Description

bodytrans files are binary loadable files (see also a.out(5) or elf(5) ) which are functions to represent a body to scalar transformation (see also bodytrans(1NEMO) ). They are either generated on the fly (as a user runs a program) by the host C-compiler (see cc(1) ), or if available, a number of precompiled frequently used mappings. If the environment variable CFLAGS is present, it is also used in the compilation.

The dynamic object loader package (loadobj(3NEMO) ) provides a lower level interface to load the images in memory return pointers to requested functions, but in the case of bodytrans, a higher level interface is available (bodytrans(3NEMO) ). Although on most modern computers this is implemented via dlopen(3) , at the time when NEMO was developed, in the mid-80s, this was by no means common place.

The file $NEMOOBJ/bodytrans/BTNAMES contains a table with entries of non-standard bodytrans functions. The first column is the full expression used to return a scalar value, and the second column the file name under which this function is saved in that same directory. This file must be writable by NEMO users if the SAVE_OBJ function is turned on in bodytrans(3NEMO) .

List of Functions


Name    Type    Description

0    int    constant, always returns 0 (or: FALSE)    
1    int    constant, always returns 1 (or: TRUE)    
i    int    returns i, the index of the particle (0..nbody-1)
key    int    returns key, auxilliary integer of a Body
0    real    constant, always returns 0.0
1    real    constant, always returns 1.0
aux    real    returns aux, the auxilliary part of a Body
ax    real    returns ax, the X-accelleration
ay    real    returns ay, the Y-accelleration
az    real    returns az, the Z-accelleration
ekin    real    returns  0.5*(vx*vx + vy*vy + vz*vz), the kinetic energy
eps    real    returns smoothing length
etot    real    returns phi + 0.5*(vx*vx + vy*vy + vz*vz), the total energy
glon    real    returns the galactic longitude atan2(y,x)*180/pi in degrees (GC
at +x-axis)
glat    real    returns the galactic latitude atan2(z,w)*180/pi in degrees (GC
at +x-axis)
i    real    returns i, the index of a particle, as a real
jtot    real    returns total angular momentum of a Body
key    real    returns key, as a real
m    real    returns the mass of a Body
mub    real    returns proper motion in galactic latitude B
mul    real    returns proper motion in galactic longitude L
phi    real    returns the potential, phi, of a Body
r    real    returns the radius of a Body
t    real    returns the radius time of a Body (snapshot)
v    real    returns velocity of a Body
vr    real    returns radial velocity of a Body
vt    real    returns absolute value of tangential velocity of a Body
vp    real    returns rotational parallax vt/r
vx    real    returns vx, the X-velocity
vy    real    returns vy, the Y-velocity
vz    real    returns vz, the Z-velocity
x    real    returns x, the X-position
y    real    returns y, the Y-position
z    real    returns z, the Z-position

See Also

elf(5) , a.out(5) , bodytrans(1NEMO) , bodytrans(3NEMO) , loadobj(3NEMO)

Author

Josh Barnes, Peter Teuben

Update History


20-nov-89    Created        PJT
27-nov-90    Added table of functions    PJT
15-may-05    Some long overdue updates    PJT


Table of Contents