You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

45 lines
1.5 KiB
Fortran

c--------------------------------------------------------rise_fall_vel
subroutine rise_fall_vel(vv)
c--------------------------------------------------------------------c
c vv > 0 : rise and vv < 0 : fall vv = 0.0 : nuetral c
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
c This program is to assign a velocity to one of the c
c sewage particles which have various sizes and densities and c
c paricle size and density are uniformly distributed among c
c the particles c
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
c
c yo and y1 are coefficients of speed regression equation
c which has form 10.0**((m-y0)/y1)
c particles which fall have possitive velocity
c particles which rise have negantive velocity
c
cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
c
include 'rise_fall.cb'
REAL rnumb, vv, ran3, fspe, rspe
common /randm/isd,isd1
INTEGER isd,isd1
c
rnumb=100.0*ran3(isd)
vv=0.0
c
if(rnumb.le.rf) vv=fspe(rnumb)
if(rnumb.ge.(100.0-rr)) vv=rspe(rnumb)
return
end
function fspe(rnumb)
include 'rise_fall.cb'
real fspe, rnumb
fspe=-10.0**((rnumb-y0f)/y1f)/3600.0
return
end
function rspe(rnumb)
include 'rise_fall.cb'
real rspe, rnumb
rspe=10.0**(((100.0-rnumb)-y0r)/y1r)/3600.0
return
end