亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 2.txt

?? 基于CIP的海嘯波浪數(shù)值模擬
?? TXT
?? 第 1 頁 / 共 5 頁
字號:
}
/* RIGHT side */
/*... inlet&open boundary ...*/
for(j=2; j<=JMAX-3; j++){
pn[IMAX-1][j]=pn[IMAX-3][j];
pn[IMAX-2][j]=pn[IMAX-3][j];
}
/* BOTTM */
for(i=2; i<=IMAX-3; i++){
/* bottom */
pn[i][0]=pn[i][3];
pn[i][1]=pn[i][2];
}
/* TOP */
for(i=0; i<=IMAX-1; i++){
pn[i][JMAX-1]=Patm;
pn[i][JMAX-2]=Patm;
}
/* corner */
/* left & bottom */
pn[0][0]=pn[3][3];
pn[0][1]=pn[3][2];
pn[1][0]=pn[2][3];
pn[1][1]=pn[2][2];
/* right & bottom */
pn[IMAX-1][0]=pn[IMAX-4][3];
pn[IMAX-1][1]=pn[IMAX-4][2];
pn[IMAX-2][0]=pn[IMAX-3][3];
pn[IMAX-2][1]=pn[IMAX-3][2];
/********** B.C. for Pressure *****************************/
return(0);
}


