aboutsummaryrefslogtreecommitdiff
path: root/src/macro/DXDB_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/DXDB_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/DXDB_guts.h')
-rw-r--r--src/macro/DXDB_guts.h76
1 files changed, 4 insertions, 72 deletions
diff --git a/src/macro/DXDB_guts.h b/src/macro/DXDB_guts.h
index 295da7b..c47e81d 100644
--- a/src/macro/DXDB_guts.h
+++ b/src/macro/DXDB_guts.h
@@ -17,79 +17,11 @@
#ifdef FCODE
- DXDB_OO2DX = 1D0/(2D0*DXDB_DX)
+ DXDB_OO2DX = 1.0D0/(2.0D0*DXDB_DX)
- if (admmacros_advectionx .eq. 0) then /* CENTER */
-
- DXDB_DXDBX = DXDB_OO2DX*(DXDB_BX_IP - DXDB_BX_IM)
-
- else if (admmacros_advectionx .eq. 1) then /* UPWIND1 */
-
- DXDB_DXDBX = (DXDB_BX_IP - DXDB_BX)/DXDB_DX
-
- else if (admmacros_advectionx .eq. -1) then /* UPWIND1 */
-
- DXDB_DXDBX = (DXDB_BX - DXDB_BX_IM)/DXDB_DX
-
- else if (admmacros_advectionx .eq. 2) then /* UPWIND2 */
-
- DXDB_DXDBX = - 0.5D0/DXDB_DX \
- *(3.0D0*DXDB_BX - 4.0D0*DXDB_BX_IP + DXDB_BX_IPP)
-
- else if (admmacros_advectionx .eq. -2) then /* UPWIND2 */
-
- DXDB_DXDBX = 0.5D0/DXDB_DX \
- *(3.0D0*DXDB_BX - 4.0D0*DXDB_BX_IM + DXDB_BX_IMM)
-
- end if
-
- if (admmacros_advectionx .eq. 0) then /* CENTER */
-
- DXDB_DXDBY = DXDB_OO2DX*(DXDB_BY_IP - DXDB_BY_IM)
-
- else if (admmacros_advectionx .eq. 1) then /* UPWIND1 */
-
- DXDB_DXDBY = (DXDB_BY_IP - DXDB_BY)/DXDB_DX
-
- else if (admmacros_advectionx .eq. -1) then /* UPWIND1 */
-
- DXDB_DXDBY = (DXDB_BY - DXDB_BY_IM)/DXDB_DX
-
- else if (admmacros_advectionx .eq. 2) then /* UPWIND2 */
-
- DXDB_DXDBY = - 0.5D0/DXDB_DX \
- *(3.0D0*DXDB_BY - 4.0D0*DXDB_BY_IP + DXDB_BY_IPP)
-
- else if (admmacros_advectionx .eq. -2) then /* UPWIND2 */
-
- DXDB_DXDBY = 0.5D0/DXDB_DX \
- *(3.0D0*DXDB_BY - 4.0D0*DXDB_BY_IM + DXDB_BY_IMM)
-
- end if
-
- if (admmacros_advectionx .eq. 0) then /* CENTER */
-
- DXDB_DXDBZ = DXDB_OO2DX*(DXDB_BZ_IP - DXDB_BZ_IM)
-
- else if (admmacros_advectionx .eq. 1) then /* UPWIND1 */
-
- DXDB_DXDBZ = (DXDB_BZ_IP - DXDB_BZ)/DXDB_DX
-
- else if (admmacros_advectionx .eq. -1) then /* UPWIND1 */
-
- DXDB_DXDBZ = (DXDB_BZ - DXDB_BZ_IM)/DXDB_DX
-
- else if (admmacros_advectionx .eq. 2) then /* UPWIND2 */
-
- DXDB_DXDBZ = - 0.5D0/DXDB_DX \
- *(3.0D0*DXDB_BZ - 4.0D0*DXDB_BZ_IP + DXDB_BZ_IPP)
-
- else if (admmacros_advectionx .eq. -2) then /* UPWIND2 */
-
- DXDB_DXDBZ = 0.5D0/DXDB_DX \
- *(3.0D0*DXDB_BZ - 4.0D0*DXDB_BZ_IM + DXDB_BZ_IMM)
-
- end if
+ DXDB_DXDBX = DXDB_OO2DX*(DXDB_BX_IP - DXDB_BX_IM)
+ DXDB_DXDBY = DXDB_OO2DX*(DXDB_BY_IP - DXDB_BY_IM)
+ DXDB_DXDBZ = DXDB_OO2DX*(DXDB_BZ_IP - DXDB_BZ_IM)
#endif