Skip to content

flex_rf.tidy3d.LossyMetalMedium

Type: class Base(s): Medium

Lossy metal that can be modeled with a surface impedance boundary condition (SIBC).

SIBC is most accurate when the skin depth is much smaller than the structure feature size. If not the case, please use a regular medium instead, or set simulation.subpixel.lossy_metal to td.VolumetricAveraging() or td.Staircasing().

lossy_metal = LossyMetalMedium(conductivity=10, frequency_range=(9e9, 10e9))
conductivity [PositiveFloat]

Electric conductivity. Defined such that the imaginary part of the complex permittivity at angular frequency omega is given by conductivity/omega.

frequency_range [FreqBound]

Frequency range of validity for the medium.

name [str | None] = None

Optional unique name for medium.

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 MultiPhysicsMedium. Specification of the medium heat properties. They are used for solving the heat equation via the HeatSimulation interface. Such simulations can beused for investigating the influence of heat propagation on the properties of optical systems. Once the temperature distribution in the system is found using HeatSimulation object, Simulation.perturbed_mediums_copy() can be used to convert mediums with perturbation models defined into spatially dependent custom mediums. Otherwise, the heat_spec does not directly affect the running of an optical Simulation.

allow_gain [Literal[False]] = False

Allow the medium to be active. Caution: simulations with a gain medium are unstable, and are likely to diverge.Simulations where allow_gain is set to True will still be charged even if diverged. Monitor data up to the divergence point will still be returned and can be useful in some cases.

permittivity [Literal[1.0]] = 1.0

Relative permittivity.

roughness [SurfaceRoughnessType | None] = None

Surface roughness model that applies a frequency-dependent scaling factor to surface impedance.

thickness [PositiveFloat | None] = None

When the thickness of the conductor is not much greater than skin depth, 1D transmission line model is applied to compute the surface impedance of the thin conductor.

fit_param [SurfaceImpedanceFitterParam] = factory: SurfaceImpedanceFitterParam

Parameters for fitting surface impedance divided by (-1j * omega) over the frequency range using pole-residue pair model.

eps_diagonal_numerical(frequency: float)

Main diagonal of the complex-valued permittivity tensor for numerical considerations such as meshing and runtime estimation.

is_pec_like()

Whether the medium is treated as a PEC medium in surface monitors.

num_poles()

Number of poles in the fitted model.

plot(ax: Ax = None)

Make plot of complex-valued surface imepdance model vs fitted model, at sampling frequencies. Parameters ---------- ax : matplotlib.axes._subplots.Axes = None Axes to plot the data on, if None, a new one is created. Returns ------- matplotlib.axis.Axes Matplotlib axis corresponding to plot.

sampling_frequencies()

Sampling frequencies used in fitting.

scaled_surface_impedance_model()

Fitted surface impedance divided by (-j \omega) using pole-residue pair model within frequency_range.

surface_impedance(frequencies: ArrayFloat1D)

Computing surface impedance including surface roughness effects.