回顾上一章内容,主要讲了FDTD及基于C++的实现方式和边界条件处理,这一章主要内容有两点:1、基于实际操作流程的GPR正演模拟(宽角法和剖面法);2、简单并行化加速GPR正演模拟(基于OpenMP)。
根据参考文献 在GPR勘探中,探测方式主要有两种,一种是宽角法,类似于地震勘探的共炮集记录,另一种是剖面法,但是宽角法在实际工区勘探中由于经费限制,无法大量布置接收天线在阵列,因此,实际工区内的主要勘探方式是剖面法,该方法中接收天线和发射天线以固定间距沿测线以固定步长移动,并将各道接收记录结合形成雷达剖面,本章以三层模型为例进行讲解。
首先是宽角法,只需要在第二章FDTD函数中创建文件流,并输出测线接收记录即可:
// editor:WangBoHua
// date:2024.6.12
//创建文件流
fstream ofs;
//建立输出文件地址
string filename="file_path";
//打开文件
ofs.open(filename,ios::out);
for(int n=0;n<simulation_Step;n++){
//Sample是采样率
if(n%Sample==0){
for(int i=0;i<cellNumForY;i++){
ofs<<Ey[CpmlBound+1][i]<<'\t';
}
ofs<<endl;
}
}
ofs.close()
设计采样率为1*courant,这里给出Python绘图代码:
#editor:WangBoHua
#date:2024.6.12
# for gpr grawing
import numpy as np
import matplotlib.pyplot as plt
# 宽角法雷达记录
t=np.linspace(0,6000,7001,dtype=float)*courant*1e9
x=np.linspace(0,5,1000,dtype=float)
rec=np.genfromtxt("接受记录位置")
fig2=plt.figure(dpi=1000)
ax7=fig2.add_subplot(1, 1, 1)
ax7.pcolormesh(rec, vmin=-0.001,vmax=0.002, cmap='jet', rasterized

855

被折叠的 条评论
为什么被折叠?



