Skip to content

Commit a212d91

Browse files
committed
feat: Adding direct btbt by Hurkx and Impact ionization by Selberherr
1 parent 142c385 commit a212d91

File tree

12 files changed

+737
-2
lines changed

12 files changed

+737
-2
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
5858
- 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`.
5959
- 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.
6060
- 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`.
61+
- Added the Hurkx model for direct band-to-band tunneling `HurkxDirectBandToBandTunneling`.
62+
- Added Selberherr's model for impact ionization `SelberherrImpactIonization`.
6163

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

docs/api/charge/mediums.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ Generation Recombination
3434
tidy3d.ShockleyReedHallRecombination
3535
tidy3d.FossumCarrierLifetime
3636
tidy3d.DistributedGeneration
37+
tidy3d.HurkxDirectBandToBandTunneling
3738

3839

3940
Doping

schemas/EMESimulation.json

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6169,6 +6169,41 @@
61696169
],
61706170
"type": "object"
61716171
},
6172+
"HurkxDirectBandToBandTunneling": {
6173+
"additionalProperties": false,
6174+
"properties": {
6175+
"A": {
6176+
"default": 400000000000000.0,
6177+
"exclusiveMinimum": 0,
6178+
"type": "number"
6179+
},
6180+
"B": {
6181+
"default": 1900000.0,
6182+
"type": "number"
6183+
},
6184+
"E_0": {
6185+
"default": 1,
6186+
"exclusiveMinimum": 0,
6187+
"type": "number"
6188+
},
6189+
"attrs": {
6190+
"default": {},
6191+
"type": "object"
6192+
},
6193+
"sigma": {
6194+
"default": 2.5,
6195+
"type": "number"
6196+
},
6197+
"type": {
6198+
"default": "HurkxDirectBandToBandTunneling",
6199+
"enum": [
6200+
"HurkxDirectBandToBandTunneling"
6201+
],
6202+
"type": "string"
6203+
}
6204+
},
6205+
"type": "object"
6206+
},
61726207
"IndexPerturbation": {
61736208
"additionalProperties": false,
61746209
"properties": {
@@ -10145,6 +10180,59 @@
1014510180
],
1014610181
"type": "object"
1014710182
},
10183+
"SelberherrImpactIonization": {
10184+
"additionalProperties": false,
10185+
"properties": {
10186+
"E_n_crit": {
10187+
"exclusiveMinimum": 0,
10188+
"type": "number"
10189+
},
10190+
"E_p_crit": {
10191+
"exclusiveMinimum": 0,
10192+
"type": "number"
10193+
},
10194+
"alpha_n_inf": {
10195+
"exclusiveMinimum": 0,
10196+
"type": "number"
10197+
},
10198+
"alpha_p_inf": {
10199+
"exclusiveMinimum": 0,
10200+
"type": "number"
10201+
},
10202+
"attrs": {
10203+
"default": {},
10204+
"type": "object"
10205+
},
10206+
"beta_n": {
10207+
"exclusiveMinimum": 0,
10208+
"type": "number"
10209+
},
10210+
"beta_p": {
10211+
"exclusiveMinimum": 0,
10212+
"type": "number"
10213+
},
10214+
"formulation": {
10215+
"default": "PQ",
10216+
"type": "string"
10217+
},
10218+
"type": {
10219+
"default": "SelberherrImpactIonization",
10220+
"enum": [
10221+
"SelberherrImpactIonization"
10222+
],
10223+
"type": "string"
10224+
}
10225+
},
10226+
"required": [
10227+
"E_n_crit",
10228+
"E_p_crit",
10229+
"alpha_n_inf",
10230+
"alpha_p_inf",
10231+
"beta_n",
10232+
"beta_p"
10233+
],
10234+
"type": "object"
10235+
},
1014810236
"Sellmeier": {
1014910237
"additionalProperties": false,
1015010238
"properties": {
@@ -10390,9 +10478,15 @@
1039010478
{
1039110479
"$ref": "#/definitions/DistributedGeneration"
1039210480
},
10481+
{
10482+
"$ref": "#/definitions/HurkxDirectBandToBandTunneling"
10483+
},
1039310484
{
1039410485
"$ref": "#/definitions/RadiativeRecombination"
1039510486
},
10487+
{
10488+
"$ref": "#/definitions/SelberherrImpactIonization"
10489+
},
1039610490
{
1039710491
"$ref": "#/definitions/ShockleyReedHallRecombination"
1039810492
}

schemas/HeatChargeSimulation.json

Lines changed: 94 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": {
@@ -6713,6 +6748,59 @@
67136748
],
67146749
"type": "object"
67156750
},
6751+
"SelberherrImpactIonization": {
6752+
"additionalProperties": false,
6753+
"properties": {
6754+
"E_n_crit": {
6755+
"exclusiveMinimum": 0,
6756+
"type": "number"
6757+
},
6758+
"E_p_crit": {
6759+
"exclusiveMinimum": 0,
6760+
"type": "number"
6761+
},
6762+
"alpha_n_inf": {
6763+
"exclusiveMinimum": 0,
6764+
"type": "number"
6765+
},
6766+
"alpha_p_inf": {
6767+
"exclusiveMinimum": 0,
6768+
"type": "number"
6769+
},
6770+
"attrs": {
6771+
"default": {},
6772+
"type": "object"
6773+
},
6774+
"beta_n": {
6775+
"exclusiveMinimum": 0,
6776+
"type": "number"
6777+
},
6778+
"beta_p": {
6779+
"exclusiveMinimum": 0,
6780+
"type": "number"
6781+
},
6782+
"formulation": {
6783+
"default": "PQ",
6784+
"type": "string"
6785+
},
6786+
"type": {
6787+
"default": "SelberherrImpactIonization",
6788+
"enum": [
6789+
"SelberherrImpactIonization"
6790+
],
6791+
"type": "string"
6792+
}
6793+
},
6794+
"required": [
6795+
"E_n_crit",
6796+
"E_p_crit",
6797+
"alpha_n_inf",
6798+
"alpha_p_inf",
6799+
"beta_n",
6800+
"beta_p"
6801+
],
6802+
"type": "object"
6803+
},
67166804
"Sellmeier": {
67176805
"additionalProperties": false,
67186806
"properties": {
@@ -6958,9 +7046,15 @@
69587046
{
69597047
"$ref": "#/definitions/DistributedGeneration"
69607048
},
7049+
{
7050+
"$ref": "#/definitions/HurkxDirectBandToBandTunneling"
7051+
},
69617052
{
69627053
"$ref": "#/definitions/RadiativeRecombination"
69637054
},
7055+
{
7056+
"$ref": "#/definitions/SelberherrImpactIonization"
7057+
},
69647058
{
69657059
"$ref": "#/definitions/ShockleyReedHallRecombination"
69667060
}

schemas/HeatSimulation.json

Lines changed: 94 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": {
@@ -6713,6 +6748,59 @@
67136748
],
67146749
"type": "object"
67156750
},
6751+
"SelberherrImpactIonization": {
6752+
"additionalProperties": false,
6753+
"properties": {
6754+
"E_n_crit": {
6755+
"exclusiveMinimum": 0,
6756+
"type": "number"
6757+
},
6758+
"E_p_crit": {
6759+
"exclusiveMinimum": 0,
6760+
"type": "number"
6761+
},
6762+
"alpha_n_inf": {
6763+
"exclusiveMinimum": 0,
6764+
"type": "number"
6765+
},
6766+
"alpha_p_inf": {
6767+
"exclusiveMinimum": 0,
6768+
"type": "number"
6769+
},
6770+
"attrs": {
6771+
"default": {},
6772+
"type": "object"
6773+
},
6774+
"beta_n": {
6775+
"exclusiveMinimum": 0,
6776+
"type": "number"
6777+
},
6778+
"beta_p": {
6779+
"exclusiveMinimum": 0,
6780+
"type": "number"
6781+
},
6782+
"formulation": {
6783+
"default": "PQ",
6784+
"type": "string"
6785+
},
6786+
"type": {
6787+
"default": "SelberherrImpactIonization",
6788+
"enum": [
6789+
"SelberherrImpactIonization"
6790+
],
6791+
"type": "string"
6792+
}
6793+
},
6794+
"required": [
6795+
"E_n_crit",
6796+
"E_p_crit",
6797+
"alpha_n_inf",
6798+
"alpha_p_inf",
6799+
"beta_n",
6800+
"beta_p"
6801+
],
6802+
"type": "object"
6803+
},
67166804
"Sellmeier": {
67176805
"additionalProperties": false,
67186806
"properties": {
@@ -6958,9 +7046,15 @@
69587046
{
69597047
"$ref": "#/definitions/DistributedGeneration"
69607048
},
7049+
{
7050+
"$ref": "#/definitions/HurkxDirectBandToBandTunneling"
7051+
},
69617052
{
69627053
"$ref": "#/definitions/RadiativeRecombination"
69637054
},
7055+
{
7056+
"$ref": "#/definitions/SelberherrImpactIonization"
7057+
},
69647058
{
69657059
"$ref": "#/definitions/ShockleyReedHallRecombination"
69667060
}

0 commit comments

Comments
 (0)