




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、一、上機目的用數值方法計算一維對流方程在A、B、C三種差分格式下的解。取為0.05. 取值為0.5,1,2。并作相關討論。二、實驗原理三、上機要求:1.學會對MS-FORTRAN的基本操作。 2.用Fortran編寫程序計算一維對流方程在A、B、C三種格式下的解。3.討論各種格式下不同的值的差分格式解的特點。四、實驗程序以A格式為例,對微分方程進行離散化, 得出 A 格式的差分解的表達式:B、C格式同理可以寫出。由此編寫如下的Fortran程序。注:除了循環時間層的計算公式略有不同外,三個程序沒有區別,因此這里只用一個主程序,并根據格式選擇的不同,采用條件語句判斷執行哪一部分循環體。!空間節點
2、321,dx=0.05 輸出依次為(時間,空間,數值)program mainimplicit nonereal dx_dt !定義x/t的值integer abc,r_t,i,j,k !定義變量,abc為格式類型,r_t為時間網格數,其余為循環變量real,allocatable:s(:,:) !定義存儲矩陣swrite(*,*) "輸入dx_dt=0.5,1,2"read(*,*) dx_dtwrite(*,*) "選擇格式,A,B,C分別輸入1,2或3" read(*,*) abc !根據格式選擇生成相應的文件 if(abc=1) then ope
3、n(unit=8,file='out_a.csv') elseif(abc=2) then open(unit=8,file='out_b.csv') elseif(abc=3) then open(unit=8,file='out_c.csv') endifr_t=160/dx_dt !計算時間網格總數allocate(s(r_t+1,321) !分配存儲矩陣的空間!第一層賦初值do i=1,140,1s(1,i)=0write(8,*)"1",",",i,",",s(1,i)end
4、dodo i=141,161,1s(1,i)=1+0.05*(i-161)write(8,*)"1",",",i,",",s(1,i)end do do i=162,181,1s(1,i)=1-0.05*(i-161)write(8,*)"1",",",i,",",s(1,i)end do do i=182,321,1s(1,i)=0write(8,*)"1",",",i,",",s(1,i)end do !循環時間
5、層,根據格式的選擇來判斷執行哪一部分if(abc=1) thendo i=2,r_t,1do j=i,322-i,1s(i,j)=s(i-1,j)-(s(i-1,j+1)-s(i-1,j-1)/(dx_dt*2) write(8,*)i,',',j,',',s(i,j) end do do k=1,i-1,1 !余下部分賦值0,下同 s(i,k)=0 write(8,*)i,',',k,',',s(i,k) end do do k=322-i,321,1 s(i,k)=0 write(8,*)i,',',k,
6、9;,',s(i,k) end do end do elseif(abc=2) then do i=2,r_t+1,1 do j=1,322-i,1 s(i,j)=s(i-1,j)-(s(i-1,j+1)-s(i-1,j)/dx_dt write(8,*)i,',',j,',',s(i,j) end do do k=322-i,321,1 s(i,k)=0 write(8,*)i,',',k,',',s(i,k) end do end do elseif(abc=3) then do i=2,r_t+1,1 do j=i,
7、321,1 s(i,j)=s(i-1,j)-(s(i-1,j)-s(i-1,j-1)/dx_dt write(8,*)i,',',j,',',s(i,j) end do do k=1,i-1,1 s(i,k)=0 write(8,*)i,',',k,',',s(i,k) end do end doendif!完成提示write(*,*)'數據已輸出至源目錄'pausestopend program五、實驗結果及分析程序運行后在對應目錄下生成csv表格文件,根據輸入的xt的值不同生成對應的網格并計算各節點數值。這里以
8、xt=1為例,就A、B、C三種格式的結果進行分析。首先我們用MATLAB軟件畫出初始波形,以便于對比(這里三個格式沒有區別)。A格式,根據輸出結果,選取不同時間節點用MATLAB軟件繪制波形圖像,這里從初始時刻開始每隔10單位取一點(即取t=1,11,21, 畫在同一張圖里,可明顯看出隨時間變化的趨勢)。波形畫出如下:(下一頁第一張)從圖中看出,隨著時間推移A格式呈現明顯的發散狀態。B格式圖像如下(下一頁第二張):從圖中看出,隨著時間推移B格式也呈現明顯的發散狀態。C格式圖像如下:對比之下明顯可以看出,隨著時間的推移,C格式能較好的保證收斂性。同樣的,附上xt=0.5以及xt=2時的作圖結果,從圖中可以看出xt=0.5時三種格式都呈發散狀態,而xt=2時C格式能保持收斂性,A、B格式都呈發散狀態。首先
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論