00001 subroutine calc_circ_line_peos
00002 use phys_constant, only : long, pi
00003 use grid_parameter, only : ntfeq, npfxzp, npfyzp, nrf, ntf, npf
00004 use coordinate_grav_r, only : hrg, rg
00005 use def_matter_parameter, only : radi
00006 use make_array_1d
00007 use make_array_2d
00008 use def_quantities, only : circ_line_xy, circ_line_yz, circ_line_zx
00009 use interface_source_circ_line_peos
00010 use interface_line_int_fluid
00011 implicit none
00012 real(long) :: line_int
00013 real(long),pointer :: souf_circ_line_ph_peos(:,:), souf_circ_line_th_peos(:,:)
00014 integer :: irg, irs, ii, ia, ib
00015
00016 write(6,'(a90)') "---------------------------------------------------------------------------------------------"
00017 do ia = nrf,nrf
00018 ib = ntfeq
00019 call alloc_array2d(souf_circ_line_ph_peos, 1, npf, 1, 3)
00020 call source_circ_line_peos("ph", ia, ib, souf_circ_line_ph_peos)
00021 call line_int_fluid("ph", ia, ib, souf_circ_line_ph_peos, line_int)
00022 circ_line_xy = line_int*radi
00023 deallocate(souf_circ_line_ph_peos)
00024 write(6,'(a8,i3,a42,1p,e23.15)') 'For irf=', ia, ' Circulation (line integral) on xy plane=', circ_line_xy
00025 end do
00026
00027
00028 do ia = nrf,nrf
00029 ib = npfxzp
00030 call alloc_array2d(souf_circ_line_th_peos, 1, 2*ntf, 1, 3)
00031 call source_circ_line_peos("th", ia, ib, souf_circ_line_th_peos)
00032 call line_int_fluid("th", ia, ib, souf_circ_line_th_peos, line_int)
00033 circ_line_zx = line_int*radi
00034 deallocate(souf_circ_line_th_peos)
00035 write(6,'(a8,i3,a42,1p,e23.15)') 'For irf=', ia, ' Circulation (line integral) on zx plane=', circ_line_zx
00036 end do
00037
00038
00039 do ia = nrf,nrf
00040 ib = npfyzp
00041 call alloc_array2d(souf_circ_line_th_peos, 1, 2*ntf, 1, 3)
00042 call source_circ_line_peos("th", ia, ib, souf_circ_line_th_peos)
00043 call line_int_fluid("th", ia, ib, souf_circ_line_th_peos, line_int)
00044 circ_line_yz = -line_int*radi
00045 deallocate(souf_circ_line_th_peos)
00046 write(6,'(a8,i3,a42,1p,e23.15)') 'For irf=', ia, ' Circulation (line integral) on yz plane=', circ_line_yz
00047 end do
00048
00049 end subroutine calc_circ_line_peos