47 lines
1.2 KiB
Fortran
47 lines
1.2 KiB
Fortran
! ==================================================================================
|
||
! 计算断面几何要素的子程序
|
||
! ==================================================================================
|
||
subroutine sub_sect( NRIVER ,&
|
||
NSECT ,&
|
||
MRIVER ,&
|
||
KRC ,&
|
||
NDATA ,&
|
||
river ,&
|
||
Is ,&
|
||
Zs ,&
|
||
ds ,&
|
||
bd ,&
|
||
zd ,&
|
||
sm ,&
|
||
rough ,&
|
||
Bs ,&
|
||
As ,&
|
||
Rs ,&
|
||
Cs )
|
||
|
||
INTEGER::NRIVER
|
||
INTEGER::NSECT
|
||
INTEGER::MRIVER
|
||
INTEGER::KRC
|
||
INTEGER::NDATA
|
||
|
||
integer River
|
||
! section
|
||
REAL::ds(mriver,nriver),bd(nsect,nriver),zd(nsect,nriver)
|
||
REAL::sm(nsect,nriver), rough(nsect,nriver)
|
||
! BARC
|
||
REAL::Bs,As,Rs,Cs
|
||
|
||
! ----------------------------------------------------------------------------------
|
||
! Bs、As、Rs、Cs——相应于水位Zs的断面要素(梯形断面)
|
||
! ----------------------------------------------------------------------------------
|
||
h=Zs-zd(Is,river)
|
||
Bs=bd(Is,river)+2.0*sm(Is,river)*h
|
||
As=(bd(Is,river)+sm(Is,river)*h)*h
|
||
Sl=bd(Is,river)+2*h*sqrt(1+sm(Is,river)**2.0)
|
||
Rs=As/Sl
|
||
Cs=Rs**(1.0/6.0)/rough(Is,river)
|
||
return
|
||
end
|
||
|