一、in建模文件示例
gprMax (http://www.gprmax.com)是一款模拟电磁波传播的开源软件。它采用时域有限差分(FDTD)方法求解三维麦克斯韦方程组。gprMax是为模拟探地雷达(GPR)而设计的,但也可以用于模拟电磁波传播的许多其他应用。
in建模文件如下:
#domain: 2.7 1.8 0.01
#dx_dy_dz: 0.01 0.01 0.01
#time_window: 59e-9
#material: 1.0 0 1.0 0 atmosphere
#material: 10 0.008 1.0 0 guanpian
#material: 12 0.008 1.0 0 zhujiang
#material: 15 0.05 1.0 0 yuanlishi
#material: 25.0 0.008 1.0 0 water
#waveform: ricker 1 500e6 my_ricker
#hertzian_dipole: z 0.15 1.6 0 my_ricker
#rx: 0.23 1.6 0
#src_steps: 0.03 0 0
#rx_steps: 0.03 0 0
#box: 0 0 0 2.7 1.8 0.01
#box: 0 0 0 2.7 1.6 0.01
#box: 0 0 0 2.7 1.3 0.01
#box: 0 0 0 2.7 1.0 0.01
#cylinder: 0.1 1.54 0 0.1 1.54 0.01 0.008 pec
#cylinder: 0.3 1.54 0 0.3 1.54 0.01 0.008 pec
#cylinder: 0.5 1.54 0 0.5 1.54 0.01 0.008 pec
#cylinder: 0.7 1.54 0 0.7 1.54 0.01 0.008 pec
#cylinder: 0.9 1.54 0 0.9 1.54 0.01 0.008 pec
#cylinder: 1.1 1.54 0 1.1 1.54 0.01 0.008 pec
#cylinder: 1.3 1.54 0 1.3 1.54 0.01 0.008 pec
#cylinder: 1.5 1.54 0 1.5 1.54 0.01 0.008 pec
#cylinder: 1.7 1.54 0 1.7 1.54 0.01 0.008 pec
#cylinder: 1.9 1.54 0 1.9 1.54 0.01 0.008 pec

二、基本命令
1.建模域
#domain:
命令格式为:
#domain: 2.8 1.8 0.01
2.7 1.8 0.01 模型在x、y和z方向上的大小,当建模模文件为二维文件时,这里的z方向为网格的大小
2.模型网格大小
#dx_dy_dz:
命令格式为:
#dx_dy_dz: 0.01 0.01 0.01
其中dx为x方向的空间步长(∆𝑥),dy为y方向的空间步长(∆𝑦),dz为z方向的空间步长(∆𝑧)。
3.时窗
#time_window:
命令格式:
#time_window: 59e-9
如果我们想要看到圆柱反射回来的电磁波,时间窗口必须合适,使电磁波从源发射,通过半空间传播到圆柱,然后反射回接收器,即,这是所需的最小时间。时间步长:时间步长,是指前后两个时间点之间的差值。在过程模拟中,模型将整个过程离散为iV个细小的过程,而每一步需要的时间就是AT,即时间步长。
4.模型材料属性
命令格式:
#material: 1.0 0 1.0 0 atmosphere
相对介电常数为1.0,电导率为0,相对磁化率为1.0,磁损为0,使用标识符atmosphere。8.
5.波形
#waveform:
命令格式:
#waveform: ricker 1 500e6 my_ricker
6.放射源位置
#hertzian_dipole: z 0.15 1.6 0 my_rickr
Z是源的极化方向,这里可以是x、y或z方向,0.15 1.6 0是模型中源的坐标(x,y,z)。
7.接收器位置
#rx: 0.23 1.6 0
0.23 1.6 0别是接收点的x、y、z坐标。这里要注意,我在设置天线移动方向的道数乘以天线移动步长要小于建模域方向大小,否者会报错。所以要注意发射天线与接收天线位置。
8.天线移动步长
#src_steps: 0.03 0 0
#rx_steps: 0.03 0 0
这里天线移动步长设置的大小是影响GprMax输出图像的影响因素之一。
#box: 0 0 0 2.7 1.8 0.01
#cylinder: 0.1 1.54 0 0.1 1.54 0.01 0.008 pec
#box是将具有特定属性的正交平行六面体引入到模型中。前三个参数是平行六面体的左下(x,y,z)坐标,后面三个参数是平行六面体的右上(x,y,z)坐标,二维模型z这里为网格大小。第七个参数是一个材质标识符,必须对应于已经在输入文件中定义的材质,或者是一个内置材质pec或free_space。
#cylinder:将圆柱体引入到模型中。圆柱轴的方向可以是任意的,即它不与模型的笛卡尔轴之一对齐。前三个参数是圆柱的一个面中心的坐标(x,y,z), 后面三个参数是另一个面中心的坐标(x,y,z)。第七个参数是圆柱的半径。第八个参数是一个材质标识符,必须对应于已经在输入文件中定义的材质,或者是一个内置材质pec或free_space。
9.显示模型:
#geometry_view: f1 f2 f3 f4 f5 f6 f7 f8 f9 file1 c1
将有关模型几何形状的信息输出到文件。这些文件使用开源的可视化工具包(VTK) (http://www.vtk.org)格式,可以在许多免费读者(如Paraview)中查看(http://www.paraview.org)。该命令可以用来创建模型的几个3D视图,这些视图对于检查模型是否已按预期构造好非常有用。
f1 f2 f3是几何视图的左下(x,y,z)坐标,单位是米。f4 f5 f6是几何体视图的右上角(x,y,z)坐标,单位是米。f7 f8 f9是几何视图以米为单位的空间离散化。通常情况下,这些将与模型的空间离散化相同,但如果需要,它们可以更快速。•file1是文件的文件名,几何视图将被存储在与输入文件相同的目录下。•c1可以是n (normal)或f (fine),它指定是在每个单元(n)或每个单元边缘(f)的基础上输出几何信息。fine模式应该保留用于查看占用小体积的几何的详细部分,因为使用这种模式可以生成大文件大小的几何文件。
11.生成b-scan二维刨面图的命令
找到GprMax软件位置
cd /d D:\my_gprmax\gprMax
激活GprMax软软
activate gprMax
运行计算B-scan二维剖面图,设置天线发射道数为80道
python -m gprMax G:\example\void.in -n 80
将多个.out文件进行整合
python -m tools.outputfiles_merge G:\example\void
生成B-scan二维刨面图,取Ez为电场强度参数z方向参数出图
python -m tools.plot_Bscan G:\example\void_merged.out Ez
图片来源于gprmax官方手册,具体解释请看手册详解。
如果我写的内容对您有帮助麻烦点个赞支持一下,您的支持就是我最大的动力!