探地雷达正演模拟,基于时域有限差分方法,一

2024-06-10 04:28

本文主要是介绍探地雷达正演模拟,基于时域有限差分方法,一,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

     声明:本博客中的公式均是在Word中使用AxMath写好后截图使用的,欢迎引用,但请标注来源。

本系列会有四篇博客:

第一篇内容:

1、基础知识掌握

2、Maxwell方法差分求解原理

第二篇内容:

1、基于C++的TE波波动方程实现

2、边界问题的产生及处理

第三篇内容:

1、基于实际操作流程的GPR正演模拟

2、简单并行化加速GPR正演模拟

第四篇内容:

1、GPR剖面获取及成像

2、简单数据处理及分析

   探地雷达(Ground-Penetrating-Radar,GPR)是一种使用高频电磁波探测近地表地下结构的地球物理勘探方法,该方法对地表无破坏,操作简便,已被广泛应用于考古、城市道路建设、岩土工程调查等领域,有着非常良好的使用效果。但是,当前公开的GPR实际资料较少且难以形成庞大的知识库作为先验性息以备研究人员对实测剖面进行识别,所以,使用GPR正演模拟获得一套资料就显得尤为重要了。

        当前,基于Maxwell方程的GPR正演模拟主要使用的方法有:

        1、有限元方法(论文和开源软件都有)

        2、时域有限差分方法(GPRMax软件已经集成,但该软件没有界面,使用需要通过命令行程序执行)

        其中,时域有限差分方法(Finite-Difference-Time-Domain,FDTD)由K.S.Yee于1966年提出,是一种非常成熟且概念简单的正演模拟方法,因此,本系列博客决定基于FDTD实现GPR正演模拟。

一、时域有限差分方法

        首先从Maxwell旋度方程及其本构方程讲起:

      Maxwell旋度方程:

Maxwell旋度方程

本构关系:

电磁场向量本构关系

在上述公式中,E是电场强度(V/m),H是磁场强度(H/m),D是电通量密度(C/m^2),B是磁通量密度(Wb/m^2),J是电流密度(A/m^2),介电常数\varepsilon _0=8.85*10^{-12}F/m,磁导常数\mu_0=4\pi *10e^{-7}H/m 。

        将旋度方程转换为差分式是比较容易理解的,这里为了方便表示,使用了矩阵形式表示二维微分方程形式的TE波波动方程:

TE波波动方程矩阵形式

其中,

参照参考文献1中的Yee元胞结构:

Yee元胞结构

        通过Yee元胞离散后,就可以对上述波动方程公式进行空间取样。

        这时要注意:虽然文献1中的差分取样是中心差分,该方式的好处是可以得到二阶计算精度(具体可以通过Taylor公式计算),但是计算机中无法通过上述方式实现,只能是在规定点取样,所以,理论上是二阶精度,但是,计算中仍然是一阶精度。

        首先是系数矩阵问题,公式详见参考文献1P18-P19:

系数矩阵

由n状态更新到n+1状态就可以:

具体下标差分方程

上述内容为使用FDTD实现GPR正演模拟所需要的基础知识,重新梳理一遍:通过Yee元胞对Maxwell方程进行离散,得到电磁场的更新方程。

参考文献:葛德彪,闫玉波. 电磁波时域有限差分法第2版.西安:西安电子科技大学出版社,2005:133-137,37,118.

Shen, H, Y., Li, X, S., Duan, R, F., et al., (2023), Quality evaluation of ground improvement by deep cement mixing piles via ground-penetrating radar. Nature Communications,14,34-48. https://doi.org/10.1038/s41467-023-39236-4

冯德山,戴前伟,何继善等. 探地雷达GPR正演的时域有限差分实现(英文)[J].地球物理学进展,2006,(02):630-636.

李静,刘津杰,曾昭发等. 基于变换光学有限差分探地雷达数值模拟研究[J].地球物理学报,2016,59(06):2280-2289.

这篇关于探地雷达正演模拟,基于时域有限差分方法,一的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1047208

相关文章

python运用requests模拟浏览器发送请求过程

《python运用requests模拟浏览器发送请求过程》模拟浏览器请求可选用requests处理静态内容,selenium应对动态页面,playwright支持高级自动化,设置代理和超时参数,根据需... 目录使用requests库模拟浏览器请求使用selenium自动化浏览器操作使用playwright

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

SQL Server安装时候没有中文选项的解决方法

《SQLServer安装时候没有中文选项的解决方法》用户安装SQLServer时界面全英文,无中文选项,通过修改安装设置中的国家或地区为中文中国,重启安装程序后界面恢复中文,解决了问题,对SQLSe... 你是不是在安装SQL Server时候发现安装界面和别人不同,并且无论如何都没有中文选项?这个问题也

Java Thread中join方法使用举例详解

《JavaThread中join方法使用举例详解》JavaThread中join()方法主要是让调用改方法的thread完成run方法里面的东西后,在执行join()方法后面的代码,这篇文章主要介绍... 目录前言1.join()方法的定义和作用2.join()方法的三个重载版本3.join()方法的工作原

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分

Spring Boot从main方法到内嵌Tomcat的全过程(自动化流程)

《SpringBoot从main方法到内嵌Tomcat的全过程(自动化流程)》SpringBoot启动始于main方法,创建SpringApplication实例,初始化上下文,准备环境,刷新容器并... 目录1. 入口:main方法2. SpringApplication初始化2.1 构造阶段3. 运行阶

Olingo分析和实践之ODataImpl详细分析(重要方法详解)

《Olingo分析和实践之ODataImpl详细分析(重要方法详解)》ODataImpl.java是ApacheOlingoOData框架的核心工厂类,负责创建序列化器、反序列化器和处理器等组件,... 目录概述主要职责类结构与继承关系核心功能分析1. 序列化器管理2. 反序列化器管理3. 处理器管理重要方

Python错误AttributeError: 'NoneType' object has no attribute问题的彻底解决方法

《Python错误AttributeError:NoneTypeobjecthasnoattribute问题的彻底解决方法》在Python项目开发和调试过程中,经常会碰到这样一个异常信息... 目录问题背景与概述错误解读:AttributeError: 'NoneType' object has no at

postgresql使用UUID函数的方法

《postgresql使用UUID函数的方法》本文给大家介绍postgresql使用UUID函数的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录PostgreSQL有两种生成uuid的方法。可以先通过sql查看是否已安装扩展函数,和可以安装的扩展函数

Java中Arrays类和Collections类常用方法示例详解

《Java中Arrays类和Collections类常用方法示例详解》本文总结了Java中Arrays和Collections类的常用方法,涵盖数组填充、排序、搜索、复制、列表转换等操作,帮助开发者高... 目录Arrays.fill()相关用法Arrays.toString()Arrays.sort()A