网站大量收购闲置独家精品文档,联系QQ:2885784924

船舶设计软件:MarinDesign二次开发_(7).船舶运动仿真与控制.docx

船舶设计软件:MarinDesign二次开发_(7).船舶运动仿真与控制.docx

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

PAGE1

PAGE1

船舶运动仿真与控制

在船舶设计软件的二次开发过程中,船舶运动仿真与控制是一个重要的模块,它不仅帮助设计师更准确地预测船舶在各种海况下的性能,还为船舶的操纵和控制系统设计提供了重要的数据支持。本节将详细介绍船舶运动仿真与控制的基本原理、模型建立、仿真方法以及如何在MarinDesign软件中进行二次开发。

1.船舶运动的基本原理

船舶运动可以分为六个自由度,包括三个平动自由度(纵向、横向、垂向)和三个转动自由度(横摇、纵摇、艏摇)。这些自由度的运动受到多种力和力矩的影响,包括水动力、风力、波浪力、推进力等。理解这些基本原理是进行船舶运动仿真与控制的基础。

1.1六自由度运动方程

船舶的运动可以用六自由度运动方程来描述,这些方程通常包括以下几个部分:

纵向运动方程:描述船舶沿纵向轴(x轴)的平动。

横向运动方程:描述船舶沿横向轴(y轴)的平动。

垂向运动方程:描述船舶沿垂向轴(z轴)的平动。

横摇运动方程:描述船舶绕横向轴(y轴)的转动。

纵摇运动方程:描述船舶绕纵向轴(x轴)的转动。

艏摇运动方程:描述船舶绕垂向轴(z轴)的转动。

这些方程可以用矩阵形式表示为:

M

其中:

M是质量矩阵。

Cv

Rv

F是外力和外力矩向量。

v是速度向量,包括六个自由度的速度分量。

1.2船舶运动的外力和外力矩

船舶运动的外力和外力矩主要包括以下几个方面:

水动力:由船体与水流的相互作用产生,包括阻力、升力等。

风力:由风速和风向对船体的作用产生。

波浪力:由波浪对船体的作用产生,包括波浪阻力、波浪升力等。

推进力:由船舶的推进系统(如螺旋桨、喷水推进器等)产生。

舵力:由舵的偏转产生的操纵力。

1.3船舶运动的模型建立

船舶运动的模型建立通常包括以下几个步骤:

确定模型参数:包括船舶的质量、惯性矩、水动力系数、风力系数等。

建立运动方程:根据确定的参数,建立六个自由度的运动方程。

求解运动方程:使用数值方法(如龙格-库塔法)求解运动方程。

验证模型:通过与实验数据进行对比,验证模型的准确性。

1.4例子:建立简单的船舶运动模型

假设我们有一个简单的船舶模型,其参数如下:

质量m=10000

惯性矩Ix=100000kg·m2,Iy=200000

水动力系数Xu=?5000,

风力系数Xw=?0.01,

我们可以用以下代码建立一个简单的船舶运动模型:

importnumpyasnp

fromscipy.integrateimportsolve_ivp

#船舶参数

m=10000#质量(kg)

I_x=100000#惯性矩Ix(kg·m2)

I_y=200000#惯性矩Iy(kg·m2)

I_z=300000#惯性矩Iz(kg·m2)

X_dot_u=-5000#纵向水动力系数

Y_dot_v=-6000#横向水动力系数

N_dot_r=-7000#艏摇水动力系数

X_w=-0.01#纵向风力系数

Y_w=0.02#横向风力系数

N_w=0.03#艏摇风力系数

#质量矩阵M

M=np.array([

[m,0,0,0,0,0],

[0,m,0,0,0,0],

[0,0,m,0,0,0],

[0,0,0,I_x,0,0],

[0,0,0,0,I_y,0],

[0,0,0,0,0,I_z]

])

#阻尼矩阵C

C=np.array([

[X_dot_u,0,0,0,0,0],

[0,Y_dot_v,0,0,0,0],

[0,0,0,0,0,0],

[0,0,0,0,0,0],

[0,0,0,0,0,0],

[0,0,0,0,0,N_dot_r]

])

#恢复力矩阵R

R=np.zeros((6,6))

#外力和外力矩向量F

defF(t,v,wind_speed,wind_direction):

u,v,w,p,q,r=v

F_x=X_w*wind_speed*np.cos(wind_direction)

F_y=Y_w*wind_speed*np.sin(wind_direction)

F_z=0

M_x=0

您可能关注的文档

文档评论(0)

找工业软件教程找老陈 + 关注
实名认证
服务提供商

寻找教程;翻译教程;题库提供;教程发布;计算机技术答疑;行业分析报告提供;

1亿VIP精品文档

相关文档