summaryrefslogtreecommitdiff
path: root/src/main/InitialiseCactus.c
blob: 46f7b3132f34d4b29bfcaed9a8095be365642ba9 (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
 /*@@
   @file      InitialiseCactus.c
   @date      Fri Sep 18 14:04:02 1998
   @author    Tom Goodale
   @desc 
   Responsible for doing any cactus specific initialisations
   @enddesc 
 @@*/

static char *rcsid = "$Header$";

#include <stdio.h>

#include "cctk.h"
#include "cctk_Flesh.h"

#include "cctk_Schedule.h"
#include "cctki_Schedule.h"

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;
  
  CCTKi_BindingsScheduleInitialise();

  retcode = CCTKi_DoScheduleSortAllGroups();

  CCTK_PRINTSEPARATOR
  CCTK_SchedulePrint(NULL);
  CCTK_PRINTSEPARATOR

  return retcode;
}