tidy3d.GaussianDoping#
- class GaussianDoping[source]#
Bases:
AbstractDopingBoxSets 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:
attrs (dict = {}) β Dictionary storing arbitrary metadata for a Tidy3D object. This dictionary can be freely used by the user for storing data without affecting the operation of Tidy3D as it is not used internally. Note that, unlike regular Tidy3D fields,
attrsare mutable. For example, the following is allowed for setting anattrobj.attrs['foo'] = bar. Also note that Tidy3D will raise aTypeErrorifattrscontain objects that can not be serialized. One can check ifattrsare serializable by callingobj.json().center (Union[tuple[Union[float, autograd.tracer.Box], Union[float, autograd.tracer.Box], Union[float, autograd.tracer.Box]], Box] = (0.0, 0.0, 0.0)) β [units = um]. Center of object in x, y, and z.
size (Union[tuple[Union[pydantic.v1.types.NonNegativeFloat, autograd.tracer.Box], Union[pydantic.v1.types.NonNegativeFloat, autograd.tracer.Box], Union[pydantic.v1.types.NonNegativeFloat, autograd.tracer.Box]], 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
concentrationat the center of the box toref_conat the edge/face of the box in a distance equal towidth.source (str = 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
sourceare [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
Methods
Inherited Common Usage
- ref_con#
- concentration#
- width#
- source#
- property sigma#
The sigma parameter of the pseudo-gaussian
- __hash__()#
Hash method.