Binary Black Hole Grand Challenge Toolkit

Status of Choptuik's Action Items---August 28 1995

Toolkit Layers I & II

(1) Multigrid Solvers: Requirements for basic multigrid algorithms have been specified by the UT Austin group and the necessary support has been implemented by Parashar in the DAGH package. Typical current applications include 2- and 3-D solutions of Poisson's equation with Dirichlet boundary conditions using point-wise relaxation for smoothing and a linear correction scheme (Klasky); and 1-D solutions of ADI equations (Guenther). Extensions to the full approximation scheme (FAS) for non-linear problems and line-relaxation smoothers are planned and should be straightforward.

(2) I/O Operations and File Formats: A protocol for standardizing output of grid functions (aka scientific data sets) to .hdf files has been defined and implemented within the RNPL compiler and can be accessed by generic C and FORTRAN programs via the BBHUtil library included with the RNPL distribution. Parashar has provided access to the interface in DAGH. This interface should suffice for the near term development and assessment of codes constructed using DAGH and RNPL. (It should be noted, however, that problems with the .hdf software have been encountered and we are awaiting feedback from NCSA on that matter. A record of our correspondence to date concerning this issue may be found here. )

The BBHUtil I/O interface is being extended to include socket output (via RPC, or possibly NCSA DTM) to expedite direct-to-server operations.

Parashar maintains contact with the PANDA project at NCSA. Once the PANDA software has been released, DAGH and RNPL access to that software will be provided as soon as possible.

Checkpointing is fully implemented in RNPL, again using the HDF library. A similar facility needs to be implemented on top of the DAGH support and Parashar will address this issue in the near future.

Additional protocols may need to be implemented for data archival but we first need to agree on the details of our proposed archival system.

(3) Distribution Support: A prototype configure script for software installation (including appropriate local macros) has been developed and is currently used in the RNPL distribution. A suitably extended version will be used in the forthcoming official DAGH release.

Library Component Layer

(1) Interpolators: A general interpolator following the general scheme proposed by Choptuik has been implemented by Scott Klasky and will be released soon. A synopsis follows. E-mail Scott if you are interested in beta testing this component.

      integer function interps( rank,order,uc,uf,charc,charf,wkspc,wkspf,
     .                          xf,lx,ly,lz,lout,
     .                          shapecu,shapefu,shapecch,shapefch,
     .                          shapecwk,shapefwk,shapefx,shapel
     .                          )


rank    = 1,2,3 = # of dimensions
orde   r= 1,.. 20 = order of interpolation
uc      = coarse grid function
uf      = fine grid function
charc   = coarse grid characteristic matrix
charf   = fine grid characteristic matrix
wkspc   = workspace on the coarse grid
wkspf   = workspace on the fine grid
xf      = 1d array elements of the coordinates   ex. x,y,z
lx      = list of x points to do list interpolation
ly      = list of y points to do list interpolation
lz      = list of z points to do list interpolation
lout    = solution output from the list interpolations
shapecu = shape of uc
shapefu = shape of uf
shapecch= shape of charc
shapefch= shape of charf
shapecwk= shape of wkspc
shapefwk= shape of wkspf
shapefx = shape of xf. ex.  in 3D xf(shapefx(1)+shapefx(2)+shapefx(3))=x,y,z
shapel  = shape of (lx, ly, lz, lout)

interps returns: a zero value for sucessful completion
                 a value of 1 for unsucessful completion

Coverage of initial proposal
     Case A: Output is to d-Grid
      3     XYZ    Yes      3      XYZ     Yes    2:1       No     2
      3     XYZ    Yes      3      XYZ     Yes    2:1       No     4
      3     XYZ    Yes      3      XYZ     Yes    2:1       No    any
      3     XYZ    Yes      3      XYZ     Yes    n:1       No     2
      3     XYZ    Yes      3      XYZ     Yes    n:1       No     4
      3     XYZ    Yes      3      XYZ     Yes    n:1       No    any
      3     XYZ    Yes      3      XYZ     Yes    2:1       Yes    2
      3     XYZ    Yes      3      XYZ     Yes    2:1       Yes    4
      3     XYZ    Yes      3      XYZ     Yes    2:1       Yes   any
      3     XYZ    Yes      3      XYZ     Yes    n:1       Yes    2
      3     XYZ    Yes      3      XYZ     Yes    n:1       Yes    4
      3     XYZ    Yes      3      XYZ     Yes    n:1       Yes   any

     Case B: Output is to d-List
     r[In]  c[In]  u[In]?          c[Out]                   mask?  p  
       3     XYZ    Yes             XYZ                      No    2
       3     XYZ    Yes             XYZ                      No    4
       3     XYZ    Yes             XYZ                      No   any
       3     XYZ    Yes             XYZ                      Yes  any