-
Notifications
You must be signed in to change notification settings - Fork 50
Adding temperature dependence to drift model parameters #562
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
src/ChargeDriftModels/ADLChargeDriftModel/TemperatureModels/PowerLawModel.jl
Outdated
Show resolved
Hide resolved
src/ChargeDriftModels/ADLChargeDriftModel/TemperatureModels/PowerLawModel.jl
Outdated
Show resolved
Hide resolved
src/ChargeDriftModels/ADLChargeDriftModel/TemperatureModels/PowerLawModel.jl
Outdated
Show resolved
Hide resolved
src/ChargeDriftModels/ADLChargeDriftModel/ADL2016ChargeDriftModel.jl
Outdated
Show resolved
Hide resolved
src/ChargeDriftModels/ADLChargeDriftModel/ADL2016ChargeDriftModel.jl
Outdated
Show resolved
Hide resolved
src/ChargeDriftModels/ADLChargeDriftModel/ADL2016ChargeDriftModel.jl
Outdated
Show resolved
Hide resolved
src/ChargeDriftModels/ADLChargeDriftModel/TemperatureModels/PowerLawModel.jl
Outdated
Show resolved
Hide resolved
examples/example_config_files/ADLChargeDriftModel/drift_velocity_config.yaml
Outdated
Show resolved
Hide resolved
examples/example_config_files/ADLChargeDriftModel/drift_velocity_config_powerlaw.yaml
Show resolved
Hide resolved
src/ChargeDriftModels/ADLChargeDriftModel/TemperatureModels/PowerLawTemperatureModel.jl
Outdated
Show resolved
Hide resolved
src/ChargeDriftModels/ADLChargeDriftModel/ADL2016ChargeDriftModel.jl
Outdated
Show resolved
Hide resolved
src/ChargeDriftModels/ADLChargeDriftModel/ADL2006ChargeDriftModel.jl
Outdated
Show resolved
Hide resolved
|
Also, what do you think of removing - semiconductor:
material: HPGe
temperature: 78K
phi110: -45° |
src/ChargeDriftModels/ADLChargeDriftModel/TemperatureModels/TemperatureModels.jl
Outdated
Show resolved
Hide resolved
When reading config files in: can we still support the old format (if there is no |
The situation is a bit complicated because of the option to use a rotation matrix instead of |
…#562) * temperature dependence of ADL2016ChargeDriftModel * scale_to_temperature * scale_to_temperature tests * scale_to_temperature docs * PowerLawModel docs * rm old temp models * add temperature dep to ADLChargeDriftModel * rename temperature models * consistent ChargeDriftModel constructors * temp dep docs * ElectricFieldChargeDriftModel constructors * IsotropicChargeDriftModel constructors * bug fixes * deprecation warnings * temp scaling tests * TemperatureModel constructor * input units for charge drift models * multiple temperature scalings * add units and move drift configs * IsotropicChargeDriftModel legacy constructor
I have now completely deprecated all old TemperatureModels, and removed the
scale_to_given_temperaturefunctionality, which would scale the longitudinal drift at each step in the charge drift.In its place with @fhagemann we propose to use,
which directly scales the drift parameters according to temperature.
The parametrization for the temperature dependence of drift velocity, as a function of the electric$E$ , was proposed by M.A. Omar and L. Reggiani:
field strength,
Note that the saturation velocity,$V_s$ , is related to $E_0$ via
The four parameters,$A$ , $P$ , $B$ , $\theta$ , are different for electrons and holes.$\mu_0$ and $E_0$ parameters of the
This model can be used to scale the
VelocityParametersstruct directly (assuming these where measured at a reference temperature of 77K) as follows:This model is now implemented under the new
PowerLawModel.In siggen the M.A. Omar and L. Reggiani model is used to scale the longitudinal drift velocity, as was implemented in this now closed PR #361. The scaling as calculated, assumes that the velocities to be scaled are modeled with the$\beta = 2$ drift model). Nevertheless, this can lead to distortions in our case (and in siggen), since $\beta \ne 2$ in the base drift model which we are scaling (
SquareRootModel(ADL2016ChargeDriftModel) .The question now is: do we use the original parameters from M.A. Omar and L. Reggiani (since these where calculated assuming$\beta = 2$ ) or something else? I see in @fhagemann's thesis that the original parameters (listed below) give a good agreement with his measurements at $E = 500$ V/cm. Is this true at other electric field strengths?
One last detail, note that setting the
temperaturein the drift config is no longer supported with this PR. Since this is set in the main config file of the simulation, having it in two places is confusing for the user. Under the implementation of this PR it has to be manually passed to the drift model as suchIn general I don't like any variables being set in drift model configs, which is why I also support
phi110being moved to the simulation config, and also being manually passed asor in some clever way.
Below I compare the longitudinal drift velocity as calculated by #361 (siggen-like -> scaled$v_l$ ) and as calculated by this PR (-> scaled drift model). The residuals correspond to these two quantities. $v_l$ at 77 K is shown for reference.