当前位置:网站首页>[wave modeling 3] three dimensional random real wave modeling and wave generator modeling matlab simulation
[wave modeling 3] three dimensional random real wave modeling and wave generator modeling matlab simulation
2022-07-05 00:53:00 【FPGA and MATLAB】
1. Software version
matlab2017b
2. Description of algorithm
According to the last wave simulation mode 【 Wave modeling 1】【 Wave modeling 2】, This time, the waves are made into random waves from the previous regular waves , The simulation is really a wave situation .
Then the two generators are simulated in irregular waves .
Generator mode 1 It was just done before , Technicians should keep a backup .
Generator mode 2 Here's the picture :
Pictured ), The four circular tubes are respectively equipped with energy converters . The figure is the overall appearance of the equipment , With the movement of sea waves , Drive the energy converter to generate electric energy . The whole equipment floats in the sea .
3. Core source code
global Winds; % The wind speed
global g; % Acceleration of gravity
global kk; % The size ratio between the sand table of the simulation model and the actual area
global Xmax;
global Ymax;
global Dxy;
global flag;
global VX;
global VY;
global VZ;
global seepart;
global seeall;
global sel;
RandStream.setDefaultStream(RandStream('mt19937ar','seed',3));
flag = 0;
g = 9.8; % Acceleration of gravity
kk = 1/40; % The size ratio between the sand table of the simulation model and the actual area
% Interval of simulation
Dxy = 4;
% The sea area covered by the simulation
Xmax = 1000;
Ymax = 1000;
Start = 200;
x = [Start:Dxy:Xmax];
Ymax2 = round(Ymax/2);
y = [Start:Dxy:Ymax2];
[xo,yo]= meshgrid(x,y);
z2 = zeros(size(x));
% The wave height of the wave itself
r = (3.5325*Winds^2.5)/1000;
% The wave length of the wave itself
k = 2*g/(3*Winds^2);
L = 2*pi/k;
% cycle T
T = sqrt(2*pi*L/g);
% Wave frequency
w = sqrt(2/3)*g/T;
T = 0;
% Power generation
Power = 0;
amps = 0;
while(flag == 0)
T = T + 1;
PP = floor(6*(Winds - 5.8));%1~90
[d,g,H,alpha,beta,waves,wave_no_lookup,angle_lookup,scales] = func_Random_Ocean_Initial(PP);
t = 0.1*T;
surfo = zeros(scales,scales);
for X=1:scales
x = X-1;
xplot(X) = x;
for Y=1:scales
y = Y-1;
yplot(Y) = y;
for i=1:PP
surfo(X,Y) = surfo(X,Y) + waves(i).amp*cos( waves(i).xcoeff*x + waves(i).ycoeff*y + waves(i).w*t + waves(i).phase);
end
end
end
% Show local effects
axes(handles.axes1);
surf(xplot,yplot,surfo);
hold on;
amps = surfo(50,50);
if sel == 1
func_power_gen_machine_randomOcean(amps,1.6,seepart,seeall);
else
func_power_gen_machine2_randomOcean(amps,1.6,seepart,seeall);
end
axis([0,scales,0,scales,-H,H]);
shading interp;
colormap([143/255,157/255,203/255]);
lightangle(-30,90);
xlabel('x');
ylabel('y');
zlabel('z');
grid on;
view([VX,VY,VZ]);
pause(0.000001);
% The wave length of the wave itself
k = 2*g/(3*Winds^2);
Ls = 2*pi/k;
set(handles.edit1,'String',num2str(Ls));
% Calculate the parameter index of the wave
% The wave height of the wave itself
rs = (3.5325*Winds^2.5)/1000;
set(handles.edit3,'String',num2str(rs));
% cycle T
T = sqrt(2*pi*L/g);
% Speed
c = g*T/(2*pi);
set(handles.edit4,'String',num2str(c));
% Wave frequency
w = sqrt(2/3)*g/T;
set(handles.edit5,'String',num2str(w/2/pi));
% Power generation
% Be careful , Due to the specific calculation formula of wave power generation , You didn't provide , So the power generation here is only expressed by the size of simple waves ,
% In the actual , Power generation is related to the size of waves . So after getting the formula , modify 210 Lines of code .
Power = abs(2*max(surfo(1,:)));
set(handles.edit12,'String',num2str(Power));
hold off;
end
4. test result
Through the modeling of this new model , And combine the effect of the previous time , The interface of the software obtained this time is as follows :
From the above interface , There is one more in the original interface choose power mach The buttons , The main function of this button is to select buttons of different generators ,
The following is a screenshot of the whole simulation process and an explanation and analysis :
Next, click the new button , Choose a different generator , The results are as follows :
A little more , Get the following interface :
Next, we will introduce the side of this new power generation model :
A19-08
边栏推荐
- Safety learning week4
- 107. Some details of SAP ui5 overflow toolbar container control and resize event processing
- 华为百万聘请数据治理专家!背后的千亿市场值得关注
- Query for Boolean field as "not true" (e.g. either false or non-existent)
- 【C】 (written examination questions) pointer and array, pointer
- Upload avatar on uniapp
- Operator explanation
- Maximum number of "balloons"
- 抓包整理外篇——————状态栏[ 四]
- 【C】(笔试题)指针与数组,指针
猜你喜欢
ORB(Oriented FAST and Rotated BRIEF)
Recursive execution mechanism
SAP UI5 应用的主-从-从(Master-Detail-Detail)布局模式的实现步骤
OpenHarmony资源管理详解
Detailed explanation of openharmony resource management
Several simplified forms of lambda expression
Apifox (postman + swagger + mock + JMeter), an artifact of full stack development and efficiency improvement
《论文笔记》Multi-UAV Collaborative Monocular SLAM
【Unity】InputSystem
程序员SQL数据脚本编码能力弱,BI做不出来怎么办?
随机推荐
Talking about JVM 4: class loading mechanism
2022.07.03 (LC 6109 number of people who know secrets)
【海浪建模1】海浪建模的理论分析和matlab仿真
SAP ui5 application development tutorial 106 - how to improve the readability of SAP ui5 application routing URL trial version
Grabbing and sorting out external articles -- status bar [4]
[selenium automation] common notes
abc 258 G - Triangle(bitset)
Detailed explanation of multi-mode input event distribution mechanism
Huawei employs millions of data governance experts! The 100 billion market behind it deserves attention
leetcode494,474
Acwing164. Accessibility Statistics (topological sorting +bitset)
抓包整理外篇——————状态栏[ 四]
[Yocto RM]10 - Images
107. SAP UI5 OverflowToolbar 容器控件以及 resize 事件处理的一些细节介绍
Open3d uses GICP to register point clouds
Postman automatically fills headers
Is it safe to open an account in the College of Finance and economics? How to open an account?
Compare whether two lists are equal
What happened to those who focused on automated testing?
2022.07.03 (lc_6111_counts the number of ways to place houses)