海洋一维数值模型经典案例.docx
《海洋一维数值模型经典案例.docx》由会员分享,可在线阅读,更多相关《海洋一维数值模型经典案例.docx(7页珍藏版)》请在冰点文库上搜索。
海洋一维数值模型经典案例
海洋一维数值模型经典案例
————————————————————————————————作者:
————————————————————————————————日期:
1.比较两个不同的差分格式的计算结果的差异及其与理论解的差异;
c=1;delt=0.5;delx=1
蛙跳迎风
c=3;delt=0.25;delx=1
蛙跳迎风
c=3;delt=0.5;delx=1
蛙跳迎风
c=-1;delt=0.25;delx=1
蛙跳迎风
对于蛙跳格式的稳定性条件是
,因此124项是收敛的,而第三项是发散的。
然而迎风格式的稳定条件是如果|A|<1,这个方法是衰减。
因此,如果我们采用迎风格式(空间后差,时间前差),这个方法是有条件稳定。
迎风格式的条件且需要大于0,因此,12项收敛,34项发散。
蛙跳:
clear;
clc;
closeall;
x=-50:
1:
50;
ll=length(x);
%c=1;delt=0.5;
c=1;delt=0.25;
%c=3;delt=0.5;
%c=-1;delt=0.25;
delx=1;
tt=0:
delt:
10;
ttl=length(tt);
f=zeros(ll,ttl);
y1=0*x;
y1(-2<=x&x<=2)=1;
f(:
1)=y1;
fork=2:
ll-1
%f(k,2)=f(k,1);
f(k,2)=f(k,1);
end
fort=3:
ttl
fork=2:
ll-1
f(k,t)=f(k,t-2)-((c*delt)/delx)*(f(k+1,t-1)-f(k-1,t-1));
end
end
plot(x,f)
迎风:
clear;
clc;
closeall;
x=-50:
1:
50;
ll=length(x);
%c=1;delt=0.5;
c=1;delt=0.25;
%c=3;delt=0.5;
%c=-1;delt=0.25;
delx=1;
tt=0:
delt:
10;
ttl=length(tt);
f=zeros(ll,ttl);
y1=0*x;
y1(-2<=x&x<=2)=1;
f(:
1)=y1;
fork=2:
ll-1
%f(k,2)=f(k,1);
f(k,2)=f(k,1);
end
fort=3:
ttl
fork=2:
ll-1
f(k,t)=f(k,t-2)-((c*delt)/delx)*(f(k+1,t-1)-f(k-1,t-1));
end
end
plot(x,f)
(2)
2.分析和讨论这种差异的原因。
蛙跳格式的稳定条件是|λ|<1,迎风格式的稳定条件是0<λ<1。
故蛙跳格式的稳定性更好。
蛙跳格式采用三层格式差分,而迎风格式则采用两层格式差分,故采用蛙跳格式衰减慢,而数据量大;采用迎风格式衰减快,而数据量小。
采用蛙跳格式,会出现噪声;采用迎风格式,无噪声。
方程结果的敛散性仅与λ的取值相关,而衰减速率与Δx、Δt的取值相关。