Python批量运行Gprmax仿真并快速提取雷达波走时和振幅
使用gprmax仿真模拟时,通常在cmd窗口写命令,运行结果保存的文件夹不能任意选择,这样很不方便。尤其是在做钻孔电磁波仿真时,需要大量的输出文件,需要快速提取电磁波的走时和振幅。在python中执行这些操作将十分方便。[^1]
一、python批量运行gprmax并生成merge-files。
import os
from gprMax.gprMax import api
from tools.outputfiles_merge import get_output_data, merge_files
line_to_replace = 10 # 源在in文件中的行号
my_file = "D:\桌面\7\krast_carbonatite_Bscan_2D.in" # in文件目录
n_yidons = 2 # 源移动次数
n = 2 # A 扫描次数
# 更改in文件中源的位置
def get_hertzian_dipole(n_yidon):
the_text = "#hertzian_dipole: z 0.550 {} 0 my_ricker\n".format(n_yidon)
return the_text
# 将in文件中源的位置替换为新的位置
def get_replace_line(line_to_replace, my_file, n_yidon):
with open(my_file, 'r') as file:
lines = file.readlines()
if len(lines) > int(line_to_replace):
lines[line_to_replace] = get