JuliaPhysics / SolidStateDetectors.jl

Solid state detector field and charge drift simulation in Julia
Other
82 stars 32 forks source link

SquareRootModel: an electric field dependent temperature model #361

Open hervasa2 opened 1 year ago

hervasa2 commented 1 year ago

Added the temperature model implemented in siggen.

The parameterization for the longitudinal drift velocity temperature dependence, v_l, as a function of the electric field strength, E, was proposed by M.Ali Omar, Lino Reggiani:

v_l(T) = v_l(T_0)f(T)/f(T_0) 

where v_l(T_0) is a known velocity at reference temperature T_0. The temperature dependence, f(T), is parametrized as:

f(T) =  V_s(T)\frac{E/E_c(T)}{(1 + (E/E_c(T))^2)^{1/2}}

where

E_c(T) = V_s(T)/\mu_0(T)~, \quad V_s(T) = B\tanh^{1/2}(\theta/2T)~, \quad\mu_0(T) = A/T^P

The four parameters, A (\mu_0 at T=1K), P, B, \theta, are different for electrons and holes. The work was confined to the fields along the <100> axis. Here the same values are assumed for the <111> axis.

println(sim.detector.semiconductor.charge_drift_model.temperaturemodel)

________SquareRootModel________
V_s(T) = Btanh^{1/2}(theta/2T) and mu_0(T) = A/T^P

---Temperature settings---
Crystal temperature:    95.0
Reference temperature:  78.0

---Fitting parameters---
    e100        h100
A   5660.0      163000.0
P   -1.68       -2.398
B   130000.0    120000.0
theta   200.0       200.0

SSD.scale_to_given_temperature(T(1000), sim.detector.semiconductor.charge_drift_model.temperaturemodel) (0.71818286f0, 0.71818286f0, 0.62357354f0, 0.62357354f0) drift_vel_temp_corr

fhagemann commented 1 year ago

I would also propose to redirect the PR from JuliaPhysics:main to JuliaPhysics:dev to have some testing period before making it part of an official release.

oschulz commented 2 months ago

@hervasa2 is this still active?

hervasa2 commented 2 months ago

Lets keep it open since its something we definitely need it. I think we should proceed with @fhagemann suggestion. Will get to it soon.