next up previous contents
Next: Providing Your Own I/O Up: IOUtil Previous: Introduction   Contents

I/O Methods in Cactus

Cactus has several I/O methods for the output of grid variables in different data formats and styles. Each I/O method comes with its own parameters by which it can be customised, and all methods are registered with the flesh, satisfying the Cactus API, allowing them to be called directly from application thorns. An I/O method registers itself with the flesh along with it's name, and these registered names are the labels we now use to describe the various methods.


Table A6.1: Standard I/O methods provided with the Cactus distribution
I/O method Description Providing Thorn
Scalar output of scalars or grid array reductions in xgraph or gnuplot format CactusBase/IOBasic
Info screen output of scalars or grid array reductions CactusBase/IOBasic
     
IOASCII_1D 1D line output of grid arrays in xgraph or gnuplot format CactusBase/IOASCII
IOASCII_2D 2D slice output of grid arrays in gnuplot format CactusBase/IOASCII
IOASCII_3D full output of 3D grid arrays in gnuplot format CactusBase/IOASCII
     
IOJpeg 2D slice output of grid arrays in jpeg image format CactusIO/IOJpeg
     
IOHDF5 full output of arbitrary grid variables in HDF5 format CactusPUGHIO/IOHDF5
     
IOFlexIO_2D 2D slice output of grid arrays in FlexIO format CactusPUGHIO/IOFlexIO
IOFlexIO full output of arbitrary grid variables in FlexIO format CactusPUGHIO/IOFlexIO


The standard provided Cactus I/O methods are shown in Table A6.1. As described above, each of these I/O thorns inherit parameters from thorn IOUtil, which must be included in your ThornList and activated in your parameter files before any of these I/O methods can be used. IOUtil allows you to set the default behaviour for all the I/O methods described above, for example, setting the parameter IO::out_every = 1 will result in any chosen I/O method providing output on each iteration. The default behaviour can be overridden by specific parameters for each method. For example, you may want scalar and 1D output at every iteration but computationally expensive 3D output only every 10th iteration, with these files going into another directory on a scratch partition.


next up previous contents
Next: Providing Your Own I/O Up: IOUtil Previous: Introduction   Contents