== Plots of isosurfaces, 2d cross sections and particles with dvr == === Preliminary note: === Usage of the '''dvr'''-software requires installation of additional software components ('''dvr'''-library, streaming-server, browser-plugin) which are not part of the PALM distribution. Currently (May 2009), this software is only available on the HLRN/IMUK-system and partly on RIAM's NEC-system. If you are interested in using '''dvr''' on your system, please contact the PALM developers. [[BR]] [[BR]] === General remarks: === The '''dvr''' software was originally developed by [http://www.rrzn.uni-hannover.de RRZN] stuff (Stephan Olbrich, Carsten Chmielewski). Meanwhile, further development under the name '''dsvr''' is done by the University of Hamburg (Prof. Stephan Olbrich, see [http://www.dsvr-software.de/dsvr webpage]). It allows to create 3d-animations with PALM, which can be displayed via a special plugin for internet browsers. With suitable graphic hardware (e.g. NVIDIA quattro FX cards) even stereoscopic views are possible. In contrast to the other kinds of visualization output realized in PALM (1d-, 2d-, 3d-netCDF output), where the data is output in a common format suitable for many kinds of post-processing visualization software, the creation of animations via '''dvr''' software is integrated in PALM, i.e. respective routines are directly called within the PALM code. The '''dvr''' routines then output the graphic data (so-called plot-primitives, e.g. polygones of isosurfaces) in a special '''dvr''' format. Since the '''dvr''' software is parallelized (i.e. each PE calculates the graphic data for its subdomain), the visualization of simulations with very large numbers of grid points is possible (which so far failed because of several problems: volume of the raw data, which rapidly may sum-up to several Terabytes; main memory size needed for graphic workstations, on which the visualization is to be carried out; the insufficient scalar (!) computing speed of commercial graphic software in case of such large numbers of grid points). The coupling of '''dvr''' software and PALM as well as the visualization of the model results via '''dvr''' has been the main focus of the BMBF project "Application of tele-immersion in long-distance networks" (2001-2002), which was a joint project of RRZN, ZIB and IMUK. This work was continued by RRZN in the DFG-funded project "[http://www.rrzn.uni-hannover.de/evita.html EVITA] - Untersuchung effizienter Methoden zur visuellen und haptischen tele-immersiven Exploration komplexer Volumen- und Strömungsdaten aus parallelisierten, dynamischen 3D-Simulationen" (2005-2007). [[BR]] [[BR]] === Using dvr with PALM: === The calls of the '''dvr''' routines are contained within a PALM [wiki:/doc/app/packages software package]. To use this package, the additional option {{{-p 'dvrp_graphics'}}} has to be given in the '''mrun''' call. This automatically links the required libraries. Steering of the plot output is done via the [wiki:/doc/app/dvrpar dvr package parameters]. In contrast to all other PALM output, '''dvr''' graphic data are not output to local files but directly to a special remote computer which is defined via the package parameter [wiki:/doc/app/dvrpar#dvrp_host dvrp_host]. If the default values of the '''dvr''' parameters are used, data are send to a so-called streaming server at the RRZN. Apart from graphic data an additional html-file is created, which can be opened by an internet browser to view the data (a special '''dvr''' plugin is required for this). [[BR]] [[BR]] === Quickstart guide for using dvrp on the HLRN/IMUK-System (June 2010): === In the following, please replace the string {{{}}} with your IMUK username, wherever it appears. Please also replace the string {{{}}} with a subdirectory name of your choice. 1. Add the following define statements for environment variables to the configuration file ({{{.mrun.config}}}): {{{ %dvr_inc -I/home/h/niksiraa/dvr_mvapich2/lib lcsgih parallel %dvr_lib -L/home/h/niksiraa/dvr_mvapich2/lib:-lDVRP2:-lftp lcsgih parallel }}} 2. Add the '''dvr'''-steering parameters to your NAMELIST-parameter file, e.g. {{{ &d3par end_time = 3600.0, ... / &dvrp_graphics_par dvrp_username = '', dvrp_host = '130.75.105.6', dvrp_directory = '/', ... / }}} For other '''dvr'''-parameters see [wiki:/doc/app/dvrpar list of dvr package parameters]. An example parameter file can be found in the repository under [source:palm/trunk/EXAMPLES/dvr]. 3. Ask the IMUK system operator (Notker Fechner) to mount the filesystem {{{/dvrdata}}} on your local computer. 4. On the IMUK-system (your local computer), create a subdirectory in which the '''dvr'''-data are stored and give it access permit for group palm. {{{ mkdir /dvrdata/ chmod g+rwx /dvrdata/ }}} Steps 3. and 4. have to be done only once, before '''dvr''' is used for the first time. 5. Submit the job with '''mrun'''-command {{{ mrun .... -p dvrp_graphics .... }}} 6. After the job has finished, the '''dvr'''-output can be found on the IMUK-cluster in a subdirectory under {{{/dvrdata}}}. The name of the subdirectory is determined by the '''dvr'''-parameter [wiki:/doc/app/dvrpar#dvrp_directory dvrp_directory] (see above), i.e. if the user has set {{{dvrp_directory}}} = '' '/movie_1' '', the '''dvr'''-data are stored under {{{/dvrdata//movie_1}}}. 7. Change to this subdirectory (e.g. {{{/dvrdata//movie_1}}}) and enter the command {{{ process_dvr_output }}} It will create a file with name {{{all_streams_streaming.html}}}. 8. Call the opera-browser (i.e. enter the command {{{opera}}}) and open the file {{{all_streams_streaming.html}}}. [[BR]] [[BR]] === Further features: === The script [source:palm/trunk/SCRIPTS/process_dvr_output process_dvr_output] has additional options: ||='''Parameter Name''' =||='''Explanation''' =|| |---------------- {{{#!td style="vertical-align:top;width:50px" -s }}} {{{#!td style="vertical-align:top" Create sequence output: all streams (and static scenes) are collected to one sequence (one static scene), which can be displayed with a browser without using the streaming server (the so-called sequence mode). This allows e.g. to show animations on a notebook without beeing connected to the internet. When the script is called with this option, the sequence is generated in subdirectory {{{sequence_data}}}. Copy this subdirectory and the file {{{all_streams_sequence.html}}} to a directory on your local computer and open the file {{{all_streams_sequence.html}}} with your browser. For this, you will need to install the the '''dvr'''-plugin (see [http://www.dsvr-software.de/dsvr webpage of the dsvr-software]) on your local computer, which is also available for Windows. }}} |---------------- {{{#!td style="vertical-align:top;width:50px" -a }}} {{{#!td style="vertical-align:top" Acceleration factor: if, in case of sequence mode, the performance of the animation is to slow, you can accelerate it. E.g., by using {{{"-a 2"}}}, only every second frame of the original streams will be used for the sequence. }}} [[BR]] [[BR]] == Current limitations (May 09): == Only a special opera-version on host "bora" can be used. Log-in on "bora" and call {{{/usr/bin/opera}}}. Before that (''' !!! '''), enter the command "{{{export LD_PRELOAD=libXm.so}}}" !