当前位置:文档之家› 电测深正演模拟

电测深正演模拟

本科生实验报告实验课程电法与电磁法勘探学院名称地球物理学院专业名称勘查技术与工程学生姓名学生学号指导教师实验地点地球物理学院实验室5417 实验成绩二〇年月二〇年月填写说明1、适用于本科生所有的实验报告(印制实验报告册除外);2、专业填写为专业全称,有专业方向的用小括号标明;3、格式要求:①用A4纸双面打印(封面双面打印)或在A4大小纸上用蓝黑色水笔书写。

②打印排版:正文用宋体小四号,1.5倍行距,页边距采取默认形式(上下2.54cm,左右2.54cm,页眉1.5cm,页脚1.75cm)。

字符间距为默认值(缩放100%,间距:标准);页码用小五号字底端居中。

③具体要求:题目(二号黑体居中);摘要(“摘要”二字用小二号黑体居中,隔行书写摘要的文字部分,小4号宋体);关键词(隔行顶格书写“关键词”三字,提炼3-5个关键词,用分号隔开,小4号黑体);正文部分采用三级标题;第1章××(小二号黑体居中,段前0.5行)1.1 ×××××小三号黑体×××××(段前、段后0.5行)1.1.1小四号黑体(段前、段后0.5行)参考文献(黑体小二号居中,段前0.5行),参考文献用五号宋体,参照《参考文献著录规则(GB/T 7714-2005)》。

水平层状介质视电阻率测深正演模拟摘要电测深曲线在实际工作中有很大的用处,掌握理解曲线变化的本质对时间勘探工作有指导意义;本次实验用C语言编程计算了在地下为三层介质的情况下,地面同一点电阻率随深度增加而变化的视电阻率,并用绘图软件绘制了电测深图件分别的到A型、Q 型、H型和K型电阻率测深曲线,最后分析了第一层电阻率变化及第一层深度变化所对应的曲线有哪些不同,得出在第一层深度先相同的情况下,电阻率增大导致曲线起止点的纵坐标增大,在电阻率相同的情况下,深度增大会使曲线首支近似水平的那一段长度增大;并且在实验过程中发现,第二层深度越大曲线中间的拐点越突出;这些曲线变化能帮助我们判断地下介质的层数、电阻率变化、第一层的电阻率及深度等;关键词:层状介质;视电阻率测深;正演;第3章水平层状介质视电阻率测深正演模拟3.1 实验目的根据水平层状介质条件下电场理论导出的电测深视电阻率计算公式,设计程序计算水平层状介质视电阻率测深曲线,分析不同类型地电断面对应的视电阻率测深曲线特征,以及厚度变化对视电阻的影响规律。

3.2 实验内容(1)根据水平层状介质电测深视电阻率计算公式,设计计算方法,设置相应的计算参数,完成二层或多层介质的视电阻率测深正演计算。

(2)根据不同地电断面的计算结果绘制视电阻率测深曲线图,分析并总结不同电性及厚度变化时地面视电阻曲线的变化特征。

3.3 实验设备本次实验为理论计算,用到的主要设备为个人计算机。

需要的工具软件分别是程序设计平台,及成果图件绘制软件Golden Software Grapher 7.0,完成测深曲线的绘制。

3.4 实验步骤3.4.1 实验原理水平层状地层理论模型示意图如图3-1所示。

根据水平层状介质电场理论,计算在地面某点视电阻率测深曲线。

图3-1 水平层状地层理论模型示意图计算方法:根据多层层状介质的理论,地面观测点的电位可记为()()()110,0122I U r B m Jmr dm ρπ∞=+⎡⎤⎣⎦⎰(3-9)利用电场强度和视电阻之间的关系式:2212s U E r r I I r ππρ∂⎛⎫==- ⎪∂⎝⎭(3-10)上述视电阻率是供电极距r 的函数(r =AB/2),因此上式可改写为:2110()[12()]()s r r B m J mr mdm ρρ∞=+⎰ (3-11)令[]11()12()T m B m ρ=+,则(3-11)变为2110()()()s r r T m J mr mdm ρ∞=⎰ (3-12)1()T m 即为电阻率转换函数。

对于N 层介质,()i T m 且具有以下递推关系:当n 层以上全去除后,在第n 层以下为均匀空间,则有第n 层顶界面上()n n T m ρ= (3-13)当存在第n-1层和第n 层这两层时,第n-1层顶界面上有()()()()1111221112211()1()1()1n n n n mhmh n n n n mhmh n ne T m eT m e T m eρρρ-------------++=++- (3-14) 上式(3-14)可改写为:()()()()2212211()1()1()1iiiimh mhi i i imh mhi i e T m e T m e T m e ρρρ--+--+-++=++- (3-15) 式(3-15)称为层状介质电阻率转换函数的递推公式。

直流电测深计算视电阻率的公式(3-12)的积分在计算机求解时采用数字滤波法计算,通常采用20点滤波器实现,具体形式(3-16)为2011()()s i k i k k r T m C ρ-==∑ (3-16)其中,i x i r e ∆=为供电极距AB/2,一般取()ln10/6x ∆=;/k x s k i m e r ∆+=,s 为位移系数,计算中取 2.1719-,k C 为滤波系数,取值如下表3-1。

