Post on 30-Dec-2015
description
transcript
Arman Khalatyan
GasPMViewer 1.x.x
The Secrets of Particle Visualization methods.
The summer school 2006 on "Computational Cosmology" Astrophysical Institute Potsdam (AIP).
2
OUTLINE
Modern Cosmological Simulations Basics of DM Simulations Density calculation
PMViewer basics. Developed Branches. Visualization algorithms:
DM GAS
Introduction to Stereo 3D Basic concepts 3D stereo facilities at AIP
<= NEW Visualization Technique
3
Modern Cosmological Simulations
The evolution of cosmic structures is a nonlinear process.
In the simulation Box up to 5123(134M) particles or more. Output of one time step is: ~3.2GB raw
data. ~200K gravitationally bound objects:
Haloes and subhaloes. For constructing merger history we
need >100 time steps.
4
Simulations DiagramCosmological model
INITIAL CONDITIONS
GetX,Y,Z, Vx,Vy,Vz
Zeldovich approximation
EVOLVE N-Body relaxation problem
PM,ART,GADGET
ANALYSE DATA
•Particles (points)•MESH(AMR grid)•Properties (Rho, T,P etc)
Halo catalogs:•Positions•Radius•Triaxial ellipsoids
5
What to visualize?
2 vector fields Positions r (X,Y,Z) Velocities v (VX, VY, VZ)
Several scalar fields Density Temperature Pressure Absolute Velocity measured by observer
6
Density calculation for Point data
NGP CIC TSC AMR SPH
BH-Tree (oct-tree) KD-Tree (binary-tree)
7
Mapping particles to GRID
slice with Z depth
8
Result=SLICE
After 15 min on supercomputer we will get CIC on a GRID resolution 512^3
9
But we want to do more…
10
Density estimation by BH-Tree
Build the BH-Tree (J.Barnes,P.Hut, 1986) Calculate density = MCOM/Vnode Disadvantages: over/under-estimate!!! Advantages: It is fast and useful for
visualizations!!!
11
True SPH Density
Assign "radius" defined by N-neighbors (Nngb=30-60). Get density by: i=N
jmjW(rij,hi), where W(r , h) is a smoothing kernel.
Disadvantages: Needs computational power!!! Advantages: It is more accurate.
12
Examples: SPH on a GRID
NGB=40 NGB=250
13
Idea of PMViewer
Interactive fast tool to visualize particles.
Visualize Haloes to check halo finder algorithms.
Easy to handle and expand. Multiplatform
possibility to run on supercomputers non interactive rendering
Make fancy movies
14
QT based PMViewer 2.x.x
This is not supported anymore.
15
Modern GasPMViewer’s properties
OS: Linux, MacOS, CygWin Programming Language: C/C++ Environment: X11 Require: >= g++2.99, OpenGL, GLUT Hardware: >=P3 400Mhz, >32M VRAM.
Notes: Direct Draw should be enabled. Particles data formats: ART, GADGET-1/2,
MLAPM/AMIGA?(ask Alexander), BIN/ASCII(N,X,Y,Z,M)
HALO Catalogs: BDM, BDM_MPI, for new format edit read_halos.cpp file.
16
User Interface.
17
How to start?
Look at “glxinfo” ’s output:name of display: 127.0.0.1:0.0display: 127.0.0.1:0 screen: 0direct rendering: Noserver glx vendor string: SGIserver glx version string: 1.2server glx extensions: GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context, GLX_OML_swap_method, client glx vendor string: SGIclient glx version string: 1.4client glx extensions:......
Force your administrator to install OpenGL correctly!!!
This should be YES
18
Getting code.
http://pmviewer.sourceforge.net
http://www.aip.de/People/AKhalatyan/Download/GasPMViewer.tar.gz
19
Makefile
For DM: MYOPT= -DSWE -DNOAGE -DVERBOSE -DPBUFFER
For Gas and track center MYOPT= -DVERBOSE -DREADCENTFROMFILE -DNOBH -DSWE -DNOTVISBOUNDPART -DPBUFFER -DDEBUGME
For DM,Boundary,Gas,Stars, BH
MYOPT= -DSIMPLE -DVERBOSE -DDEBUGME -DPBUFFER There are more then 20 options…
20
Setup my.ini file;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Inifile for GasPMViewer v1.3.3b ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;[DATA_TYPE];; 0 or 1 show particles?PARTICLE_FLAG = 1;; ASCII 0 || ART data 1 || GADGET 2 || MLAPM 3DATA_TYPE = 1 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;[BOX PARAMETERS];; Box Size of simulation only for ARTBOX = 30 ;; Per cent of particlesproc = 100;; 0 or 1 periodic shifting of some point to the center ofbox PERIODIC_FLAG = 0;;translation coordinates for shifting to the center in Mpc/h ;;Box50x128tx= 48.99 ty= 18.64 tz= 48.12;; 0 or 1 Dencity scaleDENCE_SC = 0D_MAX = 6.18475e+08D_MIN = 4.0;;;;;;;;;;;;; Write dencity centrsCENT_OUT = 0
Note: The format is case sensitive!!!
21
my.ini file;;;;;;;;;;;;;;;;;;;;;;; Draw all particles iside of defined box SUBBOX = 0;;in kpc XBOX = 25000.0YBOX = 25000.0ZBOX = 25000.0DBOX = 1210.0;;;;;;;;;in K ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;Tempmax = 5.0e+6 Tempmin = 1e+1 ;;;;;;;;;;;;;;;;;;;;;trace centerCENTER_FILE = FOF/4Kpc/host_track.log ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;[GADGET];; 1 or 0BIG_GADGET = 0 GADGET_TYPE = 1GAS_FLAG = 0 GADGET_PATH = /work4/arm2arm/GAD/ GADGET_BASENAME = snapshot;; which moment?SNAP_NUMBER = 32 ;; num of filesGADGET_FILES = 1 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
22
my.ini file[ASCII]ASCII_FILE = /windows/D/Projects/MMC/xyzINI_TIME = 492EVOL = 0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;[ART]MPI_ART = 0MPI_DIR = /home/arm2arm/DATA/Box30_chris/NAME1 = /homeold/arm2arm/DATA/Box30/PMcrd.DAT NAME2 = /home/arm2arm/DATA/Box30_chris/PMcrs0_00490.DAT;draw Hires particles onlyMULTI = 0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;[HALO];0 or 1HALO_FLAG = 0;; 0 Old || 1 Stefan|| 2 Christian || 3 Arman_S || 4 Arman || 6 AndreyHALO_FILE_TYPE = 31;; header lines of halo fileN_SKIP = 18 ;; number of lines in file eg.: wc -l CATH_FILE HALO_FILE_LINES = 395N_MAX_SHOW_HALO = 175 CATH_FILE = Catshort__00486.DAT.ord;;optional ;CATH_FILE2 ;CATH_FILE_OUT ;MASS_FUNCTION_FILE
23
my.ini file
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;[SNAPSHOT]STEP_FOR_SNAP=1ANI = 0;; snapshot file name format Ex: snapshot0000.ppmSNAPSHOT_FILE = /home/arm2arm/AVI/Box50_128/tmp/snapshott%0.4d.ppm;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;[CONFIG]INTENSITY = 1.1 COLOR_TABLE = /home/arm2arm/bin/bgry64k.rgbaSCRIPT_FILE = script.camPIC_FILE = /home/arm2arm/bin/p1.tga;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;[VIEW]WIN_WIDTH = 320WIN_HEIGHT = 240 ;in internal units minx=-10 maxx=10x = 0 y = 0z = 5.0 ; in gradangle = 0
24
How to run?
from command line:
#>GasPMViwer.x ./my.ini
25
PMViewer rendering algorithms.
DM Rendering algorithms
26
Gas rendering NEW algorithm.
Get SPH density Hsml Rho, Temp…
Sort by given property Rho Temp Pot |V|
27
Billboarding
Billboarding - Excerpt From Real-Time Rendering 2Eby Tomas Akenine-Möller and Eric Haines (16 September 2002)
28
Example:
29
30
Go ahead and visualize your simulations.
&Thank YOU for Your attention.
31
References
http://pmviewer.sourceforge.net/ www.google.com http://www.aip.de/People/AKhalatyan nehe.gamedev.net http://www.lighthouse3d.com/opengl/billboarding/ http://www.flipcode.com/articles/article_rtr2billboards.shtml MSDN
Arman Khalatyan
3D Stereo Visualization facilities in AIP.
33
Stereographics using stereo pairs
To render a stereo pair one needs to create two images, one for each eye in such a way that when independently viewed they will present an acceptable image to the visual cortex and it will fuse the images and extract the depth information as it does in normal viewing.
34
Parallax
The distance between the left and right eye projections is called the horizontal parallax
The object is behind the projection plane.
Object is located in front of the projection plane.
Object lies at the projection plane.
35
Rendering
Toe-in (Incorrect ) Off-axis (Correct)
36
Rendering
Off-axis method requires a non symmetric camera frustum.This is supported by some rendering packages, in particular, OpenGL and DirectX.
37
Frustum
38
3D Stereo in OpenGL
Setting drawing mode glutInitDisplayMode( GLUT_STEREO);
For Drawing:glDrawBuffer(GL_BACK_LEFT)MyDrawLeft();glDrawBuffer(GL_BACK_RIGHT);MyDrawRight();glutSwapBuffers();
39
Anaglyph
If your graphics card doesn’t support stereographics or even left and right buffers, then try Anaglyph(old method).
40
Media and Communication Center (MCC)
41
More3D Stereo visualization system.
42
Movies at MCC
Box=50 Mpc/h 512^3 (~134 000 000) particles Evolution of Box=50 Mpc/h 128^3(~2 000 000)
particles
Stereo PMViewer. Pulsar model from Swinburne.
Interactive Software