| | 37 | |
| | 38 | == MHD TEST == |
| | 39 | |
| | 40 | || const Bz everywhere || [[Image(http://www.pas.rochester.edu/~bliu/pnStudy/PolarizationMap/test/Bz_0.6_m1.png, width=250)]] || || |
| | 41 | || const aux_z and Bz everywhere || [[Image(http://www.pas.rochester.edu/~bliu/pnStudy/PolarizationMap/test/Bz_0.6.png, width=250)]] || same mag as 1 || |
| | 42 | || Bz in Outflow only || [[Image(http://www.pas.rochester.edu/~bliu/pnStudy/PolarizationMap/test/Bz_Jet0.6.png, width=250)]] || similar as 1&2 || |
| | 43 | |
| | 44 | |
| | 45 | == MHD TEST CODE == |
| | 46 | 1. const Bz everywhere |
| | 47 | {{{ |
| | 48 | DO i=1-rmbc, mx+rmbc ; x = (xl+(REAL(i,xPrec)-half)*dx) |
| | 49 | DO j=1-rmbc, my+rmbc ; y = (yl+(REAL(j,xPrec)-half)*dy) |
| | 50 | DO k=1-zrmbc,mz+zrmbc ; z = (zl+(REAL(k,xPrec)-half)*dz) |
| | 51 | |
| | 52 | q(i,j,k,iBx)=0d0 |
| | 53 | q(i,j,k,iBy)=0d0 |
| | 54 | q(i,j,k,iBz)=sigmaB |
| | 55 | q(i,j,k,iE)=q(i,j,k,iE)+half*sigmaB**2 |
| | 56 | |
| | 57 | CALL ConvertInternaltoTotalEnergy(q(i,j,k,:)) |
| | 58 | END DO |
| | 59 | END DO |
| | 60 | END DO |
| | 61 | }}} |
| | 62 | |
| | 63 | 2. const aux along z direction and Bz everywhere |
| | 64 | |
| | 65 | {{{ |
| | 66 | if ( nDim .eq. 3 .AND. lMHD .AND. lTestConstBz) then |
| | 67 | aux(1:mx+1, 1:my, 1:mz, 1) = 0d0 |
| | 68 | aux(1:mx, 1:my+1, 1:mz, 2) = 0d0 |
| | 69 | DO i=1, mx |
| | 70 | DO j=1, my |
| | 71 | DO k=1, mz+1 |
| | 72 | pos=CellPos(Info, i, j, k) |
| | 73 | aux(i,j,k,3)=sigmaB !constant along z |
| | 74 | END DO |
| | 75 | END DO |
| | 76 | END DO |
| | 77 | else |
| | 78 | aux(:,:,:,:)=0d0 |
| | 79 | end if |
| | 80 | |
| | 81 | .... |
| | 82 | |
| | 83 | DO i=1-rmbc, mx+rmbc ; x = (xl+(REAL(i,xPrec)-half)*dx) |
| | 84 | DO j=1-rmbc, my+rmbc ; y = (yl+(REAL(j,xPrec)-half)*dy) |
| | 85 | DO k=1-zrmbc,mz+zrmbc ; z = (zl+(REAL(k,xPrec)-half)*dz) |
| | 86 | |
| | 87 | q(i,j,k,iBx)=0d0 |
| | 88 | q(i,j,k,iBy)=0d0 |
| | 89 | q(i,j,k,iBz)=sigmaB |
| | 90 | q(i,j,k,iE)=q(i,j,k,iE)+half*sigmaB**2 |
| | 91 | |
| | 92 | CALL ConvertInternaltoTotalEnergy(q(i,j,k,:)) |
| | 93 | END DO |
| | 94 | END DO |
| | 95 | END DO |
| | 96 | }}} |
| | 97 | |
| | 98 | 3. |
| | 99 | |
| | 100 | {{{ |
| | 101 | |
| | 102 | DO i=1-rmbc, mx+rmbc ; x = (xl+(REAL(i,xPrec)-half)*dx) |
| | 103 | DO j=1-rmbc, my+rmbc ; y = (yl+(REAL(j,xPrec)-half)*dy) |
| | 104 | DO k=1-zrmbc,mz+zrmbc ; z = (zl+(REAL(k,xPrec)-half)*dz) |
| | 105 | |
| | 106 | qjet(iBx) = 0d0 |
| | 107 | qjet(iBy) = 0d0 |
| | 108 | qjet(iBz) = sigmaB !sigmaFACTOR |
| | 109 | qjet(iE)=qjet(iE)+half*qjet(iBz)**2 |
| | 110 | ... |
| | 111 | qnew=qwind+qjet |
| | 112 | ... |
| | 113 | q(i,j,k,1:NrHydroVars)=q(i,j,k,1:NrHydroVars)+(qnew(1:NrHydroVars)-q(i,j,k,1:NrHydroVars)) |
| | 114 | CALL ConvertInternaltoTotalEnergy(q(i,j,k,:)) |
| | 115 | |
| | 116 | END DO |
| | 117 | END DO |
| | 118 | END DO |
| | 119 | }}} |