next up previous contents
Next: Parameters Up: PUGHSlab Previous: Extracting/distributing a hyperslab   Contents


Implementation Details

The current version of thorn PUGHSlab implements only parts of the CCTK hyperslab API as described in section I4.3:

  1. the definition of local/global hyperslabs based on grid indicices
    Currently, the only additional hyperslab mapping information which can be passed through a key/value table is a CCKT_INT option with the key with_ghostzones. If the value of this key is non-zero PUGHSlab will not strip outer boundary ghostzones for periodic boundary conditions as implemented by PUGH.

    PUGHSlab provides a set of predefined built-in functions for the following classes of data type conversions:

    • any CCTK_INT data type into any other CCTK_INT
    • any CCTK_REAL data type into any other CCTK_REAL
    • any CCTK_COMPLEX data type into any other CCTK_COMPLEX

  2. local/global hyperslab extractions
    Global hyperslab get requests will strip off all processor-boundary ghostzones from the returned hyperslab data.

    Local hyperslabs will always include processor-boundary ghostzones. The hsize_local, hoffset_local information returned by the hyperslab mapping routines should be used to locate the locate hyperslab within the global grid (e.g. during a recombination of several local hyperslabs into a single global one).


next up previous contents
Next: Parameters Up: PUGHSlab Previous: Extracting/distributing a hyperslab   Contents