summaryrefslogtreecommitdiff
path: root/src/include/cctk_Coord.h
blob: 252dfd296d7b0d0b5d2b6569676969233e8a4ba0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
 /*@@
   @header    cctk_Coord.h
   @date      Mon April 12 1999
   @author    Gabrielle Allen
   @desc
              Prototypes and constants for coordinate functions
   @enddesc
   @version   $Header$
 @@*/

#ifndef _CCTK_COORD_H_
#define _CCTK_COORD_H_ 1

#ifdef __cplusplus
extern "C"
{
#endif

int CCTK_CoordDir(const char *name,
                  const char *systemname);

int CCTK_CoordIndex(int dir,
                    const char *name,
                    const char *systemname);

const char *CCTK_CoordName (int dir, const char *systemname);

int CCTK_CoordRange(const cGH  *GH,
                    CCTK_REAL  *coord_lower,
                    CCTK_REAL  *coord_upper,
                    int         coord_dir,
                    const char *coord_name,
                    const char *system_name);

int CCTK_CoordRangePhysIndex (const cGH *GH,
                              int *lower,
                              int *upper,
                              int coorddir,
                              const char *coordname,
                              const char *systemname);

int CCTK_CoordRegisterData(int dir,
                           const char *gv,
                           const char *name,
                           const char *systemname);

#define CCTK_CoordRegisterSystem(a,b) \
        CCTKi_CoordRegisterSystem (a,CCTK_THORNSTRING,b)
int CCTKi_CoordRegisterSystem(int dim, 
                              const char *implementation, 
                              const char *systemname);

int CCTK_CoordSystemDim(const char *systemname);

int CCTK_CoordSystemHandle(const char *systemname);

const char *CCTK_CoordSystemName(int handle);

int CCTK_CoordLocalRange(const cGH  *GH,
                         CCTK_REAL  *lower,
                         CCTK_REAL  *upper,
                         int         coord_dir,
                         const char *coord_name,
                         const char *system_name);

int CCTK_CoordRegisterRange(const cGH  *GH,
                            CCTK_REAL   coord_min,
                            CCTK_REAL   coord_max,
                            int         coord_dir,
                            const char *coord_name,
                            const char *system_name);

int CCTK_CoordRegisterRangePhysIndex(const cGH  *GH,
                                     int         coord_min,
                                     int         coord_max,
                                     int         coord_dir,
                                     const char *coord_name,
                                     const char *system_name);

int CCTK_NumCoordSystems (void);

const char *CCTK_CoordSystemImplementation (int handle);

#ifdef __cplusplus
}
#endif

#endif /* _CCTK_COORD_H_ */