00001 subroutine reset_fluid
00002 use def_matter, only : emd, rs
00003 use def_matter_parameter, only : emdc
00004 use grid_parameter, only : nrf, ntf, npf, &
00005 & ntfeq, ntfxy, npfyzp, npfxzp, npfxzm, &
00006 & ratio, NS_shape, EQ_point
00007 implicit none
00008 integer :: it, ip
00009
00010 rs(ntfeq,npfxzp) = 1.0d0
00011
00012 if (EQ_point.eq.'XZ') rs(0,0:npf) = ratio
00013
00014 if (EQ_point.eq.'XY') rs(ntfeq,npfyzp) = ratio
00015
00016 emd(0,0:ntf,0:npf) = emdc
00017
00018 emd(nrf,0:ntf,0:npf) = emdc*1.0d-05
00019
00020 emd(0:nrf,0:ntf,npf) = emd(0:nrf,0:ntf,0)
00021 rs(0:ntf,npf) = rs(0:ntf,0)
00022
00023
00024
00025
00026
00027 if (NS_shape.eq.'JB') then
00028
00029 do it = 0, ntfeq
00030 do ip = 0, npfyzp
00031 rs(it,npfxzm-ip) = rs(it,ip)
00032 rs(it,npfxzm+ip) = rs(it,ip)
00033 rs(it,npf -ip) = rs(it,ip)
00034 rs(ntf-it, ip) = rs(it,ip)
00035 rs(ntf-it,npfxzm-ip) = rs(it,ip)
00036 rs(ntf-it,npfxzm+ip) = rs(it,ip)
00037 rs(ntf-it,npf -ip) = rs(it,ip)
00038 emd(0:nrf,it,npfxzm-ip) = emd(0:nrf,it,ip)
00039 emd(0:nrf,it,npfxzm+ip) = emd(0:nrf,it,ip)
00040 emd(0:nrf,it,npf -ip) = emd(0:nrf,it,ip)
00041 emd(0:nrf,ntf-it, ip) = emd(0:nrf,it,ip)
00042 emd(0:nrf,ntf-it,npfxzm-ip) = emd(0:nrf,it,ip)
00043 emd(0:nrf,ntf-it,npfxzm+ip) = emd(0:nrf,it,ip)
00044 emd(0:nrf,ntf-it,npf -ip) = emd(0:nrf,it,ip)
00045 end do
00046 end do
00047 else if (NS_shape.eq.'ML') then
00048
00049 do it = 0, ntfeq
00050 do ip = 1, npf
00051 rs(it,ip) = rs(it,0)
00052 rs(ntf-it,ip) = rs(it,0)
00053 emd(0:nrf,it,ip) = emd(0:nrf,it,0)
00054 emd(0:nrf,ntf-it,ip) = emd(0:nrf,it,0)
00055 end do
00056 end do
00057 end if
00058
00059
00060 do it = 0, ntf
00061 do ip = 0, npf
00062 if (rs(it,ip).gt.1.0d0) then
00063 rs(it,ip) = 1.0d0
00064 end if
00065 end do
00066 end do
00067
00068 end subroutine reset_fluid