hydro_irbns_vep_WL_peos.f90

Go to the documentation of this file.
00001 subroutine hydro_irbns_vep_WL_peos(vpot)
00002   use phys_constant, only  : long
00003   use grid_parameter, only : nrf, ntf, npf
00004   use make_array_2d
00005   use make_array_3d
00006   implicit none
00007   real(long), pointer :: vpot(:,:,:)
00008   real(long), pointer :: sou(:,:,:), soufc(:,:,:)
00009   real(long), pointer :: vpotfc(:,:,:), vpot_v(:,:,:), vpot_b(:,:,:)
00010 !
00011   call alloc_array3d(sou,    0, nrf, 0, ntf, 0, npf)
00012   call alloc_array3d(soufc,  0, nrf, 0, ntf, 0, npf)
00013   call alloc_array2d(surp,   0, ntf, 0, npf)
00014   call alloc_array3d(vpotfc, 0, nrf, 0, ntf, 0, npf)
00015   call alloc_array3d(vpot_v, 0, nrf, 0, ntf, 0, npf)
00016   call alloc_array3d(vpot_b, 0, nrf, 0, ntf, 0, npf)
00017 !
00018   call source_vep_WL_peos(sou)
00019   call interpo_flsfc2flsph_midpoint(sou,soufc)
00020 !
00021   call calc_weight_midpoint_fluid_sphcoord
00022   call poisson_solver_fluid_sphcoord(soufc,vpotfc)
00023   call interpo_flsph2flsfc(vpotfc,vpot_v)
00024 !
00025   call source_vep_surface_WL_peos(surp)
00026   call poisson_solver_homogeneous_sol(surp,vpot_b)
00027   vpot(0:nrf,0:ntf,0:npf) = vpot_v(0:nrf,0:ntf,0:npf)
00028   &                       + vpot_b(0:nrf,0:ntf,0:npf)
00029 !
00030   deallocate(sou)
00031   deallocate(soufc)
00032   deallocate(surp)
00033   deallocate(vpotfc)
00034   deallocate(vpot_v)
00035   deallocate(vpot_b)
00036 end subroutine hydro_irbns_vep_WL_peos

Generated on 27 Oct 2011 for Cocal by  doxygen 1.6.1