blob: 62bbf2a51d48d456e70bfbef41e769e4758ddae1 (
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
|
void TOV_C_AllocateMemory(CCTK_ARGUMENTS)
{
DECLARE_CCTK_ARGUMENTS;
DECLARE_CCTK_PARAMETERS;
assert(TOV_Surface==0);
assert(TOV_R_Surface==0);
assert(TOV_RProp_Surface==0);
assert(TOV_Atmosphere==0);
assert(TOV_r_1d==0);
assert(TOV_rbar_1d==0);
assert(TOV_press_1d==0);
assert(TOV_phi_1d==0);
assert(TOV_m_1d==0);
assert(TOV_mbary_1d==0);
assert(TOV_rprop_1d==0);
TOV_Surface = malloc(TOV_Num_TOVs * sizeof(CCTK_REAL));
TOV_R_Surface = malloc(TOV_Num_TOVs * sizeof(CCTK_REAL));
TOV_RProp_Surface = malloc(TOV_Num_TOVs * sizeof(CCTK_REAL));
TOV_Atmosphere = malloc(TOV_Num_TOVs * sizeof(CCTK_REAL));
TOV_r_1d = malloc(TOV_Num_Radial * TOV_Num_TOVs * sizeof(CCTK_REAL));
TOV_rbar_1d = malloc(TOV_Num_Radial * TOV_Num_TOVs * sizeof(CCTK_REAL));
TOV_press_1d = malloc(TOV_Num_Radial * TOV_Num_TOVs * sizeof(CCTK_REAL));
TOV_phi_1d = malloc(TOV_Num_Radial * TOV_Num_TOVs * sizeof(CCTK_REAL));
TOV_m_1d = malloc(TOV_Num_Radial * TOV_Num_TOVs * sizeof(CCTK_REAL));
TOV_mbary_1d = malloc(TOV_Num_Radial * TOV_Num_TOVs * sizeof(CCTK_REAL));
TOV_rprop_1d = malloc(TOV_Num_Radial * TOV_Num_TOVs * sizeof(CCTK_REAL));
}
void TOV_C_FreeMemory (CCTK_ARGUMENTS)
{
DECLARE_CCTK_ARGUMENTS;
DECLARE_CCTK_PARAMETERS;
assert(TOV_Surface!=0);
assert(TOV_R_Surface!=0);
assert(TOV_RProp_Surface!=0);
assert(TOV_Atmosphere!=0);
assert(TOV_r_1d!=0);
assert(TOV_rbar_1d!=0);
assert(TOV_press_1d!=0);
assert(TOV_phi_1d!=0);
assert(TOV_m_1d!=0);
free(TOV_Surface);
free(TOV_R_Surface);
free(TOV_RProp_Surface);
free(TOV_Atmosphere);
free(TOV_r_1d);
free(TOV_rbar_1d);
free(TOV_press_1d);
free(TOV_phi_1d);
free(TOV_m_1d);
free(TOV_mbary_1d);
free(TOV_rprop_1d);
TOV_Surface=0;
TOV_R_Surface=0;
TOV_RProp_Surface=0;
TOV_Atmosphere=0;
TOV_r_1d=0;
TOV_rbar_1d=0;
TOV_press_1d=0;
TOV_phi_1d=0;
TOV_m_1d=0;
TOV_mbary_1d=0;
TOV_rprop_1d=0;
}
/* - utility routine
- fills an real-array 'var' of size 'i' with value 'r' */
void TOV_C_fill(CCTK_REAL *var, CCTK_INT i, CCTK_REAL r)
{
for (i-- ;i >= 0; i--)
var[i]=r;
}
void TOV_Copy(CCTK_INT size, CCTK_REAL *var_p, CCTK_REAL *var)
{
for(; size; )
{
--size;
var_p[size] = var[size];
}
}
|