blob: 822c038454d7dca264c60ecf258bcf0b71a3e693 (
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
|
#include <cassert>
#include <cstdlib>
#include "cctk.h"
#include "cctk_Parameters.h"
#include "carpet.hh"
#include "dist.hh"
namespace Carpet {
using namespace std;
int CarpetMultiModelStartup()
{
DECLARE_CCTK_PARAMETERS;
comm_universe = MPI_COMM_WORLD;
SplitUniverse (comm_universe, model, comm_world, true);
dist::pseudoinit (comm_world);
return 0;
}
int CarpetStartup()
{
CCTK_RegisterBanner ("AMR driver provided by Carpet");
GHExtension = CCTK_RegisterGHExtension("Carpet");
CCTK_RegisterGHExtensionSetupGH (GHExtension, SetupGH);
CCTK_OverloadInitialise (Initialise);
CCTK_OverloadEvolve (Evolve);
CCTK_OverloadShutdown (Shutdown);
CCTK_OverloadOutputGH (OutputGH);
CCTK_OverloadSyncGroupsByDirI (SyncGroupsByDirI);
CCTK_OverloadEnableGroupStorage (EnableGroupStorage);
CCTK_OverloadDisableGroupStorage (DisableGroupStorage);
CCTK_OverloadGroupStorageIncrease (GroupStorageIncrease);
CCTK_OverloadGroupStorageDecrease (GroupStorageDecrease);
CCTK_OverloadEnableGroupComm (EnableGroupComm);
CCTK_OverloadDisableGroupComm (DisableGroupComm);
CCTK_OverloadBarrier (Barrier);
CCTK_OverloadExit (Exit);
CCTK_OverloadAbort (Abort);
CCTK_OverloadMyProc (MyProc);
CCTK_OverloadnProcs (nProcs);
CCTK_OverloadArrayGroupSizeB (ArrayGroupSizeB);
CCTK_OverloadQueryGroupStorageB (QueryGroupStorageB);
CCTK_OverloadGroupDynamicData (GroupDynamicData);
return 0;
}
} // namespace Carpet
|