你已经派生过 gprMax
镜像自地址
https://gitee.com/sunhf/gprMax.git
已同步 2025-08-08 07:24:19 +08:00
Added a pre-commit config file and reformatted all the files accordingly by using it.
这个提交包含在:
@@ -20,112 +20,162 @@ dxdydz = gprMax.Discretisation(p1=(dl, dl, dl))
|
||||
time_window = gprMax.TimeWindow(iterations=2100)
|
||||
tssf = gprMax.TimeStepStabilityFactor(f=0.99)
|
||||
|
||||
waveform = gprMax.Waveform(wave_type='gaussiandotnorm', amp=1, freq=9.42e9, id='mypulse')
|
||||
hertzian_dipole = gprMax.HertzianDipole(polarisation='z',
|
||||
p1=(0.013, 0.013, 0.014),
|
||||
waveform_id='mypulse')
|
||||
waveform = gprMax.Waveform(wave_type="gaussiandotnorm", amp=1, freq=9.42e9, id="mypulse")
|
||||
hertzian_dipole = gprMax.HertzianDipole(polarisation="z", p1=(0.013, 0.013, 0.014), waveform_id="mypulse")
|
||||
rx = gprMax.Rx(p1=(0.038, 0.114, 0.013))
|
||||
|
||||
plate = gprMax.Plate(p1=(0.013, 0.013, 0.013),
|
||||
p2=(0.038, 0.113, 0.013), material_id='pec')
|
||||
plate = gprMax.Plate(p1=(0.013, 0.013, 0.013), p2=(0.038, 0.113, 0.013), material_id="pec")
|
||||
|
||||
gv1 = gprMax.GeometryView(p1=(0, 0, 0),
|
||||
p2=(x, y, z),
|
||||
dl=(dl, dl, dl),
|
||||
filename=Path(*parts[:-1], f'{parts[-1]}_n'),
|
||||
output_type='n',)
|
||||
gv2 = gprMax.GeometryView(p1=(0, 0, 0),
|
||||
p2=(x, y, z),
|
||||
dl=(dl, dl, dl),
|
||||
filename=Path(*parts[:-1], f'{parts[-1]}_f'),
|
||||
output_type='f',)
|
||||
gv1 = gprMax.GeometryView(
|
||||
p1=(0, 0, 0),
|
||||
p2=(x, y, z),
|
||||
dl=(dl, dl, dl),
|
||||
filename=Path(*parts[:-1], f"{parts[-1]}_n"),
|
||||
output_type="n",
|
||||
)
|
||||
gv2 = gprMax.GeometryView(
|
||||
p1=(0, 0, 0),
|
||||
p2=(x, y, z),
|
||||
dl=(dl, dl, dl),
|
||||
filename=Path(*parts[:-1], f"{parts[-1]}_f"),
|
||||
output_type="f",
|
||||
)
|
||||
|
||||
pmls = {'CFS-PML': {'pml': gprMax.PMLProps(formulation='HORIPML', thickness=10),
|
||||
# Parameters from http://dx.doi.org/10.1109/TAP.2018.2823864
|
||||
'pml_cfs': [gprMax.PMLCFS(alphascalingprofile='constant',
|
||||
alphascalingdirection='forward',
|
||||
alphamin=0.05, alphamax=0.05,
|
||||
kappascalingprofile='quartic',
|
||||
kappascalingdirection='forward',
|
||||
kappamin=1, kappamax=8,
|
||||
sigmascalingprofile='quartic',
|
||||
sigmascalingdirection='forward',
|
||||
sigmamin=0,
|
||||
sigmamax=1.1 * ((4 + 1) / (150 * np.pi * dl)))]},
|
||||
'HORIPML-1': {'pml': gprMax.PMLProps(formulation='HORIPML', thickness=10),
|
||||
# Parameters from http://dx.doi.org/10.1109/TAP.2011.2180344
|
||||
'pml_cfs': [gprMax.PMLCFS(alphascalingprofile='constant',
|
||||
alphascalingdirection='forward',
|
||||
alphamin=0, alphamax=0,
|
||||
kappascalingprofile='quartic',
|
||||
kappascalingdirection='forward',
|
||||
kappamin=1, kappamax=12,
|
||||
sigmascalingprofile='quartic',
|
||||
sigmascalingdirection='forward',
|
||||
sigmamin=0,
|
||||
sigmamax=0.7 * ((4 + 1) / (150 * np.pi * dl)))]},
|
||||
'HORIPML-2': {'pml': gprMax.PMLProps(formulation='HORIPML', thickness=10),
|
||||
# Parameters from http://dx.doi.org/10.1109/TAP.2018.2823864
|
||||
'pml_cfs': [gprMax.PMLCFS(alphascalingprofile='constant',
|
||||
alphascalingdirection='forward',
|
||||
alphamin=0, alphamax=0,
|
||||
kappascalingprofile='constant',
|
||||
kappascalingdirection='forward',
|
||||
kappamin=1, kappamax=1,
|
||||
sigmascalingprofile='sextic',
|
||||
sigmascalingdirection='forward',
|
||||
sigmamin=0,
|
||||
sigmamax=0.275 / (150 * np.pi * dl)),
|
||||
gprMax.PMLCFS(alphascalingprofile='sextic',
|
||||
alphascalingdirection='forward',
|
||||
alphamin=0.07, alphamax=0.07 + (0.275 / (150 * np.pi * dl)),
|
||||
kappascalingprofile='cubic',
|
||||
kappascalingdirection='forward',
|
||||
kappamin=1, kappamax=8,
|
||||
sigmascalingprofile='quadratic',
|
||||
sigmascalingdirection='forward',
|
||||
sigmamin=0,
|
||||
sigmamax=2.75 / (150 * np.pi * dl))]},
|
||||
'MRIPML-1': {'pml': gprMax.PMLProps(formulation='MRIPML', thickness=10),
|
||||
# Parameters from Antonis' MATLAB script (M3Dparams.m)
|
||||
'pml_cfs': [gprMax.PMLCFS(alphascalingprofile='constant',
|
||||
alphascalingdirection='forward',
|
||||
alphamin=0.05, alphamax=0.05,
|
||||
kappascalingprofile='quartic',
|
||||
kappascalingdirection='forward',
|
||||
kappamin=1, kappamax=8,
|
||||
sigmascalingprofile='quartic',
|
||||
sigmascalingdirection='forward',
|
||||
sigmamin=0,
|
||||
sigmamax=1.1 * ((4 + 1) / (150 * np.pi * dl)))]},
|
||||
'MRIPML-2': {'pml': gprMax.PMLProps(formulation='MRIPML', thickness=10),
|
||||
# Parameters from http://dx.doi.org/10.1109/TAP.2018.2823864
|
||||
'pml_cfs': [gprMax.PMLCFS(alphascalingprofile='quadratic',
|
||||
alphascalingdirection='reverse',
|
||||
alphamin=0, alphamax=0.15,
|
||||
kappascalingprofile='quartic',
|
||||
kappascalingdirection='forward',
|
||||
kappamin=1, kappamax=12,
|
||||
sigmascalingprofile='quartic',
|
||||
sigmascalingdirection='forward',
|
||||
sigmamin=0,
|
||||
sigmamax=0.65 * ((4 + 1) / (150 * np.pi * dl))),
|
||||
gprMax.PMLCFS(alphascalingprofile='linear',
|
||||
alphascalingdirection='reverse',
|
||||
alphamin=0.07, alphamax=0.8,
|
||||
kappascalingprofile='constant',
|
||||
kappascalingdirection='forward',
|
||||
kappamin=0, kappamax=0,
|
||||
sigmascalingprofile='quadratic',
|
||||
sigmascalingdirection='forward',
|
||||
sigmamin=0,
|
||||
sigmamax=0.65 * ((2 + 1) / (150 * np.pi * dl)))]}
|
||||
}
|
||||
pmls = {
|
||||
"CFS-PML": {
|
||||
"pml": gprMax.PMLProps(formulation="HORIPML", thickness=10),
|
||||
# Parameters from http://dx.doi.org/10.1109/TAP.2018.2823864
|
||||
"pml_cfs": [
|
||||
gprMax.PMLCFS(
|
||||
alphascalingprofile="constant",
|
||||
alphascalingdirection="forward",
|
||||
alphamin=0.05,
|
||||
alphamax=0.05,
|
||||
kappascalingprofile="quartic",
|
||||
kappascalingdirection="forward",
|
||||
kappamin=1,
|
||||
kappamax=8,
|
||||
sigmascalingprofile="quartic",
|
||||
sigmascalingdirection="forward",
|
||||
sigmamin=0,
|
||||
sigmamax=1.1 * ((4 + 1) / (150 * np.pi * dl)),
|
||||
)
|
||||
],
|
||||
},
|
||||
"HORIPML-1": {
|
||||
"pml": gprMax.PMLProps(formulation="HORIPML", thickness=10),
|
||||
# Parameters from http://dx.doi.org/10.1109/TAP.2011.2180344
|
||||
"pml_cfs": [
|
||||
gprMax.PMLCFS(
|
||||
alphascalingprofile="constant",
|
||||
alphascalingdirection="forward",
|
||||
alphamin=0,
|
||||
alphamax=0,
|
||||
kappascalingprofile="quartic",
|
||||
kappascalingdirection="forward",
|
||||
kappamin=1,
|
||||
kappamax=12,
|
||||
sigmascalingprofile="quartic",
|
||||
sigmascalingdirection="forward",
|
||||
sigmamin=0,
|
||||
sigmamax=0.7 * ((4 + 1) / (150 * np.pi * dl)),
|
||||
)
|
||||
],
|
||||
},
|
||||
"HORIPML-2": {
|
||||
"pml": gprMax.PMLProps(formulation="HORIPML", thickness=10),
|
||||
# Parameters from http://dx.doi.org/10.1109/TAP.2018.2823864
|
||||
"pml_cfs": [
|
||||
gprMax.PMLCFS(
|
||||
alphascalingprofile="constant",
|
||||
alphascalingdirection="forward",
|
||||
alphamin=0,
|
||||
alphamax=0,
|
||||
kappascalingprofile="constant",
|
||||
kappascalingdirection="forward",
|
||||
kappamin=1,
|
||||
kappamax=1,
|
||||
sigmascalingprofile="sextic",
|
||||
sigmascalingdirection="forward",
|
||||
sigmamin=0,
|
||||
sigmamax=0.275 / (150 * np.pi * dl),
|
||||
),
|
||||
gprMax.PMLCFS(
|
||||
alphascalingprofile="sextic",
|
||||
alphascalingdirection="forward",
|
||||
alphamin=0.07,
|
||||
alphamax=0.07 + (0.275 / (150 * np.pi * dl)),
|
||||
kappascalingprofile="cubic",
|
||||
kappascalingdirection="forward",
|
||||
kappamin=1,
|
||||
kappamax=8,
|
||||
sigmascalingprofile="quadratic",
|
||||
sigmascalingdirection="forward",
|
||||
sigmamin=0,
|
||||
sigmamax=2.75 / (150 * np.pi * dl),
|
||||
),
|
||||
],
|
||||
},
|
||||
"MRIPML-1": {
|
||||
"pml": gprMax.PMLProps(formulation="MRIPML", thickness=10),
|
||||
# Parameters from Antonis' MATLAB script (M3Dparams.m)
|
||||
"pml_cfs": [
|
||||
gprMax.PMLCFS(
|
||||
alphascalingprofile="constant",
|
||||
alphascalingdirection="forward",
|
||||
alphamin=0.05,
|
||||
alphamax=0.05,
|
||||
kappascalingprofile="quartic",
|
||||
kappascalingdirection="forward",
|
||||
kappamin=1,
|
||||
kappamax=8,
|
||||
sigmascalingprofile="quartic",
|
||||
sigmascalingdirection="forward",
|
||||
sigmamin=0,
|
||||
sigmamax=1.1 * ((4 + 1) / (150 * np.pi * dl)),
|
||||
)
|
||||
],
|
||||
},
|
||||
"MRIPML-2": {
|
||||
"pml": gprMax.PMLProps(formulation="MRIPML", thickness=10),
|
||||
# Parameters from http://dx.doi.org/10.1109/TAP.2018.2823864
|
||||
"pml_cfs": [
|
||||
gprMax.PMLCFS(
|
||||
alphascalingprofile="quadratic",
|
||||
alphascalingdirection="reverse",
|
||||
alphamin=0,
|
||||
alphamax=0.15,
|
||||
kappascalingprofile="quartic",
|
||||
kappascalingdirection="forward",
|
||||
kappamin=1,
|
||||
kappamax=12,
|
||||
sigmascalingprofile="quartic",
|
||||
sigmascalingdirection="forward",
|
||||
sigmamin=0,
|
||||
sigmamax=0.65 * ((4 + 1) / (150 * np.pi * dl)),
|
||||
),
|
||||
gprMax.PMLCFS(
|
||||
alphascalingprofile="linear",
|
||||
alphascalingdirection="reverse",
|
||||
alphamin=0.07,
|
||||
alphamax=0.8,
|
||||
kappascalingprofile="constant",
|
||||
kappascalingdirection="forward",
|
||||
kappamin=0,
|
||||
kappamax=0,
|
||||
sigmascalingprofile="quadratic",
|
||||
sigmascalingdirection="forward",
|
||||
sigmamin=0,
|
||||
sigmamax=0.65 * ((2 + 1) / (150 * np.pi * dl)),
|
||||
),
|
||||
],
|
||||
},
|
||||
}
|
||||
|
||||
scenes = []
|
||||
for k, v in pmls.items():
|
||||
scene = gprMax.Scene()
|
||||
title = gprMax.Title(name=fn.with_suffix('').name + '_' + k)
|
||||
title = gprMax.Title(name=fn.with_suffix("").name + "_" + k)
|
||||
scene.add(title)
|
||||
scene.add(domain)
|
||||
scene.add(dxdydz)
|
||||
@@ -137,8 +187,8 @@ for k, v in pmls.items():
|
||||
# scene.add(gv1)
|
||||
# scene.add(gv2)
|
||||
|
||||
scene.add(v['pml'])
|
||||
for pml_cfs in v['pml_cfs']:
|
||||
scene.add(v["pml"])
|
||||
for pml_cfs in v["pml_cfs"]:
|
||||
scene.add(pml_cfs)
|
||||
|
||||
scenes.append(scene)
|
||||
|
@@ -20,42 +20,47 @@ dxdydz = gprMax.Discretisation(p1=(dl, dl, dl))
|
||||
time_window = gprMax.TimeWindow(iterations=2100)
|
||||
tssf = gprMax.TimeStepStabilityFactor(f=0.99)
|
||||
|
||||
waveform = gprMax.Waveform(wave_type='gaussiandotnorm', amp=1, freq=9.42e9, id='mypulse')
|
||||
hertzian_dipole = gprMax.HertzianDipole(polarisation='z',
|
||||
p1=(0.088, 0.088, 0.089),
|
||||
waveform_id='mypulse')
|
||||
waveform = gprMax.Waveform(wave_type="gaussiandotnorm", amp=1, freq=9.42e9, id="mypulse")
|
||||
hertzian_dipole = gprMax.HertzianDipole(polarisation="z", p1=(0.088, 0.088, 0.089), waveform_id="mypulse")
|
||||
rx = gprMax.Rx(p1=(0.113, 0.189, 0.088))
|
||||
|
||||
plate = gprMax.Plate(p1=(0.088, 0.088, 0.088),
|
||||
p2=(0.113, 0.188, 0.088), material_id='pec')
|
||||
plate = gprMax.Plate(p1=(0.088, 0.088, 0.088), p2=(0.113, 0.188, 0.088), material_id="pec")
|
||||
|
||||
gv1 = gprMax.GeometryView(p1=(0, 0, 0),
|
||||
p2=(x, y, z),
|
||||
dl=(dl, dl, dl),
|
||||
filename=Path(*parts[:-1], f'{parts[-1]}_n'),
|
||||
output_type='n',)
|
||||
gv2 = gprMax.GeometryView(p1=(0, 0, 0),
|
||||
p2=(x, y, z),
|
||||
dl=(dl, dl, dl),
|
||||
filename=Path(*parts[:-1], f'{parts[-1]}_f'),
|
||||
output_type='f',)
|
||||
gv1 = gprMax.GeometryView(
|
||||
p1=(0, 0, 0),
|
||||
p2=(x, y, z),
|
||||
dl=(dl, dl, dl),
|
||||
filename=Path(*parts[:-1], f"{parts[-1]}_n"),
|
||||
output_type="n",
|
||||
)
|
||||
gv2 = gprMax.GeometryView(
|
||||
p1=(0, 0, 0),
|
||||
p2=(x, y, z),
|
||||
dl=(dl, dl, dl),
|
||||
filename=Path(*parts[:-1], f"{parts[-1]}_f"),
|
||||
output_type="f",
|
||||
)
|
||||
|
||||
pml = gprMax.PMLProps(formulation='HORIPML', thickness=10)
|
||||
pml = gprMax.PMLProps(formulation="HORIPML", thickness=10)
|
||||
|
||||
# Parameters from http://dx.doi.org/10.1109/TAP.2018.2823864
|
||||
pml_cfs = gprMax.PMLCFS(alphascalingprofile='constant',
|
||||
alphascalingdirection='forward',
|
||||
alphamin=0.05, alphamax=0.05,
|
||||
kappascalingprofile='quartic',
|
||||
kappascalingdirection='forward',
|
||||
kappamin=1, kappamax=8,
|
||||
sigmascalingprofile='quartic',
|
||||
sigmascalingdirection='forward',
|
||||
sigmamin=0,
|
||||
sigmamax=1.1 * ((4 + 1) / (150 * np.pi * dl)))
|
||||
pml_cfs = gprMax.PMLCFS(
|
||||
alphascalingprofile="constant",
|
||||
alphascalingdirection="forward",
|
||||
alphamin=0.05,
|
||||
alphamax=0.05,
|
||||
kappascalingprofile="quartic",
|
||||
kappascalingdirection="forward",
|
||||
kappamin=1,
|
||||
kappamax=8,
|
||||
sigmascalingprofile="quartic",
|
||||
sigmascalingdirection="forward",
|
||||
sigmamin=0,
|
||||
sigmamax=1.1 * ((4 + 1) / (150 * np.pi * dl)),
|
||||
)
|
||||
|
||||
scene = gprMax.Scene()
|
||||
title = gprMax.Title(name=fn.with_suffix('').name + '_ref')
|
||||
title = gprMax.Title(name=fn.with_suffix("").name + "_ref")
|
||||
scene.add(title)
|
||||
scene.add(domain)
|
||||
scene.add(dxdydz)
|
||||
|
在新工单中引用
屏蔽一个用户