materials module

materials.py is a subroutine of EMUstack that defines Material objects, these represent dispersive lossy refractive indices and possess methods to interpolate n from tabulated data.

Copyright (C) 2015 Bjorn Sturmberg, Kokou Dossou, Felix Lawrence

EMUstack is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.

class materials.Material(n)[source]

Bases: object

Represents a material with a refractive index n.

If the material is dispersive, the refractive index at a given wavelength is calculated by linear interpolation from the initially given data n. Materials may also have n calculated from a Drude model with input parameters.

Parameters:n – Either a scalar refractive index, an array of values (wavelength, n), or (wavelength, real(n), imag(n)), or omega_p, omega_g, eps_inf for Drude model.

Currently included materials are;

Semiconductors Metals Transparent oxides
Si_c Au TiO2
Si_a Au_Palik TiO2_anatase
SiO2 Ag ITO
CuO Ag_Palik ZnO
CdTe Cu SnO2
FeS2 Cu_Palik FTO_Wenger
Zn3P2   FTO_Wengerk5
AlGaAs    
Al2O3    
Al2O3_PV    
GaAs    
InGaAs Drude Other
Si3N4 Au_drude Air
MgF2   H2O
InP   Glass
InAs   Spiro
GaP   Spiro_nk
Ge    
AlN    
GaN    
MoO3    
ZnS    
AlN_PV    
    Experimental incl.
    CH3NH3PbI3
    Sb2S3
    Sb2S3_ANU2014
    Sb2S3_ANU2015
    GO_2014
    GO_2015
    rGO_2015
    SiON_Low
    SiON_High
    Low_Fe_Glass
    Perovskite_00
    Perovskite
    Ge_Doped
__getstate__()[source]

Can’t pickle self._n, so remove it from what is pickled.

__setstate__(d)[source]

Recreate self._n when unpickling.

n(wl_nm)[source]

Return n for the specified wavelength.

materials.plot_n_data(data_name)[source]