表3-1 视电阻率测深正演采用的20点滤波系数表采用本方法计算层状介质视电阻率测深曲线时,只需要根据(3-16)式编写程序,通过输入不同的供电极距i r ,即可获得不同供电极距的视电阻率。

但应注意供电极距i r 不是任意设定的,需要考虑采样值x ∆与供电极距的关系。

计算流程为:(1)输入层参数,包括层数N ,各层的层厚度i h 和电阻率i ρ,存入相应的数组中; (2)输入要计算的M 个供电极距值i r ,1,2,....,i M =,存入对应的数组中; (3)读取要计算的第i 个供电极距i r 值,(4)根据滤波系数序列计算第k 个m 值,即/0.11396/k x s k x k i m e r e r ∆+∆==⨯; (5)用电阻率转换函数递推公式,循环计算k m 对应的()1k T m(6)将计算得到的第k 个()1k T m 与第k 个滤波系数k C 相乘,重复步骤(4)-(5); (6)将得到的20个()1k T m k C 值求和即可得到供电极距i r 时的视电阻率值()s i r ρ; (7)重复步骤(3)-(6),即可获得所有供电极距对应的视电阻率值。

(8)输出供电极距i r 与()s i r ρ的值,即可获得电测生正演结果。

3.4.2 电测深视电阻率计算过程(1)计算参数设计 ① 供电极距的计算与设置计算视电阻率采用如表3-2的供电极距参数,表中的参数系根据i x i r e ∆=计算得到,计算结果如表3-2,共35个供电极距。

表3-2 视电阻率测深采用的供电极距参数表②模型参数设置:本次试验中需要计算的模型参数如下表3-3,共12个模型,分为四组。

表3-3 水平层状三层介质模型层参数表(2)计算程序设计与代码①程序设计语言C语言程序②程序中的变量说明程序中使用的主要变量名、数据类型及其数值含义说明如表3-4。

表3-4 程序中使用的主要变量及其说明③程序源代码及相关注释#include<stdlib.h>#include<stdio.h>#include<math.h>#include<string.h>void main(){void dian_ce_shen(int N,float*h,float*rho,float*T);//声明计算电测深函数int N;float*h,*rho,*T;printf("输入地层层数(至少2层):");scanf("%d",&N);h=(float*)malloc((N-1)*sizeof(float)); //h,rho,T均为定义动态数组,分别表示每层的深度、电阻率、电阻率转换函数rho=(float*)malloc(N*sizeof(float));T=(float*)malloc(N*sizeof(float));dian_ce_shen(N,h,rho,T);free(h);free(rho);free(T);}void dian_ce_shen(int N,float*h,float*rho,float*T){int i,j,k,n=1; //循环变量float r=0.0,rho_s=0.0,mj=0.0; //r为电极距、rho_s为视电阻率,均初始为零,float delta=log(10)/6,s=-2.1719; //delta为采样间隔,s 表示位移系数float C[20]={0.0}; //定义固定长度的数组,存放滤波系数char file_name[256]={0}; //该数组用于存放指定的文件名printf("输入要建立的文件名:");scanf("%s",file_name); //输入文件名strcat(file_name,".txt");FILE*fp_LBXS,*fp_rhos;fp_rhos=fopen(file_name,"w");fp_LBXS=fopen("滤波系数.txt","r");for(i=0;i<20;i++) //将滤波系数读入到一个数组{fscanf(fp_LBXS,"%f",&C[i]);}fclose(fp_LBXS);for(i=0;i<N-1;i++) //输入各层的深度和电阻率{printf("第%d层的深度和电阻率:",i+1);scanf("%f %f",&h[i],&rho[i]);}printf("第%d层电阻率:",N);scanf("%f",&rho[N-1]);T[N-1]=rho[N-1];while(1){rho_s=0.0;r=exp(0.5*n*delta);printf("%f\n",r); //电极距的大小,可以改变0.5来改变电极距的密度n++;if(r>1000)break; //我们只需要电极距在1000米以内for(j=1;j<21;j++){mj=exp(j*delta+s)/r;for(k=0;k<N-1;k++) //用循环体计算T1{T[N-k-2]=rho[N-k-2]*(rho[N-k-2]*(1-exp(-2*mj*h[N-k-2]))+T[N-k-1]*(1+exp(-2*mj*h[N-k-2])))/(rho[N-k-2]*(1+exp(-2*mj*h[N-k-2]))+T[N-k-1]*(1-exp(-2*mj*h[N-k-2])));//电阻率转换函数的地推公式}rho_s=T[0]*C[j-1]+rho_s;}fprintf(fp_rhos,"%f %f\n",r,rho_s);}fclose(fp_rhos);}④输出数据文件名称及格式输出文件名称:根据运行程序时输入的文件名而把计算的数据输出到响应的文件中;成果数据文件格式:二列,第1列为AB/2值,第2列为供电极距对应的视电阻率值。

相关主题