diff options
author | miguel <miguel@b1d164ef-f17a-46e7-89d4-021c7118ef4e> | 2002-10-09 22:19:29 +0000 |
---|---|---|
committer | miguel <miguel@b1d164ef-f17a-46e7-89d4-021c7118ef4e> | 2002-10-09 22:19:29 +0000 |
commit | eea6dc2929fdb7e096d8255a6e80b89981b99a69 (patch) | |
tree | dbf519390ff45feea357e6f03052a0a6294ebc14 /src/macro/DXDB_guts.h | |
parent | 35610aaa28ed9575bdf137f3ac264cd3bea23e3f (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.h | 76 |
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 |