aboutsummaryrefslogtreecommitdiff
path: root/src/macro/DYDB_guts.h
diff options
context:
space:
mode:
authormiguel <miguel@b1d164ef-f17a-46e7-89d4-021c7118ef4e>2002-10-09 22:19:29 +0000
committermiguel <miguel@b1d164ef-f17a-46e7-89d4-021c7118ef4e>2002-10-09 22:19:29 +0000
commiteea6dc2929fdb7e096d8255a6e80b89981b99a69 (patch)
treedbf519390ff45feea357e6f03052a0a6294ebc14 /src/macro/DYDB_guts.h
parent35610aaa28ed9575bdf137f3ac264cd3bea23e3f (diff)
eliminated upwinding here! Derivatives of the shift SHOULD NOT be upwinded.
Upwinding happens in derivatives of other fields that are hit by a shift in front. This upwindind was wrong and was introducing large errors. git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinBase/ADMMacros/trunk@49 b1d164ef-f17a-46e7-89d4-021c7118ef4e
Diffstat (limited to 'src/macro/DYDB_guts.h')
-rw-r--r--src/macro/DYDB_guts.h76
1 files changed, 4 insertions, 72 deletions
diff --git a/src/macro/DYDB_guts.h b/src/macro/DYDB_guts.h
index 43f5b91..54cba6c 100644
--- a/src/macro/DYDB_guts.h
+++ b/src/macro/DYDB_guts.h
@@ -17,79 +17,11 @@
#ifdef FCODE
- DYDB_OO2DY = 1D0/(2D0*DYDB_DY)
-
- if (admmacros_advectiony .eq. 0) then /* CENTER */
-
- DYDB_DYDBX = DYDB_OO2DY*(DYDB_BX_JP - DYDB_BX_JM)
-
- else if (admmacros_advectiony .eq. 1) then /* UPWIND1 */
-
- DYDB_DYDBX = (DYDB_BX_JP - DYDB_BX)/DYDB_DY
-
- else if (admmacros_advectiony .eq. -1) then /* UPWIND1 */
-
- DYDB_DYDBX = (DYDB_BX - DYDB_BX_JM)/DYDB_DY
-
- else if (admmacros_advectiony .eq. 2) then /* UPWIND2 */
-
- DYDB_DYDBX = - 0.5D0/DYDB_DY \
- *(3.0D0*DYDB_BX - 4.0D0*DYDB_BX_JP + DYDB_BX_JPP)
-
- else if (admmacros_advectiony .eq. -2) then /* UPWIND2 */
-
- DYDB_DYDBX = 0.5D0/DYDB_DY \
- *(3.0D0*DYDB_BX - 4.0D0*DYDB_BX_JM + DYDB_BX_JMM)
-
- end if
-
- if (admmacros_advectiony .eq. 0) then /* CENTER */
-
- DYDB_DYDBY = DYDB_OO2DY*(DYDB_BY_JP - DYDB_BY_JM)
-
- else if (admmacros_advectiony .eq. 1) then /* UPWIND1 */
-
- DYDB_DYDBY = (DYDB_BY_JP - DYDB_BY)/DYDB_DY
-
- else if (admmacros_advectiony .eq. -1) then /* UPWIND1 */
-
- DYDB_DYDBY = (DYDB_BY - DYDB_BY_JM)/DYDB_DY
-
- else if (admmacros_advectiony .eq. 2) then /* UPWIND2 */
-
- DYDB_DYDBY = - 0.5D0/DYDB_DY \
- *(3.0D0*DYDB_BY - 4.0D0*DYDB_BY_JP + DYDB_BY_JPP)
-
- else if (admmacros_advectiony .eq. -2) then /* UPWIND2 */
-
- DYDB_DYDBY = 0.5D0/DYDB_DY \
- *(3.0D0*DYDB_BY - 4.0D0*DYDB_BY_JM + DYDB_BY_JMM)
-
- end if
-
- if (admmacros_advectiony .eq. 0) then /* CENTER */
-
- DYDB_DYDBZ = DYDB_OO2DY*(DYDB_BZ_JP - DYDB_BZ_JM)
-
- else if (admmacros_advectiony .eq. 1) then /* UPWIND1 */
-
- DYDB_DYDBZ = (DYDB_BZ_JP - DYDB_BZ)/DYDB_DY
-
- else if (admmacros_advectiony .eq. -1) then /* UPWIND1 */
-
- DYDB_DYDBZ = (DYDB_BZ - DYDB_BZ_JM)/DYDB_DY
-
- else if (admmacros_advectiony .eq. 2) then /* UPWIND2 */
-
- DYDB_DYDBZ = - 0.5D0/DYDB_DY \
- *(3.0D0*DYDB_BZ - 4.0D0*DYDB_BZ_JP + DYDB_BZ_JPP)
-
- else if (admmacros_advectiony .eq. -2) then /* UPWIND2 */
-
- DYDB_DYDBZ = 0.5D0/DYDB_DY \
- *(3.0D0*DYDB_BZ - 4.0D0*DYDB_BZ_JM + DYDB_BZ_JMM)
+ DYDB_OO2DY = 1.0D0/(2.0D0*DYDB_DY)
- end if
+ DYDB_DYDBX = DYDB_OO2DY*(DYDB_BX_JP - DYDB_BX_JM)
+ DYDB_DYDBY = DYDB_OO2DY*(DYDB_BY_JP - DYDB_BY_JM)
+ DYDB_DYDBZ = DYDB_OO2DY*(DYDB_BZ_JP - DYDB_BZ_JM)
#endif