📄 bound.c
字号:
#include "global.h"
void bound()
{
factor=0.0;
/* for(i=2;i<=outlen+1;i++)
factor=factor+v(i,m-1)*dx;
factor=flowin/factor;
for(i=2;i<=outlen+1;i++)
v(i,m)=v(i,m-1)*factor;
*/
//出口切向速度取齐次Neumann条件
for(i=3;i<=outlen1+1;i++)
u(i,m)=u(i,m-1);//有点问题!!
for(i=l-1;i>=l-outlen2;i--)
u(i,m)=u(i,m-1);
for(j=2;i<=1+outlen3;j++)
v(l,j)=v(l-1,j);
//出口法向速度
for(i=2;i<=outlen1+1;i++)
v(i,m)=v(i,m-1)-dy/dx*(u(i+1,m-1)-u(i,m-1));//满足局部质量守恒
for(i=l-1;i>=l-outlen2;i--)
v(i,m)=v(i,m-1)-dy/dx*(u(i+1,m-1)-u(i,m-1));
for(j=2;j<=1+outlen3;j++)
u(l,j)=u(l-1,j)-dx/dy*(v(l-1,j+1)-v(l-1,j));
//总体质量守恒修正
for(i=2;i<=outlen1+1;i++)
factor=factor+v(i,m)*dx;
for(i=l-1;i>=l-outlen2;i--)
factor=factor+v(i,m)*dx;
for(j=2;j<=1+outlen3;j++)
factor=factor+u(l,j)*dy;
factor=flowin/factor;
for(i=2;i<=outlen1+1;i++)
v(i,m)=v(i,m)*factor;
for(i=l-1;i>=l-outlen2;i--)
v(i,m)=v(i,m)*factor;
for(j=2;j<=1+outlen3;j++)
u(l,j)=u(l,j)*factor;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -