声波波动方程正演模拟程序总结
- 格式:docx
- 大小:16.41 KB
- 文档页数:2
有限差分波动方程正演模拟中的吸收边界条件王开燕1,周妍1,刘丹1,郝菲2【摘要】在地震波传播的数值模拟过程中,在有限的区域内建立吸收边界条件是一个很重要的问题。
主要运用有限差分的方法对二维声波方程进行正演模拟,介绍并分析了利用有限差分的方法进行波动方程正演模拟过程中的几种吸收边界条件。
先通过理论阐述,然后通过建立均质模型和层状介质模型来研究不同吸收边界条件下的边界吸收效果,得到对应的波场快照和单炮记录,并加以比较。
通过实际验证得知当运用完全匹配层(PML)吸收边界条件时吸收效果最好,基本上不产生虚假反射。
【期刊名称】当代化工【年(卷),期】2014(000)005【总页数】4【关键词】关键词:有限差分法;正演模拟;吸收边界条件;二维声波方程;虚假反射模拟与计算地震数值模拟是地震勘探和地震学的重要基础,并已经在地震勘探和天然地震勘探中得到广泛的应用。
地震勘探过程中,我们只能得到地表和地下很少部分的数据,不可能得到波场的全部信息,只能通过波场正演模拟来获得波场的全部信息,从而全面地反映地震波在地下介质中的分布与传播情况。
地震数值模拟[1]是在已知地下介质结构情况下,研究地震波在地下各种介质中传播规律的一种地震模拟方法,其理论基础就是表征地震波在地下各种介质中传播的地震波传播理论。
本文主要采用有限差分的方法进行正演模拟[2],但实际地震波是在无限介质中传播的,由于受计算机内存和计算时间的限制,有限差分法只能得到有限数量网格点上的波场值,所有就必须截断计算空间并设置边界条件,得到有限的计算模型,所以边界吸收条件就非常重要,如果处理不好就会产生虚假反射,影响得到的结论。
近年来,国内外许多学者在吸收边界条件方面做了大量的工作,提出了各种边界条件[3-6]。
本文通过声波方程有限差分方法,验证不同吸收边界条件下的正演模拟效果,优选出效果好的吸收边界条件。
1 二维声波方程二阶精度有限差分算法二维声波波动方程的表达式为:其中:c—声波波速;u(x,z,t)—声波波场值;f(x,z,t)—震源项。
声学黑洞波动方程
声学黑洞是一种人造结构,可以通过吸收声波来模拟黑洞的某些性质。
在声学黑洞中,波动方程可以用来描述声波的传播和吸收。
波动方程是描述波动现象的基本方程,适用于描述声波、光波、电磁波等波动现象。
在声学黑洞中,波动方程可以表示为:
∂²u/∂t² = c²∂²u/∂x² + f(x)
其中,u(x,t)表示声波的位移,t表示时间,x表示空间位置,c 表示声速,f(x)表示声波的吸收系数。
在声学黑洞中,f(x)通常是一个非零的函数,表示声波在某些区域被强烈吸收。
通过调整f(x)的取值和分布,可以模拟不同类型和不同性质的声学黑洞。
求解波动方程是研究声学黑洞的关键步骤之一。
通过求解波动方程,可以得到声波在声学黑洞中的传播和吸收情况,进一步了解黑洞的性质和特点。
在实际应用中,可以使用数值方法和计算机模拟来求解波动方程。
声波波动方程正演模拟程序程序介绍:第一部分:加载震源,此处选用雷克子波当作震源。
编写震源程序后,我将输出的数据复制,然后我用excel做成了图片,以检验程序编写是否正确。
以下为雷克子波公式部分的程序:for(it=0;it<Nt;it++){t1=it*dt;t2=t1-t0;source[it]=(1.0-2.0*pow(PI*fm*t1,2.0))*exp(-pow(PI*fm*t1,2.0));fprintf(fp,"%.8f %.8f\n",t1,source[it]);}此处,为了成图完整,我用的是t2,而不是t1,也就是把雷克子波向右移动了一段距离,使主要部分都显示出来。
(频率采用的是30hz)从图中可以看出程序是正确的,符合理论上雷克子波的波形。
第二部分:主程序,编写声波正演模拟算子。
首先定义了各种变量,然后指定震源位置,选择权系数,给速度赋值,然后是差分算子的编写,这是主要部分,最后再进行时间转换,即把n-1时刻的值给n时刻,把n时刻的值给n+1时刻。
此处,我编写的是均匀介质声波方程规则网格的正演模拟程序,时间导数采用二阶中心差分、空间导数为2N阶差分精度,网格大小为200*200,总时间为400。
第三部分:这一部分就是记录文件。
首先记录Un文件,然后记录record文件。
模型构建与试算:1、我首先建立了一个均匀介质模型,首先利用不同时间,进行了数值模拟,得到波场快照如图所示:100ms 200ms 300ms此处,纵波速度为v=3000m/s。
模型大小为200×200,空间采样间隔为dx=dz=10m。
采用30Hz的雷克子波作为震源子波,时间采样间隔为1ms,图中可以看出,波场快照中的同相轴是圆形的,说明在均匀各向同性介质中,点源激发的波前面是一个圆,这与理论也是吻合的。
并且随着时间的增大,波前面的面积逐渐增大,说明地震波从震源中心向外传播。
第1篇一、波动方程波动方程是描述波动在连续介质中传播的偏微分方程。
常见的波动方程有弦振动方程、声波方程、光波方程等。
以下列举几种常见的波动方程及其表达式:1. 弦振动方程弦振动方程描述了弦在受到外力作用下的振动规律。
假设弦的线密度为λ,张力为T,弦上某点的位移为y(x,t),则弦振动方程可表示为:∂²y/∂t² = (T/λ)∂²y/∂x²其中,x表示弦的长度,t表示时间,y(x,t)表示弦上某点的位移。
2. 声波方程声波方程描述了声波在介质中的传播规律。
假设介质的密度为ρ,声速为c,声波在介质中的波动函数为p(x,t),则声波方程可表示为:∂²p/∂t² = c²∂²p/∂x²其中,x表示声波传播的距离,t表示时间,p(x,t)表示声波在介质中的波动函数。
3. 光波方程光波方程描述了光波在介质中的传播规律。
假设光波在介质中的波动函数为E(x,t),介质的折射率为n,则光波方程可表示为:∂²E/∂t² = (n²/c²)∂²E/∂x²其中,x表示光波传播的距离,t表示时间,E(x,t)表示光波在介质中的波动函数。
二、振动方程振动方程描述了物体在受到外力作用下的振动规律。
常见的振动方程有单摆运动方程、弹簧振动方程等。
以下列举几种常见的振动方程及其表达式:1. 单摆运动方程单摆运动方程描述了单摆在重力作用下的振动规律。
假设单摆的摆长为L,摆球质量为m,摆球偏离平衡位置的角度为θ,则单摆运动方程可表示为:mL²θ'' = -mgLsinθ其中,θ'表示摆球偏离平衡位置的角度对时间的导数,θ''表示摆球偏离平衡位置的角度对时间的二阶导数。
2. 弹簧振动方程弹簧振动方程描述了弹簧在受到外力作用下的振动规律。
假设弹簧的劲度系数为k,弹簧的位移为x,则弹簧振动方程可表示为:mω²x = -kx其中,ω表示弹簧振动的角频率,m表示弹簧的质量。
波动方程正演模型的研究与应用郑鸿明* 娄 兵 蒋 立(新疆油田公司勘探开发研究院地物所)摘要野外采集的地震数据是经过大地滤波后的畸变信号,处理的地震剖面只是间接地反映了地下构造和地质体的特征,虽然目前有很多方法和手段可以分析并提取相关的地质信息,但由于处理对波场的改造和噪声的存在以及方法本身的多解性问题降低了识别地质信息的可靠性。
处理中每一步对有效信息的影响有多大,对地震属性解释的影响有多大,没有一个定量的标准,只能凭经验和认识来定性地判断。
正演模型在弹性波理论指导下,遵循严格的数学公式,可以最佳模拟地下各种情况。
各种处理方法和不同的处理流程所得到的结果能否符合或最佳逼近波动方程建立的数学模型,正演模型是判断处理工作合理性的良好准则。
主题词地质模型波动方程正演模型地震响应模块测试1 引 言随着地震勘探的不断深入,地震勘探也由构造型油气藏勘探进入精细的岩性勘探阶段,要求地震勘探能够反映地下地质体岩性变化,以及识别含油、气、水的地震响应特征,分辨薄互层、低幅度构造的能力。
地球物理学家们在长期的实践中已经研究开发了很多相关的技术,虽然理论上这些方法都能够成立,这些技术应用成功的实例也很多,但也不乏有失败的教训,往往产生多解性,或与钻探的结论不符。
这里除了复杂地表和复杂地下构造形成的复杂地震波场而不满足建立在简单地质模型处理理论的因素外,与处理过程对地震波场的改造也有很大关系。
从地震数据的采集到最终处理的地震剖面,整个过程是一个系统工程,地下地质结构、地质体的岩性变化以及含流体的性质,对处理人员来说是看不见、摸不着的“黑匣子”,我们所看到的只是经过大地滤波后产生畸变的地震波场,如何从这个畸变的地震波场中去伪存真、恢复真实的构造形态、提取储层的相关地震属性信息,这是岩性处理的最终目标。
处理中的每一步环环相扣、相互影响、相互制约,而我们对处理中的每一步产生的中间结果所应达到的标准只是凭经验、感觉进行定性判定,加入了很多人为因素,这些因素或多或少影响着我们对解释成果的正确认识。
程序1:%理想边界(绝对软海底)平行平面层波导声场计算%对应水声学原理第三章前两节针对波动声学的部分内容clear allclose allclc;f=25;%声源频率w=f*2*pi;%角频率c=1500;%声速k=w/c;%波数z0=100; %声源深度L=10000; %所要求解的距离H=200; %最大深度step=1000; %运算点数pp=zeros(step,step);%声场初始化Tl=zeros(1,8000);lam=c/f;%波长n=floor(H/(lam/2));%简正波阶数x=0:L/(step-1):L;%水平距离z=0:H/(step-1):H;%深度for i=1:1:nkzn=i*pi/H; %本征值kn=sqrt(k^2-kzn^2);po=(j*pi*2/H)*sin(kzn*z0)*sin(kzn*z).'*besselh(0,2,(kn*x));%声场解析解pp=po+pp;%求和end;p0=exp(j*k);%声源归一化条件p=abs(pp)+10^-7;%避免奇异性TL=-20*log10(abs(p/p0));figurepcolor(x,z,TL)%绘图shading interp;colormap('default')cmap = colormap;colormap(flipud(cmap));axis ij;jeta=jet(22);jetb=flipud(jeta);colormap(jetb)colorbar;title('绝对软海底传播损失')xlabel('Range/m')ylabel('depth/m')figureh=30;%设置深度row=floor(h/(H/(step-1)));plot(x,TL(row,:))title('绝对软海底30m深度处传播损失曲线')xlabel('Range/m')ylabel('dB/m')axis ij程序:2:%理想边界(绝对硬海底)平行平面层波导声场计算clear allclc;f=25;%声源频率w=f*2*pi;%角频率c=1500;%水中声速k=w/c;%水中波数z0=100; %声源深度L=10000; %所要求解的距离H=200; %波导深度step=1000; %运算点数pp=zeros(step,step);%声压初始化Tl=zeros(1,8000); %传播损失初始化lam=c/f; % 声波波长n=floor(H/(lam/2)+1/2);%简正波阶数x=0:L/(step-1):L;z=0:H/(step-1):H;for i=1:1:n-1kzn=(i-1/2)*pi/H; %本征值kn=sqrt(k^2-kzn^2);po=(j*pi*2/H)*sin(kzn*z0)*sin(kzn*z).'*besselh(0,2,(kn*x));%声场解析解pp=po+pp; %求和end;p0=exp(j*k); %点源归一化函数p=abs(pp)+10^-7;%加上一小量避免问题的奇异性TL=-20*log10(abs(p/p0));%计算传播损失pcolor(x,z,TL)%绘图shading interp;colormap('default')cmap = colormap;colormap(flipud(cmap));axis ij;jeta=jet(22);jetb=flipud(jeta);colormap(jetb)colorbar;title('绝对硬海底传播损失')xlabel('Range/m')ylabel('depth/m')figureh=30;%设置深度row=floor(h/(H/(step-1)));plot(x,TL(row,:))title('绝对硬海底30m深度处传播损失曲线')xlabel('Range/m')ylabel('dB/m')axis ij程序3:%%简正波声场波形预报%%%对应水声学原理第三章前两节针对波动声学的部分内容clear allclose allclcc=1500; %声速z0=100; %声源深度H=200; %波导深度x=10000; %接收点水平距离z=100; %接收深度fmax=10;%上限频率fmin=5;%下限频率fsig=(fmax-fmin)/2+fmin;%发送信号的频率filn=10;%填充数Tmax=filn*1/fsig;nn=100;%设置每个周期波形的采样点数step=1/fsig/nn;%采样间隔ts=0:step:Tmax;sigl=sin(2*pi*fsig*ts);%CW信号% sigl=1/2*sin(2*pi*fsig*ts).*(1-cos(1/4*2*pi*fsig*ts));N=4096*8;% 2的整数次幂zo=zeros(1,N-length(ts));sig_whole=[sigl,zo];%信号补零Fsig=fft(sig_whole,N);%信号频谱kk=-(N-1)/2:(N-1)/2;%数字频率D=1/N/step; %频率分辨率ff=kk*D; %模拟频率pf=zeros(1,fmax);%信道传输函数初for f=fmin:D:fmax%声源频率w=f*2*pi;%角频率lam=c./f;%波长n=floor(H/(lam/2)+1/2);%简正波阶数pp=0;%声场初始化for i=1:1:nk=w/c;%波数kzn=(i-1/2)*pi/H;%本征值kn=sqrt(k.^2-kzn.^2);po=(j*pi*2/H)*sin(kzn*z0)*sin(kzn*z)*besselh(0,2,(kn*x));%声场解析解pp=po+pp;%求和end;pf(floor(f/D)+1)=pp;endpF1=[pf zeros(1,N/2-length(pf))];M=length(pf);pF2=[pF1 0 conj(pF1(end:-1:2))];pt=real(ifft(pF2.*Fsig));%根据卷积定理求解冲激响应函数t=0:step:(N-1)*step;%时间窗plot(t,pt)title('时域波形预报')xlabel('时间/s')ylabel('声压幅度/Pa')figureplot(t,sig_whole)title('发送信号波形')xlabel('时间/s')ylabel('声压幅度/Pa')figureplot(ff,abs(fftshift(Fsig)))title('发送信号频谱')xlabel('频率/Hz')ylabel('幅度')程序4:%%简正波声场波形预报情况2发送加汉明窗正弦信号%%clear allclose allclcc=1500; %声速z0=100; %声源深度H=200; %波导深度x=30000; %接收点水平距离z=100; %接收深度fmax=75;%上限频率fmin=25;%下限频率fsig=(fmax-fmin)/2+fmin;%发送信号的频率step=0.001;%时域采样周期ts=0:step:4/fsig;N=2048*16;% 2的整数次幂sigl=1/2*sin(2*pi*fsig*ts).*(1-cos(1/4*2*pi*fsig*ts));zo=zeros(1,N-length(ts));sig_whole=[sigl,zo];%信号补零Fsig=fft(sig_whole,N);%信号频谱kk=-(N-1)/2:(N-1)/2;%数字频率D=1/N/step; %频率分辨率ff=kk*D; %模拟频率pf=zeros(1,floor((fmax-fmin)/D)+1);%信道传输函数初for f=fmin:D:fmax%声源频率w=f*2*pi;%角频率lam=c./f;%波长n=floor(H/(lam/2)+1/2);%简正波阶数pp=0;%声场初始化for i=1:1:2k=w/c;%波数kzn=(i-1/2)*pi/H;%本征值kn=sqrt(k.^2-kzn.^2);po=(j*pi*2/H)*sin(kzn*z0)*sin(kzn*z)*besselh(0,2,(kn*x))*exp(1j*w*floor(x/c));%声场解析解pp=po+pp;%求和end;pf(floor(f/D)+1)=pp;endpF1=[pf zeros(1,N/2-length(pf))];pF2=[pF1 0 conj(pF1(end:-1:2))];pt=real(ifft(pF2.*Fsig));%根据卷积定理求解冲激响应函数t=x/c:step:x/c+(N-1)*step;%时间窗plot(t,pt)title('时域波形预报')xlabel('时间/s')ylabel('声压幅度/Pa')figureplot(t,sig_whole)title('发送信号波形')xlabel('时间/s')ylabel('声压幅度/Pa')figureplot(ff,abs(fftshift(Fsig)))title('发送信号频谱')xlabel('频率/Hz')ylabel('幅度')。
声波方程数值模拟实验报告实验要求:1、应用声波方程作为正演模拟的波动方程;2、将所提供震源函数离散后绘图;3、给定两个二维速度-深度模型(一个小模型;一个大模型),绘出图形来;4、对于小模型,整个区域的速度值可设为常数,即只有一种介质,将震源点放在模型中间,分别记录两个时刻的波前快照(即该时刻区域内所有网格点的波场值)。
第一时刻为地震波还未传播到边界上的某时刻,第二时刻为地震波已经传播到边界上的某时刻,体会其人工边界反射;5、对于大模型,定义为水平层状速度模型(至少两层);做两个实验,一是将震源点放在区域表层任一点,记录下某些时刻的波前快照,体会地震波在两种介质的分界面上传播规律;二是合成一个地震记录,即记录下与震源同一深度点的各点所有时刻的波场值,并指出记录上的同向轴分别对应哪些波。
实验目的:1.通过本次作业,加深对波动方程的理解,明白波动方程所代表的物理意义。
2. 通过模拟地震波在介质中的传播,理解实际勘探中地震波在地层中的传播规律。
3. 通过模拟水平层状速度模型,体会地震波在两种介质分界面的传播规律,并能够从地震记录中识别出反射波,透射波,多次波,折射波和绕射波。
4. 通过模拟人工合成的地震记录,体会地震勘探基本原理和方法,验证地震波传播能量波形变化趋势。
需要的已知条件包括:1)震源函数2)地层速度(波速)3)边界条件2.弹性波方程:⎪⎪⎩⎪⎪⎨⎧∂∂+∂∂=∂∂+∂∂+∂∂=∂∂)()()(22222222222222z w x w v t w t S z u x u v t u s p 声波方程的有限差分法数值模拟对于二维速度-深度模型,地下介质中地震波的传播规律可以近似地用声波方程描述:)()(2222222t S zu x u v t u +∂∂+∂∂=∂∂ (4-1) (,)v x z 是介质在点(x , z )处的纵波速度,u 为描述速度位或者压力的波场,)(t s 为震源函数。
波动知识点总结关于波函数的讨论:])(π2cos[),(ϕλ+−=xT t A t x y (2) 波形传播的时间周期性(1) 振动状态的空间周期性),() ,(t x y t x y =+λ),,(),(t x y T t x y =+(4) t 给定,y = y (x ) 表示t 时刻的波形图(5) x 和t 都在变化,表明各质点在不同时刻的位移分布。
(3) x 给定,y = y (t ) 是x 处振动方程波的能量以固体棒中传播的纵波为例:)(cos uxt A y −=ω)(sin d 21d 222k u x t VA W −=ωωρ振动动能:x xO xd xOyyy d +)(sin d 21222ux t VA dW p −=ωωρ振动势能:体积元的总机械能:)(sin d d d d 222p k ux t VA W W W −=+=ωωρ说明体积元在平衡位置时,动能、势能和总机械能均最大.体积元的位移最大时,三者均为零.(1)介质中,任一体积元的动能、势能、总机械能均随作周期性变化,且变化是同相位的.t x ,(2)任一体积元都在不断地接收和放出能量,即不断地传播能量. 任一体积元的机械能不守恒. 波动是能量传递的一种方式.能量密度:单位体积介质中的波动能量)(sin d d 222ux t A V W w −==ωωρ平均能量密度:能量密度在一个周期内的平均值:22021d 1At w T w T ρω==∫xxO xd xOyyy d +能流和能流密度1 能流:单位时间内垂直通过某一面积的能量.2 平均能流:Su w P =u d tSu!Swu P =3 能流密度( 波的强度)I:通过垂直于波传播方向的单位面积的平均能流.uw SPI ==u A I 2221ωρ=波频率相同,振动方向相同,相位差恒定例水波干涉光波干涉某些点振动始终加强,另一些点振动始终减弱或完全抵消.干涉现象干涉条件波源振动)cos(111ϕω+=t A y )cos(222ϕω+=t A y )π2cos(1111λϕωr t A y P −+=)π2cos(2222λϕωr t A y P −+=点P 的两个分振动(3)干涉现象的定量讨论1s 2s P*1r 2rϕΔ++=cos 2212221A A A A A 合振幅最大当()...3,2,1,0π2±±±==Δk k 时ϕ21max A A A +=合振幅最小21min A A A −=当()π12+=Δk ϕ相位差决定了合振幅的大小.ϕΔ干涉的相位差条件讨论相干加强相干减弱将合振幅加强、减弱的条件转化为干涉的波程差条件,则有当时(半波长偶数倍)合振幅最大λδk r r =−=2121max A A A +=当时(半波长奇数倍)合振幅最小2)12(21λδ+=−=k r r 21min A A A −=干涉的波程差条件()δλλϕπ2π221=−=Δr r 相干加强相干减弱驻波的形成条件: 两列振幅相同的相干波相向传播相邻波腹(节)间距2λ=4λ=相邻波腹和波节间距结论有些点始终不振动,有些点始终振幅最大4λxy2λ波节波腹振幅包络图43λ45λ4λ−相位分布结论一相邻两波节间各点振动相位相同结论二一波节两侧各点振动相位相反边界条件驻波一般由入射、反射波叠加而成,反射发生在两介质交界面上,在交界面处出现波节还是波腹,取决于介质的性质. 介质分类波疏介质,波密介质当波从波疏介质垂直入射到波密介质,被反射到波疏介质时形成波节。
声波波动方程正演模拟程序程序介绍:
第一部分:加载震源,此处选用雷克子波当作震源。
编写震源程序后,我将输出的数据复制,然后我用excel做成了图片,以检验程序编写是否正确。
以下为雷克子波公式部分的程序: for(it=0;it<Nt;it++)
{
t1=it*dt;
t2=t1-t0;
source[it]=(1.0-2.0*pow(PI*fm*t1,2.0))*exp(-pow(PI*fm*t1,2.0));
fprintf(fp,"%.8f %.8f\n",t1,source[it]);
}
此处,为了成图完整,我用的是t2,而不是 t1,也就是把雷克子波向右移动了一段距离,使主要部分都显示出来。
(频率采用的是
30hz)
从图中可以看出程序是正确的,符合理论上雷克子波的波形。
第二部分:主程序,编写声波正演模拟算子。
首先定义了各种变量,然后指定震源位置,选择权系数,给速度赋值,然后是差分算子的编写,这是主要部分,最后再进行时间转换,即把n-1时刻的值给n时刻,把n时刻的值给n+1时刻。
此处,我编写的是均匀介质声波方程规则网格的正演模拟程序,时间导数采用二阶中心差分、空间导数为2N阶差分精度,网格大小为 200*200,总时间为400。
第三部分:这一部分就是记录文件。
首先记录Un文件,然后记录record文件。