Version 7 (modified by raasch, 14 years ago) (diff)

--

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.

General remarks:

The dvr software was originally developed by RRZN stuff (Stephan Olbrich, Carsten Chmielewski). Meanwhile, further development under the name dsvr is done by the University of Hamburg (Prof. Stephan Olbrich, see 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 "EVITA - Untersuchung effizienter Methoden zur visuellen und haptischen tele-immersiven Exploration komplexer Volumen- und Strömungsdaten aus parallelisierten, dynamischen 3D-Simulationen" (2005-2007).

Using dvr with PALM:

The calls of the dvr routines are contained within a PALM 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 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 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).

Quickstart guide for using dvrp on the HLRN/IMUK-system (Sep 2010):

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. The dvr-library has to be used on the HLRN-system. There are two versions available. In case that you are using mpt-MPI, add the following define statements for environment variables to the configuration file (.mrun.config):
       %dvr_inc   -I/home/h/niksiraa/dvr_mpt/lib                  lcsgih parallel
       %dvr_lib   -L/home/h/niksiraa/dvr_mpt/lib:-lDVRP2:-lftp    lcsgih parallel
    
    If mvapich2 is used, dvr_mpt has to be replaced by dvr_mvapich2.
  1. Add the dvr-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.6',
                          dvrp_directory = '<UNAME>/<UDIR>', ... /
    
    For other dvr-parameters see list of dvr package parameters. An example parameter file can be found in the repository under palm/trunk/EXAMPLES/dvr.
  1. Ask the IMUK system operator (Notker Fechner) to mount the filesystem /dvrdata on your local computer.
  1. 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/<UNAME>
       chmod g+rwx /dvrdata/<UNAME>
    
    Steps 3. and 4. have to be done only once, before dvr is used for the first time.
  1. Submit the job with mrun-command
       mrun .... -p dvrp_graphics ....
    
  1. 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 dvrp_directory (see above), e.g. if dvrp_directory = '<UNAME>/movie_1' has been set, the dvr-data are stored under /dvrdata/<UNAME>/movie_1.
  1. Change to this subdirectory (e.g. /dvrdata/<UNAME>/movie_1) and enter the command
       process_dvr_output
    
    It will create a file with name all_streams_streaming.html.
  1. Call the opera-browser (i.e. enter the command opera) and open the file all_streams_streaming.html.

    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" !
       export LD_PRELOAD=libXm.so
       /usr/bin/opera
    


Further features:

The script process_dvr_output has additional options:

Parameter Name Explanation

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