Next: Using Coordinates
Up: Coordinates
Previous: Coordinates
Contents
Coordinate systems and their properties can be registered at any time with the Flesh.
The registration utilities for thorns providing coordinates are:
- CCTK_CoordRegisterSystem
Assigns a coordinate system with a chosen name and dimension. For example,
a 3-dimensional Cartesian coordinate system could be registered with the
name cart3d using the call from C
int ierr;
int dim=3;
ierr = CCTK_CoordRegisterSystem(dim,"cart3d");
- CCTK_CoordRegisterData
Defines a coordinate in a given coordinate system, with a given
direction and name, and optionally associates it to a grid variable.
The directions of the coordinates range from 1 to the dimension of the
coordinate system. For example, to register the grid variable grid::y3d
to have the coordinate name y in the cart3d system
int ierr;
int dir=2;
ierr = CCTK_CoordRegisterData(dir,"grid::y3d","y","cart3d");
- CCTK_CoordRegisterRange
Assigns the global computational maximum and minimum for a coordinate
on a grid hierarchy, that is in a cctkGH. At this time the
maximum and minimum values have to be of type CCTK_REAL. For
example, if the y coordinate for the cart3d system ranges
between zero and one
CCTK_REAL lower=0;
CCTK_REAL upper=1;
int ierr;
ierr = CCTK_CoordRegisterRange(cctkGH, lower, upper, -1, "y", "cart3d");
Note that the API allows either the coordinate name or the direction to
be used, so that the following is also valid
CCTK_REAL lower=0;
CCTK_REAL upper=1;
int ierr;
ierr = CCTK_CoordRegisterRange(cctkGH, lower, upper, 2, NULL, "cart3d");
- CCTK_CoordRegisterPhysIndex
Implementing such things as symmetry properties for a grid leads to
the need to know the details of the physical section of a grid.
Such information is typically needed by IO thorns. The following call
illustrates how to register the
indices 3 and 25 as supplying the physical range of the y
coordinate in the cart3d system
int loweri=3;
int upperi=25;
int ierr;
ierr = CCTK_CoordRegisterPhysIndex(cctkGH, loweri, upperi, -1, "y", "cart3d");
Next: Using Coordinates
Up: Coordinates
Previous: Coordinates
Contents
|