你已经派生过 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.
这个提交包含在:
@@ -17,83 +17,88 @@ domain = gprMax.Domain(p1=(x, y, z))
|
||||
dxdydz = gprMax.Discretisation(p1=(dl, dl, dl))
|
||||
time_window = gprMax.TimeWindow(time=3e-9)
|
||||
|
||||
waveform = gprMax.Waveform(wave_type='gaussian', amp=1, freq=1e9, id='mypulse')
|
||||
hertzian_dipole = gprMax.HertzianDipole(polarisation='z',
|
||||
p1=(0.050, 0.050, 0.050),
|
||||
waveform_id='mypulse')
|
||||
waveform = gprMax.Waveform(wave_type="gaussian", amp=1, freq=1e9, id="mypulse")
|
||||
hertzian_dipole = gprMax.HertzianDipole(polarisation="z", p1=(0.050, 0.050, 0.050), waveform_id="mypulse")
|
||||
rx = gprMax.Rx(p1=(0.070, 0.070, 0.070))
|
||||
|
||||
# PML cases
|
||||
thick = 10 # thickness
|
||||
cases = {'off': {'x0': 0, 'y0': 0, 'z0': 0, 'xmax': 0, 'ymax': 0, 'zmax':0},
|
||||
'x0': {'x0': thick, 'y0': 0, 'z0': 0, 'xmax': 0, 'ymax': 0, 'zmax':0},
|
||||
'y0': {'x0': 0, 'y0': thick, 'z0': 0, 'xmax': 0, 'ymax': 0, 'zmax':0},
|
||||
'z0': {'x0': 0, 'y0': 0, 'z0': thick, 'xmax': 0, 'ymax': 0, 'zmax':0},
|
||||
'xmax': {'x0': 0, 'y0': 0, 'z0': 0, 'xmax': thick, 'ymax': 0, 'zmax':0},
|
||||
'ymax': {'x0': 0, 'y0': 0, 'z0': 0, 'xmax': 0, 'ymax': thick, 'zmax':0},
|
||||
'zmax': {'x0': 0, 'y0': 0, 'z0': 0, 'xmax': 0, 'ymax': 0, 'zmax': thick}}
|
||||
thick = 10 # thickness
|
||||
cases = {
|
||||
"off": {"x0": 0, "y0": 0, "z0": 0, "xmax": 0, "ymax": 0, "zmax": 0},
|
||||
"x0": {"x0": thick, "y0": 0, "z0": 0, "xmax": 0, "ymax": 0, "zmax": 0},
|
||||
"y0": {"x0": 0, "y0": thick, "z0": 0, "xmax": 0, "ymax": 0, "zmax": 0},
|
||||
"z0": {"x0": 0, "y0": 0, "z0": thick, "xmax": 0, "ymax": 0, "zmax": 0},
|
||||
"xmax": {"x0": 0, "y0": 0, "z0": 0, "xmax": thick, "ymax": 0, "zmax": 0},
|
||||
"ymax": {"x0": 0, "y0": 0, "z0": 0, "xmax": 0, "ymax": thick, "zmax": 0},
|
||||
"zmax": {"x0": 0, "y0": 0, "z0": 0, "xmax": 0, "ymax": 0, "zmax": thick},
|
||||
}
|
||||
|
||||
# PML formulation
|
||||
pml_type = gprMax.PMLProps(formulation='HORIPML')
|
||||
pml_type = gprMax.PMLProps(formulation="HORIPML")
|
||||
|
||||
## Built-in 1st order PML
|
||||
pml_cfs = gprMax.PMLCFS(alphascalingprofile='constant',
|
||||
alphascalingdirection='forward',
|
||||
alphamin=0, alphamax=0,
|
||||
kappascalingprofile='constant',
|
||||
kappascalingdirection='forward',
|
||||
kappamin=1, kappamax=1,
|
||||
sigmascalingprofile='quartic',
|
||||
sigmascalingdirection='forward',
|
||||
sigmamin=0, sigmamax=None)
|
||||
pml_cfs = gprMax.PMLCFS(
|
||||
alphascalingprofile="constant",
|
||||
alphascalingdirection="forward",
|
||||
alphamin=0,
|
||||
alphamax=0,
|
||||
kappascalingprofile="constant",
|
||||
kappascalingdirection="forward",
|
||||
kappamin=1,
|
||||
kappamax=1,
|
||||
sigmascalingprofile="quartic",
|
||||
sigmascalingdirection="forward",
|
||||
sigmamin=0,
|
||||
sigmamax=None,
|
||||
)
|
||||
|
||||
## PMLs from http://dx.doi.org/10.1109/TAP.2011.2180344
|
||||
## Standard PML
|
||||
# pml_cfs = gprMax.PMLCFS(alphascalingprofile='constant',
|
||||
# alphascalingdirection='forward',
|
||||
# pml_cfs = gprMax.PMLCFS(alphascalingprofile='constant',
|
||||
# alphascalingdirection='forward',
|
||||
# alphamin=0, alphamax=0,
|
||||
# kappascalingprofile='quartic',
|
||||
# kappascalingdirection='forward',
|
||||
# kappamin=1, kappamax=11,
|
||||
# sigmascalingprofile='quartic',
|
||||
# sigmascalingdirection='forward',
|
||||
# kappascalingprofile='quartic',
|
||||
# kappascalingdirection='forward',
|
||||
# kappamin=1, kappamax=11,
|
||||
# sigmascalingprofile='quartic',
|
||||
# sigmascalingdirection='forward',
|
||||
# sigmamin=0, sigmamax=7.427)
|
||||
|
||||
## CFS PML
|
||||
# pml_cfs = gprMax.PMLCFS(alphascalingprofile='constant',
|
||||
# alphascalingdirection='forward',
|
||||
# pml_cfs = gprMax.PMLCFS(alphascalingprofile='constant',
|
||||
# alphascalingdirection='forward',
|
||||
# alphamin=0.05, alphamax=0.05,
|
||||
# kappascalingprofile='quartic',
|
||||
# kappascalingdirection='forward',
|
||||
# kappamin=1, kappamax=7,
|
||||
# sigmascalingprofile='quartic',
|
||||
# sigmascalingdirection='forward',
|
||||
# kappascalingprofile='quartic',
|
||||
# kappascalingdirection='forward',
|
||||
# kappamin=1, kappamax=7,
|
||||
# sigmascalingprofile='quartic',
|
||||
# sigmascalingdirection='forward',
|
||||
# sigmamin=0, sigmamax=11.671)
|
||||
|
||||
## 2nd order RIPML
|
||||
# pml_cfs1 = gprMax.PMLCFS(alphascalingprofile='constant',
|
||||
# alphascalingdirection='forward',
|
||||
# pml_cfs1 = gprMax.PMLCFS(alphascalingprofile='constant',
|
||||
# alphascalingdirection='forward',
|
||||
# alphamin=0, alphamax=0,
|
||||
# kappascalingprofile='constant',
|
||||
# kappascalingdirection='forward',
|
||||
# kappamin=1, kappamax=1,
|
||||
# sigmascalingprofile='sextic',
|
||||
# sigmascalingdirection='forward',
|
||||
# kappascalingprofile='constant',
|
||||
# kappascalingdirection='forward',
|
||||
# kappamin=1, kappamax=1,
|
||||
# sigmascalingprofile='sextic',
|
||||
# sigmascalingdirection='forward',
|
||||
# sigmamin=0, sigmamax=0.5836)
|
||||
# pml_cfs2 = gprMax.PMLCFS(alphascalingprofile='constant',
|
||||
# alphascalingdirection='forward',
|
||||
# pml_cfs2 = gprMax.PMLCFS(alphascalingprofile='constant',
|
||||
# alphascalingdirection='forward',
|
||||
# alphamin=0.05, alphamax=0.05,
|
||||
# kappascalingprofile='cubic',
|
||||
# kappascalingdirection='forward',
|
||||
# kappamin=1, kappamax=8,
|
||||
# sigmascalingprofile='quadratic',
|
||||
# sigmascalingdirection='forward',
|
||||
# kappascalingprofile='cubic',
|
||||
# kappascalingdirection='forward',
|
||||
# kappamin=1, kappamax=8,
|
||||
# sigmascalingprofile='quadratic',
|
||||
# sigmascalingdirection='forward',
|
||||
# sigmamin=0, sigmamax=5.8357)
|
||||
|
||||
scenes = []
|
||||
for k, v in cases.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)
|
||||
@@ -102,11 +107,11 @@ for k, v in cases.items():
|
||||
scene.add(hertzian_dipole)
|
||||
scene.add(rx)
|
||||
|
||||
pml = gprMax.PMLProps(formulation='HORIPML', **v)
|
||||
pml = gprMax.PMLProps(formulation="HORIPML", **v)
|
||||
scene.add(pml)
|
||||
scene.add(pml_cfs)
|
||||
|
||||
scenes.append(scene)
|
||||
|
||||
# Run model
|
||||
gprMax.run(scenes=scenes, n=len(cases), geometry_only=False, outputfile=fn)
|
||||
gprMax.run(scenes=scenes, n=len(cases), geometry_only=False, outputfile=fn)
|
||||
|
在新工单中引用
屏蔽一个用户