Overhaul of PMLs and introduction of new, optional MRIPML formulation.

这个提交包含在:
Craig Warren
2019-04-12 16:23:55 +01:00
父节点 31aaa94747
当前提交 6e6b712cae
共有 47 个文件被更改,包括 8016 次插入3844 次删除

查看文件

@@ -0,0 +1,34 @@
#title: Response from an elongated thin PEC plate
#domain: 0.051 0.126 0.026
#dx_dy_dz: 0.001 0.001 0.001
#time_window: 2100
#time_step_stability_factor: 0.99
################################################
## PML parameters
## CFS (alpha, kappa, sigma)
## sigma_max = (0.8 * (m + 1)) / (z0 * d * np.sqrt(er * mr))
## z0 = 376.73, d = 0.001
################################################
#pml_cells: 10
#############
## CFS PML ##
#############
#python:
import numpy as np
# Parameters from http://dx.doi.org/10.1109/TAP.2018.2823864
smax = 1.1 * ((4 + 1) / (150 * np.pi * 0.001))
print('#pml_cfs: constant forward 0.05 0.05 quartic forward 1 8 quartic forward 0 {}'.format(smax))
#end_python:
#waveform: gaussiandotnorm 1 9.42e9 mypulse
#hertzian_dipole: z 0.013 0.013 0.014 mypulse
#rx: 0.038 0.114 0.013
#plate: 0.013 0.013 0.013 0.038 0.113 0.013 pec
geometry_view: 0 0 0 0.051 0.126 0.026 0.001 0.001 0.001 pml_3D_pec_plate_f f
geometry_view: 0 0 0 0.051 0.126 0.026 0.001 0.001 0.001 pml_3D_pec_plate_n n

查看文件

@@ -0,0 +1,34 @@
#title: Response from an elongated thin PEC plate
#domain: 0.051 0.126 0.026
#dx_dy_dz: 0.001 0.001 0.001
#time_window: 2100
#time_step_stability_factor: 0.99
################################################
## PML parameters
## CFS (alpha, kappa, sigma)
## sigma_max = (0.8 * (m + 1)) / (z0 * d * np.sqrt(er * mr))
## z0 = 376.73, d = 0.001
################################################
#pml_cells: 10
################################################
## 1st order (default) HORIPML - Standard PML ##
################################################
#python:
import numpy as np
# Parameters from http://dx.doi.org/10.1109/TAP.2011.2180344
smax = 0.7 * ((4 + 1) / (150 * np.pi * 0.001))
print('#pml_cfs: constant forward 0 0 quartic forward 1 12 quartic forward 0 {}'.format(smax))
#end_python:
#waveform: gaussiandotnorm 1 9.42e9 mypulse
#hertzian_dipole: z 0.013 0.013 0.014 mypulse
#rx: 0.038 0.114 0.013
#plate: 0.013 0.013 0.013 0.038 0.113 0.013 pec
geometry_view: 0 0 0 0.051 0.126 0.026 0.001 0.001 0.001 pml_3D_pec_plate_f f
geometry_view: 0 0 0 0.051 0.126 0.026 0.001 0.001 0.001 pml_3D_pec_plate_n n

查看文件

@@ -0,0 +1,37 @@
#title: Response from an elongated thin PEC plate
#domain: 0.051 0.126 0.026
#dx_dy_dz: 0.001 0.001 0.001
#time_window: 2100
#time_step_stability_factor: 0.99
################################################
## PML parameters
## CFS (alpha, kappa, sigma)
## sigma_max = (0.8 * (m + 1)) / (z0 * d * np.sqrt(er * mr))
## z0 = 376.73, d = 0.001
################################################
#pml_cells: 10
#######################
## 2nd order HORIPML ##
#######################
#python:
import numpy as np
# Parameters from http://dx.doi.org/10.1109/TAP.2018.2823864
smax1 = 0.275 / (150 * np.pi * 0.001)
smax2 = 2.75 / (150 * np.pi * 0.001)
a0 = 0.07
print('#pml_cfs: constant forward 0 0 constant forward 1 1 sextic forward 0 {}'.format(smax1))
print('#pml_cfs: sextic forward {} {} cubic forward 1 8 quadratic forward 0 {}'.format(a0, a0 + smax1, smax2))
#end_python:
#waveform: gaussiandotnorm 1 9.42e9 mypulse
#hertzian_dipole: z 0.013 0.013 0.014 mypulse
#rx: 0.038 0.114 0.013
#plate: 0.013 0.013 0.013 0.038 0.113 0.013 pec
geometry_view: 0 0 0 0.051 0.126 0.026 0.001 0.001 0.001 pml_3D_pec_plate_f f
geometry_view: 0 0 0 0.051 0.126 0.026 0.001 0.001 0.001 pml_3D_pec_plate_n n

