Файл:Interference of water waves with bottom topography, relevant for microseism generation.gif
Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації
Перейти до пошуку
Розмір при попередньому перегляді: 800 × 267 пікселів. Інші роздільності: 320 × 107 пікселів | 1000 × 334 пікселів.
Повна роздільність (1000 × 334 пікселів, розмір файлу: 532 КБ, MIME-тип: image/gif, кільцеве, 36 кадрів)
Відомості про цей файл містяться на Вікісховищі — централізованому сховищі вільних файлів мультимедіа для використання в проектах Фонду Вікімедіа. |
Опис файлу
ОписInterference of water waves with bottom topography, relevant for microseism generation.gif |
English: This is an animation of the moving sea surface of 12 s waves in 100 m water depth propagating over a fixed bottom with a depth equal to 100 m plus some oscillation of amplitude 20 m. |
Час створення | |
Джерело |
using matlab |
Автор | Ardhuin |
Ліцензування
Я, власник авторських прав на цей твір, добровільно публікую його на умовах таких ліцензій:
Дозволяється копіювати, розповсюджувати та/або модифікувати цей документ на умовах ліцензії GNU FDL версії 1.2 або більш пізньої, виданої Фондом вільного програмного забезпечення, без незмінних розділів, без текстів, які розміщені на першій та останній обкладинці. Копія ліцензії знаходиться у розділі GNU Free Documentation License.http://www.gnu.org/copyleft/fdl.htmlGFDLGNU Free Documentation Licensetruetrue |
Цей файл ліцензований на умовах ліцензії Creative Commons Attribution-Share Alike 3.0 Unported
- Ви можете вільно:
- ділитися – копіювати, поширювати і передавати твір
- модифікувати – переробляти твір
- При дотриманні таких умов:
- зазначення авторства – Ви повинні вказати авторство, надати посилання на ліцензію і вказати, чи якісь зміни було внесено до оригінального твору. Ви можете зробити це в будь-який розсудливий спосіб, але так, щоб він жодним чином не натякав на те, наче ліцензіар підтримує Вас чи Ваш спосіб використання твору.
- поширення на тих же умовах – Якщо ви змінюєте, перетворюєте або створюєте іншу похідну роботу на основі цього твору, ви можете поширювати отриманий у результаті твір тільки на умовах такої ж або сумісної ліцензії.
Ви можете обрати ліцензію на ваш розсуд.
Source code (MATLAB)
% Here is my matlab source code ...
% this scripts computes the wave elevation and bottom pressure for a
% shoaling wave train, and estimates the k=0 spectral density
% which comes into the primary microseisms signal.
%clear; close all;
addpath /export/home/ardhuin/TOOLS/MATLAB
nx=2586;
dx1=65.757904031020715;
nz2=2268;
X2=linspace(0,nz2-1,nz2)*dx1./10;
nT=20
fall=linspace(0.005,0.1,nT);
wnum(1)=dispNewtonTH(fall(17),100);
Z2=100+20.*cos(wnum(1)*1.05.*X2);
for it=17:17 %1:nT
% Parameters for wind wave
a1=1;surfig=0;gam=0.5;gi=9.81;f=fall(it);imu=sqrt(-1);h1=4800;h2=0.001;om=2*pi*f;
% a1=1;surfig=0;gam=0.5;gi=9.81;f=fall(it);imu=sqrt(-1);h1=2400;h2=0.001;om=2*pi*f;
% a1=1;surfig=1;gam=0.5;gi=9.81;f=fall(it);imu=sqrt(-1);h1=3000;h2=0.001;om=2*pi*f;
nn=64;
Nx=21000*nn;
x=linspace(X2(1),X2(end),Nx);
ZZ=interp1(X2,Z2,x)';
dx=x(2)-x(1);
L=dx*Nx;
a=zeros(Nx,1);
iz2=find(ZZ < h2);
iz1=find(ZZ > h1);
h3=100;
ZZ(iz1)=h1;
if(length(iz2) > 0)
ZZ(iz2(1):end)=h2;
end
%ZZs = smoothn(ZZ,1E16);
%I=find(x >2E5 & x < 3.15E5);
%ZZ(I)=ZZs(I);
ZZ(iz2)=h2;
Hp=0.01;
% solves dispersion relation for estimating Airy wave solutions
wnum=zeros(Nx,1);
kx=zeros(Nx,1);
wnum(1)=dispNewtonTH(f,ZZ(1));a(1)=a1;
C=om/wnum(1);kh=wnum(1)*ZZ(1);pp=0.5*(1+(2*kh)/sinh(2*kh));Cginf=pp*C;
kinf=wnum(1);
for i=2:Nx
wnum(i)=dispNewtonTH(f,ZZ(i));
if i==2
kx(i)=kx(i-1)+wnum(i)*dx;
else
kx(i)=kx(i-1)+0.5*(wnum(i)+wnum(i-1))*dx;
end
if (mod(kx(i),80) < mod(kx(i-1),80))
%[i kx(i)]
%kx(i) = kx(i)+0.2*(rand-0.5);
end
%kh=wnum(i)*ZZ(i);
%pp=0.5*(1+(2*kh)/sinh(2*kh));
%Cg=pp*om/wnum(i);
%%[ZZ(i) Cg pp]
%dkm=0.05*(om/Cg)*cos(kx(i)/(3*pi^2));
%kx(i)=kx(i)+dkm*dx;
%%[wnum(i) dkm cos(kx(i)/pi^2)]
%%% THE AMPLITUDE IS CALCULATED from
%%% conservation of action: d/dx(Cg*E/sigma)=0--> Cg*A^2=const over the x-axis
%%%
C=om/wnum(i);kh=wnum(i)*ZZ(i);pp=0.5*(1+(2*kh)/sinh(2*kh));Cg=pp*C;
%
% limitation by breaking for wind waves ...
a(i)=a1.*min(sqrt(Cginf/Cg),ZZ(i)*gam);
end
Ldeep=2*pi/wnum(1);
%% This is for IG waves: constant amplitude in surf zone
indsurf=find (a > a1.*ZZ*gam*0.99);
if (surfig == 1 & length(indsurf) > 0)
a(indsurf)=a(indsurf(1));
end
inddry=find(ZZ < 0.0015);
a(inddry)=0.;
%kx=kx-kx(iz2); %-om/(sqrt(gi*Hp)).*2.*sqrt(abs(h2/Hp));
z=a.*(cos(kx));
zquad=a.*(sin(kx));
nphase=120;
Kphase=zeros(nphase,1);
Kqphase=zeros(nphase,1);
pb=a.*(cos(kx))./cosh(wnum.*ZZ);
pbquad=a.*(sin(kx))./cosh(wnum.*ZZ);
%%% Creates an animation of the surface elevation and bottom pressure
nfft=Nx;
figure(10)
fig=figure('Position',[1 1 600 200])
set(fig,'Color',[ 1 1 1]);
nt=36;
prefix='bottom2';
for ii=1:nt
ii
clf
phi=(ii-1)*2*pi/nt;
zphi=z.*cos(phi)+zquad.*sin(phi);
pphi=pb.*cos(phi)+pbquad.*sin(phi);
hold on
plot(x./1000,-ZZ./60-2.,'k-','LineWidth',1);
plot(x./1000,zphi./4,'b-','LineWidth',2);
plot(x./1000,pphi.*4-1.5,'r-','LineWidth',2);
hold off
xlabel('x (km)')
ht=text(0.5,0.8,'sea surface elevation / 4 (m)','Fontsize',16,'Color',[0 0 1])
ht=text(0.5,-2.9,'bottom pressure \times 4 - 1.5 (m)','Fontsize',16,'Color',[1 0 0])
ht=text(10,-2.9,'depth/60 -2 (m)','Fontsize',16,'Color',[0 0 0])
number=sprintf('%.4d',ii);
oname=[prefix '_' number '.png' ];
set(gcf, 'PaperPositionMode', 'auto')
set(gca,'Xlim',[0 15],'Ylim',[-4 0.9])
set(gca,'position',[0.05 0.2 0.92 0.74])
saveas(gcf, oname, 'png')
end
Об'єкти, показані на цьому файлі
зображує
1 травня 2014
image/gif
Історія файлу
Клацніть на дату/час, щоб переглянути, як тоді виглядав файл.
Дата/час | Мініатюра | Розмір об'єкта | Користувач | Коментар | |
---|---|---|---|---|---|
поточний | 08:30, 1 травня 2014 | 1000 × 334 (532 КБ) | Ardhuin | Uploading a self-made file using File Upload Wizard |
Використання файлу
Така сторінка використовує цей файл:
Глобальне використання файлу
Цей файл використовують такі інші вікі:
- Використання в en.wikipedia.org
- Використання в fr.wikipedia.org
- Використання в ja.wikipedia.org