blob: ca4d9955e542903b247c57d4a81a03adbcea97fa (
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
120
121
122
123
124
125
|
/*@@
@file InitialiseCactus.c
@date Fri Sep 18 14:04:02 1998
@author Tom Goodale
@desc
Responsible for doing any cactus specific initialisations
@enddesc
@@*/
#include <stdio.h>
#include "cctk.h"
#include "cctk_Flesh.h"
#include "cctk_Schedule.h"
#include "cctki_Schedule.h"
static char *rcsid = "$Header$";
CCTK_FILEVERSION(main_InitialiseCactus_c)
int ProcessCommandLine(int *inargc, char ***inargv, tFleshConfig *ConfigData);
int ProcessEnvironment(int *argc, char ***argv,tFleshConfig *ConfigData);
/*@@
@routine CCTKi_InitialiseCactus
@date Fri Sep 18 14:05:21 1998
@author Tom Goodale
@desc
@enddesc
@calls ProcessCommandLine ProcessParameterDatabase CallStartupFunctions
@calledby main
@history
@endhistory
@var argc
@vdesc The number of command line arguments
@vtype int *
@vio inout
@vcomment
@endvar
@var argv
@vdesc The command line arguments
@vtype char **
@vio inout
@vcomment
@endvar
@var ConfigData
@vdesc Flesh configuration data
@vtype tFleshConfig
@vio inout
@vcomment
@endvar
@@*/
int CCTKi_InitialiseCactus(int *argc, char ***argv, tFleshConfig *ConfigData)
{
CCTKi_InitialiseSubsystemDefaults();
CCTKi_ProcessEnvironment(argc, argv, ConfigData);
CCTKi_ProcessCommandLine(argc, argv, ConfigData);
CCTKi_CactusBanner();
CCTKi_InitialiseDataStructures(ConfigData);
CCTKi_ProcessParameterDatabase(ConfigData);
CCTKi_InitialiseScheduler(ConfigData);
CCTKi_CallStartupFunctions(ConfigData);
CCTKi_PrintBanners();
return 0;
}
/*@@
@routine CCTKi_InitialiseScheduler
@date Fri Sep 17 19:34:55 1999
@author Tom Goodale
@desc
Initialise all scheduled items
@enddesc
@calls
@calledby
@history
@endhistory
@@*/
int CCTKi_InitialiseScheduler(tFleshConfig *ConfigData)
{
int retcode;
extern void CCTKi_SetParameterSetMask(int mask);
CCTKi_SetParameterSetMask(PARAMETER_RECOVERY_IN);
if(CCTKi_BindingsParameterRecoveryInitialise() < 0)
CCTK_WARN(0, "Failed to recover parameters");
CCTKi_SetParameterSetMask(PARAMETER_RECOVERY_POST);
CCTKi_BindingsScheduleInitialise();
retcode = CCTKi_DoScheduleSortAllGroups();
CCTK_PRINTSEPARATOR
CCTK_SchedulePrint(NULL);
CCTK_PRINTSEPARATOR
return retcode;
}
|