# Interface definition for thorn Carpet IMPLEMENTS: Driver include header: carpet_public.hh in carpet.hh include header: carpet_public.h in carpet.h uses include header: defs.hh uses include header: dist.hh uses include header: bbox.hh uses include header: bboxset.hh uses include header: vect.hh uses include header: data.hh uses include header: dh.hh uses include header: gf.hh uses include header: ggf.hh uses include header: gh.hh uses include header: th.hh uses include header: operators.hh INCLUDE HEADER: typecase in carpet_typecase.hh # Get access to communicators CCTK_POINTER_TO_CONST \ FUNCTION GetMPICommUniverse (CCTK_POINTER_TO_CONST IN cctkGH) PROVIDES FUNCTION GetMPICommUniverse WITH Carpet_GetMPICommUniverse LANGUAGE C CCTK_POINTER_TO_CONST \ FUNCTION GetMPICommWorld (CCTK_POINTER_TO_CONST IN cctkGH) PROVIDES FUNCTION GetMPICommWorld WITH Carpet_GetMPICommWorld LANGUAGE C # Provide the function to en-/disable prolongation CCTK_INT FUNCTION EnableProlongating(CCTK_INT IN flag) PROVIDES FUNCTION EnableProlongating WITH CarpetEnableProlongating LANGUAGE C CCTK_INT FUNCTION QueryProlongating() PROVIDES FUNCTION QueryProlongating WITH CarpetQueryProlongating LANGUAGE C # The location of the boundary points CCTK_INT FUNCTION GetBoundarySpecification \ (CCTK_INT IN size, \ CCTK_INT OUT ARRAY nboundaryzones, \ CCTK_INT OUT ARRAY is_internal, \ CCTK_INT OUT ARRAY is_staggered, \ CCTK_INT OUT ARRAY shiftout) USES FUNCTION GetBoundarySpecification # The overall size of the domain CCTK_INT FUNCTION GetDomainSpecification \ (CCTK_INT IN size, \ CCTK_REAL OUT ARRAY physical_min, \ CCTK_REAL OUT ARRAY physical_max, \ CCTK_REAL OUT ARRAY interior_min, \ CCTK_REAL OUT ARRAY interior_max, \ CCTK_REAL OUT ARRAY exterior_min, \ CCTK_REAL OUT ARRAY exterior_max, \ CCTK_REAL OUT ARRAY spacing) USES FUNCTION GetDomainSpecification # Conversion between boundary types CCTK_INT FUNCTION ConvertFromPhysicalBoundary \ (CCTK_INT IN size, \ CCTK_REAL IN ARRAY physical_min, \ CCTK_REAL IN ARRAY physical_max, \ CCTK_REAL OUT ARRAY interior_min, \ CCTK_REAL OUT ARRAY interior_max, \ CCTK_REAL OUT ARRAY exterior_min, \ CCTK_REAL OUT ARRAY exterior_max, \ CCTK_REAL IN ARRAY spacing) USES FUNCTION ConvertFromPhysicalBoundary CCTK_INT FUNCTION ConvertFromExteriorBoundary \ (CCTK_INT IN size, \ CCTK_REAL OUT ARRAY physical_min, \ CCTK_REAL OUT ARRAY physical_max, \ CCTK_REAL OUT ARRAY interior_min, \ CCTK_REAL OUT ARRAY interior_max, \ CCTK_REAL IN ARRAY exterior_min, \ CCTK_REAL IN ARRAY exterior_max, \ CCTK_REAL IN ARRAY spacing) USES FUNCTION ConvertFromExteriorBoundary # The setup of the system CCTK_INT FUNCTION MultiPatch_GetSystemSpecification \ (CCTK_INT OUT maps) USES FUNCTION MultiPatch_GetSystemSpecification # The location of the boundary points CCTK_INT FUNCTION MultiPatch_GetBoundarySpecification \ (CCTK_INT IN map, \ CCTK_INT IN size, \ CCTK_INT OUT ARRAY nboundaryzones, \ CCTK_INT OUT ARRAY is_internal, \ CCTK_INT OUT ARRAY is_staggered, \ CCTK_INT OUT ARRAY shiftout) USES FUNCTION MultiPatch_GetBoundarySpecification # The overall size of the domain CCTK_INT FUNCTION MultiPatch_GetDomainSpecification \ (CCTK_INT IN map, \ CCTK_INT IN size, \ CCTK_REAL OUT ARRAY physical_min, \ CCTK_REAL OUT ARRAY physical_max, \ CCTK_REAL OUT ARRAY interior_min, \ CCTK_REAL OUT ARRAY interior_max, \ CCTK_REAL OUT ARRAY exterior_min, \ CCTK_REAL OUT ARRAY exterior_max, \ CCTK_REAL OUT ARRAY spacing) USES FUNCTION MultiPatch_GetDomainSpecification # The true prototype of the routine below: # int Carpet_Regrid (const cGH * cctkGH, # gh::mexts * bbsss, # gh::rbnds * obss, # gh::rprocs * pss, # int force); CCTK_INT FUNCTION Carpet_Regrid (CCTK_POINTER_TO_CONST IN cctkGH, \ CCTK_POINTER IN bbsss, \ CCTK_POINTER IN obss, \ CCTK_POINTER IN pss, \ CCTK_INT IN force) USES FUNCTION Carpet_Regrid # The true prototype of the routine below: # int Carpet_Regrid (const cGH * cctkGH, # vector * bbssss, # vector * obsss, # vector * psss, # int force);); CCTK_INT FUNCTION Carpet_RegridMaps (CCTK_POINTER_TO_CONST IN cctkGH, \ CCTK_POINTER IN bbssss, \ CCTK_POINTER IN obsss, \ CCTK_POINTER IN psss, \ CCTK_INT IN force) USES FUNCTION Carpet_RegridMaps # function to check whether existing output files should be truncated or not CCTK_INT FUNCTION IO_TruncateOutputFiles \ (CCTK_POINTER_TO_CONST IN GH) REQUIRES FUNCTION IO_TruncateOutputFiles CCTK_REAL timing { grid_points_per_second physical_time_per_hour } "Timing information"