GprMax 3.1.5 建模的in文件编写详解(2)

GprMax 3.1.5 建模的in文件编写详解(2)

gprMax是一款优秀的基于时域有限差分方法(FDTD)的电磁波数值模拟软件,目前为止,它还没有图形用户界面(GUI),它的建模关键在于in文件的编写。基于此,在浏览gprMax官方网站link后,加上自己的理解,这篇帖子希望对gprMax爱好者有所帮助。

一、一个简单的in文件范例

在上一个帖子(GprMax 3.1.5 建模的in文件编写详解(1))中我们介绍了gprMax中的”helloworld“,它输出的是探地雷达A扫描的结果,这篇帖子介绍B扫描文件的编写,同样的,还是建立一个介电半空间介质中的金属圆柱模型。

具体的in文件如下:

#title: B-scan from a metal cylinder buried in a dielectric half-space
#domain: 0.240 0.210 0.002
#dx_dy_dz: 0.002 0.002 0.002
#time_window: 3e-9

#material: 6 0 1 0 half_space

#waveform: ricker 1 1.5e9 my_ricker
#hertzian_dipole: z 0.040 0.170 0 my_ricker
#rx: 0.080 0.170 0
#src_steps: 0.002 0 0
#rx_steps: 0.002 0 0

#box: 0 0 0 0.240 0.170 0.002 half_space
#cylinder: 0.120 0.080 0 0.120 0.080 0.002 0.010 pec

#geometry_view: 0 0 0 0.240 0.210 0.002 0.002 0.002 0.002 cylinder_half_space n

对应的模型如下图所示:
在这里插入图片描述

二、解释上面命令的意思

从上面的命令可以看出,与A-scan相比,仅是多了两行命令:

#src_steps:0.002 0 0
#rx_steps:0.002 0 0

其他的命令与解释我都在(GprMax 3.1.5 建模的in文件编写详解(2))link说明,在这里我介绍这两行命令的意思。

gprMax用#src_steps:和#rx_steps:这两个命令分别表示源和接收点位置的移动,在我们实际工作或建模数值模拟时,探地雷达的发射天线和接收天线位置不是一成不变的,而是沿着测线移动的。gprMax 3.0 提供了这个功能,在一次正演模拟中,不仅接收器可以移动,源也可以移动,这样为了更好的模拟探地雷达提供了方便。

#src_steps:和#rx_steps:这两个命令各有三个参数,分别为x,y,z方向上的移动步长。

我们也可以使用#rx_array:命令在模型中定义多个输出点。命令如下:

#rx_array:f1 f2 f3 f4 f5 f6 f7 f8 f9

f1 f2 f3为输出体积(如输出线或矩形等)的左下(x,y,z)坐标;
f4 f5 f6为输出体积的右上(x,y,z)坐标;
f7 f8 f9是增量(x,y,z),它定义了每个方向的输出点的数量。f7、f8或f9可以设置为零,增量设置的最小值为网格单元的长度。

三、gprMax运行结果

要运行模型来创建B-scan,必须传递一个可选参数来指定模型应运行的次数。在本例中,这是组成b扫描(轨迹)的数量,B扫描的距离为120毫米,步长为2毫米,则要进行60次a扫描。

在cmd中运行gprMax,输入命令为:

$ python -m gprMax user_models/cylinder_Bscan_2D.in -n 60

通过这个命令我们运行gprMax会得到60个输出文件,他们的文件名末尾以数字1、2、3…60表示,我们可以用命令将他们合成一个文件。命令如下:

$ python -m tools.outputfiles_merge user_models/cylinder_Bscan_2D

然后,我们就可以绘出B-scan图了,输入命令:

$ python -m tools.plot_Bscan user_models/cylinder_Bscan_2D_merged.out Ez

在这里插入图片描述
后续我还会发布一些高级操作,希望这篇入门级介绍对大家有所帮助,可以关注我后面的帖子。

  • 11
    点赞
  • 83
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 22
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

商功贤

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值