Coordinate Tools¶
pyharm’s tools for dealing with coordinates are split into two files: pyharm.coordinates, for dealing with general-relativistic quantities (e.g. the metric) and transformations between coordinate systems, and pyharm.grid for holding a Cartesian mesh of native coordinates, coupled with their local metric, connection coefficients, and transformation matrices back to some “base” coordinate system (currently must be Kerr-Schild coordinates)
Coordinate System Classes¶
Coordinate systems are implemented as classes, each of which subclasses pyharm.coordinates.CoordinateSystem and implements the methods it contains:
The coordinate systems currently supported are Minkowski (pyharm.coordinates.Minkowski), Kerr-Schild (pyharm.coordinates.KS), Modified Kerr-Schild (pyharm.coordinates.MKS), and “Funky” Modified Kerr-Schild (pyharm.coordinates.FMKS). The MKS and FMKS systems are used to concentrate zones toward the midplane, and to make zones near the pole larger, in order to preserve accuracy in simulations while maintaining a reasonable time step (which is driven by the Courant condition at the pole). Details on these coordinate systems can be found here.