📄 nsstep.pde
字号:
nowait;border(1,0,1,6) begin x:=0; y:=1-t end;border(2,0,1,15) begin x:=2*t; y:=0 end;border(2,0,1,10) begin x:=2; y:=-t end;border(2,0,1,20) begin x:=2+3*t; y:=-1 end;border(2,0,1,35) begin x:=5+15*t; y:=-1 end;border(3,0,1,10) begin x:=20; y:=-1+2*t end;border(4,0,1,35) begin x:=5+15*(1-t); y:=1 end;border(4,0,1,40) begin x:=5*(1-t);y:=1 end;buildmesh(1500);nu := 0.001; dt := 0.4;/* initial values */u = y*(1-y)*one(y>0);v = 0;p = 2*nu*x*one(y>0);un = u; vn = v; i:=1; j:=2; k:=3;iter(180){ f=convect(un,u,v,dt); g=convect(vn,u,v,dt); solve(u,i) { /*Horizontal velocity*/ onbdy(1) u = y*(1-y); onbdy(2,4) u = 0; onbdy(3)dnu(u)=0; pde(u) id(u)/dt-laplace(u)*nu = f/dt -dx(p); }; plot(u); solve(v,j) { /* Vertical velocity */ onbdy(1,2,3,4) v = 0; pde(v) id(v)/dt-laplace(v)*nu = g/dt -dy(p); }; solve(p,k) { /* Pressure */ onbdy(1,2,4) dnu(p) = 0; onbdy(3) p=0; pde(p) -laplace(p)= -(dx(f) + dy(g))/dt; }; un = u; vn = v; i:=-1; j:=-2; k:=-3;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -