CarpetReduce

Erik Schnetter <schnetter@uni-tuebingen.de>

April 29, 2003

Abstract

1 Introduction

2 Physical System

3 Numerical Implementation

4 Using This Thorn

4.1 Obtaining This Thorn

4.2 Basic Usage

4.3 Special Behaviour

4.4 Interaction With Other Thorns

4.5 Examples

4.6 Support and Feedback

5 History

5.1 Thorn Source Code

5.2 Thorn Documentation

5.3 Acknowledgements

References

6 Parameters




debug_iweight
Scope: private BOOLEAN



Description: Allow debugging iweight grid function by keeping it allocated



Default: no






min_max_time_interpolation
Scope: private BOOLEAN



Description: Interpolate in time for min/max reductions



Default: yes






verbose
Scope: private BOOLEAN



Description: Produce screen output while running



Default: no



7 Interfaces

General

Implements:

reduce

Grid Variables

7.0.1 PRIVATE GROUPS





  Group Names     Variable Names   Details    




iweight iweight compact 0
description Integer weight mask
  description using 2ˆD  bits
dimensions 3
distribution DEFAULT
group type GF
tags prolongation=”none” InterpNumTimelevels=1 checkpoint=”no”
timelevels 1
variable type INT




weight weight compact 0
description Weight function
dimensions 3
distribution DEFAULT
group type GF
tags prolongation=”none” InterpNumTimelevels=1 checkpoint=”no”
timelevels 1
variable type REAL




one one compact 0
description Constant one
dimensions 3
distribution DEFAULT
group type GF
tags prolongation=”none” InterpNumTimelevels=1 checkpoint=”no”
timelevels 1
variable type REAL




excised_cells excised_cells compact 0
description Excised (ignored) volume in the simulation domain
  description in terms of coarse grid cells
dimensions 0
distribution CONSTANT
group type SCALAR
tags checkpoint=”no”
timelevels 1
variable type REAL




Adds header:

bits.h to CarpetReduce_bits.h

Uses header:

nompi.h

defs.hh

dh.hh

dist.hh

vect.hh

carpet.hh

carpet.h

typecase.hh

typeprops.hh

loopcontrol.h

8 Schedule

This section lists all the variables which are assigned storage by thorn Carpet/CarpetReduce. Storage can either last for the duration of the run (Always means that if this thorn is activated storage will be assigned, Conditional means that if this thorn is activated storage will be assigned for the duration of the run if some condition is met), or can be turned on for the duration of a schedule function.

Storage

 

Always:  
weight  
excised_cells  
   

Scheduled Functions

CCTK_STARTUP

  carpetreducestartup

  startup routine

 

  Language: c
  Type: function

CCTK_BASEGRID

  maskbase_setupmask

  set up the weight function

 

  After: spatialcoordinates
    sphericalsurface_setup
  Type: group

MaskBase_SetupMaskAll

  maskbase_setmask

  set the weight function

 

  After: setupimask
  Language: c
  Options: global
    loop-local
  Reads: carpetreduce::iweight(everywhere)
  Type: function
  Writes: carpetreduce::one(everywhere)
    carpetreduce::weight(everywhere)

MaskBase_SetupMaskAll

  setupmask

  set up the real weight function (schedule other routines in here)

 

  After: maskbase_setmask
  Type: group

MaskBase_SetupMaskAll

  maskbase_testmask

  test the weight function

 

  After: setupmask
  Language: c
  Options: global
  Reads: carpetreduce::excised_cells(everywhere)
  Type: function
  Writes: carpetreduce::excised_cells(everywhere)

SetupIMaskInternal

  coordbase_setupmask

  set up the outer boundaries of the weight function

 

  Language: c
  Options: global
    loop-local
  Type: function
  Writes: carpetreduce::iweight(everywhere)

SetupIMaskInternal

  carpetmasksetup

  set up the weight function for the restriction regions

 

  Language: c
  Options: global
    loop-singlemap
  Reads: carpetreduce::iweight(everywhere)
  Type: function
  Writes: carpetreduce::iweight(everywhere)

CCTK_POSTREGRIDINITIAL

  maskbase_setupmask

  set up the weight function

 

  After: spatialcoordinates
  Type: group

CCTK_POSTREGRID

  maskbase_setupmask

  set up the weight function

 

  After: spatialcoordinates
  Type: group

CCTK_POST_RECOVER_VARIABLES

  maskbase_setupmask

  set up the weight function

 

  Type: group

MaskBase_SetupMask

  maskbase_setupmaskall

  set up the weight function

 

  Type: group

MaskBase_SetupMaskAll

  maskbase_allocatemask

  allocate the weight function

 

  Language: c
  Options: global
  Type: function
  Writes: carpetreduce::excised_cells(everywhere)

MaskBase_SetupMaskAll

  maskbase_initmask

  initialise the weight function

 

  After: maskbase_allocatemask
  Language: c
  Options: global
    loop-local
  Type: function
  Writes: carpetreduce::iweight(everywhere)

MaskBase_SetupMaskAll

  setupimaskinternal

  set up the integer weight function (schedule other routines in here)

 

  After: maskbase_initmask
  Type: group

MaskBase_SetupMaskAll

  setupimask

  set up the integer weight function (schedule other routines in here)

 

  After: setupimaskinternal
  Type: group