aboutsummaryrefslogtreecommitdiff
path: root/interface.ccl
blob: 70912bdacf73efdfd60531cd00f92db0083b51c0 (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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
# Interface definition for thorn GRHydro_Init_Data
# $Header$

implements: GRHydro_init_data
inherits: GRHydro grid

#USES INCLUDE: EOS_Base.inc
USES INCLUDE: SpaceMask.h
#USES INCLUDE: EOS_Base.h


SUBROUTINE SpatialDet(CCTK_REAL IN gxx, CCTK_REAL IN gxy, \
                      CCTK_REAL IN gxz, CCTK_REAL IN gyy, \
		      CCTK_REAL IN gyz, CCTK_REAL IN gzz, \
		      CCTK_REAL OUT det)


SUBROUTINE Prim2ConPoly(CCTK_INT IN handle, \
                        CCTK_REAL IN gxx, CCTK_REAL IN gxy, CCTK_REAL IN gxz, \
			CCTK_REAL IN gyy, CCTK_REAL IN gyz, CCTK_REAL IN gzz, \
			CCTK_REAL IN det, CCTK_REAL OUT dens, \
			CCTK_REAL OUT sx, CCTK_REAL OUT sy, \
			CCTK_REAL OUT sz, CCTK_REAL OUT tau, \
			CCTK_REAL IN rho, CCTK_REAL IN velx, \
			CCTK_REAL IN vely, \
			CCTK_REAL IN velz, CCTK_REAL OUT epsilon, \
			CCTK_REAL OUT press, CCTK_REAL OUT w_lorentz)


SUBROUTINE Prim2ConGen(CCTK_INT IN handle, \
                          CCTK_REAL IN gxx, CCTK_REAL IN gxy, \
                          CCTK_REAL IN gxz, CCTK_REAL IN gyy, \
                          CCTK_REAL IN gyz, CCTK_REAL IN gzz, \
                          CCTK_REAL IN det, CCTK_REAL OUT dens, \
                          CCTK_REAL OUT sx, CCTK_REAL OUT sy, \
                          CCTK_REAL OUT sz, CCTK_REAL OUT tau, \
                          CCTK_REAL IN rho, CCTK_REAL IN velx, \
                          CCTK_REAL IN vely, \
                          CCTK_REAL IN velz, CCTK_REAL IN epsilon, \
                          CCTK_REAL OUT press, CCTK_REAL OUT w_lorentz)

SUBROUTINE Con2PrimPoly(CCTK_INT IN handle, CCTK_REAL OUT dens, \
                        CCTK_REAL OUT sx, CCTK_REAL OUT sy, \
			CCTK_REAL OUT sz, CCTK_REAL OUT tau, \
			CCTK_REAL OUT rho, CCTK_REAL OUT velx, \
			CCTK_REAL OUT vely, CCTK_REAL OUT velz, \
			CCTK_REAL OUT epsilon, CCTK_REAL OUT press, \
			CCTK_REAL OUT w_lorentz, CCTK_REAL IN uxx, \
			CCTK_REAL IN uxy, CCTK_REAL IN uxz, CCTK_REAL IN uyy, \
			CCTK_REAL IN uyz, CCTK_REAL IN uzz, CCTK_REAL IN det, \
			CCTK_REAL IN x, CCTK_REAL IN y, CCTK_REAL IN z, \
			CCTK_REAL IN r, CCTK_REAL IN rho_min, \
			CCTK_INT IN GRHydro_reflevel, CCTK_REAL IN GRHydro_C2P_failed)


USES FUNCTION SpatialDet
USES FUNCTION Prim2ConPoly
USES FUNCTION Prim2ConGen
USES FUNCTION Con2PrimPoly

CCTK_INT FUNCTION EOS_Omni_GetHandle(CCTK_STRING IN name)
USES FUNCTION EOS_Omni_GetHandle


void FUNCTION EOS_Omni_press(CCTK_INT IN eoshandle,      \
                             CCTK_INT IN havetemp,       \
			     CCTK_REAL IN rf_precision,  \
                             CCTK_INT IN npoints,        \
                             CCTK_REAL IN ARRAY rho,     \
                             CCTK_REAL INOUT ARRAY eps,  \
                             CCTK_REAL INOUT ARRAY temp, \
                             CCTK_REAL IN ARRAY ye,      \
                             CCTK_REAL OUT ARRAY press,  \
                             CCTK_INT OUT ARRAY keyerr,  \
                             CCTK_INT OUT anyerr)

USES FUNCTION EOS_Omni_press

void FUNCTION EOS_Omni_EpsFromPress(CCTK_INT IN eoshandle,      \
                             CCTK_INT IN havetemp,              \
			     CCTK_REAL IN rf_precision,         \
                             CCTK_INT IN npoints,               \
                             CCTK_REAL IN ARRAY rho,            \
                             CCTK_REAL INOUT ARRAY eps,         \
                             CCTK_REAL INOUT ARRAY temp,        \
                             CCTK_REAL IN ARRAY ye,             \
                             CCTK_REAL IN ARRAY press,          \
                             CCTK_REAL OUT ARRAY xeps,          \
                             CCTK_INT OUT ARRAY keyerr,         \
                             CCTK_INT OUT anyerr)

USES FUNCTION EOS_Omni_EpsFromPress



protected:

CCTK_REAL simple_wave_grid_functions TYPE=GF TIMELEVELS=1 tags='checkpoint="no"'
{
  simple_tmp
  c_s
} "1D arrays for the simple-wave routine"

CCTK_REAL simple_wave_scalars TYPE=scalar
{
     simple_rho_0
     simple_eps_0
} "values at v=0"

CCTK_REAL simple_wave_output TYPE=GF TIMELEVELS=1 tags='checkpoint="no"'
{
  simple_rho
  simple_eps
#  simple_entropy
} "output variables for the simple-wave routine"

private:

CCTK_INT GRHydro_init_data_reflevel type = SCALAR tags='checkpoint="no"' "Refinement level GRHydro is working on right now"