How Can I Define Doping Profile?#
Date |
Category |
---|---|
2025-06-30 21:10:35 |
Charge |
Doping is defined as a box with a specific doping profile and is added to a SemiconductorMedium
object.
Positive doping corresponds to the N_d
(number of donors) parameter of the SemiconductorMedium
, while negative doping corresponds to the N_a
(number of acceptors).
The doping profile can be:
Uniform, implemented using the
ConstantDoping
object:
import tidy3d as td
box\_coords = \[
\[-1, -1, -1],
\[1, 1, 1]
]
constant\_box1 = td.ConstantDoping(center=(0, 0, 0), size=(2, 2, 2), concentration=1e18)
constant\_box2 = td.ConstantDoping.from\_bounds(rmin=box\_coords\[0], rmax=box\_coords\[1], concentration=1e18)```
- Gaussian, implemented using the [`GaussianDoping`](https://docs.flexcompute.com/projects/tidy3d/en/latest/api/_autosummary/tidy3d.GaussianDoping.html) object:
```python
import tidy3d as td
box\_coords = \[
\[-1, -1, -1],
\[1, 1, 1]
]
gaussian\_box1 = td.GaussianDoping(
center=(0, 0, 0),
size=(2, 2, 2),
ref\_con=1e15,
concentration=1e18,
width=0.1,
source="xmin"
)
gaussian\_box2 = td.GaussianDoping.from\_bounds(
rmin=box\_coords\[0],
rmax=box\_coords\[1],
ref\_con=1e15,
concentration=1e18,
width=0.1,
source="xmin"
)```
The unit for the free carrier concentration is 1/$\text{cm}^3$.
It is important to note that doping boxes are additive; i.e., if two donor doping boxes overlap, the total concentration will be the sum of these two overlapping doping boxes.