next up previous contents
Next: Scalar Boundary Condition Up: General Comments Previous: General Comments   Contents

Old interface

The old, direct function call interface to these boundary conditions is still available, and is documented here, though it is deprecated and will be removed at some point in the future. It is provided for a number of reasons, the most significant of which is to provide compatibility with existing codes. Another reason why you might choose to use the old interface is if you have difficulty doing your iterations with the Cactus scheduler, and thus have trouble scheduling the ApplyBCs schedule group everywhere you need boundary conditions applied. A third reason may be that you need face specific calls immediately.

You should not run into any special difficulty mixing the old and new interface, just be aware of the order in which boundary conditions, and code that depends upon them, are executed.

Note that if you choose to use the old interface for some boundary conditions, then the symmetry conditions will not know to apply themselves to those grid variables for which you use the old interface. To get around this difficulty, simply select these grid variables for the ``None'' boundary condition, and be sure that ApplyBCs is scheduled in an appropriate place.

All routines can be called by

  • variable name: (<implementation>:<var_name> ) Suffix: VN; apply the boundary condition to the variable with the specified name.
  • group name: (<implementation>:<group_name>) Suffix: GN; apply the boundary condition to all variables in the group.
  • variable index: Suffix: VI; apply the boundary condition to the variable with the specified variable index.
  • group index: Suffix: GI apply the boundary condition to all variables in the group with the specified group index.

For the boundary conditions in individual coordinate directions, use
dir=-1 to apply at $x=x_{min}$
dir= 1 to apply at $x=x_{max}$
dir=-2 to apply at $y=y_{min}$
dir= 2 to apply at $y=y_{max}$
dir=-3 to apply at $z=z_{min}$
dir= 3 to apply at $z=z_{max}$

Prototypes for each of the functions described for the old interface are included in the header file Boundary.h. Please add

uses include header: Boundary.h
to your thorn's interface.ccl to use this header file in your C/C++ source files.


next up previous contents
Next: Scalar Boundary Condition Up: General Comments Previous: General Comments   Contents