3 基本命令

本文介绍了gprMax中如何使用Python代码块执行脚本,包括内置常量和变量的使用,以及诸如time_step_stability_factor、title、messages和num_threads等高级命令的功能和格式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

3.1 python代码块命令

        功能:输入文件中编写#python和#end_python之间的python代码块。代码块会在gprMax读取

输入文件时执行。

        命令格式为:#python:

                                        代码块

                            #end_python:

        使用到Python脚本,是为包含gprMax更复杂对象库,比如天线,使用python脚本就可以很容

易地插入到模型中。

         gprMax中内置常量,运用Python代码可以直接使用:

光在真空中的速度:𝑐 = 2.9979245 × 108 m/s

自由空间的介电常数:𝜖0 = 8.854187 × 10−12 F/m

自由空间的磁导率:𝜇0 = 1.256637 × 10−6 H/m

自由空间的阻抗:𝑧0 = 376.7303134 Ohms

        gprM中内置变量,运用Python代码可以直接使用:

current_model_run:正在执行的模型的当前运行数

Number_model_runs:模型最初执行时指定的运行总数(模型跑bscan图使用)

        python -m gprMax my_input_file -n number_of_model_runs

input_directory:输入文件所在目录的路径

        命令的使用:函数输入指令

      使用Python代码块中创建命令更容易,其中gprMax中有内置模块,包含一些最常用的函数形式

的输入命令。

        例如,使用Python在模型中生成一系列圆柱体:

#python:

    from gprMax.input_cmd_funcs import *
    domain = domain(0.2, 0.2, 0.2)
    for x in range(0, 8):
    cylinder(0.02 + x * 0.02, 0.05, 0, 0.020 + x * 0.02, 0.05, domain[2], 0.005,'pec’)

#end_python:

        其中,domain函数会将#domain命令打印到输入文件中,并返回一个包含域范围的变

量,cylinder函数会将#cylinde命令打印输入文件中,根据for循环的次数打印。

3.2 include_file命令

        功能:从指定文件中包含的命令插入到输入文件中放置#include_file命令的位置。

        命令格式为:#include_file:  file1

        file1可以是在与输入文件相同的目录中包含命令的文件名称,也可以是包含命令的文件的完整

路径(任何位置)。

3.3 time_step_stability_factor命令

        功能:更改gprMax使用的时间步长∆𝑡的值。默认是允许的最大时间步长。

        命令格式为: #time_step_stability_factor: f1

        其中f1可以取0 < f1≤1,那么实际使用的时间步长是f1 *∆𝑡,其中∆𝑡是使用CFL条件中的等式计

算的(2.2中公式取等的值)。

3.4 title命令

        功能:允许你为你的模型添加标题。这个标题保存在输出文件中。

        命令格式为: #title: str1

        其中str1可以包含空格字符来分隔单个单词,标题必须包含在一行中。

3.5 messages命令

        功能:控制gprMax运行时显示在屏幕上的信息量。

        命令格式为:#messages: c1

        其中c1可以是y(是)或n(否),打开或关闭显示屏幕上的信息量,默认值为y。

        当打开显示屏幕上的信息量时,gprMax将在屏幕上显示空间和时间值到单元格坐标,迭代次

数,材料参数等信息。

3.6 num_threads命令

        功能:控制在运行模型时使用多少OpenMP线程(通常是可用的物理CPU内核的数量)。

        gprMax中计算最密集的部分是FDTD求解器循环,已经使用OpenMP 并行化,OpenMP支持

多平台共享内存多处理。

        命令格式为:#num_threads: i1

        其中i1是要使用的OpenMP线程数。如果没有指定#num_threads, gprMax将首先查看环境变

量OMP_NUM_THREADS是否存在,如果不存在,将检测并使用机器上所有可用的物理CPU内

核。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值