00001 subroutine IO_output_cartesian_contour_EMF
00002 use phys_constant, only : long
00003 use def_matter_parameter, only : radi
00004 use def_metric_cartesian, only : alphca, bvxuca, bvyuca, bvzuca
00005 use def_emfield_cartesian, only : vaca, vaxdca, vaydca, vazdca
00006 use def_faraday_tensor_cartesian, only : fxd_gridca, fyd_gridca, &
00007 & fzd_gridca, fijd_gridca
00008 use grid_parameter_cartesian, only : nx, ny, nz, nx_mid
00009 use coordinate_grav_xyz, only : x, y, z
00010 implicit none
00011 real(long) :: small = 1.0d-20
00012 real(long) :: va, vaxdc, vaydc, vazdc, Exca, Eyca, Ezca, Bxca, Byca, Bzca
00013 real(long) :: alph, bxu, byu, bzu, At, Aphi
00014 integer :: ix, iy, iz
00015
00016 open(14,file='rns_contour_xy_EMF.dat',status='unknown')
00017 iz = nx_mid
00018 do iy = 1, ny
00019 write(14,*) ' '
00020 do ix = 1, nx
00021
00022 va = vaca(ix,iy,iz)
00023 vaxdc = vaxdca(ix,iy,iz)
00024 vaydc = vaydca(ix,iy,iz)
00025 vazdc = vazdca(ix,iy,iz)
00026 Exca = fxd_gridca(ix,iy,iz)/radi
00027 Eyca = fyd_gridca(ix,iy,iz)/radi
00028 Ezca = fzd_gridca(ix,iy,iz)/radi
00029 Bxca = fijd_gridca(ix,iy,iz,3)/radi
00030 Byca = - fijd_gridca(ix,iy,iz,2)/radi
00031 Bzca = fijd_gridca(ix,iy,iz,1)/radi
00032 if (dabs(va).le.small) va = 0.0d0
00033 if (dabs(vaxdc).le.small) vaxdc = 0.0d0
00034 if (dabs(vaydc).le.small) vaydc = 0.0d0
00035 if (dabs(vazdc).le.small) vazdc = 0.0d0
00036 if (dabs(Exca).le.small) Exca = 0.0d0
00037 if (dabs(Eyca).le.small) Eyca = 0.0d0
00038 if (dabs(Ezca).le.small) Ezca = 0.0d0
00039 if (dabs(Bxca).le.small) Bxca = 0.0d0
00040 if (dabs(Byca).le.small) Byca = 0.0d0
00041 if (dabs(Bzca).le.small) Bzca = 0.0d0
00042 alph = alphca(ix,iy,iz)
00043 bxu = bvxuca(ix,iy,iz)
00044 byu = bvyuca(ix,iy,iz)
00045 bzu = bvzuca(ix,iy,iz)
00046 At = - alph*va + vaxdc*bxu + vaydc*byu + vazdc*bzu
00047 Aphi = - y(iy)*vaxdc + x(ix)*vaydc
00048
00049 write(14,'(20es14.6)') x(ix), y(iy), &
00050 & va, vaxdc, vaydc, vazdc, Exca, Eyca, Ezca, Bxca, Byca, Bzca, At, Aphi
00051
00052 end do
00053 end do
00054 close(14)
00055
00056 open(14,file='rns_contour_xz_EMF.dat',status='unknown')
00057 iy = nx_mid
00058 do iz = 1, nz
00059 write(14,*) ' '
00060 do ix = 1, nx
00061
00062 va = vaca(ix,iy,iz)
00063 vaxdc = vaxdca(ix,iy,iz)
00064 vaydc = vaydca(ix,iy,iz)
00065 vazdc = vazdca(ix,iy,iz)
00066 Exca = fxd_gridca(ix,iy,iz)/radi
00067 Eyca = fyd_gridca(ix,iy,iz)/radi
00068 Ezca = fzd_gridca(ix,iy,iz)/radi
00069 Bxca = fijd_gridca(ix,iy,iz,3)/radi
00070 Byca = - fijd_gridca(ix,iy,iz,2)/radi
00071 Bzca = fijd_gridca(ix,iy,iz,1)/radi
00072 if (dabs(va).le.small) va = 0.0d0
00073 if (dabs(vaxdc).le.small) vaxdc = 0.0d0
00074 if (dabs(vaydc).le.small) vaydc = 0.0d0
00075 if (dabs(vazdc).le.small) vazdc = 0.0d0
00076 if (dabs(Exca).le.small) Exca = 0.0d0
00077 if (dabs(Eyca).le.small) Eyca = 0.0d0
00078 if (dabs(Ezca).le.small) Ezca = 0.0d0
00079 if (dabs(Bxca).le.small) Bxca = 0.0d0
00080 if (dabs(Byca).le.small) Byca = 0.0d0
00081 if (dabs(Bzca).le.small) Bzca = 0.0d0
00082 alph = alphca(ix,iy,iz)
00083 bxu = bvxuca(ix,iy,iz)
00084 byu = bvyuca(ix,iy,iz)
00085 bzu = bvzuca(ix,iy,iz)
00086 At = - alph*va + vaxdc*bxu + vaydc*byu + vazdc*bzu
00087 Aphi = - y(iy)*vaxdc + x(ix)*vaydc
00088
00089 write(14,'(20es14.6)') x(ix), z(iz), &
00090 & va, vaxdc, vaydc, vazdc, Exca, Eyca, Ezca, Bxca, Byca, Bzca, At, Aphi
00091
00092 end do
00093 end do
00094 close(14)
00095
00096 open(14,file='rns_contour_yz_EMF.dat',status='unknown')
00097 ix = nx_mid
00098 do iz = 1, nz
00099 write(14,*) ' '
00100 do iy = 1, ny
00101
00102 va = vaca(ix,iy,iz)
00103 vaxdc = vaxdca(ix,iy,iz)
00104 vaydc = vaydca(ix,iy,iz)
00105 vazdc = vazdca(ix,iy,iz)
00106 Exca = fxd_gridca(ix,iy,iz)/radi
00107 Eyca = fyd_gridca(ix,iy,iz)/radi
00108 Ezca = fzd_gridca(ix,iy,iz)/radi
00109 Bxca = fijd_gridca(ix,iy,iz,3)/radi
00110 Byca = - fijd_gridca(ix,iy,iz,2)/radi
00111 Bzca = fijd_gridca(ix,iy,iz,1)/radi
00112 if (dabs(va).le.small) va = 0.0d0
00113 if (dabs(vaxdc).le.small) vaxdc = 0.0d0
00114 if (dabs(vaydc).le.small) vaydc = 0.0d0
00115 if (dabs(vazdc).le.small) vazdc = 0.0d0
00116 if (dabs(Exca).le.small) Exca = 0.0d0
00117 if (dabs(Eyca).le.small) Eyca = 0.0d0
00118 if (dabs(Ezca).le.small) Ezca = 0.0d0
00119 if (dabs(Bxca).le.small) Bxca = 0.0d0
00120 if (dabs(Byca).le.small) Byca = 0.0d0
00121 if (dabs(Bzca).le.small) Bzca = 0.0d0
00122 alph = alphca(ix,iy,iz)
00123 bxu = bvxuca(ix,iy,iz)
00124 byu = bvyuca(ix,iy,iz)
00125 bzu = bvzuca(ix,iy,iz)
00126 At = - alph*va + vaxdc*bxu + vaydc*byu + vazdc*bzu
00127 Aphi = - y(iy)*vaxdc + x(ix)*vaydc
00128
00129 write(14,'(20es14.6)') y(iy), z(iz), &
00130 & va, vaxdc, vaydc, vazdc, Exca, Eyca, Ezca, Bxca, Byca, Bzca, At, Aphi
00131
00132 end do
00133 end do
00134 close(14)
00135
00136 end subroutine IO_output_cartesian_contour_EMF