二层介质大地电磁响应MATLAB数值模拟系统
项目介绍
本项目是一个用于一维大地电磁(MT)正演模拟的计算系统,专门针对二层水平层状地质模型。通过模拟平面电磁波在垂直入射情况下的传播过程,系统能够精确计算地表观测到的视电阻率和阻抗相位响应。该工具旨在通过数学建模手段,揭示地下电阻率结构与地表电磁响应之间的定量关系,是理解电磁感应规律和进行地球物理定量解释的基础工具。
功能特性
- 水平层状模型正演: 支持自定义第一层电阻率、第二层电阻率及第一层地层厚度,模拟高阻盖低阻或低阻盖高阻等典型地电结构。
- 多量级频率采样: 采用对数等间距采样方法,覆盖从超低频到高频的宽频带范围,确保能够完整捕获浅部与深部的电性特征。
- 阻抗递推计算: 严格遵循电磁波传播复阻抗递推公式,考虑了电磁波在介质界面的反射与透射效应。
- 数据定量评估: 自动生成数值仿真数据表,提供不同频率下的视电阻率与相位数值,方便定量分析。
- 多维度可视化: 自动绘制视电阻率双对数曲线和阻抗相位半对数曲线,并附带理论渐近线与参考线。
- 物理特征预估: 提供基于趋肤深度的理论拐点频率计算功能,帮助确认各层响应的频域范围。
实现逻辑与算法说明
本系统通过以下逻辑步骤完成大地电磁响应的数值模拟:
- 物理参数初始化:
系统定义了真空磁导率(4πe-7 H/m),并根据用户设置的层参数(rho1, rho2, h1)和频率范围(f_min至f_max)构建计算模型。
- 电磁场核心算法:
*
传播常数计算: 对每一层计算传播常数k,公式为 k = sqrt(i * omega * mu0 / rho),其中i为虚数单位,omega为角频率。
*
波阻抗递推: 首先计算底层半空间的特征阻抗Z2,然后利用Wait递推公式计算地表输入阻抗。核心公式结合了第一层的特征波阻抗及双曲正切函数(tanh),精确描述了有限厚度地层对电磁波的调制作用。
*
响应提取: 从复阻抗中提取模值,利用Cagniard视电阻率公式计算视电阻率;通过提取复阻抗的辐角,将其转换为单位为度的阻抗相位。
- 结果输出与可视化:
* 系统以采样间隔输出数值,并利用MATLAB绘图工具生成双子图。
* 视电阻率图中包含第一层和第二层电阻率的水平渐近线,用于辅助判断曲线趋近规律。
* 相位图中包含45度参考线(代表均匀半空间响应),用以衡量层状介质引起的相位偏移。
关键算法细节
- 复阻抗计算: 代码中使用了
1i 处理复数运算,确保了电磁波相位变化的准确性。 - 数值稳定性: 计算过程中通过
logspace 保证了频率跨度的均匀性,有效避免了在线性空间下高频或低频特征缺失的问题。 - 物理关联性: 引入拐点频率估算公式
f = rho / (pi * mu * h^2),将空间几何参数(厚度)与频率域特征点建立联系,增强了模拟结果的可解释性。
使用方法
- 打开运行环境,加载算法程序。
- 在参数设置区域,根据模拟需求修改第一层电阻率(rho1)、第二层电阻率(rho2)以及地层厚度(h1)。
- 运行程序,系统将自动在命令行窗口打印关键频点的数据响应。
- 观察生成的图形窗口,通过视电阻率曲线和相位曲线的形态分析地下电性结构的特征。
系统要求
- 软件环境: MATLAB R2016b 或更高版本。
- 硬件要求: 无特殊性能要求,标准个人电脑即可实现秒级仿真。
- 依赖项: 仅依赖MATLAB标准计算库,无需额外工具箱。