Re: General Questions about VisAD

Hi Gunnar,

> The data I am to visualize are generated most likely generated by Diffpack
> (, a PDE solving library with focus on finite element grids.
> These are irregular grids, where cells can be of different types within one
> grid. From what I could read in the IrregularxDSet, only supports triangular
> shapes. Is it possible to represent grid of varying celltype either via a
> new Set subclass or something I have not yet come across.

You could define new sub-classes of Set for topologies with multiple cell
types.  We defined our IrregularNDSet classes to use the minimal topological
cells for each dimension (e.g., triangles, tetrahedra) because it is
relatively easy to subdivide other cell types into these minimal cells.

> The datasets are most likely huge, so I was wondering how VisAD and Java3D
> works when one starts to push the hardware limits. I noticed from the
> that animations are very fast, and I assume it is
> because all the geometry is loaded into graphics memory before the animation
> is started. How does this work when the geometry exceeds the memory on the
> graphics board.

VisAD is pretty good about memory use, but Java3D does use a lot of
memory.  We are still stuck at Java3D version 1.1.2 because later versions
throw Exceptions that crash VisAD applications.  We are working with Sun's
Java3D team to make sure VisAD can run with Java3D version 1.2.1.  This
version will significantly reduce Java3D's memory use.

The memory problem is system memory rather than graphics board
memory.  When applications need more than the available system
memory, about all you can do is add and use swap space.  Note
the VisAD file adapters for netCDF and HDF-EOS transparently
manage data objects that reside on disk with parts cached into
memory as needed.  This also helps with memory use.  We also have
projects in the works for managing data objects that span multiple
processors in a cluster, and for more general disk caching of
large data objects.

> I wish to have an implementation of all the basic algorithms available in my
> toolkit when I finnish. Contours, slicing, streamlines, etc. I the mailing
> list archive I saw several suggestions how to make many of them using
> MathTypes. Will/Has this been done anywhere.

The VisAD API provides pretty general methods for slicing and for
contouring.  You could certainly use these to implement your own

We may be implementing a streamline renderer in VisAD during the
next year.  Note that visad/examples/ is a nice example
of computing and displaying trajectories using VisAD.

> Have I understood the licence correct if any one can make extensions to the
> VisAD software. I can use the classes I need from the library and implement
> my own where necessary.

VisAD has the LGPL license, which gives you great freedom to use
its API in your own library.

Bill Hibbard, SSEC, 1225 W. Dayton St., Madison, WI  53706
hibbard@xxxxxxxxxxxxxxxxx  608-263-4427  fax: 608-263-6738