/*@@ @header DZDB_guts.h @date Jun 98 @author Gabrielle Allen @desc Macro to calculate the first derivatives of the shift with respect to z The macro is defined in terms of standard variables in @seefile DZDB_declare.h @enddesc @@*/ #ifndef DZDB_GUTS #define DZDB_GUTS #ifdef FCODE DZDB_OO2DZ = 1D0/(2D0*DZDB_DZ) if (admmacros_advectionz .eq. 0) then /* CENTER */ DZDB_DZDBX = DZDB_OO2DZ*(DZDB_BX_KP - DZDB_BX_KM) else if (admmacros_advectionz .eq. 1) then /* UPWIND1 */ DZDB_DZDBX = (DZDB_BX_KP - DZDB_BX)/DZDB_DZ else if (admmacros_advectionz .eq. -1) then /* UPWIND1 */ DZDB_DZDBX = (DZDB_BX - DZDB_BX_KM)/DZDB_DZ else if (admmacros_advectionz .eq. 2) then /* UPWIND2 */ DZDB_DZDBX = - 0.5D0/DZDB_DZ \ *(3.0D0*DZDB_BX - 4.0D0*DZDB_BX_KP + DZDB_BX_KPP) else if (admmacros_advectionz .eq. -2) then /* UPWIND2 */ DZDB_DZDBX = 0.5D0/DZDB_DZ \ *(3.0D0*DZDB_BX - 4.0D0*DZDB_BX_KM + DZDB_BX_KMM) end if if (admmacros_advectionz .eq. 0) then /* CENTER */ DZDB_DZDBY = DZDB_OO2DZ*(DZDB_BY_KP - DZDB_BY_KM) else if (admmacros_advectionz .eq. 1) then /* UPWIND1 */ DZDB_DZDBY = (DZDB_BY_KP - DZDB_BY)/DZDB_DZ else if (admmacros_advectionz .eq. -1) then /* UPWIND1 */ DZDB_DZDBY = (DZDB_BY - DZDB_BY_KM)/DZDB_DZ else if (admmacros_advectionz .eq. 2) then /* UPWIND2 */ DZDB_DZDBY = - 0.5D0/DZDB_DZ \ *(3.0D0*DZDB_BY - 4.0D0*DZDB_BY_KP + DZDB_BY_KPP) else if (admmacros_advectionz .eq. -2) then /* UPWIND2 */ DZDB_DZDBY = 0.5D0/DZDB_DZ \ *(3.0D0*DZDB_BY - 4.0D0*DZDB_BY_KM + DZDB_BY_KMM) end if if (admmacros_advectionz .eq. 0) then /* CENTER */ DZDB_DZDBZ = DZDB_OO2DZ*(DZDB_BZ_KP - DZDB_BZ_KM) else if (admmacros_advectionz .eq. 1) then /* UPWIND1 */ DZDB_DZDBZ = (DZDB_BZ_KP - DZDB_BZ)/DZDB_DZ else if (admmacros_advectionz .eq. -1) then /* UPWIND1 */ DZDB_DZDBZ = (DZDB_BZ - DZDB_BZ_KM)/DZDB_DZ else if (admmacros_advectionz .eq. 2) then /* UPWIND2 */ DZDB_DZDBZ = - 0.5D0/DZDB_DZ \ *(3.0D0*DZDB_BZ - 4.0D0*DZDB_BZ_KP + DZDB_BZ_KPP) else if (admmacros_advectionz .eq. -2) then /* UPWIND2 */ DZDB_DZDBZ = 0.5D0/DZDB_DZ \ *(3.0D0*DZDB_BZ - 4.0D0*DZDB_BZ_KM + DZDB_BZ_KMM) end if #endif #ifdef CCODE DZDB_OO2DZ = 1/(2*cctkGH->cctk_delta_space[2]); DZDB_DZDBX = DZDB_OO2DZ*(DZDB_BX_KP - DZDB_BX_KM); DZDB_DZDBY = DZDB_OO2DZ*(DZDB_BY_KP - DZDB_BY_KM); DZDB_DZDBZ = DZDB_OO2DZ*(DZDB_BZ_KP - DZDB_BZ_KM); #endif #endif