4.5.7 Plots of isosurfaces, 2d cross sections and particles with dvrp

Preliminary note:

Usage of the dvrp-software requires installation of additional software components (dvrp-library, streaming-server, browser-plugin) which are not part of the PALM distribution. Currently (May 2009), this software is only available on the the HLRN/IMUK system and partly on RIAM's NEC system. If you are interested in using dvrp on your system, please contact the PALM developers.


General remarks:

The dvrp software was originally developed by the RRZN (Stephan Olbrich, Carsten Chmielewski) and is meanwhile continuosly developed and improved under the name dsvr by the University of Düsseldorf (Prof. Stephan Olbrich, see webpage of the dsvr-software). 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 format suitable for many kinds of post-processing graphic software, the creation of animations via dvrp software is integrated in PALM, i.e. respective routines are directly called within the PALM code. The dvrp routines then output the graphic data (so-called plot-primitives, e.g. polygones of isosurfaces) in a special dvr format. Since the dvrp 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 dvrp software and PALM as well as the visualization of the model results via dvrp 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 "EVITA - Untersuchung effizienter Methoden zur visuellen und haptischen tele-immersiven Exploration komplexer Volumen- und Strömungsdaten aus parallelisierten, dynamischen 3D-Simulationen" (2005-2007).

Using dvrp with PALM:

The calls of the dvrp routines are contained within a PALM software package (see chapter 3.7). 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 package parameters (see chapter 4.2). In contrast to all other PALM output, dvrp graphic data are not output to local files but directly to a special remote computer which is defined via the package parameter dvrp_host. If the default values of the dvrp 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 dvrp plugin is required for this).

Quickstart guide for using dvrp on the HLRN/IMUK-System (May 2009):

In the following, please replace the string <UNAME> with your IMUK username, wherever it appears. Please also replace the string <UDIR> 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 dvrp-steering parameters to your NAMELIST-parameter file, e.g.

     &d3par  end_time = 3600.0,
      ...     /

     &dvrp_graphics_par   dvrp_username = '<UNAME>',
                          dvrp_host = '130.75.105.2',
                          dvrp_directory = '<UNAME>/<UDIR>', ... /

    For other dvrp-parameters see chapter 4.2. An example parameter file can be found in directory ..../trunk/EXAMPLES/dvr  .

  3. On the IMUK-system, create a subdirectory in which the dvrp-data are stored and give it access permit for group palm.

       mkdir /data/raasch/Dvrp_daten/<UNAME>
       chmod g+rwx
    /data/raasch/Dvrp_daten/<UNAME>

    This directory has to be created only once, before dvrp is used for the first time.

  4. Submit the job  with mrun-command

       mrun .... -p dvrp_graphics ....

  5. After the job has finished, the dvrp-output can be found on the IMUK-cluster in a subdirectory under /data/raasch/Dvrp_daten. The name of the subdirectory is determined by the dvrp-parameter dvrp_directory (see above), i.e. if the user has set dvrp_directory = '<UNAME>/movie_1', the dvrp-data are stored under /data/raasch/Dvrp_daten/<UNAME>/movie_1.

  6. Change to this subdirectory (e.g. /data/raasch/Dvrp_daten/<UNAME>/movie_1) and enter the command

       process_dvr_output

    It will create a file with name all_streams_streaming.html.

  7. Call the opera-browser (i.e. enter the command opera) and open the file all_streams_streaming.html.

Further features:
The script process_dvr_output has additional options:

-s     : 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 webpage of the dsvr-software) on your local computer, which is also available for Windows.

-a      : 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.




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" !


 Last change:  $Id: chapter_4.5.7.html 388 2009-09-23 09:40:33Z franke $