Difference between revisions of "ChomboVis"

From SourceWiki
Jump to navigation Jump to search
Line 121: Line 121:
  
 
<pre>
 
<pre>
One may use the writeFAB, writeFABname, writeLevel, and writeLevelname func-
+
One may use the writeFAB, writeFABname, writeLevel, and writeLevelname functions described in section 6.3 to write data in a FArrayBox or LevelData<FArrayBox> to a file, and then call ChomboVis from a shell to view the data.
tions described in section 6.3 to write data in a FArrayBox or LevelData<FArrayBox> to
+
 
a ¯le, and then call ChomboVis from a shell to view the data. Alternatively, the viewFAB
+
Alternatively, the viewFAB and viewLevel functions allow ChomboVis to be called directly from the gdb session. To use these functions, the environment variable CHOMBOVIS HOME must be defined and set to the location of the ChomboVis installation directory tree; the chombovis executable must be located in $(CHOMBOVIS HOME)/bin. Then, if one has an FArrayBox fab and
and viewLevel functions allow ChomboVis to be called directly from the gdb session.
 
To use these functions, the environment variable CHOMBOVIS HOME must be de¯ned and
 
set to the location of the ChomboVis installation directory tree; the chombovis executable
 
must be located in $(CHOMBOVIS HOME)/bin. Then, if one has an FArrayBox fab and
 
 
a LevelData<FArrayBox> ldf, one may do the following:
 
a LevelData<FArrayBox> ldf, one may do the following:
 +
 
<gdb prompt> call viewFAB(&fab)
 
<gdb prompt> call viewFAB(&fab)
 
<gdb prompt> call viewLevel(&ldf)
 
<gdb prompt> call viewLevel(&ldf)
which will result in fab and ldf being written to separate temporary ¯les, and then two
+
 
chombovis processes being started, one for fab, and one for ldf.
+
which will result in fab and ldf being written to separate temporary files, and then two chombovis processes being started, one for fab, and one for ldf.
 
</pre>
 
</pre>

Revision as of 15:07, 12 January 2009

Introduction

ChomboVis is a visualisation package from the makers of CHOMBO. It is no longer supported and VisIt is now the visulaisation tool of choice. However, ChomboVis may still be useful for debugging purposes and so the notes below describe how to build and run this package.

In addition to these notes, you may like to look at http://seesar.lbl.gov/anag/chombo/chomboVis/UsersGuide.html.

Prequisites

ChomboVis relies upon a number of other packages, so you will need to install these before building ChomboVis. However, the default build for ChomboVis assumes that they are built inside it's own build directory, so you will need to unpack the ChmboVis tar file first. On dartagnan I untarred it in /opt/chombovis. You can copy the tar file, ChomboVis-4.16.11.tar.gz from that directory.

Python Megawidgets

Needs to be unpacked so that it is a generally available package for Python. On dartagnan (CentOS), I used:

yum install python-pmw

to quickly achieve this, but you can also get the package from http://sourceforge.net/projects/pmw.

HDF5 (v1.6.5)

You can copy /opt/chombovis/ChomboVis-4.16.9-and-everything/hdf5-1.6.5.tar.gz on dartagnan, and build using:

tar -xzf hdf5-1.6.5.tar.gz
cd hdf5-1.6.5
./configure --prefix=/opt/chombovis/ChomboVis-4.16.11
make install

Python (v2.3.3)

You can copy /opt/chombovis/ChomboVis-4.16.9-and-everything/Python-2.3.3.tar.gz and build using:

tar -xzf Python-2.3.3.tar.gz
cd Python-2.3.3
./configure --prefix=/opt/chombovis/ChomboVis-4.16.11
make install

VTK (v4.4)

You can copy /opt/chombovis/ChomboVis-4.16.9-and-everything/vtk4.4-src.tar.gz. The build is different, however, and also a bit buggy.

Unpack normally:

tar -xzf vtk4.4-src.tar.gz
cd vtk4.4-src/VTK

You will need cmake installed on your machine to build the package. I used:

yum install cmake

on dartagnan.

You will need to congigure the build using:

ccmake .

My settings were:

 BUILD_EXAMPLES                   OFF                                                                           
 BUILD_SHARED_LIBS                ON                                                                            
 CMAKE_BACKWARDS_COMPATIBILITY    2.2                                                                           
 CMAKE_BUILD_TYPE                                                                                               
 CMAKE_INSTALL_PREFIX             /opt/chombovis/ChomboVis-4.16.11                                              
 PYTHON_INCLUDE_PATH              /usr/include/python2.4                                                        
 PYTHON_LIBRARY                   /usr/lib64/python2.4/config/libpython2.4.a                                    
 VTK_DATA_ROOT                    VTK_DATA_ROOT-NOTFOUND                                                        
 VTK_GLEXT_FILE                   /opt/chombovis/ChomboVis-4.16.11/vtk4.4-src/VTK/Utilities/ParseOGLExt/headers/
 VTK_GLXEXT_FILE                  /opt/chombovis/ChomboVis-4.16.11/vtk4.4-src/VTK/Utilities/ParseOGLExt/headers/
 VTK_USE_HYBRID                   ON                                                                            
 VTK_USE_PARALLEL                 ON                                                                            
 VTK_USE_PATENTED                 ON                                                                            
 VTK_USE_RENDERING                ON                                                                            
 VTK_WGLEXT_FILE                  /opt/chombovis/ChomboVis-4.16.11/vtk4.4-src/VTK/Utilities/ParseOGLExt/headers/
 VTK_WRAP_JAVA                    OFF                                                                           
 VTK_WRAP_PYTHON                  ON                                                                            
 VTK_WRAP_TCL                     ON 

Now type:

cmake .

followed by:

make install

Building ChomboVis (v4.16.11)

Now you can move on to building ChomboVis itself:

./configure --prefix=/opt/chombovis/ChomboVis-4.16.11 --disable-unittests
make install

In order to run bin/chombovis, you will need to augment your LD_LIBRARY_PATH:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/chombovis/ChomboVis-4.16.11/lib/vtk

Calling ChomboVis from a Debugger

Page 131 of the CHOMBO user manual, http://seesar.lbl.gov/ANAG/chombo, lists a number of commans you can issue when running CHOMBO in a debugger (gdb, ddd) (you will need to set the environment variable CHOMBOVIS_HOME appropriately):

One may use the writeFAB, writeFABname, writeLevel, and writeLevelname functions described in section 6.3 to write data in a FArrayBox or LevelData<FArrayBox> to a file, and then call ChomboVis from a shell to view the data.

Alternatively, the viewFAB and viewLevel functions allow ChomboVis to be called directly from the gdb session.  To use these functions, the environment variable CHOMBOVIS HOME must be defined and set to the location of the ChomboVis installation directory tree; the chombovis executable must be located in $(CHOMBOVIS HOME)/bin.  Then, if one has an FArrayBox fab and
a LevelData<FArrayBox> ldf, one may do the following:

<gdb prompt> call viewFAB(&fab)
<gdb prompt> call viewLevel(&ldf)

which will result in fab and ldf being written to separate temporary files, and then two chombovis processes being started, one for fab, and one for ldf.