地下水动力学中Matlab的运用(井函数与贝塞尔函数)Word版_第1页
地下水动力学中Matlab的运用(井函数与贝塞尔函数)Word版_第2页
地下水动力学中Matlab的运用(井函数与贝塞尔函数)Word版_第3页
地下水动力学中Matlab的运用(井函数与贝塞尔函数)Word版_第4页
地下水动力学中Matlab的运用(井函数与贝塞尔函数)Word版_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、地下水动力学中Matlab的运用一、 越流含水层中贝塞尔函数的实现越流含水层中地下水向承压水井运动的问题中,贝塞尔函数大量运用,其中精确解中运用了零阶第二类虚宗量Bessel函数K0(rB),一阶第二类虚宗量Bessel函数K1(rB)。s=Q2KMK0(r/B)(rw/B)K1(rw/B)经简化后的Hantush-Jacob公式中也零阶第二类虚宗量Bessel函数K0(rB)。sQ2KMK0rB在配线法中使用的是Hantush-Jacob公式,需要在双对数纸上绘制K0rB-rB曲线,而这在Matlab中很容易实现。Matlab中内置大量函数,其中包括五类Bessel函数,即besselj(n

2、u,Z)、bessely(nu,Z)、 besselh(nu,Z)、 besseli(nu,Z)、 besselk(nu,Z),分别对应第一类贝塞尔函数,诺依曼函数,汉克尔函数,第一类修正贝塞尔函数以及第二类修正贝塞尔函数。而我们利用的即为第二类修正贝塞尔函数,相应的语句及图像如下:x=0:0.01:10;y0=besselk(0,x);y1=besselk(1,x);loglog(x,y0,x,y1);grid on;二、 井函数的实现地下水向完整井的非稳定运动中需要运用井函数W(u),其指数积分式为Wu=-Ei-u=ue-yydy在Matlab中利用quad或quad8等积命令可实现求其近

3、似值。但Matlab中内置的Maple函数库中包含Ei函数,但不可直接显示其函数值,可直接利用mfun函数调用Matlab中的Maple函数库,以达到求值的要求。相应的语句及图像如下:for i=1:160u(i)=10(-15+i/10); %生成等比数列,便于画双对数坐标图像endfor i=1:160w(i)=mfun('Ei',1,u(i);endloglog(u,w);grid on;井函数数值的验证:U10-1510-1410-1310-1210-1110-10W(u)33.961560731.65897629.35639127.05380524.75122022.

4、448635U10-910-810-710-610-510-4W(u)20.14605017.84346515.54088013.23829610.9357208.633225U10-310-210-1100101W(u)6.3315394.0379301.8229240.2193840.000004三、 利用非线性规化获得Theis解析模型数值解Theis公式既可以用于水位预测,也可以用于求含水层参数。而在解决后者这一逆问题时,传统的方法是配线法或Jacob直线图解法,其精度不高且随意性较大。利用Matlab中非线性规化函数fmincon的功能实现统一的评判标准,保证解的唯一性与可靠性。由于

5、我们在上面已经解决了井函数的求值问题,故只需编写非线性规划的目标函数即可。此处最优解的原则是使目标函数值最小,也即目标函数决定了整体的优化评判标准。常见的方法是使理论值与实际值的方差最小,并认为此时函数曲线最契合实际数值点。所以Theis模型的目标函数如下ET,*=i=1Ij=1JwijHjti-Hjob(ti)2其中wij表示权数,代表数据的可信度,一般设为1。Hjti与Hjob(ti)分别表示某时刻某一点水位值的理论值与实际值。Matlab语句编写如下:function E =fune(x)t=T; %调用时间点的M文件s=S; %调用降深值的M文件r=R; %调用观测距离的M文件Q=q;

6、 %调用流量的M文件E=0;for n=1:length(r) for m=1:length(t) a=r(n)2*x(2)/(4*x(1)*t(m); E=E+(Q/(4*pi*x(1)*mfun('Ei',1,a)-s(n,m)2; endend目标函数实现后即可在非线性规划函数中调用,fmincon中变量很多,但一般Theis模型没有对应的线性不等约束或者线性等式约束,故只需限定上下限即可,而初值可根据经验取得相应的数量级即可。具体实现代码如下:function x fval=funmx,fval = fmincon('fune',300;0.0001,1

7、;0.00001,10000;0.01);四、 验证与计算利用上述函数可根据所测得的数据计算得含水层的导水系数T与贮水系数*,而所需要提供的数据包括观测时间,观测点与井的距离以及观测点的降深。由于编写的fune函数中可直接调用上述数据,故使用时只需将对应的数据矩阵导入文件夹即可。现利用课本上的习题进行验证结果的可靠性。(1)利用地下动力学课本中100页中观2与观15的两个孔的数据进行测试,结果如下:T=195.94m2/d *=3.00x10-4 目标函数值E=0.4092书上利用配线法的计算结果如下:T=197.67m2/d *=2.31x10-4 目标函数值E= 0.7426(2)利用所提

8、供的PDF文件中观测数据,上述Matlab程序计算结果如下:T=84.82m2/d *=1.46x10-3 目标函数值E=0.0394PDF文件中自身程序计算结果为:T=77.37m2/d *=1.47x10-3 目标函数值E= 0.1255两者的区别源于井函数的求值部分的差异,本报告使用的是Matlab内置的Maple函数库,而PDF中利用的quad8积分函数。但两者计算结果相差不大,且理论上讲利用内置函数库的方法更加精确。通过上述验证我们可以确定Matlab的数值方法可靠度高,且计算过程简便。现计算所提供的两道习题:习题1. 在某均质、各向同性的承压含水层中,有一完整抽水井,其抽水量为12

9、56 m3/d,已知含水层的导水系数为100 m2/d,导压系数为100 m2/min。试求:(1)抽水后10min、100min、1000min时,距抽水井10m处的水位降深,以及所反映水位降深的分布规律;(2)抽水后90min后距水井3m、30m、300m处的水位降深,以及所反映水位降深的分布规律。解:由题知导水系数T=100 m2/d,导压系数a=100 m2/min,流量Q=1256 m3/d Theis降深公式 s=Q4TW(u) 其中 u=r2*4Tt=r24at(1) 将t=10min、100min、1000min以及r=10m代入可得u=0.025、0.0025、0.00025

10、再代入前面的井函数程序中可得W(u)= 3.1365、5.4167、7.7171再代入Theis公式中即可求得降深S=3.1333m、5.4140m、7.7132m由此可知同一观测点的水位降深随时间增加而增大,但增大的速率逐渐减小。(2) 将r=3m、30m、300m以及t=90min代入可得u=0.00025、0.025、2.5再代入前面的井函数程序中可得W(u)= 7.7171、3.1365、0.0249再代入Theis公式中即可求得降深S=7.7132 m、3.1349 m、0.0249 m由此可知同一时刻,观测点与抽水井的距离越大,其水位降深越小。习题2. 在承压含水层中有一完整井,以抽水量Q=0.0058 m3/s进行抽水试验,在距抽水井10 m处有一观测孔,其观测资料如下表所示。试用配线法求该承压含水层的导水系数T和贮水系数*。累加时间/min水位降深/m累加时间/min水位降深/m1.50.130150.7820.171200.902.50.218301.0030.30501.2040.36701.3260.501101.5980.582001.71100.62解:将观测时间t=1.5 2 2.5 3 4 6 8 10 15 20 30 50 70 110 200/(60*24) 观测点距离r=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论