treams.Material

class treams.Material(epsilon=1, mu=1, kappa=0)

Material definition.

The material properties are defined in the frequency domain through scalar values for permittivity \(\epsilon\), permeability \(\mu\), and the chirality parameter \(\kappa\). Materials are, thus, assumed to be linear, time-invariant, homogeneous, isotropic, and local. Also, it is assumed that they have no gain. The relation of the electric and magnetic fields is defined by

\[\begin{split}\begin{pmatrix} \frac{1}{\epsilon_0} \boldsymbol D \\ c \boldsymbol B \end{pmatrix} = \begin{pmatrix} \epsilon & \mathrm i \kappa \\ -\mathrm i \kappa & \mu \end{pmatrix} \begin{pmatrix} \boldsymbol E \\ Z_0 \boldsymbol H \end{pmatrix}\end{split}\]

for a fixed vacuum wave number \(k_0\) and spatial position \(\boldsymbol r\) with \(\epsilon_0\) the vacuum permittivity, \(c\) the speed of light in vacuum, and \(Z_0\) the vacuum impedance.

Parameters:
  • epsilon (optional, complex) – Relative permittivity. Defaults to 1.

  • mu (optional, complex) – Relative permeability. Defaults to 1.

  • kappa (optional, complex) – Chirality parameter. Defaults to 0.

Attributes

epsilon

Relative permittivity.

impedance

Relative impedance.

ischiral

Test if the material is chiral.

isreal

Test if the material has purely real parameters.

kappa

Chirality parameter.

mu

Relative permeability.

n

Refractive index.

nmp

Refractive indices of both helicities.

Methods

__call__()

Return a tuple containing all material parameters.

__eq__(other)

Compare material parameters.

__ge__(value, /)

Return self>=value.

__gt__(value, /)

Return self>value.

__le__(value, /)

Return self<=value.

__lt__(value, /)

Return self<value.

__ne__(value, /)

Return self!=value.

__repr__()

Representation that allows recreating the object.

__str__()

All three material parameters.

from_n([n, impedance, kappa])

Create material from refractive index and relative impedance.

from_nmp([ns, impedance])

Create material from refractive indices of both helicities.

krhos(k0, kz, pol)

The (cylindrically) radial part of the wave vector.

ks(k0)

Return the wave numbers in the medium for both polarizations.

kzs(k0, kx, ky, pol)

The z-component of the wave vector.

__le__(value, /)

Return self<=value.

__lt__(value, /)

Return self<value.

__ge__(value, /)

Return self>=value.

__ne__(value, /)

Return self!=value.

__gt__(value, /)

Return self>value.