高速艇在波浪中的垂直运动MATLAB模拟与仿真

目录

1.程序功能描述

2.测试软件版本以及运行结果展示

3.核心程序

4.本算法原理

5.完整程序


1.程序功能描述

高速艇在波浪中的垂直运动MATLAB模拟与仿真。参考文献《Dynamic motions of planing vessels in head seas》中的方法,对滑航船在规则海头海中的动态响应进行了数值研究。采用二维 边界元方法来解决2D横截面中的初始边界值问题,其中满足非线性自由表面条件和精确的体边界条件。

2.测试软件版本以及运行结果展示

MATLAB2022A版本运行

俯仰力矩的尖峰将影响俯仰加速度,从而导致琴弓处的加速度出现尖峰。从图 中可以看出,总垂直力和 COG 的加速度同时在瞬间有小的尖峰,但这些峰值不如俯仰力矩和船首的加速度那么突出。

3.核心程序

复制代码
...................................................
%accelerations1
Fz   = -DADt.*V - A.*DVDt + p*g*S;%(27)
Fz0  =  mean(Fz);
Acc1 = (Fz-Fz0)/M;

%accelerations2
Acc2 = Acc1+fxt/M;

figure;
subplot(611);
plot(x,r3,'k','linewidth',1);
xlabel('Time (s)');
ylabel('Heave (m)');
xlim([-0.25,4.25]);
ylim([-0.03,0.03]);
grid on

subplot(612);
plot(x,r5,'k','linewidth',1);
xlabel('Time (s)');
ylabel('Pitch (m)');
xlim([-0.25,4.25]);
ylim([-3,3]);
grid on

subplot(613);
plot(x,fxt,'k','linewidth',1);
xlabel('Time (s)');
ylabel('F_3*');
xlim([-0.25,4.25]);
ylim([0.02,0.12]);
grid on

subplot(614);
plot(x,F5,'k','linewidth',1);
xlabel('Time (s)');
ylabel('F_5*');
xlim([-0.25,4.25]);
ylim([-0.03,0.03]);
grid on


subplot(615);
plot(x,Acc1,'k','linewidth',1);
xlabel('Time (s)');
ylabel('Acc. at COG(g)');
xlim([-0.25,4.25]);
ylim([-0.6,0.6]);
grid on
 
subplot(616);
plot(x,Acc2,'k','linewidth',1);
xlabel('Time (s)');
ylabel('Acc. at bow(g)');
xlim([-0.25,4.25]);
ylim([0,3]);
grid on
16_065m

4.本算法原理

滑行艇在休闲、体育和军事领域应用广泛,其在波浪中的运动问题复杂。早期研究多关注稳态问题,对非稳态问题研究不足。2D + t 理论可用于解决强非线性水动力问题,本研究基于此理论改进并应用于滑行艇在波浪中的动态运动模拟。

定义坐标系,假定水为无黏性、不可压缩且水流无旋,引入速度势描述水流,将总速度势分解为入射波势和扰动势。在船体表面、自由表面等边界上给出相应条件,得到扰动速度势的时变边值问题。考虑船舶在波浪中的非稳态运动,仅研究垂荡和纵摇运动,给出船体表面点的速度表达式。

基于细长体假设简化三维问题为二维时变问题,得到二维拉普拉斯方程和边界条件。使用边界元法求解二维问题,考虑水流分离和压力计算,引入辅助函数求解。在数值计算中,先进行稳态计算得到初始条件,再逐步引入入射波。通过在多个垂直固定横剖面求解边值问题,计算船体的总垂直力和纵摇力矩,进而求解运动方程得到垂荡和纵摇运动。在新平面计算时要考虑船舶截面的淹没情况,并采用修正的初始自由表面轮廓。利用近似方法计算船体前部的力分布,逐步引入波浪效应。建立以船舶重心为原点的惯性坐标系下的垂荡和纵摇运动方程,考虑附加质量力对运动方程进行改写,以提高计算精度。在某些情况下需替换特定附加质量系数以保证计算收敛。

Fridsma 进行了滑行艇在波浪中的模型试验,本文对其中四个配置进行数值研究,这些配置代表不同速度和负载系数。试验中模型船的一些参数已知,试验考虑了不同波长的规则入射波,但数值研究未考虑船头特殊形状。

先对每个配置进行稳态滑行模拟得到初始条件,再求解二维边值问题得到船舶运动响应。通过收敛性测试确定合适的计算平面数量。分析不同配置下船舶运动响应的时间历程,发现速度较快的情况过渡阶段更长,非线性在接近共振频率时更显著。对比数值结果和实验结果,研究三维修正对结果的影响,发现三维修正使结果更接近实验值,对纵摇运动影响更大,对艏部峰值加速度影响显著,同时指出计算与实验差异的误差来源。

2D + t 理论可用于研究滑行艇在迎浪中的动态垂直运动,数值结果与实验有较好一致性。发现非线性在接近共振频率时更强,高弗劳德数下共振波长更大,艉部三维效应是重要误差源。未来应进一步研究艉部三维效应及其他三维效应,将理论推广到非棱柱形滑行船体和高速半排水船。

5.完整程序

VVV

相关推荐
Evand J10 分钟前
【课题推荐】基于超分辨率技术的低功耗定位系统|低功耗物联网|信号处理。附MATLAB运行结果
物联网·matlab·信号处理
f***24112 小时前
MATLAB高效算法优化实战指南
开发语言·算法·matlab
rit843249913 小时前
MATLAB对组合巴克码抗干扰仿真的实现方案
开发语言·matlab
suoge22315 小时前
六面体传热单元Matlab有限元编程:三大类边界条件(上篇)| 固定温度边界条件 | 表面热通量边界条件 | 热对流边界条件)
matlab·有限元编程·传热有限元·热传导有限元·六面体热单元·边界条件·对流换热
Evand J18 小时前
【MATLAB例程,附代码下载链接】基于累积概率的三维轨迹,概率计算与定位,由轨迹匹配和滤波带来高精度位置,带测试结果演示
开发语言·算法·matlab·csdn·轨迹匹配·候选轨迹·完整代码
suoge22319 小时前
六面体传热单元(热通量边界条件)有限元MATLAB程序【理论文本+代码】|热传导有限元|纽曼边界条件|有限元传热分析
matlab·有限元·有限元编程·传热有限元·稳态传热·热传导有限元·热固耦合
suoge22319 小时前
六面体传热单元(固定温度边界条件)有限元MATLAB程序【理论文本+代码】|热传导有限元|狄利克雷边界|有限元传热分析
matlab·有限元·热传导·传热有限元·迪利克雷边界条件·有限元法·稳态传热
foundbug99919 小时前
基于MATLAB的TDMP-LDPC译码器模型构建、仿真验证及定点实现
开发语言·matlab
Evand J19 小时前
【MATLAB代码介绍】基于累积概率的三维轨迹匹配与定位,由轨迹匹配和卡尔曼滤波形成算法,带测试结果演示
算法·matlab·滤波·定位·导航·轨迹匹配
wuk99820 小时前
梁非线性动力学方程MATLAB编程实现
前端·javascript·matlab