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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? grid.txt

?? 采用Fortran語言的正交曲線網格生成程序
?? TXT
字號:
program main
implicit none
!----------------
integer,parameter::nx=101,ny=51
real*8::p=0.3,q=0.3
real*8::dks=1.0,dat=1.0
real*8,dimension(nx,ny)::x=0,y=0,xp=0,yp=0
real*8,allocatable::xb0(:),yb0(:),xb1(:),yb1(:)
!---------------
integer::nb0,nb1
integer::i,ii,j,times,di,dj
!----------------
real*8::errmax=0.5,err
real*8::xks,xat,yks,yat,xksat,yksat,arfa,beta,gama,jj
real*8::a,ap,b,bp,c,cp,d,dp,e,ep
real*8::l,lp,m,mp,n,np
real*8::xe,xw,xn,xs,ye,yw,yn,ys
real*8::xx,yy
!---------------
real*8::thta,thta1,thta2,k1,k2,dis,dis1,disa,disb,disc
real*8::res
integer::iffind
!------------------------------------------------------------------------------------------------
!------------------------------------------------------------------------------------------------
!邊界坐標
open(1,file='boundary.txt') 
read(1,*) nb0 !左岸邊界
allocate(xb0(nb0),yb0(nb0))
read(1,*) ((xb0(i),yb0(i)),i=1,nb0)
read(1,*) nb1  !右岸岸邊界
allocate(xb1(nb1),yb1(nb1))
read(1,*) ((xb1(i),yb1(i)),i=1,nb1)
close(1)
!initial----------------------------------------------------------------------------------------
call cboundary(nx,nb0,xb0,yb0,x(:,1),y(:,1)) !(1,1) - (nx,1) 河床左岸邊界坐標
call cboundary(nx,nb1,xb1,yb1,x(:,ny),y(:,ny)) !(1,ny) - (nx,ny) 河床右岸邊界坐標
!------------------------------------
do i=1,nx,nx-1	!(1,1) - (1,ny),(nx,1) - (nx,ny) 河床上下邊界坐標
	do j=2,ny-1
		x(i,j)=x(i,1)+(x(i,ny)-x(i,1))*(j-1)/(ny-1)
		y(i,j)=y(i,1)+(y(i,ny)-y(i,1))*(j-1)/(ny-1)
	enddo
enddo
do j=2,ny-1 !(x,y) 河床內部節點邊界
	do i=2,nx-1
		x(i,j)=x(1,j)+(x(nx,j)-x(1,j))*(i-1)/(nx-1)
		y(i,j)=y(1,j)+(y(nx,j)-y(1,j))*(i-1)/(nx-1)
	enddo
enddo
do i=2,nx-1
	do j=2,ny-1
		x(i,j)=x(i,1)+(x(i,ny)-x(i,1))*(j-1)/(ny-1)
		y(i,j)=y(i,1)+(y(i,ny)-y(i,1))*(j-1)/(ny-1)
	enddo
enddo
!--------
open(1,file='initial.dat')
write(1,*) '"variable=x,y"'
write(1,*) 'zone  i=',ny,  'j=',nx
do i=1,nx
	do j=1,ny
		write(1,*) x(i,j),y(i,j)
	enddo
enddo
close(1)
!-------------------------------------------------------------------------------------------------
!-------------------------------------------------------------------------------------------------
times=0
100 continue
err=0
do i=2,nx-1
	do j=2,ny-1
		xks=(x(i+1,j)-x(i-1,j))/(2*dks)
		xat=(x(i,j+1)-x(i,j-1))/(2*dat)
		yks=(y(i+1,j)-y(i-1,j))/(2*dks)
		yat=(y(i,j+1)-y(i,j-1))/(2*dat)
		xksat=(x(i+1,j+1)+x(i-1,j-1)-x(i+1,j-1)-x(i-1,j+1))/(4*dks*dat)
		yksat=(y(i+1,j+1)+y(i-1,j-1)-y(i+1,j-1)-y(i-1,j+1))/(4*dks*dat)
		!----------
		arfa=xat*xat+yat*yat
		gama=xks*xks+yks*yks
		beta=xksat+yksat
		jj=xks*yat-xat*yks
