Skip to content

Commit 4787f47

Browse files
committed
feat: Adding direct btbt by Hurkx and Impact ionization by Selberherr
1 parent ba352a5 commit 4787f47

File tree

12 files changed

+762
-2
lines changed

12 files changed

+762
-2
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7777
- A new type of doping box has been introduced, `CustomDoping` which accepts a `SpatialDataArray` to define doping concentration. Unlike in the case where a `SpatialDataArray`, custom doping defined with `CustomDoping` have additive behavior, i.e., one can add other doping on top. This deprecates the `SpatialDataArray` as direct input for `N_a` and `N_d`.
7878
- Non-isothermal Charge simulations are now available. One can now run this type of simulations by using the `SteadyChargeDCAnalysis` as the `analysis_spec` of a `HeatChargeSimulation`. This type of simulations couple the heat equation with the drift-diffusion equations which allow to account for self heating behavior.
7979
- Because non-isothermal Charge simulations are now supported, new models for the effective density of states and bandgap energy have been introduced. These models are the following: `ConstantEffectiveDOS`, `IsotropicEffectiveDOS`, `MultiValleyEffectiveDOS`, `DualValleyEffectiveDOS`.
80+
- Added the Hurkx model for direct band-to-band tunneling `HurkxDirectBandToBandTunneling`.
81+
- Added Selberherr's model for impact ionization `SelberherrImpactIonization`.
8082

8183
### Changed
8284
- `LayerRefinementSpec` defaults to assuming structures made of different materials are interior-disjoint for more efficient mesh generation.

docs/api/charge/mediums.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@ Generation Recombination
3434
tidy3d.ShockleyReedHallRecombination
3535
tidy3d.FossumCarrierLifetime
3636
tidy3d.DistributedGeneration
37+
tidy3d.HurkxDirectBandToBandTunneling
38+
tidy3d.SelberherrImpactIonization
3739

3840

3941
Doping

