flex_rf.tidy3d.CustomPoleResidue
Type: class │ Base(s): CustomDispersiveMedium, PoleResidue
Description
Section titled “Description”A spatially varying dispersive medium described by the pole-residue pair model.
In this method, the frequency-dependent permittivity is expressed as a sum of resonant material poles [1].
For each of these resonant poles identified by the index , an auxiliary differential equation is used to relate the auxiliary current to the applied electric field . The sum of all these auxiliary current contributions describes the total dielectric response of the material.
Hence, the computational cost increases with the number of poles.
Example(s)
Section titled “Example(s)”x = np.linspace(-1, 1, 5)y = np.linspace(-1, 1, 6)z = np.linspace(-1, 1, 7)coords = dict(x=x, y=y, z=z)eps_inf = SpatialDataArray(np.ones((5, 6, 7)), coords=coords)a1 = SpatialDataArray(-np.random.random((5, 6, 7)), coords=coords)c1 = SpatialDataArray(np.random.random((5, 6, 7)), coords=coords)a2 = SpatialDataArray(-np.random.random((5, 6, 7)), coords=coords)c2 = SpatialDataArray(np.random.random((5, 6, 7)), coords=coords)pole_res = CustomPoleResidue(eps_inf=eps_inf, poles=[(a1, c1), (a2, c2)])eps = pole_res.eps_model(200e12)References
Section titled “References”[1] M. Han, R.W. Dutton and S. Fan, IEEE Microwave and Wireless Component Letters, 16, 119 (2006).
.. TODO add links to notebooks using this.
Parameters
Section titled “Parameters”eps_inf [CustomSpatialDataTypeAnnotated] |
|
Relative permittivity at infinite frequency (). |
name [str | None] = None |
|
Optional unique name for medium. |
frequency_range [FreqBound | None] = None |
|
Optional range of validity for the medium. |
allow_gain [bool] = False |
|
Allow the medium to be active. Caution: simulations with a gain medium are unstable, and are likely to diverge.Simulations where |
nonlinear_spec [NonlinearSpec | NonlinearSusceptibility | None] = None |
|
Nonlinear spec applied on top of the base medium properties. |
modulation_spec [ModulationSpec | None] = None |
|
Modulation spec applied on top of the base medium properties. |
viz_spec [VisualizationSpec | None] = None |
|
Plotting specification for visualizing medium. |
heat_spec [ThermalSpecType | None] = None |
|
DEPRECATED: Use |
interp_method [InterpMethod] = 'nearest' |
|
Interpolation method to obtain permittivity values that are not supplied at the Yee grids; For grids outside the range of the supplied data, extrapolation will be applied. When the extrapolated value is smaller (greater) than the minimal (maximal) of the supplied data, the extrapolated value will take the minimal (maximal) of the supplied data. |
subpixel [bool] = False |
|
If |
derived_from [PerturbationMediumType | None] = None |
|
If not |
poles [tuple[tuple[CustomSpatialDataTypeAnnotated, CustomSpatialDataTypeAnnotated], ...]] = () |
|
Tuple of complex-valued () poles for the model. |
Methods
Section titled “Methods”eps_dataarray_freq(frequency: float) |
|
Permittivity array at |
from_medium(medium: CustomMedium) |
|
Convert a |
is_spatially_uniform() |
|
Whether the medium is spatially uniform. |
loss_upper_bound() |
|
Not implemented yet. |
poles_on_grid(coords: Coords) |
|
Spatial profile of poles interpolated at the supplied coordinates. |
to_medium() |
|
Convert to a |