IO_output_cartesian_planes.f90

Go to the documentation of this file.
00001 subroutine IO_output_cartesian_planes
00002   use phys_constant, only : long
00003   use def_metric, only : bvxd, bvyd, bvzd
00004   use grid_parameter_cartesian, only  : nx, ny, nz, nx_mid
00005   use coordinate_grav_xyz, only  : x, y, z
00006   use def_binary_parameter,    only : sepa, dis
00007   use grid_parameter, only : rgin
00008   use interface_modules_cartesian
00009   implicit none
00010   real(long) :: small = 1.0d-20
00011   real(long) :: psic, alphc, bvxdc, bvydc, bvzdc
00012   integer :: ix, iy, iz, ii, nnx,nny
00013   integer :: ix0, iy0, iz0
00014   real(long) :: rz0,r1,r2, xc,yc,zc,x1,x2,y1,y2,dx,dy
00015   real(long) :: px(1:12),py(1:12)
00016 !
00017   x1 = -5.0d0*dis
00018   x2 = 5.0d0*dis
00019   y1 = -5.0d0*dis
00020   y2 = 5.0d0*dis
00021   dx = 0.5
00022   dy = 0.5
00023   nnx = (x2-x1)/dx
00024   nny = (y2-y1)/dy
00025 !
00026   open(14,file='BBH_xy_vf.dat',status='unknown')
00027   zc = 0.0d0
00028   do iy = 1, nny+1
00029     yc = y1 + (iy-1)*dy
00030     write(14,*) ' '
00031     do ix = 1, nnx+1
00032       xc = x1 + (ix-1)*dx
00033       r1 = sqrt(xc**2 + yc**2 + zc**2)
00034       r2 = sqrt((xc-sepa)**2 + yc**2 + zc**2)
00035       if (r1.ge.rgin.and.r2.ge.rgin) then
00036         call interpo_gr2cgr_4th(bvxd,bvxdc,xc,yc,zc)
00037         call interpo_gr2cgr_4th(bvyd,bvydc,xc,yc,zc)
00038         call interpo_gr2cgr_4th(bvzd,bvzdc,xc,yc,zc)  
00039         if (dabs(bvxdc).le.small) bvxdc = 0.0d0
00040         if (dabs(bvydc).le.small) bvydc = 0.0d0
00041         if (dabs(bvzdc).le.small) bvzdc = 0.0d0
00042         write(14,'(20es14.6)') xc, yc, zc, bvxdc, bvydc, bvzdc
00043       else
00044         write(14,'(20es14.6)') xc, yc, zc, 0.0, 0.0, 0.0
00045       endif
00046     end do
00047   end do
00048   close(14)
00049 !
00050   open(14,file='BBH_z1_vf.dat',status='unknown')
00051   zc = 0.5d0*rgin
00052   do iy = 1, nny+1
00053     yc = y1 + (iy-1)*dy
00054     write(14,*) ' '
00055     do ix = 1, nnx
00056       xc = x1 + (ix-1)*dx
00057       r1 = sqrt(xc**2 + yc**2 + zc**2)
00058       r2 = sqrt((xc-sepa)**2 + yc**2 + zc**2)
00059       if (r1.ge.rgin.and.r2.ge.rgin) then
00060         call interpo_gr2cgr_4th(bvxd,bvxdc,xc,yc,zc)
00061         call interpo_gr2cgr_4th(bvyd,bvydc,xc,yc,zc)
00062         call interpo_gr2cgr_4th(bvzd,bvzdc,xc,yc,zc)  
00063         if (dabs(bvxdc).le.small) bvxdc = 0.0d0
00064         if (dabs(bvydc).le.small) bvydc = 0.0d0
00065         if (dabs(bvzdc).le.small) bvzdc = 0.0d0
00066         write(14,'(20es14.6)') xc, yc, zc, bvxdc, bvydc, bvzdc
00067       else
00068         write(14,'(20es14.6)') xc, yc, zc, 0.0, 0.0, 0.0
00069       endif
00070     end do
00071   end do
00072   close(14)
00073 !
00074   px(1) = -2.0d0*rgin
00075   py(1) = -2.0d0*rgin
00076 
00077   px(2) = 0.0d0
00078   py(2) = py(1)
00079 
00080   px(3) = 0.5d0*sepa
00081   py(3) = py(1)
00082 
00083   px(4) = sepa
00084   py(4) = py(1)
00085 
00086   px(5) = sepa + 2.0d0*rgin
00087   py(5) = py(1)
00088 
00089   px(6) = px(5)
00090   py(6) = 0.0d0
00091 
00092   px(7) = px(5)
00093   py(7) = 2.0d0*rgin
00094 
00095   px(8) = px(4)
00096   py(8) = py(7)
00097 
00098   px(9) = px(3)
00099   py(9) = py(7)
00100 
00101   px(10)= px(2)
00102   py(10)= py(7)
00103 
00104   px(11)= px(1)
00105   py(11)= py(7)
00106 
00107   px(12)= px(1)
00108   py(12)= 0.0d0
00109 !
00110   open(14,file='BBH_plane_z0.dat',status='unknown')
00111   zc = 0.0d0
00112   do ii = 1, 12
00113     xc = px(ii)
00114     yc = py(ii)
00115     call interpo_gr2cgr_4th(bvxd,bvxdc,xc,yc,zc)
00116     call interpo_gr2cgr_4th(bvyd,bvydc,xc,yc,zc)
00117     call interpo_gr2cgr_4th(bvzd,bvzdc,xc,yc,zc)
00118     if (dabs(bvxdc).le.small) bvxdc = 0.0d0
00119     if (dabs(bvydc).le.small) bvydc = 0.0d0
00120     if (dabs(bvzdc).le.small) bvzdc = 0.0d0
00121     write(14,'(20es14.6)') xc, yc, zc, bvxdc, bvydc, bvzdc
00122     write(14,'(20es14.6)') xc, yc, zc, bvxdc, bvydc, 0.0d0
00123     write(14,'(20es14.6)') xc, yc, zc, 0.0d0, 0.0d0, bvzdc
00124   end do
00125  close(14)
00126 
00127  
00128 !
00129 end subroutine IO_output_cartesian_planes

Generated on 27 Oct 2011 for Cocal by  doxygen 1.6.1