schemas/EMESimulation.json

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6187,6 +6187,41 @@
61876187
],
61886188
"type": "object"
61896189
},
6190+
"HurkxDirectBandToBandTunneling": {
6191+
"additionalProperties": false,
6192+
"properties": {
6193+
"A": {
6194+
"default": 400000000000000.0,
6195+
"exclusiveMinimum": 0,
6196+
"type": "number"
6197+
},
6198+
"B": {
6199+
"default": 1900000.0,
6200+
"type": "number"
6201+
},
6202+
"E_0": {
6203+
"default": 1,
6204+
"exclusiveMinimum": 0,
6205+
"type": "number"
6206+
},
6207+
"attrs": {
6208+
"default": {},
6209+
"type": "object"
6210+
},
6211+
"sigma": {
6212+
"default": 2.5,
6213+
"type": "number"
6214+
},
6215+
"type": {
6216+
"default": "HurkxDirectBandToBandTunneling",
6217+
"enum": [
6218+
"HurkxDirectBandToBandTunneling"
6219+
],
6220+
"type": "string"
6221+
}
6222+
},
6223+
"type": "object"
6224+
},
61906225
"IndexPerturbation": {
61916226
"additionalProperties": false,
61926227
"properties": {
@@ -10250,6 +10285,63 @@
1025010285
],
1025110286
"type": "object"
1025210287
},
10288+
"SelberherrImpactIonization": {
10289+
"additionalProperties": false,
10290+
"properties": {
10291+
"E_n_crit": {
10292+
"exclusiveMinimum": 0,
10293+
"type": "number"
10294+
},
10295+
"E_p_crit": {
10296+
"exclusiveMinimum": 0,
10297+
"type": "number"
10298+
},
10299+
"alpha_n_inf": {
10300+
"exclusiveMinimum": 0,
10301+
"type": "number"
10302+
},
10303+
"alpha_p_inf": {
10304+
"exclusiveMinimum": 0,
10305+
"type": "number"
10306+
},
10307+
"attrs": {
10308+
"default": {},
10309+
"type": "object"
10310+
},
10311+
"beta_n": {
10312+
"exclusiveMinimum": 0,
10313+
"type": "number"
10314+
},
10315+
"beta_p": {
10316+
"exclusiveMinimum": 0,
10317+
"type": "number"
10318+
},
10319+
"formulation": {
10320+
"default": "PQ",
10321+
"enum": [
10322+
"PQ",
10323+
"Selberherr"
10324+
],
10325+
"type": "string"
10326+
},
10327+
"type": {
10328+
"default": "SelberherrImpactIonization",
10329+
"enum": [
10330+
"SelberherrImpactIonization"
10331+
],
10332+
"type": "string"
10333+
}
10334+
},
10335+
"required": [
10336+
"E_n_crit",
10337+
"E_p_crit",
10338+
"alpha_n_inf",
10339+
"alpha_p_inf",
10340+
"beta_n",
10341+
"beta_p"
10342+
],
10343+
"type": "object"
10344+
},
1025310345
"Sellmeier": {
1025410346
"additionalProperties": false,
1025510347
"properties": {
@@ -10495,9 +10587,15 @@
1049510587
{
1049610588
"$ref": "#/definitions/DistributedGeneration"
1049710589
},
10590+
{
10591+
"$ref": "#/definitions/HurkxDirectBandToBandTunneling"
10592+
},
1049810593
{
1049910594
"$ref": "#/definitions/RadiativeRecombination"
1050010595
},
10596+
{
10597+
"$ref": "#/definitions/SelberherrImpactIonization"
10598+
},
1050110599
{
1050210600
"$ref": "#/definitions/ShockleyReedHallRecombination"
1050310601
}

schemas/HeatChargeSimulation.json

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4453,6 +4453,41 @@
44534453
],
44544454
"type": "object"
44554455
},
4456+
"HurkxDirectBandToBandTunneling": {
4457+
"additionalProperties": false,
4458+
"properties": {
4459+
"A": {
4460+
"default": 400000000000000.0,
4461+
"exclusiveMinimum": 0,
4462+
"type": "number"
4463+
},
4464+
"B": {
4465+
"default": 1900000.0,
4466+
"type": "number"
4467+
},
4468+
"E_0": {
4469+
"default": 1,
4470+
"exclusiveMinimum": 0,
4471+
"type": "number"
4472+
},
4473+
"attrs": {
4474+
"default": {},
4475+
"type": "object"
4476+
},
4477+
"sigma": {
4478+
"default": 2.5,
4479+
"type": "number"
4480+
},
4481+
"type": {
4482+
"default": "HurkxDirectBandToBandTunneling",
4483+
"enum": [
4484+
"HurkxDirectBandToBandTunneling"
4485+
],
4486+
"type": "string"
4487+
}
4488+
},
4489+
"type": "object"
4490+
},
44564491
"IndexPerturbation": {
44574492
"additionalProperties": false,
44584493
"properties": {
@@ -6671,6 +6706,63 @@
66716706
],
66726707
"type": "object"
66736708
},
6709+
"SelberherrImpactIonization": {
6710+
"additionalProperties": false,
6711+
"properties": {
6712+
"E_n_crit": {
6713+
"exclusiveMinimum": 0,
6714+
"type": "number"
6715+
},
6716+
"E_p_crit": {
6717+
"exclusiveMinimum": 0,
6718+
"type": "number"
6719+
},
6720+
"alpha_n_inf": {
6721+
"exclusiveMinimum": 0,
6722+
"type": "number"
6723+
},
6724+
"alpha_p_inf": {
6725+
"exclusiveMinimum": 0,
6726+
"type": "number"
6727+
},
6728+
"attrs": {
6729+
"default": {},
6730+
"type": "object"
6731+
},
6732+
"beta_n": {
6733+
"exclusiveMinimum": 0,
6734+
"type": "number"
6735+
},
6736+
"beta_p": {
6737+
"exclusiveMinimum": 0,
6738+
"type": "number"
6739+
},
6740+
"formulation": {
6741+
"default": "PQ",
6742+
"enum": [
6743+
"PQ",
6744+
"Selberherr"
6745+
],
6746+
"type": "string"
6747+
},
6748+
"type": {
6749+
"default": "SelberherrImpactIonization",
6750+
"enum": [
6751+
"SelberherrImpactIonization"
6752+
],
6753+
"type": "string"
6754+
}
6755+
},
6756+
"required": [
6757+
"E_n_crit",
6758+
"E_p_crit",
6759+
"alpha_n_inf",
6760+
"alpha_p_inf",
6761+
"beta_n",
6762+
"beta_p"
6763+
],
6764+
"type": "object"
6765+
},
66746766
"Sellmeier": {
66756767
"additionalProperties": false,
66766768
"properties": {
@@ -6916,9 +7008,15 @@
69167008
{
69177009
"$ref": "#/definitions/DistributedGeneration"
69187010
},
7011+
{
7012+
"$ref": "#/definitions/HurkxDirectBandToBandTunneling"
7013+
},
69197014
{
69207015
"$ref": "#/definitions/RadiativeRecombination"
69217016
},
7017+
{
7018+
"$ref": "#/definitions/SelberherrImpactIonization"
7019+
},
69227020
{
69237021
"$ref": "#/definitions/ShockleyReedHallRecombination"
69247022
}

schemas/HeatSimulation.json

Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4453,6 +4453,41 @@
44534453
],
44544454
"type": "object"
44554455
},
4456+
"HurkxDirectBandToBandTunneling": {
4457+
"additionalProperties": false,
4458+
"properties": {
4459+
"A": {
4460+
"default": 400000000000000.0,
4461+
"exclusiveMinimum": 0,
4462+
"type": "number"
4463+
},
4464+
"B": {
4465+
"default": 1900000.0,
4466+
"type": "number"
4467+
},
4468+
"E_0": {
4469+
"default": 1,
4470+
"exclusiveMinimum": 0,
4471+
"type": "number"
4472+
},
4473+
"attrs": {
4474+
"default": {},
4475+
"type": "object"
4476+
},
4477+
"sigma": {
4478+
"default": 2.5,
4479+
"type": "number"
4480+
},
4481+
"type": {
4482+
"default": "HurkxDirectBandToBandTunneling",
4483+
"enum": [
4484+
"HurkxDirectBandToBandTunneling"
4485+
],
4486+
"type": "string"
4487+
}
4488+
},
4489+
"type": "object"
4490+
},
44564491
"IndexPerturbation": {
44574492
"additionalProperties": false,
44584493
"properties": {
@@ -6671,6 +6706,63 @@
66716706
],
66726707
"type": "object"
66736708
},
6709+
"SelberherrImpactIonization": {
6710+
"additionalProperties": false,
6711+
"properties": {
6712+
"E_n_crit": {
6713+
"exclusiveMinimum": 0,
6714+
"type": "number"
6715+
},
6716+
"E_p_crit": {
6717+
"exclusiveMinimum": 0,
6718+
"type": "number"
6719+
},
6720+
"alpha_n_inf": {
6721+
"exclusiveMinimum": 0,
6722+
"type": "number"
6723+
},
6724+
"alpha_p_inf": {
6725+
"exclusiveMinimum": 0,
6726+
"type": "number"
6727+
},
6728+
"attrs": {
6729+
"default": {},
6730+
"type": "object"
6731+
},
6732+
"beta_n": {
6733+
"exclusiveMinimum": 0,
6734+
"type": "number"
6735+
},
6736+
"beta_p": {
6737+
"exclusiveMinimum": 0,
6738+
"type": "number"
6739+
},
6740+
"formulation": {
6741+
"default": "PQ",
6742+
"enum": [
6743+
"PQ",
6744+
"Selberherr"
6745+
],
6746+
"type": "string"
6747+
},
6748+
"type": {
6749+
"default": "SelberherrImpactIonization",
6750+
"enum": [
6751+
"SelberherrImpactIonization"
6752+
],
6753+
"type": "string"
6754+
}
6755+
},
6756+
"required": [
6757+
"E_n_crit",
6758+
"E_p_crit",
6759+
"alpha_n_inf",
6760+
"alpha_p_inf",
6761+
"beta_n",
6762+
"beta_p"
6763+
],
6764+
"type": "object"
6765+
},
66746766
"Sellmeier": {
66756767
"additionalProperties": false,
66766768
"properties": {
@@ -6916,9 +7008,15 @@
69167008
{
69177009
"$ref": "#/definitions/DistributedGeneration"
69187010
},
7011+
{
7012+
"$ref": "#/definitions/HurkxDirectBandToBandTunneling"
7013+
},
69197014
{
69207015
"$ref": "#/definitions/RadiativeRecombination"
69217016
},
7017+
{
7018+
"$ref": "#/definitions/SelberherrImpactIonization"
7019+
},
69227020
{
69237021
"$ref": "#/definitions/ShockleyReedHallRecombination"
69247022
}

0 commit comments

Comments
 (0)