HTML automatically generated with rman
Table of Contents
glnemo2 - An interactive 3D OpenGL visualization program for nbody snapshots
glnemo2 [parameter=value]
Glnemo2 is an interactive
3D visualization program which displays particles positions of the different
components (gas, stars, disk, dark mater halo, bulge) of an N-body snapshot.
It’s a very useful tool for everybody running N-body simulations from isolated
galaxies to cosmological simulations. It can show quickly a lot of information
about data by revealing shapes, dense areas, formation of structures such
as spirals arms, bars, peanuts or clumps of galaxies. Glnemo2 has been designed
to meet the requirements of the user, with simplicity in mind, easy to
install, easy to use with an interactive and responsive graphical user
interface (based on Digia QT 4.X/5.X API) , powerful with a fast 3D engine
(OPenGL and GLSL), and generic with the possibility to load different kinds
of input files.
You can zoom in/out, rotate, scale, translate, select
different particles
and plot them in different blending colors, color particles according
to their density, play with the density threshold, trace orbits, play different
time steps, take automatic screenshots to make movies, select particles
using the mouse, fly over your simulation using camera path. All this features
are accessible from a very intuitive graphic user interface.
- NEMO files ( http://carma.astro.umd.edu/nemo )
- Gadget 1 and 2 -little and big endian- files ( http://www.mpa-garching.mpg.de/gadget/
)
- Gadget 3 (HDF5)
- RAMSES files ( http://www.ics.uzh.ch/~teyssier/ramses/RAMSES.html )
- TIPSY file ( http://www-hpcc.astro.washington.edu/tools/tipsy/tipsy.html )
- FTM files (Clayton Heller’s sph/nbody code)
- phiGRAPE file ( http://wiki.cs.rit.edu/bin/view/GRAPEcluster/phiGRAPE )
- FITS files 2D and 3D datacube ( http://fits.gsfc.nasa.gov/ )
- list of files stored in a file
- realtime gyrfalcON simulation via a network plugin (see $NEMO/usr/jcl/glnemo2/gyrfalcon/README)
Glnemo2 uses a plugin mechanism to load data, so it’s easy to
add a new file reader.
It uses the latest OpenGL technology like, shaders (glsl), vertex buffer
object, frame buffer object, and takes in account the power of your graphic
card to accelerate the rendering. Millions of particles can be rendered,
in real time, with a fast GPU. With this technology, glnemo2 can be 1000%
times faster than glnemo1 !
Glnemo2 runs fine on Linux, Windows(using
minGW compiler), and
MaxOSX, thanks to the QT4/QT5 API.
From the command line you can select particles to load by specifying
a range of particles, or
by the name of the component (if the file format store its data by component
name).
For example :
1) glnemo2 in=mysnaphot select=0:199999,300000:999999
it loads snapshot
"mysnapshot" and creates 2 objects (range0: 0 to 199999 particles indexes)
and (range1 : 300000 to 999999 particles indexes)
2) glnemo2 in=snap_01 select=gas,stars
it loads snapshot "snap_01"
and creates 2 objects (range0: gas particles) and (range1 : stars particles).
Gas and stars particles are automatically detected from the input file.
If you start glnemo2 without feeding "select" parameter, it will open
a dialog box where you will be able to select particles.
Once started,
glnemo2 displays particles, and different actions with the mouse or the
keyboard
perform different actions.
All the parameters given to the command
line can be interactively modified in real time using the graphic user
interface composed of menus, icons and dialog boxes. Most of the operations
can also be activated by hitting a key in the display window itself:
- - - - - - - - - - - - -
LMB = Left Mouse Button
RMB = Right Mouse Button
MMB = Middle Mouse Button
MM = Move Mouse
MMH = Move Mouse Horizontally
MMV = Move Mouse Vertically
A = Alt key
C = Control key
S = Shift key
- - - - - - - - - - - - -
LMB + MM(H/V) rotate around X/Y screen axis
RMB + MM rotate around Z screen axis
Wheel mouse zoom in or out
+ zoom in
- zoom out
S + LMB + MM draw a rectangle box to zoom in
C + LMB + MM translate along XY axis
C + RMB + MM translate along Z axis
c center to center of mass
C + r reset translation/rotation
C + a fit all particles inside the window
f toggle fullscreen
g toggle the grid
r launch particles ranges/color dialog box
o launch option dialog box
s take a screenshot
p play all snapshots
[space] play all snapshots
y
Density threshold
MMB + MMH right modify percentage of density threshold: min+1 and max+1
MMB + MMH left modify percentage of density threshold: min-1 and max-1
MMB + MMV up modify percentage of density threshold: min-1 and max+1
MMB + MMV down modify percentage of density threshold: min+1
Automatic rotation around screen axis
C + x toogle automatic rotation around screen x axis
C + y toogle automatic rotation around screen y axis
C + z toogle automatic rotation around screen z axis
SC + x toogle automatic reverse rotation around screen x axis
SC + y toogle automatic reverse rotation around screen y axis
SC + z toogle automatic reverse rotation around screen z axis
Automatic rotation around world axis
C + u toogle automatic rotation around world x axis
C + v toogle automatic rotation around world y axis
C + w toogle automatic rotation around world z axis
SC + u toogle automatic reverse rotation around world x axis
SC + v toogle automatic reverse rotation around world y axis
SC + w toogle automatic reverse rotation around world z axis
The following parameters are recognized in any order if the
keyword is also given:
- in=
- Input snapshot (Nemo,Gadget 2 & 1, Ramses, phiGrape,
ftm, list of files)
- server=
- Running simulation server hostname (right now
works with gyrfalcON) []
- select=
- Select particles. This option can be
used to color the particles. Sets of particles must be selected using the
: range operator, separated by a comma. E.g. select=0:9,10:19 would select
two sets of 10 particles and give them a different color or by component
(gas,halo,stars,bulge,disk,bndry) [all]
- times=
- Select time [all]
- xmin=
- xmin coordinate box for Ramses input [0]
- xmax=
- xmax coordinate box
for Ramses input [1]
- ymin=
- ymin coordinate box for Ramses input [0]
- ymax=
- ymax coordinate box for Ramses input [1]
- zmin=
- zmin coordinate box for
Ramses input [0]
- zmax=
- zmax coordinate box for Ramses input [1]
- lmin=
- level
min for Ramses amr input. (if 0, min internal level will be used) [0]
- lmax=
- level max for Ramses amr input. (if 0, max internal level will be used)
[0]
- scale=
- scaling factor applied on ramses particles coordinates [1000]
- vel=
- load velocity coordinates [t]
- disp_vel=
- display velocity vectors [f]
- blending=
- Activate blending colors [t]
- dbuffer=
- Activate OpenGL depth
buffer [f]
- perspective=
- Perspective projection is activated by default.
Select ’f’ to toggle to orthographic projection.[t]
- bestzoom=
- performs an
automatic zoom to fit all particles on the display.[t]
- play=
- automatically
load and display next snapshot [f]
- glsl=
- try to initiayze GLSL
(shaders) engine [t]
- ortho_range=
- [xy] range size in case of orthographic
projection.[6.0]
- zoom=
- Zoom value.[-14.0]
- xrot=
- Rotation angle on X axis.[0.0]
- yrot=
- Rotation angle on Y axis.[0.0]
- zrot=
- Rotation angle on Z axis.[0.0]
- xtrans=
- translation on X.[0.0]
- ytrans=
- translation on Y.[0.0]
- ztrans=
- translation on
Z.[0.0]
- grid=
- Show grids and cube if they are activated [t]
- nb_meshs=
- #meshs
for the grid [28]
- mesh_size=
- grid’s size of one mesh [1.0]
- xyg=
- display a
grid in XY plan [t]
- yzg=
- display a grid in YZ plan [f]
- xzg=
- display a grid
in XZ plan [f]
- cube=
- display a cube centered on 0,0,0 [f]
- osd=
- show On
Screen Display (OSD) [t]
- osdtime=
- show time on OSD [t]
- osdnbody=
- show nbody
on OSD [t]
- osdzoom=
- show zoom on OSD [t]
- osdrot=
- show rotation values on
OSD [t]
- osdtrans=
- show translation values on OSD [t]
- osddata=
- show data
type on OSD [t]
- osdtitle=
- show title on OSD [t]
- osd_set_title=
- set an explicit
title on OSD. If this variable remains blank, then simulation’s file name
will be used as title
- osdfontsize=
- set OSD’s font in pixels [13.
- od=
- toggle
an opaque disc centered in 0,0,0 [f] for hiding particles with z<0. It’s useful
for displaying spherical data like the Sun.
- odr=
- opaque disc radius size
[0.00]
- odd=
- display opaque disc which act like a coronograph. If enable,
all particles will be hidden.
- axis=
- display 3d axis [t]
- cb=
- display Color
Bar (CB) on screen [t]
- cblog=
- display real or log of the physical
value on CB [f]
- cbloc=
- CB location, 0:top 1:right 2:bottom 3:left
[3]
- cbdigits=
- CB #digits [1]
- cboffset=
- CB #offset pixels from
the border location [35]
- cbpw=
- CB size in percentage of the OpenGL
windows width [0.03]
- cbph=
- CB size in percentage of the OpenGL windows
height [0.65]
- cbfs=
- size of the fonts used to display CB [13]
- com=
- center
according the Center Of Mass [t]
- cod=
- center according the Center Of Density
[t]
- point=
- display particles as points [f]
- auto_render=
- glnemo2 guess automatically
the rendering mode, otherwise accumulation buffer will be selected[t]
- auto_ts=
- automatic texture size [t]
- texture=
- display particles as textures [t]
- texture_s=
- textures size [1.]
- texture_a=
- transparency texture value [1.]
- selphys=
- select
physical quantity to display (1:density, 2:temperature, 3:pressure) [1]
- minphys=
- set minimal physical value
- maxphys=
- set maximal physical value
- cmapindex=
- color map index (used to color particles by density)
- psize=
- Set particles point size [1.0]
- port=
- Running simulation server’s communication
port [4000]
- wsize=
- Windows’s width size [925]
- hsize=
- Windows’s height
size [685]
- screenshot=
- Screenshot name []
- smooth_gui=
- if true it allows
a smoother interactivity with [t]
Glnemo2 uses hardware accelerated
feature of video card and especially GLSL capabilities. Not all the video
cards have this requirement under Linux. The very well supported card are
Nvidia card with proprietary driver. If glnemo2 crashs at starting, try
to launch the program again by adding to the command line "glsl=f". It will
deactivate the hardware accelerated engine, therefore the rendering will
be slow but the program might work at least.
glnemo(1NEMO)
http://qt-project.org/downloads
Qt library web site
CeCILL ( see http://www.cecill.info )
$NEMO/usr/jcl/glnemo2:
directory with source code
$NEMO/usr/jcl/glnemo2/gyrfalcon: runtime gyrfalcon manipulator (See README)
- http://projets.lam.fr/projects/glnemo2
Home page
- http://projets.lam.fr/projects/glnemo2/wiki/Wiki
Wiki
- http://projets.lam.fr/projects/glnemo2/wiki/Movies
Movies
-
Jean-Charles
Lambert
23-Apr-10 ramses reader + gyrfalcON manipulator JCL
19-May-10 - Leiden release - see ChangeLog JCL
28-Jul-10 Version 1.0 !!! JCL
27-Oct-10 Version 1.1 - see ChangeLog JCL
29-Oct-10 Version 1.11 happy gcc 4.5.0 JCL
16-Apr-11 Ver 1.20 - new rendering pipeline/see ChangeLog JCL
25-Nov-11 Ver 1.30 - Color bar display on 3d view JCL
07-Feb-12 Ver 1.40 - New rotation system JCL
14-Feb-12 Ver 1.41 - bug fix release JCL
30-May-12 Ver 1.50 - timeline + opaque sphere JCL
26-Jul-12 Ver 1.51 - bug fix release JCL
01-Dec-12 Ver 1.52 - bug fix release JCL
09-Jan-13 Ver 1.53 - bug fix release JCL
08-Jan-14 Ver 1.6.0 - Happy QT5 JCL
02-Apr-14 Ver 1.6.1 - bug fix release JCL
12-May-14 Ver 1.6.2 - Ramses bug fix release JCL
03-Jul-14 Ver 1.7.0 - add tipsy support JCL
11-Jul-14 Ver 1.7.1 - fix regression from 1.7.0 JCL
04-Nov-14 Ver 1.8.0 - major release see Changelog JCL
10-Feb-15 Ver 1.8.1 - bug fix release see Changelog JCL
14-Oct-15 Ver 1.9.0 - Fits reader, objects see Changelog JCL
28-Apr-16 Ver 1.10.0- Z stretching, HDF5 support, see Changelog JCL
04-Apr-18 Ver 1.11.0 - new RAMSES format, camera module, see Changelog JCL
Table of Contents