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
00019 emd(nrf,0:ntf,0:npf) = emdc*1.0d-14
00020
00021 emd(0:nrf,0:ntf,npf) = emd(0:nrf,0:ntf,0)
00022 rs(0:ntf,npf) = rs(0:ntf,0)
00023
00024
00025
00026
00027
00028 if (NS_shape.eq.'JB') then
00029
00030 do it = 0, ntfeq
00031 do ip = 0, npfyzp
00032 rs(it,npfxzm-ip) = rs(it,ip)
00033 rs(it,npfxzm+ip) = rs(it,ip)
00034 rs(it,npf -ip) = rs(it,ip)
00035 rs(ntf-it, ip) = rs(it,ip)
00036 rs(ntf-it,npfxzm-ip) = rs(it,ip)
00037 rs(ntf-it,npfxzm+ip) = rs(it,ip)
00038 rs(ntf-it,npf -ip) = rs(it,ip)
00039 emd(0:nrf,it,npfxzm-ip) = emd(0:nrf,it,ip)
00040 emd(0:nrf,it,npfxzm+ip) = emd(0:nrf,it,ip)
00041 emd(0:nrf,it,npf -ip) = emd(0:nrf,it,ip)
00042 emd(0:nrf,ntf-it, 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,npfxzm+ip) = emd(0:nrf,it,ip)
00045 emd(0:nrf,ntf-it,npf -ip) = emd(0:nrf,it,ip)
00046 end do
00047 end do
00048 else if (NS_shape.eq.'ML') then
00049
00050 do it = 0, ntfeq
00051 do ip = 1, npf
00052 rs(it,ip) = rs(it,0)
00053 rs(ntf-it,ip) = rs(it,0)
00054 emd(0:nrf,it,ip) = emd(0:nrf,it,0)
00055 emd(0:nrf,ntf-it,ip) = emd(0:nrf,it,0)
00056 end do
00057 end do
00058 end if
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069 end subroutine reset_fluid