treams.Material#
- class treams.Material(epsilon=1, mu=1, kappa=0)[source]#
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.
Methods
__init__([epsilon, mu, kappa])Initialization.
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.
Attributes
epsilonRelative permittivity.
impedanceRelative impedance.
ischiralTest if the material is chiral.
isrealTest if the material has purely real parameters.
kappaChirality parameter.
muRelative permeability.
nRefractive index.
nmpRefractive indices of both helicities.