!		考慮P、Q-----------------------------------------------------------------------
!		a=arfa*yks*yks/(xks*xks+yks*yks)
!		b=gama*yat*yat/(xat*xat+yat*yat)
!		c=-arfa*xks*yks/(xks*xks+yks*yks)
!		d=-gama*xat*yat/(xat*xat+yat*yat)
!		e=-2*beta*xksat
!		ap=c
!		bp=d
!		cp=arfa*xks*xks/(xks*xks+yks*yks)
!		dp=gama*xat*xat/(xat*xat+yat*yat)
!		ep=-2*beta*yksat
!		!--------------------------------
!		xe=x(i+1,j)
!		xw=x(i-1,j)
!		xn=x(i,j+1)
!		xs=x(i,j-1)
!		ye=y(i+1,j)
!		yw=y(i-1,j)
!		yn=y(i,j+1)
!		ys=y(i,j-1)
!		!--------------------------------
!		l=a*(xe+xw)/dks/dks+b*(xn+xs)/dat/dat+c*(ye+yw)/dks/dks+d*(yn+ys)/dat/dat+e
!		m=2*(a+b)
!		n=2*(c+d)
!		lp=ap*(xe+xw)/dks/dks+bp*(xn+xs)/dat/dat+cp*(ye+yw)/dks/dks+dp*(yn+ys)/dat/dat+ep
!		mp=2*(ap+bp)
!		np=2*(cp+dp)
!		!----------------------------
!		xp(i,j)=(l*np-lp*n)/(m*np-mp*n)
!		yp(i,j)=(l*mp-lp*m)/(mp*n-m*np)
!		if(abs(xp(i,j)-x(i,j))>err) err=abs(xp(i,j)-x(i,j))
!		if(abs(yp(i,j)-y(i,j))>err) err=abs(yp(i,j)-y(i,j))
!		x(i,j)=xp(i,j)
!		y(i,j)=yp(i,j)
!		不考慮P,Q----------------------------------------------------------------------
		p=0.
		q=0.
		!---------
		xp(i,j)=arfa*(x(i-1,j)+x(i+1,j))/dks/dks+gama*(x(i,j+1)+x(i,j-1))/dat/dat-2*beta*xksat+jj*(p*xks+q*xat)
		xp(i,j)=xp(i,j)/(2.0*(arfa/dks/dks+gama/dat/dat))
		if(abs(xp(i,j)-x(i,j))>err) err=abs(xp(i,j)-x(i,j))
		x(i,j)=xp(i,j)
		!---------
		yp(i,j)=arfa*(y(i-1,j)+y(i+1,j))/dks/dks+gama*(y(i,j+1)+y(i,j-1))/dat/dat-2*beta*yksat+jj*(p*yks+q*yat)
		yp(i,j)=yp(i,j)/(2.0*(arfa/dks/dks+gama/dat/dat))
		if(abs(yp(i,j)-y(i,j))>err) err=abs(yp(i,j)-y(i,j))
		y(i,j)=yp(i,j)
	enddo
