油藏数值模拟实验报告.doc

油藏数值模拟实验报告.doc

ID:59150236

大小:468.00 KB

页数:12页

时间:2020-09-11

油藏数值模拟实验报告.doc_第1页
油藏数值模拟实验报告.doc_第2页
油藏数值模拟实验报告.doc_第3页
油藏数值模拟实验报告.doc_第4页
油藏数值模拟实验报告.doc_第5页
资源描述:

《油藏数值模拟实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数值模拟上机实验1:三对角系数矩阵的解法隐式差分格式出发点在(i,n+1),取关于t的一阶向后差商和关于x的二阶差商。取对于一维渗流问题的隐式差分方程组的系数矩阵为三对角矩阵,追赶法(THOMAS)就是用来求解三对角矩阵方程组的一种比较简单、应用也极为广泛的解法。它的基本思路是将三对角矩阵A分解成两个特定形式的三对角矩阵的乘积。追赶法程序如下:DimmAsInteger,nAsInteger,iAsIntegerDimP(1To10)AsSingle,x(1To10)AsSingle,y(1To10)AsSingle,a(1To10)AsSingle,b(

2、1To10)AsSingle,c(1To10)AsSingle,d(1To10)AsSingleDiml(1To10)AsSingle,u(1To10)AsSinglen=InputBox("请输入方程个数")Fori=1Tona(i)=InputBox("a("&i&")=?")Print"a("&i&")=";a(i);NextiPrintFori=1Ton-1b(i)=InputBox("b("&i&")=?")Print"b("&i&")=";b(i);NextiPrintFori=2Tonc(i)=InputBox("c("&i&")=?")Pr

3、int"c("&i&")=";c(i);NextiPrintFori=1Tond(i)=InputBox("d("&i&")=?")Print"d("&i&")=";d(i);NextiPrintl(1)=a(1)Fori=2Tonu(i-1)=b(i-1)/l(i-1)l(i)=a(i)-c(i)*u(i-1)Nextiy(1)=d(1)/l(1)Print"y(1)=";y(1);Fori=2Tony(i)=(d(i)-c(i)*y(i-1))/l(i)Print"y("&i&")=";y(i);NextiPrintx(n)=y(n)Fori=n-1T

4、o1Step-1x(i)=y(i)-u(i)*x(i+1)NextiFori=1TonPrint"x("&i&")=";x(i);Nexti运行结果:实验2:单相流数值模拟方法已知一维均质等厚单相渗流,已知边界条件定压、初始压力分布,求任意时刻的压力分布。渗流微分方程为:网格系统为均匀的块中心网格,求t=任意时刻的压力分布(隐式差分格式)。一维隐式求解:DimP(0To100,0To100)AsSingle,rAsSingle,nAsInteger,kAsIntegerDimiAsInteger,jAsInteger,tAsDouble,zAsSingle

5、,xmAsSingle,tmAsIntegerDimx(1To100)AsSingle,y(1To100)AsSingle,a(1To100)AsSingle,b(1To100)AsSingle,c(1To100)AsSingle,d(1To100)AsSingleDiml(1To100)AsSingle,u(1To100)AsSinglez=1:xm=2:n=4r=z/xmv=-(1+2*r)tm=InputBox("输入所求时间")Fori=1To4P(i,0)=10NextiFori=0TotmP(0,i)=5:P(5,i)=2NextiFori=1

6、Tonc(i)=r:a(i)=v:b(i)=rNextiFork=1Totmd(1)=-P(1,k-1)-b(1)*P(0,k)d(2)=-P(2,k-1)d(3)=-P(3,k-1)d(4)=-P(4,k-1)-b(1)*P(5,k)l(1)=a(1)Fori=2Tonu(i-1)=b(i-1)/l(i-1)l(i)=a(i)-c(i)*u(i-1)Nextiy(1)=d(1)/l(1)Fori=2Tony(i)=(d(i)-c(i)*y(i-1))/l(i)NextiPrintx(n)=y(n)Fori=n-1To1Step-1x(i)=y(i)-u(

7、i)*x(i+1)NextiFori=1TonP(i,k)=x(i)NextiNextkFori=1TonPrintP(i,tm);NextiPrint运行结果:二维程序如下:DimP(0To4,0To3)AsSingle,r(1To7,1To7)AsSingle,kAsIntegerDimiAsInteger,jAsInteger,qAsInteger,tAsSingle,zAsSingle,tmAsIntegerDimx(1To6)AsSingle,y(1To6)AsSingle,rmAsIntegertm=InputBox("输入所求时间")r(1,

8、1)=-6:r(1,2)=1:r(1,3)=1r(2,1)=1:r

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。