GprMax 3.1.5 建模的in文件编写详解(2)
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)相关推荐
- GprMax 3.1.5 建模的in文件编写详解(1)
GprMax 3.1.5 建模的in文件编写详解(1) gprMax是一款优秀的基于时域有限差分方法(FDTD)的电磁波数值模拟软件,目前为止,它还没有图形用户界面(GUI),它的建模关键在于in文件 ...
- 基于php下载文件的详解
基于php下载文件的详解 本篇文章是对php下载文件进行了详细的分析介绍,需要的朋友参考下 php下载文件,比如txt文件. 出现的效果就是,弹出浏览器自带的下载框,出现另存为操作.有时候会出现内存溢 ...
- linux文件权限详解
linux文件权限详解 一.文件和目录权限概述 在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录. 通过设定权限可以从以下三种访问方式限制访问权限: ...
- VMware虚拟机文件夹中各文件作用详解
VMware虚拟机文件夹中各文件作用详解 虚拟机的文件管理由VMware Workstation来执行. 一个虚拟机一般以一系列文件的形式储存在宿主机中, 这些文件一般在由workstation为虚拟 ...
- 每天一个linux命令(2):文件权限详解
Linux文件权限详解 文件和目录权限概述 在linux中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录. 通过设定权限可以从以下三种访问方式限制访问权限:只允 ...
- java读取本地文件_java 读取本地文件实例详解
java 读取本地文件实例详解 用javax.xml.w3c解析 实例代码: package cn.com.xinli.monitor.utils; import org.w3c.dom.Docume ...
- python生成表格文件_python 读取excel文件生成sql文件实例详解
python 读取excel文件生成sql文件实例详解 学了python这么久,总算是在工作中用到一次.这次是为了从excel文件中读取数据然后写入到数据库中.这个逻辑用java来写的话就太重了,所以 ...
- [转]文件IO详解(二)---文件描述符(fd)和inode号的关系
原文:https://www.cnblogs.com/frank-yxs/p/5925563.html 文件IO详解(二)---文件描述符(fd)和inode号的关系 ---------------- ...
- C++ close()关闭文件方法详解
<C++ open打开文件>一节中,详细介绍了文件流对象如何调用 open() 成员方法打开指定文件.相对应地,文件流对象还可以主动关闭先前打开的文件,即调用 close() 成员方法. ...
最新文章
- 没有导师指导,该如何自己选题发CVPR?
- spring23:Aspectj实现异常通知@AfterThrowing
- Confluence 实现公司wiki【转】
- 从OpenFOAM的源码中查找信息
- Deep Reinforcement Learning: Pong from Pixels
- MongoDB 日志文件过大的解决方法
- EMA算法的C#实现
- linux 查看所有端口号_linux系统:ss命令
- 《编码的奥秘》目录摘要及读书笔记
- RTSP流媒体播放器实现
- Attack State Slight Movement(攻击状态)
- Masonry自动布局详解五:比例(multipliedBy)
- js判断当前浏览器的环境是微信、pc、还是手机端非微信环境
- 特殊的数独身数,:水仙花数, 四叶玫瑰数, 五角星数, 六合数 ,北斗七星数, 八仙数, 九九重阳数 ,十全十美数...
- Word长篇文档排版技巧
- 牛客网 A-吐泡泡 栈的模拟
- android extra_shortcut_icon,Android自动创建shortcut
- Java面试题集(116-135)
- 欧美软件外包三种模式
- macOS卸载Cisco AnyConnect的正确方式
热门文章
- python 小说数据挖掘_Python 中的实用数据挖掘
- matlab贝塞尔函数的根,matlab画贝塞尔函数根分布的曲线图.doc
- 渭南师范计算机科学与技术,渭南师范学院计算机科学与技术专业2016年在陕西理科高考录取最低分数线...
- 潭州课堂25班:Ph201805201 并发(非阻塞,epoll) 第十课 (课堂笔记)
- Java通过JDBC操作Hive
- Python——分布式监控项目
- MySQL 5.5 主从复制异步、半同步以及注意事项详解
- XSLT实现XML无极限树(精简版)[二] 解决没有递归出节点属性值总和的问题(JS实现)...
- linux自动输入sudo密码_用大写字母输入 Linux 命令,实现以 sudo 用户权限运行
- 計算機二級-java09