📄 corrector_step.m
字号:
function corrector_step(N,h,dt);
global rou T V dx A prou_pt pV_pt pT_pt;
%backwards differences
for i=2:(N-1)
prou_pt(h+1,i)=-rou(h+1,i)*(V(h+1,i)-V(h+1,i-1))/dx-rou(h+1,i)*V(h+1,i)*(log(A(i))-log(A(i-1)))/dx-V(h+1,i)*(rou(h+1,i)-rou(h+1,i-1))/dx;
pV_pt(h+1,i)=-V(h+1,i)*(V(h+1,i)-V(h+1,i-1))/dx-(1/1.4)*((T(h+1,i)-T(h+1,i-1))/dx+(T(h+1,i)/rou(h+1,i))*(rou(h+1,i)-rou(h+1,i-1))/dx);
pT_pt(h+1,i)=-V(h+1,i)*(T(h+1,i)-T(h+1,i-1))/dx-(1.4-1)*T(h+1,i)*((V(h+1,i)-V(h+1,i-1))/dx+V(h+1,i)*((log(A(i))-log(A(i-1)))/dx));
end
%calculate the average time derivatives
prou_pt(h,:)=0.5.*(prou_pt(h+1,:)+prou_pt(h,:));
pV_pt(h,:)=0.5.*(pV_pt(h+1,:)+pV_pt(h,:));
pT_pt(h,:)=0.5.*(pT_pt(h+1,:)+pT_pt(h,:));
%calculate rou,V and T
rou(h+1,:)=rou(h,:)+prou_pt(h,:)*dt;
V(h+1,:)=V(h,:)+pV_pt(h,:)*dt;
T(h+1,:)=T(h,:)+pT_pt(h,:)*dt;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -