斯奈尔定律和Zoeppritz方程.docx

上传人:b****7 文档编号:23668704 上传时间:2023-05-19 格式:DOCX 页数:19 大小:176.22KB
下载 相关 举报
斯奈尔定律和Zoeppritz方程.docx_第1页
第1页 / 共19页
斯奈尔定律和Zoeppritz方程.docx_第2页
第2页 / 共19页
斯奈尔定律和Zoeppritz方程.docx_第3页
第3页 / 共19页
斯奈尔定律和Zoeppritz方程.docx_第4页
第4页 / 共19页
斯奈尔定律和Zoeppritz方程.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

斯奈尔定律和Zoeppritz方程.docx

《斯奈尔定律和Zoeppritz方程.docx》由会员分享,可在线阅读,更多相关《斯奈尔定律和Zoeppritz方程.docx(19页珍藏版)》请在冰豆网上搜索。

斯奈尔定律和Zoeppritz方程.docx

斯奈尔定律和Zoeppritz方程

斯奈尔定律和Zoeppritz方程

姓名:

学号:

专业:

地球物理勘察技术2012级

一、实验目的

1.利用密度、上下界面的纵横波速度通过斯奈尔定律求出该界面的0°~90°入射角的反射角度和透射角度。

2.利用Zoeppritz方程绘制反射系数和透射系数曲线。

二、实验步骤

1、模型:

Vp1=3300m/sVs1=1585m/sρ1=2.4g/cm3

Vp1=3100m/sVs1=1989m/sρ1=2.24g/cm3

计算从0~90度的反射透射系数曲线如图1-1-4

三、实验结果

P波入射的反射透射角度:

图1

P波入射的反射透射系数曲线:

图2

SV波入射的反射透射角度正弦值:

图3

SV波入射的反射透射系数曲线:

图4

SH波入射的反射透射角度正弦值:

图5

SH波入射的反射透射系数曲线:

图6

四、实验分析

因为各波反射和透射波振幅系数与其能量成正比,由此可以看出其能量的变化以及入射波能量的分配。

当上层介质为密介质,下层介质为疏介质时:

由图2知,P波从上层密介质入射到界面时:

随着入射角增大,P波反射系数、P波透射系数在减小,即随着入射角的增大,反射P波、透射P波的能量在减小,而S波反射系数、S波透射系数在增大,即随着入射角的增大,反射S波、透射S波的能量在增大。

说明当入射角发生变化时,入射波的能量分配在改变。

由图4可知,SV波从上层密介质入射到界面时:

入射角小于29度时,随着入射角增大,SV波反射系数在减小,P波反射系数、SV波透射系数、P波透射系数在增大,SV波透射系数最大,即反射SV波能量在减小,反射P波、透射SV波、透射P波能量在增大,透射SV波的能量最大;

入射角大于等于29度且小于31度时,SV波反射系数、SV波透射系数减小,P波反射系数、P波透射系数在增大,SV波透射系数最大,即随着入射角的增大,反射SV波、透射SV波能量在减小,反射P波、透射P波能量在增大,透射SV波能量最大;

入射角大于等于31度且小于53度时,SV波透射系数增大,SV波反射系数、P波反射系数、P波透射系数先减小后增大,SV波透射系数仍最大,即随着入射角的增大,透射SV波能量增大,反射SV波、反射P波、透射P波能量先减小后增大,透射SV波能量最大;

入射角大于53度时,SV波反射系数为1,SV波透射系数、P波反射系数、P波透射系数减小,即随着入射角的增大,反射SV波能量不变,透射SV波、反射P波、透射P波能量减小。

由图6可知,SH波从上层密介质入射到界面时:

不产生转换波,入射角小于临界角时,SH波的反射系数、透射系数均随着入射角的增大而增大,即反射、透射SH波能量增大;入射角大于等于临界角时,随着入射角的增大,SH波的反射系数几乎不变,透射系数减小,即反射SH波的能量减小,透射SH波的能量几乎不变。

五、附:

源程序代码

P波入射时,程序:

#include

#include

#include"6GAUS.C"

#definePI3.1415926

voidmain()

{

FILE*fp1,*fp2;

inti,n[91];

doubleipp,x1,x2,y1,y2,pr,sr,pt,st,a1[95],a2[95],b1[95],b2[95],vp1=3300,vp2=3100,vs1=1585,vs2=1989,den1=2.4,den2=2.24,k=den2/den1;

staticdoublea[4][4]={0.0},b[4]={0.0};

fp1=fopen("snell.csv","w");

fp2=fopen("P波入射反射透射系数.csv","w");

for(i=0;i<=90;i++)

{

n[i]=i;

ipp=i*PI/180;

x1=ipp;

a1[i]=x1*180/PI;

x2=sin(ipp)*vs1/vp1;

a2[i]=asin(x2)*180/PI;

y1=sin(ipp)*vp2/vp1;

b1[i]=asin(y1)*180/PI;

y2=sin(ipp)*vs2/vp1;

b2[i]=asin(y2)*180/PI;

fprintf(fp1,"%d,%f,%f,%f,%f\n",n[i],a1[i],a2[i],b1[i],b2[i]);

//*输出P波入射反射投射角度*//

pr=a1[i]*PI/180;

sr=a2[i]*PI/180;

pt=b1[i]*PI/180;

st=b2[i]*PI/180;

a[0][0]=sin(pr);

a[0][1]=cos(sr);

a[0][2]=-sin(pt);

a[0][3]=-cos(st);

a[1][0]=cos(pr);

a[1][1]=-sin(sr);

a[1][2]=cos(pt);

a[1][3]=-sin(st);

a[2][0]=sin(2*pr);

a[2][1]=cos(2*sr)*vp1/vs1;

a[2][2]=sin(2*pt)*k*vp1*pow(vs2/vs1,2)/vp2;

a[2][3]=cos(2*st)*k*vp1*vs2/pow(vs1,2);

a[3][0]=cos(2*sr);

a[3][1]=-sin(2*pr)*vs1/vp1;

a[3][2]=-cos(2*st)*k*vp2/vp1;

a[3][3]=sin(2*pt)*k*vs2/vp1;

//*输入系数矩阵*//

b[0]=-sin(pr);

b[1]=cos(pr);

b[2]=sin(2*pr);

b[3]=-cos(2*sr);

//*输入常数矩阵*//

if(gaus(a,b,4)!

=0)

fprintf(fp2,"%d,%f,%f,%f,%f\n",n[i],b[0],b[1],b[2],b[3]);

}

fclose(fp1);

fclose(fp2);

}

SV波入射时,程序:

#include

#include

#include"4CINV.C"

#include"4TCMUL.C"

#definePI3.1415926

voidmain()

{

FILE*fp1,*fp2;

inti,n[91];

doublein,ipp1,ipp2,ipp3,

x1,x2,y1,y2,

pr,sr,pt,st,p,

rsp,rss,tsp,tss,

a1[91],a2[91],b1[91],b2[91],

vp1=3300,vp2=3100,vs1=1585,vs2=1989,

den1=2.4,den2=2.24,k=den2/den1;

staticdoublear[4][4],ai[4][4],br[4],bi[4],cr[4][1],ci[4][1];

fp1=fopen("snell.csv","w");

fp2=fopen("SV波入射反射透射系数.csv","w");

ipp1=asin(vs1/vp1);

ipp2=asin(vs1/vs2);

ipp3=asin(vs1/vp2);//*临界角*//

for(i=0;i<=90;i++)

{

n[i]=i;

in=i*PI/180;

p=sin(in)/vs1;

x1=p*vs1;

x2=p*vp1;

y1=p*vs2;

y2=p*vp2;//*snell定律

a1[i]=x1;

a2[i]=x2;

b1[i]=y1;

b2[i]=y2;

fprintf(fp1,"%d,%f,%f,%f,%f\n",n[i],a1[i],a2[i],b1[i],b2[i]);

//*输出S波入射反射透射角度正弦值*//

if(in

{

sr=asin(x1);

pr=asin(x2);

st=asin(y1);

pt=asin(y2);

ar[0][0]=-sin(pr);

ar[0][1]=cos(sr);

ar[0][2]=sin(pt);

ar[0][3]=cos(st);

ar[1][0]=-cos(pr);

ar[1][1]=-sin(sr);

ar[1][2]=-cos(pt);

ar[1][3]=sin(st);

ar[2][0]=2*cos(pr)*sin(pr)*vs1/vp1;

ar[2][1]=-(1-2*sin(sr)*sin(sr));

ar[2][2]=2*cos(pt)*sin(pt)*k*vs2*vs2/(vs1*vp1);

ar[2][3]=(1-2*sin(st)*sin(st))*k*vs2/vs1;

ar[3][0]=(1-2*sin(sr)*sin(sr))*vp1/vs1;

ar[3][1]=2*cos(sr)*sin(sr);

ar[3][2]=-(1-2*sin(st)*sin(st))*k*vp2/vp1;

ar[3][3]=2*cos(st)*sin(st)*k*vs2/vp1;

//*输入系数矩阵

br[0]=cos(sr);

br[1]=sin(sr);

br[2]=1-2*sin(sr)*sin(sr);

br[3]=2*cos(sr)*sin(sr);

if(cinv(ar,ai,4)!

=0)//*求系数矩阵的逆矩阵*//

{

tcmul(ar,ai,br,bi,4,4,1,cr,ci);

rsp=sqrt(cr[0][0]*cr[0][0]+ci[0][0]*ci[0][0]);

rss=sqrt(cr[1][0]*cr[1][0]+ci[1][0]*ci[1][0]);

tsp=sqrt(cr[2][0]*cr[2][0]+ci[2][0]*ci[2][0]);

tss=sqrt(cr[3][0]*cr[3][0]+ci[3][0]*ci[3][0]);//*求S波入射反射透射系数*//

fprintf(fp2,"%d,%f,%f,%f,%f\n",n[i],rsp,rss,tsp,tss);//*输出S波入射反射透射系数*//

}

}

elseif(in>=ipp1&&in

{

sr=asin(x1);

st=asin(y1);

pt=asin(y2);

ar[0][0]=-p*vp1,ai[0][0]=0;

ar[0][1]=cos(sr),ai[0][1]=0;

ar[0][2]=sin(pt),ai[0][2]=0;

ar[0][3]=cos(st),ai[0][3]=0;

ar[1][0]=0,ai[1][0]=-sqrt(p*p*vp1*vp1-1);

ar[1][1]=-sin(sr),ai[1][1]=0;

ar[1][2]=-cos(pt),ai[1][2]=0;

ar[1][3]=sin(st),ai[1][3]=0;

ar[2][0]=0,ai[2][0]=2*p*vp1*sqrt(p*p*vp1*vp1-1)*vs1/vp1;

ar[2][1]=-(1-2*sin(sr)*sin(sr)),ai[2][1]=0;

ar[2][2]=2*cos(pt)*sin(pt)*k*vs2*vs2/(vs1*vp1),ai[2][2]=0;

ar[2][3]=(1-2*sin(st)*sin(st))*k*vs2/vs1,ai[2][3]=0;

ar[3][0]=(1-2*sin(sr)*sin(sr))*vp1/vs1,ai[3][0]=0;

ar[3][1]=2*cos(sr)*sin(sr),ai[3][1]=0;

ar[3][2]=-(1-2*sin(st)*sin(st))*k*vp2/vp1,ai[3][2]=0;

ar[3][3]=2*cos(st)*sin(st)*k*vs2/vp1,ai[3][3]=0;

//*输入系数矩阵

br[0]=cos(sr),bi[0]=0;

br[1]=sin(sr),bi[1]=0;

br[2]=1-2*sin(sr)*sin(sr),bi[2]=0;

br[3]=2*cos(sr)*sin(sr),bi[3]=0;

//*输入常数矩阵

if(cinv(ar,ai,4)!

=0)//*求系数矩阵的逆矩阵*//

{

tcmul(ar,ai,br,bi,4,4,1,cr,ci);

rsp=sqrt(cr[0][0]*cr[0][0]+ci[0][0]*ci[0][0]);

rss=sqrt(cr[1][0]*cr[1][0]+ci[1][0]*ci[1][0]);

tsp=sqrt(cr[2][0]*cr[2][0]+ci[2][0]*ci[2][0]);

tss=sqrt(cr[3][0]*cr[3][0]+ci[3][0]*ci[3][0]);//*求S波入射反射透射系数*//

fprintf(fp2,"%d,%f,%f,%f,%f\n",n[i],rsp,rss,tsp,tss);//*输出S波入射反射透射系数*//

}

}

elseif(in>=ipp3&&in

{

sr=asin(x1);

st=asin(y1);

ar[0][0]=-p*vp1,ai[0][0]=0;

ar[0][1]=cos(sr),ai[0][1]=0;

ar[0][2]=p*vp2,ai[0][2]=0;

ar[0][3]=cos(st),ai[0][3]=0;

ar[1][0]=0,ai[1][0]=-sqrt(p*p*vp1*vp1-1);

ar[1][1]=-sin(sr),ai[1][1]=0;

ar[1][2]=0,ai[1][2]=-sqrt(p*p*vp2*vp2-1);

ar[1][3]=sin(st),ai[1][3]=0;

ar[2][0]=0,ai[2][0]=2*p*vp1*sqrt(p*p*vp1*vp1-1)*vs1/vp1;

ar[2][1]=-(1-2*sin(sr)*sin(sr)),ai[2][1]=0;

ar[2][2]=0,ai[2][2]=2*p*vp2*sqrt(p*p*vp2*vp2-1)*k*vs2*vs2/(vs1*vp1);

ar[2][3]=(1-2*sin(st)*sin(st))*k*vs2/vs1,ai[2][3]=0;

ar[3][0]=(1-2*sin(sr)*sin(sr))*vp1/vs1,ai[3][0]=0;

ar[3][1]=2*cos(sr)*sin(sr),ai[3][1]=0;

ar[3][2]=-(1-2*sin(st)*sin(st))*k*vp2/vp1,ai[3][2]=0;

ar[3][3]=2*cos(st)*sin(st)*k*vs2/vp1,ai[3][3]=0;

//*输入系数矩阵

br[0]=cos(sr),bi[0]=0;

br[1]=sin(sr),bi[1]=0;

br[2]=1-2*sin(sr)*sin(sr),bi[2]=0;

br[3]=2*cos(sr)*sin(sr),bi[3]=0;

//*输入常数矩阵

if(cinv(ar,ai,4)!

=0)//*求系数矩阵的逆矩阵

{

tcmul(ar,ai,br,bi,4,4,1,cr,ci);

rsp=sqrt(cr[0][0]*cr[0][0]+ci[0][0]*ci[0][0]);

rss=sqrt(cr[1][0]*cr[1][0]+ci[1][0]*ci[1][0]);

tsp=sqrt(cr[2][0]*cr[2][0]+ci[2][0]*ci[2][0]);

tss=sqrt(cr[3][0]*cr[3][0]+ci[3][0]*ci[3][0]);//*求S波入射反射透射系数*//

fprintf(fp2,"%d,%f,%f,%f,%f\n",n[i],rsp,rss,tsp,tss);//*输出S波入射反射透射系数*//

}

}

elseif(in>=ipp2)

{

sr=asin(x1);

ar[0][0]=-p*vp1,ai[0][0]=0;

ar[0][1]=cos(sr),ai[0][1]=0;

ar[0][2]=p*vp2,ai[0][2]=0;

ar[0][3]=0,ai[0][3]=sqrt(p*p*vs2*vs2-1);

ar[1][0]=0,ai[1][0]=-sqrt(p*p*vp1*vp1-1);

ar[1][1]=-sin(sr),ai[1][1]=0;

ar[1][2]=0,ai[1][2]=-sqrt(p*p*vp2*vp2-1);

ar[1][3]=p*vp2,ai[1][3]=0;

ar[2][0]=0,ai[2][0]=2*p*vp1*sqrt(p*p*vp1*vp1-1)*vs1/vp1;

ar[2][1]=-(1-2*sin(sr)*sin(sr)),ai[2][1]=0;

ar[2][2]=0,ai[2][2]=2*p*vp2*sqrt(p*p*vp2*vp2-1)*k*vs2*vs2/(vs1*vp1);

ar[2][3]=(1-2*p*p*vs2*vs2)*k*vs2/vs1,ai[2][3]=0;

ar[3][0]=(1-2*sin(sr)*sin(sr))*vp1/vs1,ai[3][0]=0;

ar[3][1]=2*cos(sr)*sin(sr),ai[3][1]=0;

ar[3][2]=-(1-2*p*p*vs2*vs2)*k*vp2/vp1,ai[3][2]=0;

ar[3][3]=0,ai[3][3]=2*p*vs2*sqrt(p*p*vs2*vs2-1)*k*vs2/vp1;

//*输入系数矩阵

br[0]=cos(sr),bi[0]=0;

br[1]=sin(sr),bi[1]=0;

br[2]=1-2*sin(sr)*sin(sr),bi[2]=0;

br[3]=2*cos(sr)*sin(sr),bi[3]=0;

//*输入常数矩阵

if(cinv(ar,ai,4)!

=0)//*求系数矩阵的逆矩阵

{

tcmul(ar,ai,br,bi,4,4,1,cr,ci);

rsp=sqrt(cr[0][0]*cr[0][0]+ci[0][0]*ci[0][0]);

rss=sqrt(cr[1][0]*cr[1][0]+ci[1][0]*ci[1][0]);

tsp=sqrt(cr[2][0]*cr[2][0]+ci[2][0]*ci[2][0]);

tss=sqrt(cr[3][0]*cr[3][0]+ci[3][0]*ci[3][0]);//*求S波入射反射透射系数*//

fprintf(fp2,"%d,%f,%f,%f,%f\n",n[i],rsp,rss,tsp,tss);//*输出S波入射反射透射系数*//

}

}

}

fclose(fp1);

fclose(fp2);

}

SH波入射时,程序:

#include

#include

#definePI3.1415926

voidmain()

{

FILE*fp1,*fp2;

inti,n[91];

doublein,ipp,x,y,st,rsr,rsi,tsr,tsi,rsh,tsh,p,q,r[91],t[91],vs1=1585,vs2=1989,den1=2.4,den2=2.24,k=den2/den1;

staticdoublear[2][2],ai[2][2],br[2],bi[2];

fp1=fopen("snell.csv","w");

fp2=fopen("SH波入射反射透射系数.csv","w");

ipp=asin(vs1/vs2);//*临界角

for(i=0;i<=90;i++)

{

n[i]=i;

in=i*PI/180;

x=sin(in);

y=sin(in)*vs2/vs1;//*snell定律

r[i]=x;

t[i]=y;

fprintf(fp1,"%d,%f,%f\n",n[i],r[i],t[i]);

//*输出SH波入射反射透射角度正弦值

if(in

{

st=asin(y);

p=vs1*cos(in);

q=vs2*cos(st);

rsh=(p-k*q)/(p+q);

tsh=(2*p+(1-k)*q)/(p+q);

fprintf(fp2,"%d,%f,%f\n",n[i],rsh,tsh);//*输出SH波入射反射透射系数

}

else

{

p=vs1*cos(in);

q=vs2*sqrt(y*y-1);

rsr=(p*p-k*q*q)/(p*p+q*q);

rsi=-(1+k)*p*q/(p*p+q*q);

tsr=(2*p*p+(1-k)*q*q)/(p*p+q*q);

tsi=-(1+k)*p*q/(p*p+q*q);

rsh=sqrt(rsr*rsr+rsi*rsi);

tsh=sqrt(tsr*tsr+tsi*tsi);

fprintf(fp2,"%d,%f,%f\n",n[i],rsh,tsh);//*输出SH波入射反射透射系数

}

}

fclose(fp1);

fclose(fp2);

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 职业教育 > 职业技术培训

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1