flex_rf.tidy3d.Medium2D
Type: class │ Base(s): AbstractMedium
Description
Section titled “Description”2D diagonally anisotropic medium.
Only diagonal anisotropy is currently supported.
Example(s)
Section titled “Example(s)”drude_medium = Drude(eps_inf=2.0, coeffs=[(1,2), (3,4)])medium2d = Medium2D(ss=drude_medium, tt=drude_medium)Parameters
Section titled “Parameters”ss [IsotropicUniformMediumFor2DType] |
|
Medium describing the ss-component of the diagonal permittivity tensor. The ss-component refers to the in-plane dimension of the medium that is the first component in order of ‘x’, ‘y’, ‘z’. If the 2D material is normal to the y-axis, for example, then this determines the xx-component of the corresponding 3D medium. |
tt [IsotropicUniformMediumFor2DType] |
|
Medium describing the tt-component of the diagonal permittivity tensor. The tt-component refers to the in-plane dimension of the medium that is the second component in order of ‘x’, ‘y’, ‘z’. If the 2D material is normal to the y-axis, for example, then this determines the zz-component of the corresponding 3D medium. |
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 |
Attributes
Section titled “Attributes”elements [dict[str, IsotropicUniformMediumFor2DType]] |
|
The diagonal elements of the 2D medium as a dictionary. |
Methods
Section titled “Methods”eps_diagonal(frequency: float) |
|
Main diagonal of the complex-valued permittivity tensor as a function of frequency. |
eps_diagonal_numerical(frequency: float) |
|
Main diagonal of the complex-valued permittivity tensor for numerical considerations such as meshing and runtime estimation. |
eps_model(frequency: float) |
|
Complex-valued permittivity as a function of frequency. |
from_anisotropic_medium(medium: AnisotropicMedium, axis: Axis, thickness: float) |
|
Generate a |
from_dispersive_medium(medium: DispersiveMedium, thickness: float) |
|
Generate a |
from_medium(medium: Medium, thickness: float) |
|
Generate a |
is_comp_pec_2d(comp: Axis, axis: Axis) |
|
Whether the medium is a PEC. |
is_pec() |
|
Whether the medium is a PEC. |
n_cfl() |
|
This property computes the index of refraction related to CFL condition, so that the FDTD with this medium is stable when the time step size that doesn’t take material factor into account is multiplied by |
plot(freqs: float, ax: Ax = None) |
|
Plot n, k of a |
plot_sigma(freqs: float, ax: Ax = None) |
|
Plot the surface conductivity of the 2D material. |
sigma_model(freq: float) |
|
Complex-valued conductivity as a function of frequency. |
to_anisotropic_medium(axis: Axis, thickness: float) |
|
Generate a 3D |
to_medium(thickness: float) |
|
Generate a |
to_pole_residue(thickness: float) |
|
Generate a |
volumetric_equivalent(axis: Axis, adjacent_media: tuple[MediumType3D, MediumType3D], adjacent_dls: tuple[float, float]) |
|
Produces a 3D volumetric equivalent medium. The new medium has thickness equal to the average of the |