tidy3d.LinearHeatPerturbation#
- class LinearHeatPerturbation[source]#
Bases:
HeatPerturbation
Specifies parameter’s perturbation due to thermal effects as a linear function of temperature.
- 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,
attrs
are mutable. For example, the following is allowed for setting anattr
obj.attrs['foo'] = bar
. Also note that Tidy3D` will raise aTypeError
ifattrs
contain objects that can not be serialized. One can check ifattrs
are serializable by callingobj.json()
.temperature_range (Tuple[NonNegativeFloat, NonNegativeFloat] = (0, inf)) – [units = K]. Temperature range in which perturbation model is valid.
temperature_ref (NonNegativeFloat) – [units = K]. Temperature at which perturbation is zero.
coeff (Union[float, tidycomplex, ComplexNumber]) – [units = 1/K]. Sensitivity (derivative) of perturbation with respect to temperature.
Notes
\[\Delta X (T) = \text{coeff} \times (T - \text{temperature\_ref}),\]where
coeff
is the parameter’s sensitivity (thermo-optic coefficient) to temperature andtemperature_ref
is the reference temperature point. A temperature range in which such a model is deemed accurate may be provided as a fieldtemperature_range
(default:[0, inf]
). Wherever is applied, Tidy3D will check that the parameter’s value does not go out of its physical bounds withintemperature_range
due to perturbations and raise a warning if this check fails. A warning is also issued if the perturbation model is evaluated outside oftemperature_range
.Example
>>> heat_perturb = LinearHeatPerturbation( ... temperature_ref=300, ... coeff=0.0001, ... temperature_range=[200, 500], ... )
Attributes
Whether perturbation is complex valued.
Range of possible perturbation values in the provided
temperature_range
.Methods
sample
(temperature)Sample perturbation at temperature points.
Inherited Common Usage
- temperature_ref#
- coeff#
- property perturbation_range#
Range of possible perturbation values in the provided
temperature_range
.
- sample(temperature)[source]#
Sample perturbation at temperature points.
- Parameters:
temperature (Union[) – ArrayLike[float],
SpatialDataArray
,TriangularGridDataset
,TetrahedralGridDataset
,] – Temperature sample point(s).
- Returns:
Union[ – ArrayLike[float], ArrayLike[complex],
SpatialDataArray
,TriangularGridDataset
,TetrahedralGridDataset
,] – Sampled perturbation value(s).
- property is_complex#
Whether perturbation is complex valued.
- __hash__()#
Hash method.