一种波动方程叠前偏移中的分层延拓成像方法

文档序号:6110497阅读:204来源:国知局
专利名称:一种波动方程叠前偏移中的分层延拓成像方法
技术领域
本发明属于三维波动方程叠前偏移成像处理方法,针对常规方法内存需求过大及并行节点利用率不高的问题,涉及地震叠前偏移成像和高性能并行计算等,可应用于油气勘探地震资料成像处理。
背景技术
三维有限差分波动方程叠前偏移存在计算过程中内存开支过大的问题,特别是当今三维地震勘探采集数据量越来越大,内存问题成为困扰波动方程叠前偏移方法实用化的一种重要因素。假设有一个三维工区inline方向点数为Nx, crossline方向点数Ny,成像深度点数为N τ,偏移频率空间域复数类型数据体的单频个数为Νω,那么波动方程叠前偏移主进程内存需求为4Χ (2Ντ+2Νω) XNxXNy字节,从进程内存需求为4ΧΝτ XNxXNy字节。一个满覆盖面积100km2(目前数据通常可达到IOOOkm2以上)的地震数据波动方程偏移时,主进程所需内存空间约为9G,一个从进程所需内存空间约为4G ; —个8核16G内存(主流配置)的计算节点,至多可用4核进行偏移计算,如此造成并行节点无法得到有效利用。数据量越大,上述问题越严重。当数据量为上述情况的两三倍时,目前主流配置的计算机集群已无法进行波动方程叠前偏移运算。

发明内容
本发明为了解决现有技术中存在的非分层延拓成像方法占用内容过大,无法进行操作和偏移运算的技术问题,研发了一种波动方程叠前偏移中的分层延拓成像方法。本发明针对常规波动方程叠前偏移方法内存需求过大及并行节点利用率不高的问题,根据计算节点可用内存空间大小自动调整偏移计算的内存需求,做到内存开支与CPU运算均衡,充分利用计算机集群的并行计算能力,实现大规模地震数据的叠前偏移成像。本发明为了解决上述现有技术中存在的技术问题,采用的技术方案如下,一种波动方程叠前偏移中的分层延拓成像方法,所述延拓成像方法先根据节点内存大小,对成像空间进行分层;后从首个单平面波数据开始,依次对每一个单平面波数据进行延拓和成像操作;逐层延拓成像操作中包括主进程和从进程,所述主进程负责读写地震数据和向从进程分发数据,从进程负责该单层单频数据的延拓成像;各单层计算结束后,从进程把延拓至本层深度后的单频数据送回到主进程;由主进程再把数据发送出去;并进行下一层的延拓成像操作,直至单平面波全部各层的单频数据延拓成像完成;所有单平面波延拓成像结束输出成像结果。具体的,所述的一种波动方程叠前偏移中的分层延拓成像方法,如下步骤步骤1,读取输入输出文件名、成像范围、最大可用内存等参数步骤2,成像空间进行分层

设每个从进程最大可用内存为Memory_max兆,假设层厚度以100点数为最小单位,如果有整数Nt_layer满足
4XNt_layer X 100 XNxXNy ^ Memory_maxX 1024X 1024(I)4X (Nt_layer+1) XlOOXNxXNy > Memory_maxX 1024X 1024(2)那么分层延拓的层厚度为Nt_layerX100。如果N τ/(100XNt_layer)为整数,则该值为延拓成像的层数,记为N_layer ;如果N τ/(100XNt_layer)不为整数,则延拓成像的层数为其值取整加I。Nx、Ny、NT依次是成像空间在三个坐标x, y, τ方向上的点数。Nt_layer等于层厚度除以100,若Nt_layer等于10,表示每层的层厚度为1000。N_layer是层数,假设成像深度τ方向共3000点,每层的厚度为1000个点,则层数N_layer = 3。步骤3,单平面波P循环,逐一对各个单平面波数据进行延拓和成像;步骤4,单个平面波数据逐层延拓成像(I)判断是否是第一层如果是第一层,主进程从磁盘读取波场数据,利用快速傅里叶变换(FFT)将数据转换到频率空间域后,再利用并行库MPI_SEND函数将单频数据疗(JC,j,0;iyi)(T=0表示地表,Q1表示一个频率)发送到从进程;如果不是第一层进入(2);(2)主进程则利用并行库MPI_RECV函数接收从进程完成层延拓后的波场数据,再利用并行库MPI_SEND函数将单频数据巧(X,兄T1W1) (τ = τ i表示某延拓后的深度)发送到从进程;

