aboutsummaryrefslogtreecommitdiff
path: root/src/EllBase.h
blob: fa4c518e62f86d5b0b7251f10716a7b2aaec7b88 (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
 /*@@
   @header    EllBase.h
   @date      
   @author    Gerd Lanferman
   @desc 
   Basic Elliptic solver functions.   
   @enddesc 
   @version $Header$
 @@*/

#ifndef _ELLBASE_H_
#define _ELLBASE_H_

#define ELL_SUCCESS       0
#define ELL_NOSOLVER      -1
#define ELL_NOCONVERGENCE -2
#define ELL_NOCLASS       -3

#ifdef CCODE

/* Argumennt structure for the four different types of elliptic solvers
   provided at this point. Difference is MetricI, MetricPsiI and StencilGFI, which
   are arrays holding the grid function indices of the metric, metric+psi or
   the 27 stencil grid functions, respectively */

#define LINELL_FLAT3D_ARGS \
          cGH *GH, \
          CCTK_REAL tolerance, \
          int FieldIndex, \
          int MIndex, \
          int NIndex \

#ifdef __cplusplus
extern "C"
{
#endif

int Ell_RegisterSolver(void (*function),  
		       const char *sname, 
		       const char *eqname);

#ifdef __cplusplus
}
#endif

#endif

#endif /* _ELLBASE_H_ */