enddo
!--------------------------------------------------------------------------------
goto 99
!邊界滑移------------------------------------------------------------------------
!x boundary----
!do j=1,ny,ny-1
!	if(j==1)  dj=1 !bottom
!	if(j==ny) dj=-1 !top
!	do i=2,nx-1
!		!print*,i,j
!		!尋找邊界控制點坐標
!		xx=0
!		yy=0
!		iffind=0
!		if(j==1)then
!			do ii=1,nb0-1
!				if(x(i,j)>=min(xb0(ii),xb0(ii+1)).and.x(i,j)<max(xb0(ii+1),xb0(ii)))then
!					xx=xb0(ii)
!					yy=yb0(ii)
!					iffind=1
!					cycle
!				endif
!			enddo
!		else
!			do ii=1,nb1-1
!				if(x(i,j)>=xb1(ii).and.x(i,j)<xb1(ii+1))then
!					xx=xb1(ii)
!					yy=yb1(ii)
!					iffind=1
!					cycle
!				endif
!			enddo
!		endif
!		if(iffind/=1) then
!			print*,'找不到邊界控制點坐標'
!			stop
!		endif
!		!-----------------------------------------------------------------
!		!										  x(i,j+dj)
!		!											/  *
!		!										/	 / |
!		!                             c     /       /  | 
!		!								/		 a /   | 
!		!						 	/			  /    | 
!		!						 /		 b		 /thta | 
!		!              ---------*---------------*--------------*----------
!		!					 (xx,yy)		  x(i,j)       (xx1,yy2)
!		!------------------------------------------------------------------
!		disa=sqrt((x(i,j+dj)-x(i,j))**2.0+(y(i,j+dj)-y(i,j))**2.0)		
!		disb=sqrt((xx-x(i,j))**2.0+(yy-y(i,j))**2.0)
!		disc=sqrt((x(i,j+dj)-xx)**2.0+(y(i,j+dj)-yy)**2.0)
!		if(disb/=0.and.disa/=0)then
!			thta=(disa*disa+disb*disb-disc*disc)/(2*disa*disb)
!			if(abs(thta)>1) thta=thta/abs(thta)
!			thta=acos(thta)
!			thta=3.1415926-thta
!			x(i,j)=x(i,j)+(x(i,j)-xx)*disa*cos(thta)/disb
!			y(i,j)=y(i,j)+(y(i,j)-yy)*disa*cos(thta)/disb
!		endif			
!!		disb=sqrt((x(i+di,j)-x(i,j))**2.0+(y(i+di,j)-y(i,j))**2.0)
!!		disc=sqrt((x(i,j+dj)-x(i+di,j))**2.0+(y(i,j+dj)-y(i+di,j))**2.0)
!!		thta=acos((disa*disa+disb*disb-disc*disc)/(2*disa*disb))
!!		x(i,j)=x(i,j)+(x(i+di,j)-x(i,j))*disa*cos(thta)/disb
!!		y(i,j)=y(i,j)+(y(i+di,j)-y(i,j))*disa*cos(thta)/disb
!	enddo
!enddo
!y boundary
!do i=1,nx,nx-1
!	if(i==1)  di=1
!	if(i==nx) di=-1	
!	do j=2,ny-1
!		disa=sqrt((x(i+di,j)-x(i,j))**2.0+(y(i+di,j)-y(i,j))**2.0)
!		if(j<ny)then
!			dj=1
!		elseif(j==ny)then
!			dj=-1
!		endif
!		disb=sqrt((x(i,j+dj)-x(i,j))**2.0+(y(i,j+dj)-y(i,j))**2.0)
!		disc=sqrt((x(i+di,j)-x(i,j+dj))**2.0+(y(i+di,j)-y(i,j+dj))**2.0)
!		thta=acos((disa*disa+disb*disb-disc*disc)/(2*disa*disb))
!		x(i,j)=x(i,j)+(x(i,j+dj)-x(i,j))*disa*cos(thta)/disb
!		y(i,j)=y(i,j)+(y(i,j+dj)-y(i,j))*disa*cos(thta)/disb
!	enddo
!enddo
!----------------------------------------------------
99 continue
!----------------------------------------------------
if(err>errmax)then
	times=times+1
	if(mod(times,500)==0)then
		print*,'times=',times,'   err=',err
		!if(times==10)then
		!	goto 101
		!endif
	endif
	goto 100
endif
!---------------------------------------------------------------------------
101 continue
!---------------------------------------------------------------------------
open(1,file='res.dat')
write(1,*) '"variable=x,y"'
write(1,*) 'zone  i=',ny,  'j=',nx
do i=1,nx
	do j=1,ny
		write(1,*) x(i,j),y(i,j)
	enddo
enddo
close(1)
!----------------------------------------------------------------------------
print*,'-------finished-------'
print*,'err=',err,' times=',times
!----------------------------------------------------------------------------
end




subroutine cboundary(nx,nb,xb,yb,x,y)
implicit none
!--------------------------------------------------
integer::nx,nb
real*8,dimension(nb)::xb,yb
real*8,dimension(nx)::x,y
!--------------------------------------------------
real*8::dis,dis1,disa,disb,disc
integer::i,ii
!-----------------------------------------------------------------------------------------------
!-----------------------------------------------------------------------------------------------
dis=0
do i=2,nb
	dis=dis+sqrt((xb(i)-xb(i-1))**2.0+(yb(i)-yb(i-1))**2.0)
