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
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
|