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

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

文章目录

  • GprMax 3.1.5 建模的in文件编写详解(2)
    • 一、一个简单的in文件范例
    • 二、解释上面命令的意思
    • 三、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


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

GprMax 3.1.5 建模的in文件编写详解(2)相关推荐

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

    GprMax 3.1.5 建模的in文件编写详解(1) gprMax是一款优秀的基于时域有限差分方法(FDTD)的电磁波数值模拟软件,目前为止,它还没有图形用户界面(GUI),它的建模关键在于in文件 ...

  2. 基于php下载文件的详解

    基于php下载文件的详解 本篇文章是对php下载文件进行了详细的分析介绍,需要的朋友参考下 php下载文件,比如txt文件. 出现的效果就是,弹出浏览器自带的下载框,出现另存为操作.有时候会出现内存溢 ...

  3. linux文件权限详解

    linux文件权限详解 一.文件和目录权限概述 在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录. 通过设定权限可以从以下三种访问方式限制访问权限: ...

  4. VMware虚拟机文件夹中各文件作用详解

    VMware虚拟机文件夹中各文件作用详解 虚拟机的文件管理由VMware Workstation来执行. 一个虚拟机一般以一系列文件的形式储存在宿主机中, 这些文件一般在由workstation为虚拟 ...

  5. 每天一个linux命令(2):文件权限详解

    Linux文件权限详解 文件和目录权限概述 在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录. 通过设定权限可以从以下三种访问方式限制访问权限:只允 ...

  6. java读取本地文件_java 读取本地文件实例详解

    java 读取本地文件实例详解 用javax.xml.w3c解析 实例代码: package cn.com.xinli.monitor.utils; import org.w3c.dom.Docume ...

  7. python生成表格文件_python 读取excel文件生成sql文件实例详解

    python 读取excel文件生成sql文件实例详解 学了python这么久,总算是在工作中用到一次.这次是为了从excel文件中读取数据然后写入到数据库中.这个逻辑用java来写的话就太重了,所以 ...

  8. [转]文件IO详解(二)---文件描述符(fd)和inode号的关系

    原文:https://www.cnblogs.com/frank-yxs/p/5925563.html 文件IO详解(二)---文件描述符(fd)和inode号的关系 ---------------- ...

  9. C++ close()关闭文件方法详解

    <C++ open打开文件>一节中,详细介绍了文件流对象如何调用 open() 成员方法打开指定文件.相对应地,文件流对象还可以主动关闭先前打开的文件,即调用 close() 成员方法. ...

最新文章

  1. 没有导师指导,该如何自己选题发CVPR?
  2. spring23:Aspectj实现异常通知@AfterThrowing
  3. Confluence 实现公司wiki【转】
  4. 从OpenFOAM的源码中查找信息
  5. Deep Reinforcement Learning: Pong from Pixels
  6. MongoDB 日志文件过大的解决方法
  7. EMA算法的C#实现
  8. linux 查看所有端口号_linux系统:ss命令
  9. 《编码的奥秘》目录摘要及读书笔记
  10. RTSP流媒体播放器实现
  11. Attack State Slight Movement(攻击状态)
  12. Masonry自动布局详解五:比例(multipliedBy)
  13. js判断当前浏览器的环境是微信、pc、还是手机端非微信环境
  14. 特殊的数独身数,:水仙花数, 四叶玫瑰数, 五角星数, 六合数 ,北斗七星数, 八仙数, 九九重阳数 ,十全十美数...
  15. Word长篇文档排版技巧
  16. 牛客网 A-吐泡泡 栈的模拟
  17. android extra_shortcut_icon,Android自动创建shortcut
  18. Java面试题集(116-135)
  19. 欧美软件外包三种模式
  20. macOS卸载Cisco AnyConnect的正确方式

热门文章

  1. python 小说数据挖掘_Python 中的实用数据挖掘
  2. matlab贝塞尔函数的根,matlab画贝塞尔函数根分布的曲线图.doc
  3. 渭南师范计算机科学与技术,渭南师范学院计算机科学与技术专业2016年在陕西理科高考录取最低分数线...
  4. 潭州课堂25班:Ph201805201 并发(非阻塞,epoll) 第十课 (课堂笔记)
  5. Java通过JDBC操作Hive
  6. Python——分布式监控项目
  7. MySQL 5.5 主从复制异步、半同步以及注意事项详解
  8. XSLT实现XML无极限树(精简版)[二] 解决没有递归出节点属性值总和的问题(JS实现)...
  9. linux自动输入sudo密码_用大写字母输入 Linux 命令,实现以 sudo 用户权限运行
  10. 計算機二級-java09