enddo
!---------------------------------------------------
x(1)=xb(1)
y(1)=yb(1)
x(nx)=xb(nb)
y(nx)=yb(nb)
dis1=dis/(nx-1)
disa=0
!-------------------
do i=2,nx-1
	disa=(i-1)*dis1
	disb=sqrt((xb(1)-xb(2))**2.0+(yb(1)-yb(2))**2.0)
	if(disa<=disb)then
		x(i)=xb(1)+(xb(2)-xb(1))*disa/disb
		y(i)=yb(1)+(yb(2)-yb(1))*disa/disb
	else
		disb=0
		do ii=2,nb-1
			disb=disb+sqrt((xb(ii)-xb(ii-1))**2.0+(yb(ii)-yb(ii-1))**2.0)
			disc=disb+sqrt((xb(ii+1)-xb(ii))**2.0+(yb(ii+1)-yb(ii))**2.0)
			if(disa>disb.and.disa<=disc)then
				x(i)=xb(ii)+(xb(ii+1)-xb(ii))*(disa-disb)/(disc-disb)
				y(i)=yb(ii)+(yb(ii+1)-yb(ii))*(disa-disb)/(disc-disb)
				exit
			endif			
		enddo
		if(disa>disc)then
			print*,'cannot find position'
			print*,i,disa,disb,disc
			stop
		endif
	endif
