tidy3d.GaussianDoping#

class GaussianDoping[source]#

Bases: AbstractDopingBox

Sets a gaussian doping in the specified box. For translationally invariant behavior in one dimension, the box must have infinite size in the homogenous (invariant) direction.

Parameters:
  • center (Optional[tuple[Union[float, autograd.tracer.Box], Union[float, autograd.tracer.Box], Union[float, autograd.tracer.Box]]] = None) – [units = um]. Center of object in x, y, and z.

  • size (tuple[Union[NonNegativeFloat, autograd.tracer.Box], Union[NonNegativeFloat, autograd.tracer.Box], Union[NonNegativeFloat, autograd.tracer.Box]] = (inf, inf, inf)) – [units = um]. Size in x, y, and z directions.

  • ref_con (PositiveFloat) – [units = 1/cm^3]. Reference concentration. This is the minimum concentration in the box and it is attained at the edges/faces of the box.

  • concentration (PositiveFloat) – [units = 1/cm^3]. The concentration at the center of the box.

  • width (PositiveFloat) – [units = um]. Width of the gaussian. The concentration will transition from concentration at the center of the box to ref_con at the edge/face of the box in a distance equal to width.

  • source (Literal['xmin', 'xmax', 'ymin', 'ymax', 'zmin', 'zmax'] = xmin) – Specifies the side of the box acting as the source, i.e., the face specified does not have a gaussian evolution normal to it, instead the concentration is constant from this face. Accepted values for source are [xmin, xmax, ymin, ymax, zmin, zmax]

Notes

The Gaussian doping concentration \(N\) is defined in the following manner:

  • \(N=N_{\text{max}}\) at locations more than \(\text{width}\) um away from the sides of the box.

  • \(N=N_{\text{ref}}\) at location on the box sides.

  • a Gaussian variation between \(N_{\text{max}}\) and \(N_{\text{ref}}\) at locations less than \(\text{width}\)

um away from the sides.

By definition, all sides of the box will have concentration \(N_{\text{ref}}\) (except the side specified as source) and the center of the box (\(\text{width}\) away from the box sides) will have a concentration \(N_{\text{max}}\).

\[N = \{N_{\text{max}}\} \exp \left[ - \ln \left( \frac{\{N_{\text{max}}\}}{\{N_{\text{ref}}\}} \right) \left( \frac{(x|y|z) - \{(x|y|z)_{\text{box}}\}}{\text{width}} \right)^2 \right]\]

Example

>>> 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"
... )

Attributes

sigma

The sigma parameter of the pseudo-gaussian

ref_con

concentration

width

source

size

center

Inherited Common Usage

ref_con#
concentration#
width#
source#
property sigma#

The sigma parameter of the pseudo-gaussian