Updated to account for changed PML cmd syntax

这个提交包含在:
Craig Warren
2022-11-19 15:46:16 +00:00
父节点 f6acdd4de1
当前提交 fdf8489bd1
共有 8 个文件被更改,包括 75 次插入80 次删除

查看文件

@@ -34,7 +34,7 @@ gv1 = gprMax.GeometryView(p1=(0, 0, 0), p2=(x, y, z), dl=(dl, dl, dl),
gv2 = gprMax.GeometryView(p1=(0, 0, 0), p2=(x, y, z), dl=(dl, dl, dl), gv2 = gprMax.GeometryView(p1=(0, 0, 0), p2=(x, y, z), dl=(dl, dl, dl),
filename=Path(*parts[:-1], parts[-1] + '_f'), output_type='f') filename=Path(*parts[:-1], parts[-1] + '_f'), output_type='f')
pmls = {'CFS-PML': {'pml_type': gprMax.PMLFormulation(pml='HORIPML'), pmls = {'CFS-PML': {'pml': gprMax.PMLProps(formulation='HORIPML', thickness=10),
# Parameters from http://dx.doi.org/10.1109/TAP.2018.2823864 # Parameters from http://dx.doi.org/10.1109/TAP.2018.2823864
'pml_cfs': [gprMax.PMLCFS(alphascalingprofile='constant', 'pml_cfs': [gprMax.PMLCFS(alphascalingprofile='constant',
alphascalingdirection='forward', alphascalingdirection='forward',
@@ -46,74 +46,74 @@ pmls = {'CFS-PML': {'pml_type': gprMax.PMLFormulation(pml='HORIPML'),
sigmascalingdirection='forward', sigmascalingdirection='forward',
sigmamin=0, sigmamin=0,
sigmamax=1.1 * ((4 + 1) / (150 * np.pi * dl)))]}, sigmamax=1.1 * ((4 + 1) / (150 * np.pi * dl)))]},
'HORIPML-1': {'pml_type': gprMax.PMLFormulation(pml='HORIPML'), 'HORIPML-1': {'pml': gprMax.PMLProps(formulation='HORIPML', thickness=10),
# Parameters from http://dx.doi.org/10.1109/TAP.2011.2180344 # Parameters from http://dx.doi.org/10.1109/TAP.2011.2180344
'pml_cfs': [gprMax.PMLCFS(alphascalingprofile='constant', 'pml_cfs': [gprMax.PMLCFS(alphascalingprofile='constant',
alphascalingdirection='forward', alphascalingdirection='forward',
alphamin=0, alphamax=0, alphamin=0, alphamax=0,
kappascalingprofile='quartic', kappascalingprofile='quartic',
kappascalingdirection='forward', kappascalingdirection='forward',
kappamin=1, kappamax=12, kappamin=1, kappamax=12,
sigmascalingprofile='quartic', sigmascalingprofile='quartic',
sigmascalingdirection='forward', sigmascalingdirection='forward',
sigmamin=0, sigmamin=0,
sigmamax=0.7 * ((4 + 1) / (150 * np.pi * dl)))]}, sigmamax=0.7 * ((4 + 1) / (150 * np.pi * dl)))]},
'HORIPML-2': {'pml_type': gprMax.PMLFormulation(pml='HORIPML'), 'HORIPML-2': {'pml': gprMax.PMLProps(formulation='HORIPML', thickness=10),
# Parameters from http://dx.doi.org/10.1109/TAP.2018.2823864 # Parameters from http://dx.doi.org/10.1109/TAP.2018.2823864
'pml_cfs': [gprMax.PMLCFS(alphascalingprofile='constant', 'pml_cfs': [gprMax.PMLCFS(alphascalingprofile='constant',
alphascalingdirection='forward', alphascalingdirection='forward',
alphamin=0, alphamax=0, alphamin=0, alphamax=0,
kappascalingprofile='constant', kappascalingprofile='constant',
kappascalingdirection='forward', kappascalingdirection='forward',
kappamin=1, kappamax=1, kappamin=1, kappamax=1,
sigmascalingprofile='sextic', sigmascalingprofile='sextic',
sigmascalingdirection='forward', sigmascalingdirection='forward',
sigmamin=0, sigmamin=0,
sigmamax=0.275 / (150 * np.pi * dl)), sigmamax=0.275 / (150 * np.pi * dl)),
gprMax.PMLCFS(alphascalingprofile='sextic', gprMax.PMLCFS(alphascalingprofile='sextic',
alphascalingdirection='forward', alphascalingdirection='forward',
alphamin=0.07, alphamax=0.07 + (0.275 / (150 * np.pi * dl)), alphamin=0.07, alphamax=0.07 + (0.275 / (150 * np.pi * dl)),
kappascalingprofile='cubic', kappascalingprofile='cubic',
kappascalingdirection='forward', kappascalingdirection='forward',
kappamin=1, kappamax=8, kappamin=1, kappamax=8,
sigmascalingprofile='quadratic', sigmascalingprofile='quadratic',
sigmascalingdirection='forward', sigmascalingdirection='forward',
sigmamin=0, sigmamin=0,
sigmamax=2.75 / (150 * np.pi * dl))]}, sigmamax=2.75 / (150 * np.pi * dl))]},
'MRIPML-1': {'pml_type': gprMax.PMLFormulation(pml='MRIPML'), 'MRIPML-1': {'pml': gprMax.PMLProps(formulation='MRIPML', thickness=10),
# Parameters from Antonis' MATLAB script (M3Dparams.m) # Parameters from Antonis' MATLAB script (M3Dparams.m)
'pml_cfs': [gprMax.PMLCFS(alphascalingprofile='constant', 'pml_cfs': [gprMax.PMLCFS(alphascalingprofile='constant',
alphascalingdirection='forward', alphascalingdirection='forward',
alphamin=0.05, alphamax=0.05, alphamin=0.05, alphamax=0.05,
kappascalingprofile='quartic', kappascalingprofile='quartic',
kappascalingdirection='forward', kappascalingdirection='forward',
kappamin=1, kappamax=8, kappamin=1, kappamax=8,
sigmascalingprofile='quartic', sigmascalingprofile='quartic',
sigmascalingdirection='forward', sigmascalingdirection='forward',
sigmamin=0, sigmamin=0,
sigmamax=1.1 * ((4 + 1) / (150 * np.pi * dl)))]}, sigmamax=1.1 * ((4 + 1) / (150 * np.pi * dl)))]},
'MRIPML-2': {'pml_type': gprMax.PMLFormulation(pml='MRIPML'), 'MRIPML-2': {'pml': gprMax.PMLProps(formulation='MRIPML', thickness=10),
# Parameters from http://dx.doi.org/10.1109/TAP.2018.2823864 # Parameters from http://dx.doi.org/10.1109/TAP.2018.2823864
'pml_cfs': [gprMax.PMLCFS(alphascalingprofile='quadratic', 'pml_cfs': [gprMax.PMLCFS(alphascalingprofile='quadratic',
alphascalingdirection='reverse', alphascalingdirection='reverse',
alphamin=0, alphamax=0.15, alphamin=0, alphamax=0.15,
kappascalingprofile='quartic', kappascalingprofile='quartic',
kappascalingdirection='forward', kappascalingdirection='forward',
kappamin=1, kappamax=12, kappamin=1, kappamax=12,
sigmascalingprofile='quartic', sigmascalingprofile='quartic',
sigmascalingdirection='forward', sigmascalingdirection='forward',
sigmamin=0, sigmamin=0,
sigmamax=0.65 * ((4 + 1) / (150 * np.pi * dl))), sigmamax=0.65 * ((4 + 1) / (150 * np.pi * dl))),
gprMax.PMLCFS(alphascalingprofile='linear', gprMax.PMLCFS(alphascalingprofile='linear',
alphascalingdirection='reverse', alphascalingdirection='reverse',
alphamin=0.07, alphamax=0.8, alphamin=0.07, alphamax=0.8,
kappascalingprofile='constant', kappascalingprofile='constant',
kappascalingdirection='forward', kappascalingdirection='forward',
kappamin=0, kappamax=0, kappamin=0, kappamax=0,
sigmascalingprofile='quadratic', sigmascalingprofile='quadratic',
sigmascalingdirection='forward', sigmascalingdirection='forward',
sigmamin=0, sigmamin=0,
sigmamax=0.65 * ((2 + 1) / (150 * np.pi * dl)))]} sigmamax=0.65 * ((2 + 1) / (150 * np.pi * dl)))]}
} }
scenes = [] scenes = []
@@ -131,9 +131,7 @@ for k, v in pmls.items():
# scene.add(gv1) # scene.add(gv1)
# scene.add(gv2) # scene.add(gv2)
pml_cells = gprMax.PMLCells(thickness=10) scene.add(v['pml'])
scene.add(pml_cells)
scene.add(v['pml_type'])
for pml_cfs in v['pml_cfs']: for pml_cfs in v['pml_cfs']:
scene.add(pml_cfs) scene.add(pml_cfs)

查看文件

@@ -34,8 +34,7 @@ gv1 = gprMax.GeometryView(p1=(0, 0, 0), p2=(x, y, z), dl=(dl, dl, dl),
gv2 = gprMax.GeometryView(p1=(0, 0, 0), p2=(x, y, z), dl=(dl, dl, dl), gv2 = gprMax.GeometryView(p1=(0, 0, 0), p2=(x, y, z), dl=(dl, dl, dl),
filename=Path(*parts[:-1], parts[-1] + '_f'), output_type='f') filename=Path(*parts[:-1], parts[-1] + '_f'), output_type='f')
pml_type = gprMax.PMLFormulation(pml='HORIPML') pml = gprMax.PMLProps(formulation='HORIPML', thickness=10)
pml_cells = gprMax.PMLCells(thickness=10)
# Parameters from http://dx.doi.org/10.1109/TAP.2018.2823864 # Parameters from http://dx.doi.org/10.1109/TAP.2018.2823864
pml_cfs = gprMax.PMLCFS(alphascalingprofile='constant', pml_cfs = gprMax.PMLCFS(alphascalingprofile='constant',
@@ -62,8 +61,7 @@ scene.add(rx)
# scene.add(gv1) # scene.add(gv1)
# scene.add(gv2) # scene.add(gv2)
scene.add(pml_cells) scene.add(pml)
scene.add(pml_type)
scene.add(pml_cfs) scene.add(pml_cfs)
# Run model # Run model

查看文件

@@ -34,7 +34,7 @@ cases = {'off': {'x0': 0, 'y0': 0, 'z0': 0, 'xmax': 0, 'ymax': 0, 'zmax':0},
'zmax': {'x0': 0, 'y0': 0, 'z0': 0, 'xmax': 0, 'ymax': 0, 'zmax': thick}} 'zmax': {'x0': 0, 'y0': 0, 'z0': 0, 'xmax': 0, 'ymax': 0, 'zmax': thick}}
# PML formulation # PML formulation
pml_type = gprMax.PMLFormulation(pml='HORIPML') pml_type = gprMax.PMLProps(formulation='HORIPML')
## Built-in 1st order PML ## Built-in 1st order PML
pml_cfs = gprMax.PMLCFS(alphascalingprofile='constant', pml_cfs = gprMax.PMLCFS(alphascalingprofile='constant',
@@ -102,9 +102,8 @@ for k, v in cases.items():
scene.add(hertzian_dipole) scene.add(hertzian_dipole)
scene.add(rx) scene.add(rx)
pml_cells = gprMax.PMLCells(**v) pml = gprMax.PMLProps(formulation='HORIPML', **v)
scene.add(pml_cells) scene.add(pml)
scene.add(pml_type)
scene.add(pml_cfs) scene.add(pml_cfs)
scenes.append(scene) scenes.append(scene)