enddo
!----------------------------------------------------------------------------------------------
return
end subroutine cboundary

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产丝袜在线精品| 欧美婷婷六月丁香综合色| 亚洲伊人色欲综合网| 国产欧美一二三区| 久久午夜羞羞影院免费观看| 欧美一级免费大片| 欧美日韩不卡在线| 欧美肥妇bbw| 欧美一区二区三区四区高清 | 91精品国产高清一区二区三区 | 日韩写真欧美这视频| 欧美理论在线播放| 欧美日韩精品欧美日韩精品| 欧美日韩精品系列| 日韩久久久精品| 久久综合九色综合97婷婷女人| 欧美成人精品3d动漫h| 精品久久人人做人人爰| 久久久精品一品道一区| 国产精品国产三级国产有无不卡 | 久久国产精品免费| 国产一区二区伦理| 99精品久久免费看蜜臀剧情介绍| www.视频一区| 欧美色大人视频| 欧美成人免费网站| 国产精品你懂的在线| 亚洲另类在线制服丝袜| 午夜日韩在线观看| 国产一区二区三区高清播放| 成人午夜在线免费| 欧美色网站导航| 欧美成人福利视频| 国产精品久久久一本精品| 一区二区三区在线观看网站| 日本不卡在线视频| 成人午夜精品在线| 777午夜精品视频在线播放| 2014亚洲片线观看视频免费| 亚洲少妇屁股交4| 蜜臀a∨国产成人精品| 99在线精品视频| 欧美一级淫片007| 亚洲欧美中日韩| 蜜臀久久久久久久| 色婷婷av一区二区三区之一色屋| 日韩欧美一级二级| 一区二区三区四区蜜桃| 国产黑丝在线一区二区三区| 欧洲精品一区二区| 欧美国产精品v| 青青草一区二区三区| 91在线国产福利| 久久婷婷国产综合精品青草| 一区二区三区四区视频精品免费 | 久久久天堂av| 午夜成人免费视频| 一本色道久久综合亚洲91| 精品国产伦一区二区三区免费| 亚洲欧美日韩国产成人精品影院| 午夜亚洲国产au精品一区二区| 成人福利视频网站| 久久这里只精品最新地址| 亚洲小说欧美激情另类| 成人高清免费观看| 国产亚洲欧美一级| 狠狠色丁香久久婷婷综合_中| 欧美中文字幕一区二区三区| 国产欧美日韩另类视频免费观看| 日韩精品免费视频人成| 91成人国产精品| 亚洲日本一区二区| 成人av综合在线| 欧美国产日韩a欧美在线观看| 久久91精品久久久久久秒播| 91精品国产黑色紧身裤美女| 日韩国产欧美在线播放| 欧美主播一区二区三区美女| 亚洲欧美成人一区二区三区| a级高清视频欧美日韩| 久久精品视频网| 风间由美一区二区三区在线观看| 精品国产一区二区亚洲人成毛片| 男女性色大片免费观看一区二区 | 精品视频1区2区3区| 亚洲香蕉伊在人在线观| 99久久精品费精品国产一区二区| 国产精品理伦片| 91免费国产视频网站| 亚洲精品乱码久久久久久黑人| 91免费在线视频观看| 亚洲一区二区三区四区五区中文| 欧美日韩国产一区| 日韩和欧美的一区| 精品国产伦一区二区三区观看方式 | 色天天综合色天天久久| 亚洲卡通动漫在线| 欧美区在线观看| 日本少妇一区二区| 久久午夜老司机| hitomi一区二区三区精品| 亚洲在线中文字幕| 欧美成人乱码一区二区三区| 国产米奇在线777精品观看| 中文字幕欧美三区| 欧美在线制服丝袜| 精品一区二区免费看| 国产调教视频一区| 欧美日韩精品综合在线| 国模一区二区三区白浆| 亚洲美女视频一区| 精品日韩成人av| 色综合久久中文字幕| 捆绑紧缚一区二区三区视频| 欧美国产日韩在线观看| 欧美视频一区二区三区在线观看| 狠狠色综合播放一区二区| 玉米视频成人免费看| 精品久久久久av影院| 欧美在线|欧美| 国产一区欧美日韩| 亚洲国产视频一区二区| 国产亚洲va综合人人澡精品| 欧美日韩三级在线| 高清不卡一区二区| 日本亚洲电影天堂| 亚洲一区二区三区四区在线| 久久久国产精品午夜一区ai换脸| 欧美午夜精品久久久久久孕妇| 狠狠色丁香久久婷婷综合丁香| 亚洲免费视频中文字幕| 2023国产一二三区日本精品2022| 色狠狠av一区二区三区| 成人午夜av影视| 国产综合色产在线精品| 天天av天天翘天天综合网| 一区免费观看视频| 久久女同性恋中文字幕| 日韩欧美精品在线| 91精品国产综合久久久久| 一本色道亚洲精品aⅴ| 丁香亚洲综合激情啪啪综合| 91麻豆成人久久精品二区三区| 精品一区二区三区在线视频| 亚洲a一区二区| 一区二区在线看| 国产精品久久久久久福利一牛影视 | 亚洲丝袜美腿综合| 国产欧美日韩在线看| 欧美哺乳videos| 欧美一区二区三区小说| 777久久久精品| 99视频国产精品| 国产伦精一区二区三区| 精品一区二区三区免费视频| 日本中文字幕一区| 日韩黄色小视频| 免费观看久久久4p| 美女在线一区二区| 美脚の诱脚舐め脚责91| 久久爱另类一区二区小说| 日韩专区一卡二卡| 免费看日韩a级影片| 日韩av成人高清| 裸体在线国模精品偷拍| 国产一区二区三区日韩| 韩国一区二区视频| 国产精品亚洲一区二区三区在线| 国产精品影视网| 成人一区二区三区在线观看| 国产成人免费视频精品含羞草妖精| 国产在线播精品第三| 国产高清在线精品| 91女人视频在线观看| 欧美午夜一区二区| 精品少妇一区二区三区在线播放 | 日本不卡123| 国产一区二区精品久久91| 国产精品亚洲成人| 99re在线视频这里只有精品| 欧美日韩亚州综合| 精品国产sm最大网站免费看| 国产日韩欧美麻豆| 亚洲一区视频在线观看视频| 天堂成人免费av电影一区| 狠狠色2019综合网| 色婷婷久久久综合中文字幕| 欧美一级欧美一级在线播放| 亚洲国产精品av| 亚洲香蕉伊在人在线观| 国产一区二三区| 色综合中文字幕国产 | 国产一区欧美一区| 91首页免费视频| 日韩色视频在线观看| 国产精品久久久久久久久久免费看 | 成人黄色综合网站| 欧美在线999| 日本一区二区三区四区在线视频| 亚洲一二三区不卡|