(3)从进程接收主进程发送来的单频数据,按有限差分解进行波场延拓,再计算单频的成像值Ιω1 (X,y,τ );(4)单层延拓和成像结束后,利用并行库MPI_REDUCE函数规约累加所有从进程的单频数据成像结果,并计入磁盘;步骤5,判断是否层循环结束,即各层全部延拓成像是否结束,如果否转入步骤4,如果是转入步骤6 ;步骤6,进行下一个平面波数据偏移,判断是否单面波循环结束,否转入步骤3,是转入步骤7 ;步骤7,结束,输出波动方程偏移成像数据体结果。其中,MPI_SEND是并行库MPI(Message Passing Interface)中定义的一个消息发送函数,用于将一个消息(变量、数组等)从当前进程发送至目标进程。MPI_RECV是并行库MPI (Message Passing Interface)中定义的一个消息接收函数,用于将指定源进程的一个消息接收到当前进程。MPI_REDUCE是并行库MPI (Message Passing Interface)中定义的一个全局归约操作函数,用于将所有进程中的同一数据按设定的算术运算符(加减等)归约到一个指定进程。所述在步骤4的(3)中,有限差分解进行波场延拓和成像采用(31)三维偏移距平面波方程
权利要求
1.一种波动方程叠前偏移中的分层延拓成像方法,其特征在于,所述延拓成像方法先根据节点内存大小,对成像空间进行分层;后从首个单平面波数据开始,依次对每一个单平面波数据进行延拓和成像操作;在逐层延拓成像操作中包括主进程和从进程,所述主进程负责读写地震数据和向从进程分发数据,从进程负责该单层单频数据的延拓成像;各单层计算结束后,从进程把延拓至本层深度后的单频数据送回到主进程;由主进程再把数据发送出去;并进行下一层的延拓成像操作,直至单平面波全部各层的单频数据延拓成像完成;所有单平面波延拓成像结束输出成像结果。
2.根据权利要求1所述的一种波动方程叠前偏移中的分层延拓成像方法,其特征在于,所述方法包括如下步骤 步骤1,读取输入输出文件名、成像范围、最大可用内存参数; 步骤2,成像空间进行分层 设每个从进程最大可用内存为Memoryjnax兆,假设层厚度以100点数为最小单位,如果有整数Nt_layer满足 .4XNt_layer X 100 XNxXNy ^ Memory_maxX 1024X 1024(I).4 X (Nt_layer+1) X 100 X Nx XNy > Memory_max X 1024 X 1024 (2) 那么分层延拓的层厚度为Nt_layerX100。如果N τ/(100XNt_layer)为整数,则该值为延拓成像的层数,记为N_layer ;如果N τ/(100XNt_layer)不为整数,则延拓成像的层数为其值取整加I ; 其中,版、咐、1^依次是成像空间在三个坐标x,y, τ方向上的点数;Nt_layer等于层厚度除以100,若Nt_layer等于10,表示每层的层厚度为1000 ;N_layer是层数,假设成像深度τ方向共3000点,每层的厚度为1000个点,则层数N_layer = 3 ; 步骤3,单平面波P循环,逐一对各个单平面波数据进行延拓和成像; 步骤4,单个平面波数据逐层延拓成像 (1)判断是否是第一层 如果是第一层,主进程从磁盘读取波场数据,利用快速傅里叶变换(FFT)将数据转换到频率空间域后,再利用并行库MPI_SEND函数将单频数据疗(χ,γ,Ο,ω,) (τ = O表示地表,Q1表示一个频率)发送到从进程;如果不是第一层进入(2); (2)主进程则利用并行库MPI_RECV函数接收从进程完成层延拓后的波场数据,再利用并行库MPI_SEND函数将单频数据巧(Xjr1W1) (τ = τ i表示某延拓后的深度)发送到从进程; (3)从进程接收主进程发送来的单频数据,按有限差分解进行波场延拓,再计算单频的成像值 Ιω1 (X,y,τ ); (4)单层延拓和成像结束后,利用并行库MPI_REDUCE函数规约累加所有从进程的单频数据成像结果,并计入磁盘; 步骤5,判断是否层循环结束,即各层全部延拓成像是否结束,如果否转入步骤4,如果是转入步骤6 ; 步骤6,进行下一个平面波数据偏移,判断是否单面波循环结束,否转入步骤3,是转入步骤7 ;步骤7,结束,输出波动方程偏移成像数据体结果。
其中,MPI_SEND是并行库MPI (Message Passing Interface)中定义的一个消息发送函数,用于将一个消息(变量、数组等)从当前进程发送至目标进程;MPI_RECV是并行库MPI (Message Passing Interface)中定义的一个消息接收函数,用于将指定源进程的一个消息接收到当前进程;MPI_REDUCE是并行库MPI (Message Passing Interface)中定义的一个全局归约操作函数,用于将所有进程中的同一数据按设定的算术运算符(加减等)归约到一个指定进程。
3.根据权利要求2所述的一种波动方程叠前偏移中的分层延拓成像方法,其特征在于,所述在步骤4的(3)中, 有限差分解进行波场延拓和成像采用 (31)三维偏移距平面波方程
全文摘要
本发明为一种波动方程叠前偏移中的分层延拓成像方法,先根据节点内存大小,对成像空间进行分层;后从首个单平面波数据开始,依次对每一个单平面波数据进行延拓和成像操作;直至单平面波全部各层的单频数据延拓成像完成;所有单平面波延拓成像结束输出成像结果。本发明针对常规波动方程叠前偏移方法内存需求过大及并行节点利用率不高的问题,根据计算节点可用内存空间大小自动调整偏移计算的内存需求,做到内存开支与CPU运算均衡,充分利用计算机集群的并行计算能力,实现大规模地震数据的叠前偏移成像。
文档编号G01V1/28GK103064110SQ20111031761
公开日2013年4月24日 申请日期2011年10月18日 优先权日2011年10月18日
发明者段心标, 方伍宝 申请人:中国石油化工股份有限公司, 中国石油化工股份有限公司石油物探技术研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1