一种基于OpenMP的频率域高斯束格林函数计算方法技术

技术编号:23603530 阅读:68 留言:0更新日期:2020-03-28 04:57
本发明专利技术公开了一种基于OpenMP的频率域高斯束格林函数计算方法,在积分法的偏移和反偏移过程中,频率域格林函数是一个频率、炮点和地下空间为独立变量的高维函数,且频率域高斯束本身是频率、炮点、波矢量和地下空间的高维函数;这在计算量和内存需求方面都给频率域高斯束偏移和反演成像带来了很大的挑战,本发明专利技术基于当前多节点,节点多核共享大内存的特点,开发了一种基于OpenMP的频率域高斯束格林函数计算方法,保证并行力度,对最外层循环进行并行;充分利用节点共享内存,将格林函数置于内存,便于后续进行高效的基于频率格林函数的偏移和反演;合理设计循环逻辑,避免重复计算。

A calculation method of Green's function of Gaussian beam in frequency domain based on OpenMP

【技术实现步骤摘要】
一种基于OpenMP的频率域高斯束格林函数计算方法
本专利技术涉及地震勘探领域,具体涉及一种基于OpenMP的频率域高斯束格林函数计算方法。
技术介绍
在光学中,高斯束是描述单色电磁辐射的光束,其横向振幅随高斯函数衰减。最早高斯束用于描述电磁波传播,后被引入地震波传播方面,现被广泛应用于地震波的偏移和反演。经典的高斯束传播和偏移都可以在频率域进行表达,由于频率域格林函数的计算和存储对当前计算机资源消耗较大,通常高斯束偏移都在时空域进行。《石油物探》2012年05期公开的蔡杰雄等论文“高斯束深度偏移的实现与应用研究”、吉林大学2015年公开的博士论文“时间域高斯束叠前深度偏移”都采用时空域的实现方式。随着油气工业界勘探要求的提高,基于高斯束的反演成像已经提上日程,而格林函数计算是高斯束正演和反演所需要的核心步骤。《Geophysics》2019年04期公开的Yue和Sava等论文“Least-squaresGaussianbeammigrationinelasticmedia”指出高斯束频域格林函数计算及其反演在计算效率方面仍然是有挑战的。...

【技术保护点】
1.一种基于OpenMP的频率域高斯束格林函数计算方法,其特征在于,包括以下步骤:/n步骤1:生成频率域格林函数,具体步骤如下所示:/n(1)申请构体数组Cells(Nz,Nx),用于存储单单个方向高斯束对应的格林函数,申请格林函数数组Green(Nz,Nx,Nω,Nshot),用于存储格林函数,z和x指空间点二维坐标,ω为频率,Nω指频率的循环次数,Nshot指炮点的循环次数,shot指炮点;/n(2)进行炮点循环,即对炮点shot进行Nshot次循环,对此循环利用OpenMP并行处理,私有化结构体数组Cells(Nz,Nx)及涉及的循环相关变量和临时变量,共享格林函数数组Green(Nz,...

【技术特征摘要】
1.一种基于OpenMP的频率域高斯束格林函数计算方法,其特征在于,包括以下步骤:
步骤1:生成频率域格林函数,具体步骤如下所示:
(1)申请构体数组Cells(Nz,Nx),用于存储单单个方向高斯束对应的格林函数,申请格林函数数组Green(Nz,Nx,Nω,Nshot),用于存储格林函数,z和x指空间点二维坐标,ω为频率,Nω指频率的循环次数,Nshot指炮点的循环次数,shot指炮点;
(2)进行炮点循环,即对炮点shot进行Nshot次循环,对此循环利用OpenMP并行处理,私有化结构体数组Cells(Nz,Nx)及涉及的循环相关变量和临时变量,共享格林函数数组Green(Nz,Nx,Nω,Nshot);
(3)进行射线方向循环,即对射线高斯束进行Np个方向的循环,对某一个方向Ip的射线高斯束进行时空域射线高斯束计算,形成该方向的Cells(Nz,Nx),并对射线高斯束有值位置做好标记;
(4)进行频率循环,即对频率ω进行Nω次循环,对某一频率Iω的有标记的射线高斯束进行计算,得到频率域格林函数相关信息;
(5)进行模型空间循环,模型空间大小为Nx*Nz,对模型空间内第Ix和Iz的网格点,进行格林函数的积分计算,即得到Green(Iz,Ix,Iω,Ishot),其中I=(1,N);z和x指空间点二维坐标;
步骤2:利用格林函数Green(Nz,Nx,Nω,Nshot)实现地震波Born正演的应用即反偏移,具体步骤如下所示:
(1)申请单道数据数组Trace(Lt),申请数据体数组Dat(Lt,Nreceiver,Nshot),Lt指离散地震记录时间t长度,Nshot和Nreceiver分别为炮点和炮检点的个数,shot为炮点,receiver为地震波检波器;
(2)进行炮点循环,即对编号范围从1到Nshot多炮地震数据进行计算,共计算Nshot次,利用OpenMP对此循环进行并行处理,私有Trace(Lt)及涉及的循环相关变量和临时变量,共享数据体数组Dat(Lt,Nreceiver,Nshot);Lt指离散地震记录时间t长度,shot指炮点,receiver为地震波检波器,Nshot和Nreceiver分别为炮点和炮检点的个数;
(3)进行检波点循环,即对任意检测地震波的检波器Ireceiver进行Nrec...

【专利技术属性】
技术研发人员:刘少勇朱雯婷顾汉明唐永杰
申请(专利权)人:中国地质大学武汉
类型:发明
国别省市:湖北;42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1