# This Thorn is based on LlamaWaveToy and SevesWaveToy # Interface definition for thorn SWTNS IMPLEMENTS: SWTNS INHERITS: grid, Coordinates, GlobalDerivative, SummationByParts, Interpolate, ADMBase, HydroBase, Constants, StaticConformal, TOVSolver USES INCLUDE: constants.h CCTK_INT FUNCTION \ MultiPatch_GetMap \ (CCTK_POINTER_TO_CONST IN cctkGH) REQUIRES FUNCTION MultiPatch_GetMap CCTK_INT FUNCTION \ MultiPatch_GetBbox \ (CCTK_POINTER_TO_CONST IN cctkGH, \ CCTK_INT IN size, \ CCTK_INT OUT ARRAY bbox) REQUIRES FUNCTION MultiPatch_GetBbox SUBROUTINE globalDiff_gv ( CCTK_POINTER_TO_CONST IN cctkGH, \ CCTK_INT IN dir, \ CCTK_REAL IN ARRAY var, \ CCTK_REAL OUT ARRAY dvar, \ CCTK_REAL IN ARRAY J_dxda, \ CCTK_REAL IN ARRAY J_dxdb, \ CCTK_REAL IN ARRAY J_dxdc, \ CCTK_REAL IN ARRAY J_dyda, \ CCTK_REAL IN ARRAY J_dydb, \ CCTK_REAL IN ARRAY J_dydc, \ CCTK_REAL IN ARRAY J_dzda, \ CCTK_REAL IN ARRAY J_dzdb, \ CCTK_REAL IN ARRAY J_dzdc, \ CCTK_INT IN table_handle ) USES FUNCTION globalDiff_gv SUBROUTINE globalDiff2_gv( CCTK_POINTER_TO_CONST IN cctkGH, \ CCTK_INT IN dir1, \ CCTK_INT IN dir2, \ CCTK_REAL IN ARRAY var, \ CCTK_REAL OUT ARRAY dvar, \ CCTK_REAL IN ARRAY J_dadx, \ CCTK_REAL IN ARRAY J_dbdx, \ CCTK_REAL IN ARRAY J_dcdx, \ CCTK_REAL IN ARRAY J_dady, \ CCTK_REAL IN ARRAY J_dbdy, \ CCTK_REAL IN ARRAY J_dcdy, \ CCTK_REAL IN ARRAY J_dadz, \ CCTK_REAL IN ARRAY J_dbdz, \ CCTK_REAL IN ARRAY J_dcdz, \ CCTK_REAL IN ARRAY dJ_dadxdx, \ CCTK_REAL IN ARRAY dJ_dbdxdx, \ CCTK_REAL IN ARRAY dJ_dcdxdx, \ CCTK_REAL IN ARRAY dJ_dadxdy, \ CCTK_REAL IN ARRAY dJ_dbdxdy, \ CCTK_REAL IN ARRAY dJ_dcdxdy, \ CCTK_REAL IN ARRAY dJ_dadxdz, \ CCTK_REAL IN ARRAY dJ_dbdxdz, \ CCTK_REAL IN ARRAY dJ_dcdxdz, \ CCTK_REAL IN ARRAY dJ_dadydy, \ CCTK_REAL IN ARRAY dJ_dbdydy, \ CCTK_REAL IN ARRAY dJ_dcdydy, \ CCTK_REAL IN ARRAY dJ_dadydz, \ CCTK_REAL IN ARRAY dJ_dbdydz, \ CCTK_REAL IN ARRAY dJ_dcdydz, \ CCTK_REAL IN ARRAY dJ_dadzdz, \ CCTK_REAL IN ARRAY dJ_dbdzdz, \ CCTK_REAL IN ARRAY dJ_dcdzdz, \ CCTK_INT IN table_handle ) USES FUNCTION globalDiff2_gv CCTK_INT FUNCTION \ MoLRegisterEvolvedGroup \ (CCTK_INT IN EvolvedIndex, \ CCTK_INT IN RHSIndex) REQUIRES FUNCTION MoLRegisterEvolvedGroup CCTK_INT FUNCTION \ MoLRegisterEvolved \ (CCTK_INT IN EvolvedIndex, \ CCTK_INT IN RHSIndex) REQUIRES FUNCTION MoLRegisterEvolved CCTK_INT FUNCTION \ Boundary_SelectGroupForBC \ (CCTK_POINTER_TO_CONST IN cctkGH, \ CCTK_INT IN faces, \ CCTK_INT IN boundary_width, \ CCTK_INT IN table_handle, \ CCTK_STRING IN group_name, \ CCTK_STRING IN bc_name) REQUIRES FUNCTION Boundary_SelectGroupForBC CCTK_INT FUNCTION \ Boundary_SelectVarForBC \ (CCTK_POINTER_TO_CONST IN cctkGH, \ CCTK_INT IN faces, \ CCTK_INT IN boundary_width, \ CCTK_INT IN table_handle, \ CCTK_STRING IN var_name, \ CCTK_STRING IN bc_name) REQUIRES FUNCTION Boundary_SelectVarForBC CCTK_INT FUNCTION \ Boundary_SelectedGVs \ (CCTK_POINTER_TO_CONST IN cctkGH, \ 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) REQUIRES FUNCTION Boundary_SelectedGVs CCTK_INT FUNCTION \ SymmetryTableHandleForGrid (CCTK_POINTER_TO_CONST IN cctkGH) REQUIRES FUNCTION SymmetryTableHandleForGrid CCTK_POINTER_TO_CONST FUNCTION SymmetryNameOfHandle (CCTK_INT IN sym_handle) REQUIRES FUNCTION SymmetryNameOfHandle CCTK_INT FUNCTION SymmetryHandleOfName (CCTK_STRING IN sym_name) REQUIRES FUNCTION SymmetryHandleOfName CCTK_REAL FUNCTION GetScalProdCoeff () USES FUNCTION GetScalProdCoeff SUBROUTINE Diff_gv ( CCTK_POINTER_TO_CONST IN cctkGH, \ CCTK_INT IN dir, \ CCTK_REAL IN ARRAY var, \ CCTK_REAL OUT ARRAY dvar, \ CCTK_INT IN table_handle ) USES FUNCTION Diff_gv REAL pressuredensity TYPE=gf TAGS='tensortypealias="scalar"' { gappa } "gamma=(rho+p)/p*dp/drho" REAL tovsurface TYPE=scalar { TOV_surface } "TOV_R+Xi(TOV_R)" REAL metricpots TYPE=gf TAGS='tensortypealias="scalar"' { PHI, LAMBDA, drPHI, drLAMBDA, A, B, C, drrho, drpress } "metric potentials: ds^2= -exp(2*PHI) dt^2 + exp(2*LAMBDA)dr^2 + ... and depending quantities," REAL trafo TYPE=gf TAGS='tensortypealias="scalar"' { dxdr, dydr, dzdr, grid_r } "coordiante transformation for derivatives... dxdrr, dydrr, dzdrr and griddpoint radius" REAL paramcheck TYPE=gf TAGS='tensortypealias="scalar"' { param_dr, param_dx, param_dy, param_dz } "to check critical derivatives" REAL scalar TYPE=gf TIMELEVELS=2 TAGS='tensortypealias="scalar"' { Xi } "The scalar of the scalar wave equation fame" REAL fluidscalar TYPE=gf { Xeta } "fluid element displ." REAL density TYPE=gf TIMELEVELS=2 TAGS='tensortypealias="scalar"' { Pi } "Time derivative of Xi" REAL drscalar TYPE=gf TIMELEVELS=2 TAGS='tensortypealias="scalar"' { drXi } "Spatial derivatives of Xi" REAL drdensity TYPE=gf TIMELEVELS=2 TAGS='tensortypealias="scalar"' { drPi } "Time derivative of Xi" REAL scalardot TYPE=gf TAGS='tensortypealias="scalar" Prolongation="None"' { Xidot } "RHS of Xi" REAL densitydot TYPE=gf TAGS='tensortypealias="scalar" Prolongation="None"' { Pidot } "RHS of Pi" REAL velocity TYPE=gf TIMELEVELS=2 TAGS='tensortypealias="scalar"' { H } "H=drXi" REAL drvelocity TYPE=gf TIMELEVELS=2 TAGS='tensortypealias="scalar"' { drH } "Spatial derivatives of Xi" REAL velocitydot TYPE=gf TAGS='tensortypealias="scalar" Prolongation="None"' { Hdot } "RHS of H"