int psor(double rho[IMAX][JMAX], double u[IMAX][JMAX], double v[IMAX][JMAX], double phi[IMAX][JMAX], double p[IMAX][JMAX], double pn[IMAX][JMAX], int rtt){
	int i, j;
	int ite=0;
	double oldp[IMAX][JMAX], op;
	double res=10., rhs=0., bnm=0.,npt;
	double fdx, fdy, fdx2, fdy2, DT2, fDT, fDT2;
	double b0, b1, b2, b3, b4, b;
	double div;
	double rhol, rhor, rhou, rhod;
	double dx2, dy2, cs2, rhoav;
	for(i=0; i<IMAX; i++){
	for(j=0; j<JMAX; j++){
	oldp[i][j]=p[i][j];
	}
	}
	dx2=DX*DX;
	dy2=DY*DY;
	fdx=1./DX;
	if(DX<=0.){
	printf("invalid fdx(=%16.8e). aborted! in psor()\n",fdx);
	exit(-1);
	}
	fdy=1./DY;
	if(DY<=0.){
	printf("invalid fdy(=%16.8e). aborted! in psor()\n",fdy);
	exit(-1);
	}
	fdx2=1./dx2;
	if(pow(DX,2)<=0.){
	printf("invalid fdx2(=%16.8e). aborted! in psor()\n",fdx2);
	exit(-1);
	}
	fdy2=1./dy2;
	if(pow(DY,2)<=0.){
	printf("invalid fdy2(=%16.8e). aborted! in psor()\n",fdy2);
	exit(-1);
	}
	DT2=pow(DT,2);
	if(DT2<=0.){
	printf("invalid DT2(=%16.8e). aborted! in psor()\n",DT2);
	exit(-1);
	}
	fDT=1./DT;
	if(DT<=0.){
	printf("invalid fDT(=%16.8e). aborted! in psor()\n",fDT);
	exit(-1);
	}
	fDT2=1./DT2;
	if(fDT2<=0.){
	printf("invalid DT2(=%16.8e). aborted! in psor()\n",DT2);
	exit(-1);
	}
	while ( (res>EPS) && (ite<MITE)){
	for(i=0; i<IMAX; i++){
	for(j=0; j<JMAX; j++){
	p[i][j]=ALPHA*pn[i][j]+(1.-ALPHA)*p[i][j];
	/*
	sample
	pp p
	p pn
	yp oldp
	*/
	}
	}
	ite++;
	res=0.;
	for(j=2; j<=JMAX-3; j++){
	for(i=2; i<=IMAX-3; i++){
	cs2=sound_velocity(i,j,rho,oldp,phi);
	rhol=(rho[i][j]+rho[i-1][j ])*0.5;
	rhor=(rho[i][j]+rho[i+1][j ])*0.5;
	rhod=(rho[i][j]+rho[i ][j-1])*0.5;
	rhou=(rho[i][j]+rho[i ][j+1])*0.5;
	rhoav=0.25*(rhol+rhor+rhou+rhod);
	if(rhol<=0.){
	printf("Negative Density at [%d][%d] rhol=%30.22e\n",i,j,rhol);
	exit(-1);
	}
	if(rhor<=0.){
	printf("Negative Density at [%d][%d] rhor=%30.22e\n",i,j,rhor);
	exit(-1);
	}
	if(rhod<=0.){
	printf("Negative Density at [%d][%d] rhod=%30.22e\n",i,j,rhod);
	exit(-1);
	}
	if(rhou<=0.){
	printf("Negative Density at [%d][%d] rhou=%30.22e rho=%30.22e rho(j+1)=%30.22e\n",i,j,rhou,rho[i][j],rho[i][j+1]);
	exit(-1);
	}
	/*
	sample
	pp p
	p pn
	yp oldp
	*/
	/* original sample SOR ( not included sound speed ) */
	// div=1.0+GAMMA*oldp[i][j]*DT*DT*((1.0/rhor+1.0/rhol)/dx2+(1.0/rhou+1.0/rhod)/dy2);
	// pn[i][j]=(oldp[i][j]-GAMMA*oldp[i][j]*DT*((u[i+1][j]-u[i][j])/DX - (p[i+1][j]/rhor+p[i-1][j]/rhol)*DT/dx2
	// +(v[i][j+1]-v[i][j])/DY - (p[i][j+1]/rhou + p[i][j-1]/rhod)*DT/dy2))/div;
	/* (improved) sample SOR, including sound speed */
	div=1.0+cs2*rho[i][j]*DT*DT*((1.0/rhor+1.0/rhol)/dx2+(1.0/rhou+1.0/rhod)/dy2);
	pn[i][j]=(oldp[i][j]-cs2*rho[i][j]*DT*((u[i+1][j]-u[i][j])/DX - (p[i+1][j]/rhor+p[i-1][j]/rhol)*DT/dx2
	+(v[i][j+1]-v[i][j])/DY - (p[i][j+1]/rhou + p[i][j-1]/rhod)*DT/dy2))/div;
	if(pn[i][j]<=0.){
	printf("Negative Pressure at [%d][%d] p=%30.22e\n",i,j,pn[i][j]);
	return(-1);
	}
	res+=pow(p[i][j]-pn[i][j],2);
	}
	}
	if(ite%200==0)printf("--(SOR)%4d st.ite., res.=%16.8e (%6.1f t.l.t. EPS)...(SOR)\n",ite,res,(res/EPS));
	/* B.C. */
	bc_p(pn);
	/* ... end of pressure iteration loop ... */
	}
	if(ite==MITE)printf("--not converged within %4d steps iterations, residual=%16.8e....(SOR)\n",MITE,res);
	else printf("--converged in %4d steps iterations. res=%16.8e...(SOR)\n",ite,res);
	for(i=0; i<IMAX; i++){
	for(j=0; j<JMAX; j++){
	p[i][j]=oldp[i][j];
	}
	}
	return(0);
	}


