- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
武汉大学《水力学》梯形渠道恒定非均匀渐变流水面线计算程序 WTSF.FOR讲述.docx
moduleNrType ! 确定常数implicit noneinteger,parameter::I2B=selected_int_kind(4)integer,parameter::I4B=selected_int_kind(9)integer,parameter::SP=kind(1.0) ! 单精度integer,parameter::DP=kind(1.0d0) ! 双精度real(DP),parameter::ERR=1.0d-6 ! 两实数差值的绝对值小于此常数可认为相等end module NrTypemodule wtsfuse NrTypeimplicit nonesave ! 模块内全局变量均为静态变量integer(I2B),parameter::NOUT=2 ! 输出文件号integer(I2B)::dr ! 水面线计算方向real(DP),parameter::G=9.8d0 ! 重力加速度real(DP)::q,i,n,m,b,csn,srm,alfa! 以上分别为流量,底坡比降,糙率,边坡系数,底宽,底坡余弦值,边坡余割值,动能修正系数real(DP)::v2,j1,j2,es1,es2,ds! 流速,水力比降,断面比能,断面间距real(DP),allocatable::h(:),v(:),s(:) ! 水深,流速,距起始(控制)断面的距离! 外部函数real(DP),external::ErFenFa ! 二分法real(DP),external::zBrent ! 布伦特法containssubroutine ReadData() ! 读取数据! 使用的全局变量有:q,i,n,m,b,NOUTwrite(*,*)键盘输入:流量Q,底坡比降i,糙率n,边坡系数m,底宽b(单位均为国际单位制)read(*,*)q,i,n,m,b ! 输入流量,底坡比降,糙率,边坡系数,底宽if(qERR.or.nERR.or.m0.0d0.or.b0.0d0)then ! m,b可以为0,i可正可负write(*,*)错误:Q,n必须均为正数!m,b必须均为非负数!stopend ifwrite(*,(5x,Q=,f8.2,(m**3/s),4x,i=,f8.5,4x,n=,f6.4,4x,m=,f4.2,4x,b=,f7.2,(m)))q,i,n,m,bwrite(NOUT,(5x,Q=,f8.2,(m**3/s),4x,i=,f8.5,4x,n=,f6.4,4x,m=,f4.2,4x,b=,f7.2,(m)))q,i,n,m,bend subroutine ReadDatasubroutine Cal() ! 计算! 全局变量均使用real(DP)::a,r,hk,h0,hd,hb ! 过水面积,水力半径,临界水深,正常水深,控制水深,区间端点水深integer(I2B)::l,ns,j ! ns为区间总数,j为计算方法alfa=1.05d0 ! 动能修正系数csn=sqrt(1.0d0-i*i) ! 底坡余弦值srm=sqrt(1.0d0+m*m) ! 边坡余割值call SubHk(hk) ! 调用子程序SubHk求临界水深write(*,(5x,临界水深Hk=,f10.6,(m)))hkwrite(NOUT,(5x,临界水深Hk=,f10.6,(m)))hk! 计算正常水深H0if(iERR)then ! i=0即平坡或逆坡h0=100.0d0 ! 正常水深H0设为一大值write(*,*)i=0,没有正常水深write(NOUT,*)i=0,没有正常水深 else call SubH0(h0) ! 调用子程序SubHk求正常水深write(*,(5x,正常水深H0=,f10.6,(m)))h0write(NOUT,(5x,正常水深H0=,f10.6,(m)))h0endifwrite(*,*)键盘输入:控制水深Hd,断面间距Ds,区间总数Ns(断面总数为Ns+1)read(*,*)hd,ds,ns ! 输入控制水深,断面间距,区间总数if(hdERR.or.dsERR.or.ns=0)thenwrite(*,*)错误:Hd,Ds必须均为非负数!Ns必须为正整数!stopend if! 断面总数为ns+1allocate(h(ns+1),v(ns+1),s(ns+1)) ! 动态数组分配内存h=0.0d0;v=0.0d0;s=0.0d0 ! 赋初值! 计算起始(控制)断面参数h(1)=hd ! 第一断面为控制断面a=(b+m*h(1))*h(1) ! 过水面积r=a/(b+2.0d0*h(1)*srm) ! 水力半径v(1)=q/a ! 流速j1=(n*v(1))**2/r**(4.0d0/3.0
您可能关注的文档
- 省道线广安境内段改建工程枣山迎宾大道段施工组织设计.doc
- 基于STCC单片机的国旗自动升降系统设计.doc
- 堤防护岸工程中混凝土模袋技术的应用.doc
- 太湖与淮河流域农户施肥行为和水环境保护意识对比.doc
- 《用DSB实现温度测量》.doc
- 基于TMSLFA的直流电机调速系统的设计.doc
- 词汇记忆组群 indeed ad. 真正地;确实,实在 deed n. 行为,行动;功绩.doc
- 露采工程技术资料表格.doc
- 机构名称:天祥(天津)质量技术服务有限公司青岛分公司.doc
- 毕业设计(论文)_基于单片机的空气智能加湿器的设计.doc
- 人教版数学六年级上册 第一单元 第5课时 分数乘小数.pptx
- 人教版数学六年级上册 第四单元 第3课时 比的应用.pptx
- 人教版数学六年级上册 第五单元 第5课时 圆的面积-2.pptx
- 人教版数学六年级上册 第一单元 第7课时 解决问题-1.pptx
- 人教版数学六年级下册 第二单元 第4课时 利率.pptx
- 人教版数学六年级上册 第一单元 第8课时 解决问题-2.pptx
- 人教版数学六年级下册 第五单元 第2课时 鸽巢问题的一般形式.pptx
- 人教版数学六年级下册 第四单元 整理和复习.pptx
- 人教版数学六年级上册 第一单元 第3课时 分数乘分数-1.pptx
- 人教版数学六年级下册 第六单元复习第2课时 可能性.pptx
文档评论(0)