Materials¶
Calling a material with a thickness, mat(d), gives a layer
(a Term).
- class camfr.Material¶
An isotropic material.
Material(n)has refractive indexn; a negative imaginary part is loss.Material(n, etar)sets eps_r = n*etar and mu_r = n/etar (etardefaults ton, i.e. mu_r = 1). Calling a material with a thickness gives a Term,Si(0.22), from which Slabs and Stacks are built.__init__(n: complex) -> None__init__(n: complex, etar: complex) -> None- eps() complex¶
Permittivity (F/m).
- epsr() complex¶
Relative permittivity.
- eta() complex¶
etar*sqrt(eps0/mu0).
- etar() complex¶
The etar parameter (eps_r/n).
- gain() float¶
Material gain at the current wavelength, in 1/cm.
- mu() complex¶
Permeability (H/m).
- mur() complex¶
Relative permeability.
- n() complex¶
Refractive index.
- set_epsr(epsr: complex) None¶
Set the relative permittivity, keeping the permeability.
- set_epsr_mur(epsr: complex, mur: complex) None¶
Set the relative permittivity and permeability.
- set_etar(etar: complex) None¶
Set etar (n unchanged).
- set_mur(mur: complex) None¶
Set the relative permeability, keeping the permittivity.
- set_n(n: complex) None¶
Set the refractive index (etar unchanged).
- class camfr.BiaxialMaterial(epsr_1: complex, epsr_2: complex, epsr_z: complex, mur_1: complex, mur_2: complex, mur_z: complex)¶
A biaxial material, given by the diagonal elements of its relative permittivity and permeability tensors.
- epsr(i: int) complex¶
Relative permittivity along axis i (1, 2 or 3 = z).
- mur(i: int) complex¶
Relative permeability along axis i (1, 2 or 3 = z).
- class camfr.BaseMaterial¶
Base class of Material and BiaxialMaterial.
Dispersive materials¶
- class camfr.Dispersive_Material_Factory(filename)¶
Materials from a tabulated index. The file has lines of wavelength (nm), n and k; calling the factory returns a Material at the current wavelength (needs SciPy).
- class camfr.ZnS_Factory¶
ZnS with the dispersion formula of DeVore, JOSA 41, 416 (1951); calling it returns a Material at the current wavelength.