# Interface definition for thorn CartGrid3D # $Header$ implements: grid inherits: coordbase INCLUDE HEADER: Symmetry.h in Symmetry.h uses include header: CoordBase.h # 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 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 \ MultiPatch_GetMap \ (CCTK_POINTER_TO_CONST IN cctkGH) USES FUNCTION MultiPatch_GetMap 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 CCTK_INT FUNCTION \ MultiPatch_ConvertFromPhysicalBoundary \ (CCTK_INT IN map, \ 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 MultiPatch_ConvertFromPhysicalBoundary # Register the symmetry boundaries CCTK_INT FUNCTION SymmetryRegister (CCTK_STRING IN sym_name) USES FUNCTION SymmetryRegister CCTK_INT FUNCTION \ SymmetryRegisterGrid \ (CCTK_POINTER IN cctkGH, \ CCTK_INT IN sym_handle, \ CCTK_INT IN ARRAY which_faces, \ CCTK_INT IN ARRAY symmetry_zone_width) USES FUNCTION SymmetryRegisterGrid # Apply the symmetry boundary conditions CCTK_INT FUNCTION Boundary_SelectedGVs \ (CCTK_POINTER_TO_CONST IN GH, \ CCTK_INT IN array_size, \ CCTK_INT ARRAY OUT var_indicies, \ CCTK_INT ARRAY OUT faces, \ CCTK_INT ARRAY OUT boundary_widths, \ CCTK_INT ARRAY OUT table_handles, \ CCTK_STRING IN bc_name) USES FUNCTION Boundary_SelectedGVs public: REAL gridspacings type=SCALAR tags='Checkpoint="no"' { coarse_dx, coarse_dy, coarse_dz } "3D Cartesian grid spacings" REAL coordinates type=GF tags='Prolongation="None" Checkpoint="no"' { x, y, z, r # will become: # coord_x, coord_y, coord_z } "3D Cartesian grid coordinates"