查看文件

@@ -0,0 +1,36 @@
#title: Response from an elongated thin PEC plate
#domain: 0.051 0.126 0.026
#dx_dy_dz: 0.001 0.001 0.001
#time_window: 2100
#time_step_stability_factor: 0.99
################################################
## PML parameters
## CFS (alpha, kappa, sigma)
## sigma_max = (0.8 * (m + 1)) / (z0 * d * np.sqrt(er * mr))
## z0 = 376.73, d = 0.001
################################################
#pml_cells: 10
######################
## 1st order MRIPML ##
######################
#pml_formulation: MRIPML
#python:
import numpy as np
# Parameters from Antonis' MATLAB script (M3Dparams.m)
smax = 1.1 * ((4 + 1) / (150 * np.pi * 0.001))
print('#pml_cfs: constant forward 0.05 0.05 quartic forward 1 8 quartic forward 0 {}'.format(smax))
#end_python:
#waveform: gaussiandotnorm 1 9.42e9 mypulse
#hertzian_dipole: z 0.013 0.013 0.014 mypulse
#rx: 0.038 0.114 0.013
#plate: 0.013 0.013 0.013 0.038 0.113 0.013 pec
geometry_view: 0 0 0 0.051 0.126 0.026 0.001 0.001 0.001 pml_3D_pec_plate_f f
geometry_view: 0 0 0 0.051 0.126 0.026 0.001 0.001 0.001 pml_3D_pec_plate_n n

查看文件

@@ -0,0 +1,39 @@
#title: Response from an elongated thin PEC plate
#domain: 0.051 0.126 0.026
#dx_dy_dz: 0.001 0.001 0.001
#time_window: 2100
#time_step_stability_factor: 0.99
################################################
## PML parameters
## CFS (alpha, kappa, sigma)
## sigma_max = (0.8 * (m + 1)) / (z0 * d * np.sqrt(er * mr))
## z0 = 376.73, d = 0.001
################################################
#pml_cells: 10
######################
## 2nd order MRIPML ##
######################
#pml_formulation: MRIPML
#python:
import numpy as np
# Parameters from http://dx.doi.org/10.1109/TAP.2018.2823864
smax1 = 0.65 * ((4 + 1) / (150 * np.pi * 0.001))
smax2 = 0.65 * ((2 + 1) / (150 * np.pi * 0.001))
print('#pml_cfs: quadratic reverse 0 0.15 quartic forward 1 12 quartic forward 0 {}'.format(smax1))
print('#pml_cfs: linear reverse 0 0.8 constant forward 0 0 quadratic forward 0 {}'.format(smax2))
#end_python:
#waveform: gaussiandotnorm 1 9.42e9 mypulse
#hertzian_dipole: z 0.013 0.013 0.014 mypulse
#rx: 0.038 0.114 0.013
#plate: 0.013 0.013 0.013 0.038 0.113 0.013 pec
geometry_view: 0 0 0 0.051 0.126 0.026 0.001 0.001 0.001 pml_3D_pec_plate_f f
geometry_view: 0 0 0 0.051 0.126 0.026 0.001 0.001 0.001 pml_3D_pec_plate_n n

查看文件

@@ -0,0 +1,34 @@
#title: Standard PML of response from an elongated thin PEC plate
#domain: 0.201 0.276 0.176
#dx_dy_dz: 0.001 0.001 0.001
#time_window: 2100
#time_step_stability_factor: 0.99
################################################
## PML parameters
## CFS (alpha, kappa, sigma)
## sigma_max = (0.8 * (m + 1)) / (z0 * d * np.sqrt(er * mr))
## z0 = 376.73, d = 0.001
################################################
#pml_cells: 10
#############
## CFS PML ##
#############
#python:
import numpy as np
# Parameters from http://dx.doi.org/10.1109/TAP.2018.2823864
smax = 1.1 * ((4 + 1) / (150 * np.pi * 0.001))
print('#pml_cfs: constant forward 0.05 0.05 quartic forward 1 8 quartic forward 0 {}'.format(smax))
#end_python:
#waveform: gaussiandotnorm 1 9.42e9 mypulse
#hertzian_dipole: z 0.088 0.088 0.089 mypulse
#rx: 0.113 0.189 0.088
#plate: 0.088 0.088 0.088 0.113 0.188 0.088 pec
geometry_view: 0 0 0 0.201 0.276 0.176 0.001 0.001 0.001 pml_3D_pec_plate_ref_f f
geometry_view: 0 0 0 0.201 0.276 0.176 0.001 0.001 0.001 pml_3D_pec_plate_ref_n n