Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- 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`.
- 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.
- 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`.
- Added the Hurkx model for direct band-to-band tunneling `HurkxDirectBandToBandTunneling`.

### Changed
- `LayerRefinementSpec` defaults to assuming structures made of different materials are interior-disjoint for more efficient mesh generation.
Expand Down
1 change: 1 addition & 0 deletions docs/api/charge/mediums.rst
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ Generation Recombination
tidy3d.ShockleyReedHallRecombination
tidy3d.FossumCarrierLifetime
tidy3d.DistributedGeneration
tidy3d.HurkxDirectBandToBandTunneling


Doping
Expand Down
38 changes: 38 additions & 0 deletions schemas/EMESimulation.json
Original file line number Diff line number Diff line change
Expand Up @@ -5735,6 +5735,41 @@
],
"type": "object"
},
"HurkxDirectBandToBandTunneling": {
"additionalProperties": false,
"properties": {
"A": {
"default": 400000000000000.0,
"exclusiveMinimum": 0,
"type": "number"
},
"B": {
"default": 1900000.0,
"type": "number"
},
"E_0": {
"default": 1,
"exclusiveMinimum": 0,
"type": "number"
},
"attrs": {
"default": {},
"type": "object"
},
"sigma": {
"default": 2.5,
"type": "number"
},
"type": {
"default": "HurkxDirectBandToBandTunneling",
"enum": [
"HurkxDirectBandToBandTunneling"
],
"type": "string"
}
},
"type": "object"
},
"IndexPerturbation": {
"additionalProperties": false,
"properties": {
Expand Down Expand Up @@ -9815,6 +9850,9 @@
{
"$ref": "#/definitions/DistributedGeneration"
},
{
"$ref": "#/definitions/HurkxDirectBandToBandTunneling"
},
{
"$ref": "#/definitions/RadiativeRecombination"
},
Expand Down
38 changes: 38 additions & 0 deletions schemas/HeatChargeSimulation.json
Original file line number Diff line number Diff line change
Expand Up @@ -4434,6 +4434,41 @@
],
"type": "object"
},
"HurkxDirectBandToBandTunneling": {
"additionalProperties": false,
"properties": {
"A": {
"default": 400000000000000.0,
"exclusiveMinimum": 0,
"type": "number"
},
"B": {
"default": 1900000.0,
"type": "number"
},
"E_0": {
"default": 1,
"exclusiveMinimum": 0,
"type": "number"
},
"attrs": {
"default": {},
"type": "object"
},
"sigma": {
"default": 2.5,
"type": "number"
},
"type": {
"default": "HurkxDirectBandToBandTunneling",
"enum": [
"HurkxDirectBandToBandTunneling"
],
"type": "string"
}
},
"type": "object"
},
"IndexPerturbation": {
"additionalProperties": false,
"properties": {
Expand Down Expand Up @@ -6809,6 +6844,9 @@
{
"$ref": "#/definitions/DistributedGeneration"
},
{
"$ref": "#/definitions/HurkxDirectBandToBandTunneling"
},
{
"$ref": "#/definitions/RadiativeRecombination"
},
Expand Down
38 changes: 38 additions & 0 deletions schemas/HeatSimulation.json
Original file line number Diff line number Diff line change
Expand Up @@ -4434,6 +4434,41 @@
],
"type": "object"
},
"HurkxDirectBandToBandTunneling": {
"additionalProperties": false,
"properties": {
"A": {
"default": 400000000000000.0,
"exclusiveMinimum": 0,
"type": "number"
},
"B": {
"default": 1900000.0,
"type": "number"
},
"E_0": {
"default": 1,
"exclusiveMinimum": 0,
"type": "number"
},
"attrs": {
"default": {},
"type": "object"
},
"sigma": {
"default": 2.5,
"type": "number"
},
"type": {
"default": "HurkxDirectBandToBandTunneling",
"enum": [
"HurkxDirectBandToBandTunneling"
],
"type": "string"
}
},
"type": "object"
},
"IndexPerturbation": {
"additionalProperties": false,
"properties": {
Expand Down Expand Up @@ -6809,6 +6844,9 @@
{
"$ref": "#/definitions/DistributedGeneration"
},
{
"$ref": "#/definitions/HurkxDirectBandToBandTunneling"
},
{
"$ref": "#/definitions/RadiativeRecombination"
},
Expand Down
38 changes: 38 additions & 0 deletions schemas/ModeSimulation.json
Original file line number Diff line number Diff line change
Expand Up @@ -4966,6 +4966,41 @@
],
"type": "object"
},
"HurkxDirectBandToBandTunneling": {
"additionalProperties": false,
"properties": {
"A": {
"default": 400000000000000.0,
"exclusiveMinimum": 0,
"type": "number"
},
"B": {
"default": 1900000.0,
"type": "number"
},
"E_0": {
"default": 1,
"exclusiveMinimum": 0,
"type": "number"
},
"attrs": {
"default": {},
"type": "object"
},
"sigma": {
"default": 2.5,
"type": "number"
},
"type": {
"default": "HurkxDirectBandToBandTunneling",
"enum": [
"HurkxDirectBandToBandTunneling"
],
"type": "string"
}
},
"type": "object"
},
"IndexPerturbation": {
"additionalProperties": false,
"properties": {
Expand Down Expand Up @@ -9481,6 +9516,9 @@
{
"$ref": "#/definitions/DistributedGeneration"
},
{
"$ref": "#/definitions/HurkxDirectBandToBandTunneling"
},
{
"$ref": "#/definitions/RadiativeRecombination"
},
Expand Down
38 changes: 38 additions & 0 deletions schemas/Simulation.json
Original file line number Diff line number Diff line change
Expand Up @@ -8304,6 +8304,41 @@
],
"type": "object"
},
"HurkxDirectBandToBandTunneling": {
"additionalProperties": false,
"properties": {
"A": {
"default": 400000000000000.0,
"exclusiveMinimum": 0,
"type": "number"
},
"B": {
"default": 1900000.0,
"type": "number"
},
"E_0": {
"default": 1,
"exclusiveMinimum": 0,
"type": "number"
},
"attrs": {
"default": {},
"type": "object"
},
"sigma": {
"default": 2.5,
"type": "number"
},
"type": {
"default": "HurkxDirectBandToBandTunneling",
"enum": [
"HurkxDirectBandToBandTunneling"
],
"type": "string"
}
},
"type": "object"
},
"IndexPerturbation": {
"additionalProperties": false,
"properties": {
Expand Down Expand Up @@ -13325,6 +13360,9 @@
{
"$ref": "#/definitions/DistributedGeneration"
},
{
"$ref": "#/definitions/HurkxDirectBandToBandTunneling"
},
{
"$ref": "#/definitions/RadiativeRecombination"
},
Expand Down
38 changes: 38 additions & 0 deletions schemas/TerminalComponentModeler.json
Original file line number Diff line number Diff line change
Expand Up @@ -8612,6 +8612,41 @@
],
"type": "object"
},
"HurkxDirectBandToBandTunneling": {
"additionalProperties": false,
"properties": {
"A": {
"default": 400000000000000.0,
"exclusiveMinimum": 0,
"type": "number"
},
"B": {
"default": 1900000.0,
"type": "number"
},
"E_0": {
"default": 1,
"exclusiveMinimum": 0,
"type": "number"
},
"attrs": {
"default": {},
"type": "object"
},
"sigma": {
"default": 2.5,
"type": "number"
},
"type": {
"default": "HurkxDirectBandToBandTunneling",
"enum": [
"HurkxDirectBandToBandTunneling"
],
"type": "string"
}
},
"type": "object"
},
"IndexPerturbation": {
"additionalProperties": false,
"properties": {
Expand Down Expand Up @@ -13808,6 +13843,9 @@
{
"$ref": "#/definitions/DistributedGeneration"
},
{
"$ref": "#/definitions/HurkxDirectBandToBandTunneling"
},
{
"$ref": "#/definitions/RadiativeRecombination"
},
Expand Down
8 changes: 8 additions & 0 deletions tests/test_components/test_heat_charge.py
Original file line number Diff line number Diff line change
Expand Up @@ -2374,3 +2374,11 @@ def test_generation_recombination():
tau_n=tau_fossum,
tau_p=tau_fossum,
)

# make sure we can build a HurkxDirectBandToBandTunneling
_ = td.HurkxDirectBandToBandTunneling(
A=1e19,
B=1.9e6,
E_0=1,
sigma=2,
)
2 changes: 2 additions & 0 deletions tidy3d/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@
HeatFluxBC,
HeatFromElectricSource,
HeatSource,
HurkxDirectBandToBandTunneling,
InsulatingBC,
IsotropicEffectiveDOS,
MultiValleyEffectiveDOS,
Expand Down Expand Up @@ -603,6 +604,7 @@ def set_logging_level(level: str) -> None:
"HeatSource",
"HeuristicPECStaircasing",
"HuraySurfaceRoughness",
"HurkxDirectBandToBandTunneling",
"IndexPerturbation",
"IndexedDataArray",
"IndexedFieldVoltageDataArray",
Expand Down
Loading