GprMax2D ——激励和输出命令

  1. #analysis:
  2. #end_analysis:
  3. #tx:
  4. #rx:
  5. #rx_box:
  6. #snapshot:
  7. #tx_steps:
  8. #rx_steps:
  9. #line_source:
  10. #excitation_file:

从GprMax2D 2.0版开始,在开始分析之前,我们需要使用命令指定至少一个源的特性
#line_source:f1 f2 str1 str2
其中f1和f2分别是线源电流的安培幅度和源激励波形的赫兹频率。参数str1控制激励波形的类型。str1的可用选项是:

  • cont_sine 是指定频率下的连续正弦波形。为了避免在计算中引入噪声,在正弦波的第一个周期(斜坡激励)中调制波形的幅度。
  • sine (正弦波)是指定频率的正弦波形的单个周期。
  • gaussian 是高斯波形
  • ricker 是高斯波形的一阶导数
  • user 可以用来引入用户定义的激励函数的模型。

参数str2是用户提供的ID,随后将用于将该源的规范与其在模型中的应用点相关联。
例如,
#line_source:1.0 600e6 ricker MySource
指定具有ID MySource并且频率为600 MHz 的线源,其具有ricker小波的波形,幅度为1.要使用该线源,之后仅仅需要其ID(MySource)就可以了。
如果已选择user类型,则命令
#excitation_file:str1
需要包含在模型中。命令#excitation_file:允许用户指定单个ASCII文件,其中包含可用于激发模型的振幅值列表。这些值必须至少等于将要执行的迭代次数。如果它们小于此数字,则将零值替换为缺失值。如果指定的值多于所需的值,则它们是多余的并被忽略。例如,命令
#excitation_file:mysource.dat
将读取文件mysource.dat中的值,该文件可用于代替通过使用GprMax的内置激励函数之一获得的值来描述模型中源的脉冲形状。

#analysis: 和 #end_analysis:

在引入源类型之后,在GprMax2D中放置源和输出点是使用一对新命令#analysis:和#end_analysis:完成的,源命令#tx:和接收器命令#rx:/或#rx_box:放在这两个命令之间。
#analysis命令的语法是
#analysis:i1 file1 c1
参数i1是模型的新运行次数。这类似于旧#scan命令中的扫描次数,这意味着对于每个i1,模型将在重新设置所有数组和时间为零之后再次运行。参数file1是将要存储此#analysis的所有结果的文件的名称,参数c1是单个字符a或b,分别表示输出文件(file1)的格式为ASCII或是BINARY。使用#analysis:命令启动分析部分。
重要的是遵循#analysis:命令 - 在插入其他源和输出控制命令之后 - 执行以下命令
#end_analysis:
表示分析部分的结束。该#end_analysis:命令有没有参数。在您的输入文件中,可以有任意数量的#analysis:和#end_analysis:命令对。

#tx:, #rx: 和 #rx_box:

