当前位置:网站首页>[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
边栏推荐
- Learn C language from scratch day 024
- SAP ui5 application development tutorial 106 - how to improve the readability of SAP ui5 application routing URL trial version
- [STM32] (I) overview and GPIO introduction
- Digital DP template
- abc 258 G - Triangle(bitset)
- Ruby tutorial
- 1189. Maximum number of "balloons"
- What happened to those who focused on automated testing?
- The waterfall flow layout demo2 (method 2) used by the uniapp wechat applet (copy and paste can be used without other processing)
- AcWing164. 可达性统计(拓扑排序+bitset)
猜你喜欢
华为百万聘请数据治理专家!背后的千亿市场值得关注
Insert sort of sort
兩個數相互替換
海思3559万能平台搭建:YUV422的踩坑记录
What did I pay for it transfer to testing post from confusion to firmness?
Hisilicon 3559 universal platform construction: YUV422 pit stepping record
Innovation leads the direction. Huawei Smart Life launches new products in the whole scene
[selenium automation] common notes
华为200万年薪聘请数据治理专家!背后的千亿市场值得关注
2022.07.03(LC_6111_统计放置房子的方式数)
随机推荐
Hill sort of sorting
Detailed explanation of openharmony resource management
Query for Boolean field as "not true" (e.g. either false or non-existent)
Maximum number of "balloons"
[Yocto RM]11 - Features
[error reporting] "typeerror: cannot read properties of undefined (reading 'split')“
Parameter passing mechanism of member methods
Talking about JVM 4: class loading mechanism
Several simplified forms of lambda expression
NPM install error forced installation
Hisilicon 3559 universal platform construction: YUV422 pit stepping record
2022.07.03 (LC 6108 decryption message)
P3304 [SDOI2013]直径(树的直径)
Sorting selection sorting
SAP UI5 应用开发教程之一百零六 - 如何提高 SAP UI5 应用路由 url 的可读性试读版
FEG founder rox:smartdefi will be the benchmark of the entire decentralized financial market
Summer challenge brings you to play harmoniyos multi terminal piano performance
Operator explanation
The waterfall flow layout demo2 (method 2) used by the uniapp wechat applet (copy and paste can be used without other processing)
《论文笔记》Multi-UAV Collaborative Monocular SLAM