你已经派生过 gprMax
镜像自地址
https://gitee.com/sunhf/gprMax.git
已同步 2025-08-07 23:14:03 +08:00
add example of using Cole-Cole model
这个提交包含在:
@@ -180,6 +180,9 @@ class Relaxation(object):
|
||||
self.rl, self.im = q.real, q.imag
|
||||
|
||||
if self.number_of_debye_poles == -1:
|
||||
print("\n#########",
|
||||
"Try to automaticaly fit number of Debye poles, up to 20!",
|
||||
"##########\n", sep="")
|
||||
error = np.infty # artificial best error starting value
|
||||
self.number_of_debye_poles = 1
|
||||
iteration = 1
|
||||
|
文件差异因一行或多行过长而隐藏
@@ -0,0 +1,43 @@
|
||||
# I. Giannakis, A. Giannopoulos and N. Davidson,
|
||||
# "Incorporating dispersive electrical properties in FDTD GPR models
|
||||
# using a general Cole-Cole dispersion function,"
|
||||
# 2012 14th International Conference on Ground Penetrating Radar (GPR), 2012, pp. 232-236
|
||||
|
||||
from Debye_Fit import HavriliakNegami
|
||||
|
||||
if __name__ == "__main__":
|
||||
# set Havrilak-Negami function with initial parameters
|
||||
setup = HavriliakNegami(f_min=1e4, f_max=1e11,
|
||||
alpha=0.3, beta=1,
|
||||
e_inf=3.4, de=2.7, tau_0=.8e-10,
|
||||
sigma=0.45e-3, mu=1, mu_sigma=0,
|
||||
material_name="dry_sand", f_n=100,
|
||||
plot=True, save=False,
|
||||
optimizer_options={'swarmsize':30,
|
||||
'maxiter':100,
|
||||
'omega':0.5,
|
||||
'phip':1.4,
|
||||
'phig':1.4,
|
||||
'minstep':1e-8,
|
||||
'minfun':1e-8,
|
||||
'seed': 111,
|
||||
'pflag': True})
|
||||
### Dry Sand in case of 3, 5
|
||||
# and automatically set number of Debye poles (-1)
|
||||
for number_of_debye_poles in [3, 5, -1]:
|
||||
setup.number_of_debye_poles = number_of_debye_poles
|
||||
setup.run()
|
||||
|
||||
### Moist sand
|
||||
# set Havrilak-Negami function parameters
|
||||
setup.material_name="moist_sand"
|
||||
setup.alpha = 0.25
|
||||
setup.beta = 1
|
||||
setup.e_inf = 5.6
|
||||
setup.de = 3.3
|
||||
setup.tau_0 = 1.1e-10,
|
||||
setup.sigma = 2e-3
|
||||
# calculate for different number of Debye poles
|
||||
for number_of_debye_poles in [3, 5, -1]:
|
||||
setup.number_of_debye_poles = number_of_debye_poles
|
||||
setup.run()
|
@@ -97,6 +97,8 @@ class Optimizer(object):
|
||||
x (array): The number of current iterations.
|
||||
y (array): The objective value at for all x points.
|
||||
"""
|
||||
# it clears an axes
|
||||
plt.cla()
|
||||
plt.plot(x, y, "b-", linewidth=1.0)
|
||||
plt.ylim(min(y) - 0.1 * min(y),
|
||||
max(y) + 0.1 * max(y))
|
||||
|
在新工单中引用
屏蔽一个用户