1 / 42

GasPMViewer 1.x.x

Learn the secrets of particle visualization methods in computational cosmology with GasPMViewer. This software allows you to visualize modern cosmological simulations and explore the basics of DM simulations, density calculation, and visualization algorithms for DM and gas.

gmerrill
Download Presentation

GasPMViewer 1.x.x

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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 Diagram • 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. slice with Z depth Mapping particles to GRID

  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=NjmjW(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 • Interactivefasttool 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. This should be YES Force your administrator to install OpenGL correctly!!! How to start? • Look at “glxinfo” ’s output: name of display: 127.0.0.1:0.0 display: 127.0.0.1:0 screen: 0 direct rendering: No server glx vendor string: SGI server glx version string: 1.2 server 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: SGI client glx version string: 1.4 client glx extensions: ... ...

  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 3 DATA_TYPE = 1 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; [BOX PARAMETERS] ;; Box Size of simulation only for ART BOX = 30 ;; Per cent of particles proc = 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 ;;Box50x128 tx= 48.99 ty= 18.64 tz= 48.12 ;; 0 or 1 Dencity scale DENCE_SC = 0 D_MAX = 6.18475e+08 D_MIN = 4.0 ;;;;;;;;;;;;; Write dencity centrs CENT_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.0 YBOX = 25000.0 ZBOX = 25000.0 DBOX = 1210.0 ;;;;;;;;;in K ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Tempmax = 5.0e+6 Tempmin = 1e+1 ;;;;;;;;;;;;;;;;;;;;;trace center CENTER_FILE = FOF/4Kpc/host_track.log ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; [GADGET] ;; 1 or 0 BIG_GADGET = 0 GADGET_TYPE = 1 GAS_FLAG = 0 GADGET_PATH = /work4/arm2arm/GAD/ GADGET_BASENAME = snapshot ;; which moment? SNAP_NUMBER = 32 ;; num of files GADGET_FILES = 1 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

  22. my.ini file [ASCII] ASCII_FILE = /windows/D/Projects/MMC/xyz INI_TIME = 492 EVOL = 0 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; [ART] MPI_ART = 0 MPI_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 only MULTI = 0 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; [HALO] ;0 or 1 HALO_FLAG = 0 ;; 0 Old || 1 Stefan|| 2 Christian || 3 Arman_S || 4 Arman || 6 Andrey HALO_FILE_TYPE = 31 ;; header lines of halo file N_SKIP = 18 ;; number of lines in file eg.: wc -l CATH_FILE HALO_FILE_LINES = 395 N_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=1 ANI = 0 ;; snapshot file name format Ex: snapshot0000.ppm SNAPSHOT_FILE = /home/arm2arm/AVI/Box50_128/tmp/snapshott%0.4d.ppm ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; [CONFIG] INTENSITY = 1.1 COLOR_TABLE = /home/arm2arm/bin/bgry64k.rgba SCRIPT_FILE = script.cam PIC_FILE = /home/arm2arm/bin/p1.tga ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; [VIEW] WIN_WIDTH = 320 WIN_HEIGHT = 240 ;in internal units minx=-10 maxx=10 x = 0 y = 0 z = 5.0 ; in grad angle = 0

  24. How to run? from command line: #>GasPMViwer.x ./my.ini

  25. PMViewer rendering algorithms. DM Rendering algorithms

  26. Gas rendering NEWalgorithm. • 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. Go ahead and visualize your simulations. &Thank YOU for Your attention.

  30. 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

  31. 3D Stereo Visualization 3D Stereo Visualization facilities in AIP.

  32. 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.

  33. 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.

  34. Off-axis (Correct) Toe-in (Incorrect ) Rendering

  35. Rendering Off-axis method requires a non symmetric camera frustum. This is supported by some rendering packages, in particular, OpenGL and DirectX.

  36. Frustum

  37. 3D Stereo in OpenGL Setting drawing modeglutInitDisplayMode( GLUT_STEREO); For Drawing: glDrawBuffer(GL_BACK_LEFT) MyDrawLeft(); glDrawBuffer(GL_BACK_RIGHT); MyDrawRight(); glutSwapBuffers();

  38. Anaglyph • If your graphics card doesn’t support stereographics or even left and right buffers, then try Anaglyph(old method).

  39. Media and Communication Center (MCC)

  40. More3D Stereo visualization system.

  41. 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 Interactive Software • Stereo PMViewer. • Pulsar model from Swinburne.

More Related