基于Visual FoxPro的船舶浮性曲线计算
2012-04-29宋晶晶
宋晶晶
摘要: 船舶静水力曲线是船舶设计过程中的重要技术资料,船舶浮性曲线是船舶静水力曲线的一部分。传统方法是用表格进行数值计算,虽然计算原理比较简明,但由于船体线型的离散性,数据处理量相当大,过程繁琐。利用Visual FoxPro的强大功能,可以很方便地实现船舶浮性曲线的计算,不但能减轻计算的工作量,而且能提高精确度。
关键词: 船舶静水力曲线船舶浮性曲线Visual FoxPro
一、引言
船舶静水力曲线是船舶设计过程中的重要技术资料,全面表达了船舶在静止正浮状态下浮性和稳性要素随吃水而变化的规律,并作为稳性计算、纵倾计算及其他计算的基础,经常用来计算与航海性能有关的性能参数。船舶浮性曲线是船舶静水力曲线的一部分,传统方法是用表格进行数值计算。虽然计算原理比较简明,但由于船体线型的离散型,数据处理量相当大,过程繁琐,因此有必要开发一套以计算机为平台的船舶浮性曲线计算软件。
二、开发环境
Visual FoxPro 6.0是微软公司推出的一款速度快、高效灵活、功能强大、面向对象的关系型数据库管理系统,它采用了可视化的操作界面、面向对象的程序设计方法,使用Reshmore查询优化技术提高了系统性能。无论是组织信息、运行查询、创建集成的关系型数据库系统,还是为最终用户建立功能全面的数据库管理应用系统,Visual FoxPro6.0都能有效地完成。
三、船舶浮性曲线的计算
1.型值表端点坐标修正
船舶浮性曲线的数据计算通常按梯形法进行,各船舶设计单位所制定的表格形式上虽略有差异,但基本原理是完全一致的。由于船体型线在艏艉端和舭部曲度变化较大,为了提高计算精度,往往在进行浮性参数计算之前运用增加中间坐标或端点坐标修正的方法针对艏艉和舭部的型值进行修正。
2.浮性曲线的介绍
型排水体积曲线▽=f(z)、总排水体积曲线▽k=f(z)、总排水量曲线△=f(z)、浮心纵向坐标曲线X=f(z)、浮心竖向坐标曲线Z=f(z)、漂心纵向坐标曲线X=f(z)、水线面面积曲线A=f(z)、每厘米吃水吨数曲线TPC=f(z)。其计算公式如下:
A=2?蘩yd x≈2δL•∑′y
公式中,∑′y=y+y+…y+y-
3.计算浮性曲线的程序代码
首先在text1中输入站号数,单击“确定”按钮Command1。
Command1的click事件代码:
zh=val(thisform.text1.value)&&将text1.value转换成数值,保存在变量zh中
public declare sxbk(zh),mjcs(zh),gjcs(zh),mjhs(zh),;
gjhs(zh),sxbklf(zh)
*定义后续相关的水线半宽、面矩乘数、惯矩乘数、面矩函数、惯矩函数、水线半宽立方等公共数组
thisform.Command4.enabled=.t.&&使“确定”按钮Command4生效
相关参数输入完毕,单击“计算”按钮Command5。
Command5的click事件代码(只截取到AW有关的部分):
if fl=0 or fb=0
messagebox(′还未输入垂线间长或船宽!′,′系统提示′)
return
endif
dL=L/(zh-1)
for i=1 to zh
mjcs(i)=i-ceiling(zh/2)
endfor
for i=1 to zh
gjcs(i)=mjcs(i)^2 &&惯矩乘数
endfor
for i=1 to zh
mjhs(i)=sxbk(i)*mjcs(i)&&面矩函数
endfor
for i=1 to zh
gjhs(i)=sxbk(i)*gjcs(i) &&惯矩函数
endfor
for i=1 to zh
sxbklf(i)=sxbk(i)^3 &&水线半宽立方
endfor
s1=0
for i=1 to zh &&求各站点水线半宽总和
s1=s1+sxbk(i)&&水线半宽总和
endfor
sxbkxz=s1-(sxbk(1)+sxbk(zh))/2&&水线半宽修正后
thisform.label5.caption=′Aw′+alltrim(str(n1))
AW=2*dL*sxbkxz
四、结语
在Visual FoxPro中实现船舶浮性曲线的计算,不但减轻了船舶计算的工作量,而且提高了计算的精确度,为船舶设计提供了准确的数据,从而显著提高了船舶设计工作的效率,缩短了整个造船的周期,在高校的教学示范中也起到了良好的演示作用。
参考文献:
[1]盛振邦.船舶静力学.上海:上海交通大学出版社,1991.
[2]刘雪梅.船舶原理.哈尔滨:哈尔滨工程大学出版社,2005.
[3]熊发涯.Visual FoxPro程序设计.中国铁道出版社,2005.