仿真模型
B-scan图像
编写hdf5文件
# 构造斜面分层
import h5py
import numpy as np
from numpy import sin, cos, pi
def surf(x, y, z):
a = np.full([x, y, z], 0) # 顶层、起始默认为0
# 第一层填充
for k in range(z):
for i in range(1, x):
h1 = 1
h2 = int(0.2 * y)
for j in range(h1, h2):
a[i][j][k] = 1
# 斜面层填充
for k in range(z):
for i in range(1, x): #填充范围
h1 = int(0.2 * y)
h2 = int(0.1 * i + 100)
for j in range(h1, h2):
a[i][j][k] = 2
return a
# write HDF5 file
f = h5py.File('my_object3.h5', 'w')
dx_dy_dz = (0.002, 0.002, 0.002)
data = surf(1000, 250, 1)
data = np.array(data, dtype=np.int16)
f.attrs['dx_dy_dz'] = dx_dy_dz
f['/data'] = data
编写material3.txt文件
#material: 6 0 1 0 half_space1
#material: 8 0 1 0 half_space2
#material: 10 0 1 0 half_space3
编写.in文件
#title: B-scan from a metal cylinder buried in a dielectric half-space
#domain: 2.000000 0.500000 0.002000
#dx_dy_dz: 0.002 0.002 0.002
#time_window: 1.5e-08
#output_dir: out
#material: 24 0 1 0 root
#waveform: ricker 1 1.5e9 my_ricker
#hertzian_dipole: z 0.040000 0.475000 0 my_ricker
#rx: 0.080000 0.475000 0
#src_steps: 0.010000 0 0
#rx_steps: 0.010000 0 0
#geometry_objects_read: 0 0 0 D:\Datas\GPR\TEST11\my_object3.h5 D:\Datas\GPR\TEST11\material3.txt
#cylinder: 0.264181 0.209722 0.000000 0.264181 0.209722 0.002000 0.031863 root
#cylinder: 0.884091 0.192132 0.000000 0.884091 0.192132 0.002000 0.031863 root
#cylinder: 0.872599 0.134889 0.000000 0.872599 0.134889 0.002000 0.031863 root
#cylinder: 0.923231 0.171405 0.000000 0.923231 0.171405 0.002000 0.031863 root
#cylinder: 1.512065 0.190892 0.000000 1.512065 0.190892 0.002000 0.031863 root
#geometry_view: 0 0 0 2.000000 0.500000 0.002000 0.002 0.002 0.002 Beveled_stratified_homogeneous_soil n