diff options
Diffstat (limited to 'Carpet/Carpet/src/carpet.hh')
-rw-r--r-- | Carpet/Carpet/src/carpet.hh | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/Carpet/Carpet/src/carpet.hh b/Carpet/Carpet/src/carpet.hh new file mode 100644 index 000000000..00f70396b --- /dev/null +++ b/Carpet/Carpet/src/carpet.hh @@ -0,0 +1,70 @@ +// $Header: /home/eschnett/C/carpet/Carpet/Carpet/Carpet/src/carpet.hh,v 1.32 2004/08/19 15:38:20 schnetter Exp $ + +#ifndef CARPET_HH +#define CARPET_HH + +#include <vector> + +#include "cctk.h" +#include "cctk_Arguments.h" +#include "cctk_Functions.h" + +#include "gh.hh" + +#include "carpet_public.hh" + + + +namespace Carpet { + + using namespace std; + + // Scheduled functions + extern "C" { + void CarpetParamCheck (CCTK_ARGUMENTS); + void CarpetStartup (void); + } + + // Registered functions + void* SetupGH (tFleshConfig* fc, int convLevel, cGH* cgh); + + int Initialise (tFleshConfig* config); + int Evolve (tFleshConfig* config); + int Shutdown (tFleshConfig* config); + int CallFunction (void* function, cFunctionData* attribute, void* data); + + // Other functions + bool Regrid (const cGH* cgh, const bool force_recompose, const bool do_init); + void CycleTimeLevels (const cGH* cgh); + void FlipTimeLevels (const cGH* cgh); + void Restrict (const cGH* cgh); + + // Sanity checks + enum checktimes { currenttime, + currenttimebutnotifonly, + previoustime, + allbutlasttime, + allbutcurrenttime, + alltimes }; + + int mintl (checktimes where, int num_tl); + int maxtl (checktimes where, int num_tl); + + void Poison (const cGH* cgh, checktimes where); + void PoisonGroup (const cGH* cgh, int group, checktimes where); + void PoisonCheck (const cGH* cgh, checktimes where); + + void CalculateChecksums (const cGH* cgh, checktimes where); + void CheckChecksums (const cGH* cgh, checktimes where); + + // Debugging output + void Output (const char* fmt, ...); + void Waypoint (const char* fmt, ...); + void Checkpoint (const char* fmt, ...); + + // Error output + void UnsupportedVarType (int vindex); + +} // namespace Carpet + +#endif // !defined(CARPET_HH) |