TECHNOLOGY AND INFORMATION
80 科学与信息化2023年10月下
基于Python和Fortran程序实现瞬变电磁法一维反演软件的设计与开发
孙大利 李方舟 费靖淇
中国地震局第一监测中心 天津 300171
摘 要 瞬变电磁方法可以有效地识别地下水分布情况,从而为地下城市空间科学安全的开发利用提供有力的帮助。为了降低瞬变电磁法数据处理分析的使用门槛,使非专业人员能够快速分析瞬变电磁探测数据,本文基于Python和Fortran语言实现瞬变电磁法中心回线系统一维Occam反演软件核心算法和交互界面的设计开发,简化了专业处理流程,更高效地发挥了瞬变电磁法探测在城市地下空间开发中的辅助作用。关键词 Occam反演;应用软件;地下空间
Design and Development of One-Dimensional Inversion Software for Implementing Transient Electromagnetic Method Based on Python and Fortran Programs Sun Da-li, Li Fang-zhou, Fei Jing-qi
The First Monitoring and Application Center of China Earthquake Administration, Tianjin 300171, China
Abstract Transient electromagnetic method can effectively identify the distribution of groundwater, so as to provide powerful help for the scientific and safe development and utilization of underground urban space. In order to reduce the threshold of use of transient electromagnetic data processing and analysis, and enable non-professionals to quickly analyze transient electromagnetic detection data, this paper implements the design and development of the core algorithm and interactive interface of the one-dimensional Occam inversion software for implementing transient electromagnetic method central loop system based on Python and Fortran language, simplifies the professional processing process, and plays the auxiliary role of transient electromagnetic detection in the development of urban underground space more efficiently.Key words Occam inversion; application software; underground space
引言
近年来随着城市化的不断发展,城市规模的不断扩大,地上有限的空间资源难以满足人们日常生活、工作的需求。与之相对的地下空间,大部分城市的开发程度还很低,具有广阔的发展前景[1]。地球物理勘探可以有效探测到地下异常信号,通过对异常信号的反演得到地下异常结构分布,用以辅助地质勘查解释,为城市地下空间的科学合理的利用提供保障。
在城市地下空间开发过程中,地下水的分布对工程的进展有着极大的影响,瞬变电磁法是一种地球物理勘探方法,应用于矿产勘探和地下水调查等,对于地下水分布具有良好的反映,但是瞬变电磁法勘探原理较为复杂,数据处理更是专业性强、难度大,需要专业的技术人员进行分析处理,难以普及。针对这一问题,亟须设计和开发一款瞬变电磁法反演软件,实现数据处理流程的自动化,降低应用门槛。目前,主流的编程语言Python 具有丰富的标准库,扩展性和可嵌入性强,可以提
供简洁的交互界面,用以满足普通用户的使用,但是对于复杂的数值计算执行效率低,占用内存较大,耗时长。而Fortran 语言语法格式接近数学公式的自然描述,执行效率高,在数值计算领域运用广泛,可以满足瞬变电磁反演算法的复杂计算。
综上所述,本文基于Python 和Fortran 语言联合设计开发,核心算法采用瞬变电磁法中心回线系统Occam 一维反演算法,使用Fortran 语言编写,外部交互界面使用Python 语言编写,最后在将两部分衔接形成完整的反演软件,实现自动化处理功能。
1 算法介绍
瞬变电磁法反演算法的核心是构建目标函数,选取最优算法,通过调整搜索策略,使得实际探测数据与理论数据具有较好的拟合度,来到达探测地下电性结构分布特征的目的。Occam 反演算法是1987年StevenC.Cconstable 首次提出的,由于反演过程是非唯一不确定的,具有多解性,在求解策略上,
TECHNOLOGY AND INFORMATION
科学与信息化2023年10月下 81
Occam 反演算法通过引入粗糙度,选择模型尽可能简单平滑的解,从而减少对实测数据的过度解释,并且消除简单分成模型中的任意不连续性[2],在保证算法稳定的同时,加快收敛速度,提高处理效率。本文模拟的数据采集装置是中心回线系统,通过移动线圈进行工作,适合城市地下空间探测。
2 软件设计开发
程序主要分为3大部分,包括主程序、Occam 反演算法程序和操作程序。
主程序:采用Pyside2内置可执行程序QtDesigner 设计界面组件和布局,生成ui 文件,然后在主程序中调用PySide2模块中的QtWidgets 、QtUiTools 、QtCore 用于导入ui 文件,生成界面窗口、加载界面组件,并初始化事件触发信号和按钮。
Occam 反演算法程序:采用Fortran 语言编写,使用visual studio 编译器生成可执行文件保存到软件所在目录下,等待调用。
操作程序:包括输入部分、运行Fortran 程序和输出部分,输入部分调用shutil 模块和QUiLoader 函数,用于导入实测数据文件,以及将界面内用户输入信息传入相应变量中。运行Fortran 程序部分调用subprocess 和threading 模块,创造子线程调用外部可执行程序。最后输出部分调用numpy 、matplotlib 模块,将计算后输出数据数组化并绘制折线图[3]。2.1 基于Fortran 语言实现Occam 反演算法
电磁法勘探一般实测数据和地下模型之间的关系可以表示为:
(1)
式中,表示的是正演算子,为确定模型的正演响应,
为估计数据误差或是信号噪声,d 表示观测数据,m 表示模型参数。
反演问题是已知实测数据d 反过来求解真实模型空间m ,根据Occam 反演算法我们需要在求解式中加入正则化项,从而在众多满足数据拟合条件的解中选取最简单光滑的解模型。基于上述原理,可以得到目标函数,同时定义:
(2)式中,d 表示实测数据向量,m 表示模型参数空间向量,X 为期望拟合差,W 为对角加权矩阵,为拉
格朗日乘子,
为粗糙度矩阵。
求取目标函数的极小值,即可直接获得此次迭代的新模
型:
(3)
利用上式对模型进行迭代更新,直到数据拟合差达到事先设定的阈值,并选择粗糙程度最小的模型参数,即为所得的地下模型分布信息[4]。通过Fortran 语言进行算法编写,算法流程如图所示。
2.2 基于Pyside2模块开发交互界面
软件交互界面主要框架采用由诺基亚公司开发的Python 图形化界面开源库Pyside ,所有操作均通过用户界面上创建的相应输入区和按钮完成,主要包括参数设计区、运行日志区和结
果输出区。
图1 界面展示
TECHNOLOGY AND INFORMATION
82 科学与信息化2023年10月下
其中参数设计设置“选择文件”按钮,用于快速导入实际采集到的数据,设置“修改参数”按钮,驱动内部程序根据用户在文本框内输入的内容,修改模型初始化参数;运行日志区会根据用户点击操作实时反馈内部程序运行信息,提示进程并反馈错误操作;结果输出区会根据算法程序得到的反演记过绘制折线图,直观反映地下电性分布结构,同时所在路径下会生成结果文件,输出并保存计算结果。图1展示运行初始化和模型参数加载成功界面。
2.3 实例演示
使用瞬变电磁中心回线装置探测某区域,装置直径10m ,电流1A ,得到单点的实测数据。使用一维Occam 反演软件进行处理,如图4所示,在界面上生成折线图,并将反演数据保存。可以看到经过软件处理后的结果呈现出多层状的分布,代表着地下不同电阻率地层的分布情况,电阻率低的分层是含有地下
水的可能性最高,可以作为地下空间开发时的辅助意见。
图2 反演结果示例
3 结束语
本文设计的软件,通过简洁的输入模块和直观的输出模块,将复杂的参数调整、核心计算和数据可视化
等操作封装在内部模块中,用户只需要进行简单的操作,就可以得到瞬变电磁法探测数据的处理结果,省去了中间专业化的处理,极大地简化了实际操作流程,可以更快更高效的将该方法运用到实际地下空间开发中。通过对实际案例的应用和测试,取得了很好的实践效果。
参考文献
[1] 朱雨轩,杨敏,赵德彬,等.关于城市地下空间开发利用问题的探索及实践[J].中国住宅设施,2022,233(10):166-168.
[2] 汪凌,张富明,杨海燕,等.圆锥形场源瞬变电磁OCCAM 反演研究[J].江西科学,2022,40(3):479-483.
正则化反演[3] 刘静,王凤,孟星,等.Python 在数据可视化中的应用案例分析[J].电子技术,2023,52(5):391-393.
[4] Constable S C , Parker R L , Constable C G .Occam ’s inversion: A practical inversion algorithm for generating smooth models from electromagnetic sounding data[J]. Geophysics,1987(52):289-300.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论