int isoentro_rho(double rho[IMAX][JMAX], double rhon[IMAX][JMAX],
double p[IMAX][JMAX], double pn[IMAX][JMAX],
double phi[IMAX][JMAX],
double un[IMAX][JMAX], double vn[IMAX][JMAX]){
int i,j;
double cs2;
double pnl, pnr, pnd, pnu, pna;
double pl, pr, pd, pu, pa;
// --------------------------------------------------------------------------------
printf("(isoentro_rho) this function is NOT CONSIDERED to use....\n");
exit(-1);
// --------------------------------------------------------------------------------
for(i=0; i<IMAX; i++){
for(j=0; j<JMAX; j++){
// ----- shimizu2001 ---------------------------------------------------------------------
// cs2=sound_velocity(i, j, rho, p, phi);
// rhon[i][j]=rho[i][j]+1./cs2*(pn[i][j]-p[i][j]);
// ---------------------------------------------------------------------------------------
// ----- mizutani2002 --------------------------------------------------------------------
rhon[i][j]=rho[i][j]-rho[i][j]*((un[i+1][j]-un[i][j])/DX+(vn[i][j+1]-vn[i][j])/DY)*DT;
if(rhon[i][j]<=RHOair)rhon[i][j]=RHOair;
if(rhon[i][j]>=RHOwater)rhon[i][j]=RHOwater;
// ---------------------------------------------------------------------------------------
}
}
return(0);
}
int rho_from_phi(double rhon[IMAX][JMAX], double phin[IMAX][JMAX]){
int i,j;
double tmpphi[IMAX][JMAX];
for(i=0; i<IMAX; i++){
for(j=0; j<JMAX; j++){
rhon[i][j]=iphi(phin[i][j])*RHOwater + (1.-iphi(phin[i][j]))*RHOair;
if(rhon[i][j]<=0.){
printf("(rho_from_phi) Negative Density(=%8.4f) at (%d,%d), phin=%8.4f\n",
rhon[i][j], i, j, phin[i][j]);
exit(-1);
}
}
}
return(0);
}
int rho_from_phi_filtered(double rhon[IMAX][JMAX], double phin[IMAX][JMAX]){
int i,j, mgc=0, agc=0, wgc=0;
double tmpphi[IMAX][JMAX];
for(i=0; i<IMAX; i++){
for(j=0; j<JMAX; j++){
tmpphi[i][j]=0.2*(iphi(phin[i][j])+iphi(phin[i][j])+iphi(phin[i][j+1])+iphi(phin[i+1][j])+iphi(phin[i+1][j+1]));
}
}
for(i=0; i<IMAX; i++){
for(j=0; j<JMAX; j++){
if(tmpphi[i][j]<=0.2){
phin[i][j]=dphi(0.);
rhon[i][j]=RHOair;
agc++;
}
else if(tmpphi[i][j]>=0.8){
phin[i][j]=dphi(1.);
rhon[i][j]=RHOwater;
wgc++;
}
else{
rhon[i][j]=iphi(phin[i][j])*RHOwater + (1.-iphi(phin[i][j]))*RHOair;
phin[i][j]=dphi(0.5);
mgc++;
}
if(rhon[i][j]<=0.){
printf("(rho_from_phi) Negative Density(=%8.4f) at (%d,%d), phin=%8.4f\n",
rhon[i][j], i, j, phin[i][j]);
exit(-1);
}
}
}
printf("(rho_from_phi) Air=%d Water=%d Mid=%d\n",agc,wgc,mgc);
return(0);
}
int correct_phi(double phin[IMAX][JMAX]){
/* original */
int i,j,nom=0;
double mixture[IMAX][JMAX], vlm=0., tvlm=0., difvlm, bi;
for(i=0; i<IMAX; i++){
for(j=0; j<JMAX; j++){
if(iphi(phin[i][j])<0.){/* air cell */
phin[i][j]=dphi(0.);
}
else if(iphi(phin[i][j])>1.){/* water cell */
phin[i][j]=dphi(1.);
}
if(i>=2 && i<IMAX-1 && j>=2 && j<JMAX-1) vlm+=iphi(phin[i][j]); /* total volume */
}
}
return(0);
}
int correct_phi_isoentro(double phin[IMAX][JMAX]){
int i,j;
int na=0, nf=0, nm=0;
for(i=0; i<IMAX; i++){
for(j=0; j<JMAX; j++){
if(iphi(phin[i][j])<=0.){
phin[i][j]=dphi(0.);
na++;
}
else if(iphi(phin[i][j])>=1.){
phin[i][j]=dphi(1.);
nf++;
}
else{
phin[i][j]=dphi(0.5);
nm++;
}
}
}
printf("Air:%3d(%8.4f%%) Water:%3d(%8.4f%%) Mix:%3d(%8.4f%%)\n",
na,(double)na/(double)(IMAX*JMAX)*100., nf,(double)nf/(double)(IMAX*JMAX)*100, nm,(double)nm/(double)(IMAX*JMAX)*100.);
return(0);
}
int correct_phi_adv(double phin[IMAX][JMAX]){
int i,j;
int na=0, nf=0, nm=0;
for(i=0; i<IMAX; i++){
for(j=0; j<JMAX; j++){
if(iphi(phin[i][j])<0.5){
phin[i][j]=dphi(0.);
na++;
}
else if(iphi(phin[i][j])>0.5){
phin[i][j]=dphi(1.);
nf++;
}
else{
phin[i][j]=dphi(0.5);
nm++;
}
}
}
printf("Air:%3d(%8.4f%%) Water:%3d(%8.4f%%) Mix:%3d(%8.4f%%)\n",
na,(double)na/(double)(IMAX*JMAX)*100., nf,(double)nf/(double)(IMAX*JMAX)*100, nm,(double)nm/(double)(IMAX*JMAX)*100.);
return(0);
}
int isoentro_phi(double phi[IMAX][JMAX], double phin[IMAX][JMAX], double rho[IMAX][JMAX],
double p[IMAX][JMAX], double pn[IMAX][JMAX],
double un[IMAX][JMAX], double vn[IMAX][JMAX]){
int i,j;
double cs2;
for(i=0; i<IMAX; i++){
for(j=0; j<JMAX; j++){
// ----- shimizu2001 ---------------------------------------------------------------------
// cs2=sound_velocity(i, j, rho, p, phi);
// phin[i][j]=phi[i][j]+phi[i][j]/(rho[i][j]*cs2)*(pn[i][j]-p[i][j]);
// ----- shimizu2001 ---------------------------------------------------------------------
// ----- mizutani2002 ---------------------------------------------------------------------
phin[i][j]=phi[i][j]-DT* phi[i][j]*((un[i+1][j]-un[i][j])/DX+ (vn[i][j+1]-vn[i][j])/DY);
// ----- mizutani2002 ---------------------------------------------------------------------
}
}
correct_phi(phin);
return(0);
}
int isoentro_update(double u[IMAX][JMAX], double un[IMAX][JMAX],
double v[IMAX][JMAX], double vn[IMAX][JMAX],
double rho[IMAX][JMAX], double rhon[IMAX][JMAX],
double phi[IMAX][JMAX], double phin[IMAX][JMAX]){
int i,j;
for(i=0; i<IMAX; i++){
for(j=0; j<JMAX; j++){
u[i][j]= un[i][j];
v[i][j]= vn[i][j];
rho[i][j]=rhon[i][j];
phi[i][j]=phin[i][j];
}
}
return(0);
}
int diffusion_update(double u[IMAX][JMAX], double un[IMAX][JMAX],
double v[IMAX][JMAX], double vn[IMAX][JMAX]){
int i,j;
for(i=0; i<IMAX; i++){
for(j=0; j<JMAX; j++){
u[i][j]=un[i][j];
v[i][j]=vn[i][j];
}
}
return(0);
}
int sc_update(double scn[IMAX][JMAX], double sc[IMAX][JMAX]){
int i,j;
for(i=0; i<IMAX; i++){
for(j=0; j<JMAX; j++){
sc[i][j]=scn[i][j];
}
}
return(0);
}
//---------- Boundary Condition ----------
int bc_scalar(double sc[IMAX][JMAX], double dvalue){
int i,j;
/***** LEFT SIDE *****/
/*... outlet ...*/
for(j=2; j<=OUTLET+1; j++){
/* left */
sc[0 ][j]=sc[2 ][j];
sc[1 ][j]=sc[2 ][j];
}
/*... wall ...*/
for(j=OUTLET+2; j<=JMAX-1; j++){
/* left */
sc[0 ][j]=sc[3 ][j];
sc[1 ][j]=sc[2 ][j];
}
/***** RIGHT SIDE *****/
/*... inlet ...*/
for(j=2; j<=INLET+1; j++){
sc[IMAX-1][j]=dvalue;
sc[IMAX-2][j]=dvalue;
}
/*... openboundary on inlet ...*/
for(j=INLET+2; j<=JMAX-1; j++){
sc[IMAX-1][j]=sc[IMAX-3][j];
sc[IMAX-2][j]=sc[IMAX-3][j];
}
/***** BOTTOM *****/
for(i=2; i<=IMAX-3; i++){
/* bottom */
sc[i][0]=sc[i][3];
sc[i][1]=sc[i][2];
}
/***** TOP (open boundary) *****/
for(i=2; i<=IMAX-3; i++){
/* top.. wall b.c. */
sc[i][JMAX-1]=sc[i][JMAX-3];
sc[i][JMAX-2]=sc[i][JMAX-3];
}
/* corner */
/* left & bottom
| | | | |
+---+---+---+---+--
3 | | | B | A |
+---+---+---+---+--
2 | | | D | C |
+---+---+---+---+--
1 | C | D | | |
+---+---+---+---+--
0 | A | B | | |
+---+---+---+---+--
0 1 2 3
*/
sc[0][0]=sc[3][3]; /* A */
sc[0][1]=sc[3][2]; /* C */
sc[1][0]=sc[2][3]; /* B */
sc[1][1]=sc[2][2]; /* D */
/* right & bottom
| | | |
-+---+---+---+---
3 | B | A | |
-+---+---+---+---
2 | D | C | |
-+---+---+---+---
1 | | | C | D
-+---+---+---+---
0 | | | A | B
-+---+---+---+---
-4 -3 -2 -1
*/
sc[IMAX-1][0]=sc[IMAX-4][3]; /* B */
sc[IMAX-1][1]=sc[IMAX-4][2]; /* D */
sc[IMAX-2][0]=sc[IMAX-3][3]; /* A */
sc[IMAX-2][1]=sc[IMAX-3][2]; /* C */
/* left & top (wall condition)
-1 | A | B | |
+---+---+---+---

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产99精品在线观看| 毛片不卡一区二区| 97精品超碰一区二区三区| 国产午夜精品一区二区三区四区| 国产在线国偷精品产拍免费yy| 久久综合国产精品| 高清不卡一区二区在线| 欧美国产一区二区| 99久久亚洲一区二区三区青草| 亚洲人精品午夜| 欧美日韩免费电影| 精品一区二区免费看| 久久久99久久| 91搞黄在线观看| 日本欧美一区二区三区| 精品sm捆绑视频| 99国产精品一区| 五月婷婷另类国产| 国产性做久久久久久| 91农村精品一区二区在线| 天堂久久久久va久久久久| 精品久久久网站| 一本大道久久a久久精品综合| 首页亚洲欧美制服丝腿| 国产亚洲自拍一区| 欧美日韩另类一区| 国产91对白在线观看九色| 亚洲图片欧美色图| 精品免费日韩av| 91亚洲精品久久久蜜桃网站| 热久久国产精品| 成人欧美一区二区三区| 欧美日韩一二区| 成人中文字幕在线| 性久久久久久久| 国产精品色在线观看| 91精品国产综合久久婷婷香蕉 | 亚洲中国最大av网站| 精品少妇一区二区三区视频免付费 | 国产v日产∨综合v精品视频| 亚洲女人****多毛耸耸8| 日韩欧美综合一区| 色噜噜夜夜夜综合网| 国产一区二区主播在线| 亚洲黄一区二区三区| 久久久久久久久免费| 欧美日本不卡视频| kk眼镜猥琐国模调教系列一区二区| 日韩成人精品在线| 亚洲视频 欧洲视频| 久久亚洲一级片| 51精品国自产在线| 91成人看片片| www.亚洲精品| 国产精品自在在线| 美女一区二区三区| 日韩电影一区二区三区| 亚洲综合免费观看高清完整版在线| 国产女同互慰高潮91漫画| 精品少妇一区二区三区| 欧美日韩在线综合| 欧美伊人精品成人久久综合97| 成人在线一区二区三区| 国产尤物一区二区在线| 奇米四色…亚洲| 日韩电影一区二区三区| 亚洲福利国产精品| 亚洲一区在线观看视频| 自拍偷拍国产精品| 国产精品国产三级国产普通话蜜臀| 亚洲精品一区二区三区影院 | 欧美三区在线观看| 欧美最猛性xxxxx直播| 99久久伊人精品| 99在线精品视频| 波多野结衣精品在线| 成人小视频在线观看| 大美女一区二区三区| 高清不卡一区二区| av不卡在线播放| 成人精品小蝌蚪| av不卡免费在线观看| 色综合天天综合网天天看片| 成人av网站大全| av动漫一区二区| 色婷婷av一区二区三区之一色屋| 91视频观看视频| 欧美性色欧美a在线播放| 欧美日韩精品二区第二页| 欧美日本国产一区| 欧美成人在线直播| 国产网站一区二区| 国产精品福利一区二区| 亚洲激情六月丁香| 日韩不卡手机在线v区| 久久精品99国产精品| 粉嫩嫩av羞羞动漫久久久| 丁香天五香天堂综合| 色婷婷综合中文久久一本| 欧美综合天天夜夜久久| 欧美一区二区三区免费在线看| 精品国产乱码久久久久久影片| 国产女主播一区| 一区二区不卡在线播放 | 91色porny蝌蚪| 欧美精品日韩一区| 欧美精品一区二区三区久久久| 久久久久国产精品麻豆| 一区二区三区资源| 麻豆精品视频在线| www.亚洲人| 欧美日韩精品一区视频| 国产亚洲综合在线| 亚洲国产欧美在线| 韩国av一区二区三区| 色拍拍在线精品视频8848| 日韩三级视频在线看| 中文字幕一区二区三区在线观看| 婷婷久久综合九色综合伊人色| 国产麻豆9l精品三级站| 日本韩国欧美在线| 精品播放一区二区| 亚洲一区二区欧美日韩| 国产一区在线看| 欧美日韩久久一区| 国产精品美女www爽爽爽| 日本不卡123| 91免费看`日韩一区二区| 精品日产卡一卡二卡麻豆| 一区二区在线免费| 国产成人在线影院| 欧美色倩网站大全免费| 国产精品久久久一区麻豆最新章节| 日韩电影在线一区二区三区| 99久久精品情趣| 久久人人爽爽爽人久久久| 亚洲成av人片www| 成人高清伦理免费影院在线观看| 欧美一区二区视频免费观看| 亚洲欧洲国产日本综合| 国产一区久久久| 日韩区在线观看| 视频一区视频二区中文| 91网站最新地址| 国产欧美精品区一区二区三区| 久久精品国产亚洲高清剧情介绍| 在线免费观看视频一区| 亚洲欧美综合色| 国产成人三级在线观看| 精品久久国产字幕高潮| 日日骚欧美日韩| 欧美性受极品xxxx喷水| 综合av第一页| 99精品久久只有精品| 国产欧美一区二区精品性色| 老汉av免费一区二区三区| 欧美日本一区二区| 亚洲va欧美va人人爽午夜| 欧美性感一区二区三区| 亚洲精品国产视频| 色8久久精品久久久久久蜜| 中文字幕日韩一区| 99精品国产热久久91蜜凸| 国产精品久久久久国产精品日日| 国产成人精品免费看| 久久精品一二三| 国产精品一卡二卡| 国产日产欧美一区二区三区| 国产一区二区精品在线观看| 日韩精品最新网址| 国产尤物一区二区在线| 国产亚洲精品aa午夜观看| 成人免费看片app下载| 中文字幕乱码久久午夜不卡| 成人免费毛片aaaaa**| 国产精品免费aⅴ片在线观看| av在线不卡免费看| 亚洲欧美激情视频在线观看一区二区三区| 成人av电影在线播放| 专区另类欧美日韩| 欧美亚洲动漫精品| 青青草国产成人av片免费| 日韩精品一区二区三区视频| 国产一区二区伦理| 亚洲欧美激情小说另类| 色偷偷88欧美精品久久久| 亚洲国产美国国产综合一区二区| 欧美日韩免费高清一区色橹橹 | 久久99国产精品麻豆| 精品国产乱码久久久久久牛牛 | 久久97超碰色| 久久久777精品电影网影网| 99视频在线观看一区三区| 一区二区三区精品在线观看| 91.com视频| 国产麻豆精品theporn| 亚洲人精品一区| 欧美一级理论性理论a| 盗摄精品av一区二区三区| 一区二区日韩av|