命令#tx:,#rx:和#rx_box:一起使用以引入源位置(#tx :)和输出点(#rx:和#rx_box :)。
可以在模型中指定任意数量的#tx:命令以及任何数量的#rx:和#rx_box:命令。
#tx:命令的新语法是:
#tx:f1 f2 str1 f3 f4
参数f1和f2是模型中源的坐标(x,y),以米为单位。参数str1是在使用源描述命令(即#line_source :)之前指定的源ID 。参数f3是源启动的延迟。如果它大于零,那么在经过该时间延迟之后,源将处于活动状态。参数f4是源移除的时间。如果模拟运行的时间超过源的移除时间,则源将在f4秒后停止在模型中运行。如果源移除时间长于模拟时间窗口,源对于完整模拟是活动状态的,而且使用的是时间窗口值。
#rx:命令的语法是:
#rx:f1 f2
参数f1和f2是输出(接收器)点的坐标(x,y),以米为单位。#rx_box:命令的语法是:
#rx_box:f1 f2 f3 f4 f5 f6
参数f1和f2是输出区域的右下坐标(x,y)。F3和F4是输出区域的右上坐标(x,y),最后F5和F6是定义在每个方向上输出的点的数目的步长。最小值F5是Δ X,F6是Δ y
例如,使用命令:
#analysis:1 test1.out a
#tx:0.5 0.5 MySource 0.0 10e-9
#rx:0.5 0.7
#rx:0.5 0.8
#rx:0.6 0.5
#rx_box:0.3 0.3 0.5 0.5 0.01 0.01
#end_analysis:
GprMax2D将运行一次模型。只有一个源点位于(0.5,0.5),并且将使用ID MySource的激励- 应该在文件的前面指定。源从时间0.0开始有效,直到模拟时间为10纳秒,这可能是所请求时间窗口的结束或早于此时间窗口。
输出将以ASCII格式存储在文件test1.out中。在(0.5,0.7),(0.5,0.8)和(0.6,0.5)处的三个#rx:命令指定的点,他们的电磁场时间演变将存储在输出文件中。除了使用#rx:命令定义的三个点之外,输出也将在#rx_box:命令定义的点处定义

创建扫描或多次运行模型!

如果#analysis:命令的I1大于1,模型将再次运行以计算当前分析中的新步骤。
为了使其有意义,我们需要包括两个或至少一个命令
#tx_steps:
#rx_steps:
它将分别通过定义为上述命令参数的增量来提升#tx:和#rx:命令的坐标。#tx_steps:的定义是
#tx_steps:f1 f2
其中参数f1和f2是使用#tx:命令指定的所有源的x和y坐标的增量(米)。同样,命令#rx_steps:定义为:
#rx_steps:f1 f2
其中参数f1和f2是使用#rx:命令指定的所有接收器的x和y坐标的增量(米):
例如,以下语句
#analysis:10 test1.out a
#tx:0.5 0.5 MySource 0.0 10e-9
#rx:0.6 0.5
#tx_steps:0.01 0.0
#rx_steps:0.01 0.0
#end_analysis:
将允许模拟10个GPR迹线。该#tx:用于所述第一迹线是在(0 .5 ,0 .5),#rx:在(0 .6 ,0 .5)。发射器和接收器的x方向以0.01的步长收集剩余的痕迹。重要说明:使用#rx_box:命令指定的任何输出点(即接收器)的坐标不会使用#rx_steps:命令进行更新,并且在整个分析过程中保持与输入文件中定义的相同。
最后一个命令 - 在下面描述 - 可以在一对#analysis和#end_analysis:命令之间插入——#snapshot命令:

#snapshot:

为了在给定时刻获得有关模型区域内电磁场的信息,可以使用#snapshot:命令。该命令的语法是:
#snapshot:i1 f1 f2 f3 f4 f5 f6 f7 file1 c1

#snapshot:i1 f1 f2 f3 f4 f5 f6 i2 file1 c1
该命令的参数是:
i1是一个称为全局源位置的计数器,用于确定应该为其拍摄快照的源位置。全局源位置的值介于1和#analysis:命令中定义为第一个参数的步数之间。
f1 f2是快照的矩形区域的左下(x,y)坐标,以米为单位
f3 f4是快照的矩形区域的右上(x,y)坐标,以米为单位
f5 f6分别是x和y方向上的以米为单位的采样间隔
f7 或 i2 分别是以秒为单位的快照时间(浮点数)或迭代次数(整数),表示拍摄快照的时间点
file1 是要存储快照的文件的文件名
如果快照文件的格式分别为ASCII或BINARY,则 c1 可以是 a 或 b 。例如命令:
#analysis:10 test1.out a
#tx:0.5 0.5 MySource 0.0 10e-9
#rx:0.6 0.5
#snapshot:5 0.0 0.0 1.0 1.0 0.1 0.1 3e-9 snap1.out b
#tx_steps:0.01 0.0
#rx_steps:0.01 0.0
#end_analysis:
当模型计算第五个 GPR迹线时,将允许在3纳秒内获得模型中电磁场的快照。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值