gprMax的默认行为是使用一阶CFS PML,该PML在模型域的六面各有10个单元格的厚度。这
个厚度可以通过以下命令进行更改。
7.1 pml_cells命令
功能:控制在模型域的六面使用的PML单元格的数量。PML是在模型域中定义的,也就是说,它没有添加到域大小中。
命令格式为:#pml_cells: i1 [i2 i3 i4 i5 i6]
i1:为模型域的所有边使用的PML的单元数(可以设置为零以完全关闭PML),或者i1是要在最接近x
轴原点的模型域边使用的PML的单元数(x0)。
i2:为最靠近y轴原点(y0)的模型域一侧使用的PML单元数。
i3:为最靠近z轴原点(z0)的模型域一侧使用的PML单元数。
i4:为离x轴原点最远的模型域(xmax)一侧使用的PML单元数。
i5:为离y轴原点最远的模型域(ymax)一侧使用的PML单元数。
i6:为离z轴原点(zmax)最远的模型域一侧使用的PML单元数。
i1、i2、i3、i4、i5、i6设置为零,以关闭模型域特定一侧的PML
例如,仅在域的z轴两侧使用具有20个单元格(比默认的10个单元格更粗)的PML,则指令为:
#pml_cells: 10 10 20 10 10 20
7.2 pml_cfs命令
功能:控制用于构建PML的每个顺序的参数。目前可以指定最多二级PML,即通过使用两
个#pml_cfs命令。
命令格式为:#pml_cfs: str1 str2 f1 f2 str3 str4 f3 f4 str5 str6 f5 f6
str1:用于CFS参数的缩放类型。它可以是constant, linear, quadratic,cubic, quartic, quintic ,sextic.
(常数、线性、二次、三次、四次、五次和六次)。
str2:用于CFS参数的缩放方向。它可以forward ,reverse是正向的,也可以是反向的。
f1、f2:为CFS参数的最小值和最大值。
str3:用于CFS参数的缩放类型。它可以是constant, linear, quadratic,cubic, quartic, quintic ,sextic.
(常数、线性、二次、三次、四次、五次和六次)。
str4:用于CFS参数的缩放方向。它可以forward ,reverse是正向的,也可以是反向的。
f3、f4:为CFS参数的最小值和最大值。CFS𝜅参数的最小值为1。
str5:用于CFS参数的缩放类型。它可以是constant, linear, quadratic,cubic, quartic, quintic ,sextic.
(常数、线性、二次、三次、四次、五次和六次)。
str6:用于CFS参数的缩放方向。它可以是forward ,reverse正向的,也可以是反向的。
f5、f6:为CFS参数的最小值和最大值。
用于默认标准一阶PML的CFS值(内部指定)是:
#pml_cfs: constant forward 0 0 constant forward 1 1 quartic forward 0 None
如果将最大值指定为“None”,则gprMax将根据模型中底层材料的相对介电常数和磁导率在内部计算它。
注:这些参数将被应用到PML的所有面板上。正向表示PML内边界处参数值最小,计算域边缘处参数值最大,反向则相反。