Example


In [1]:
import numpy as np
import matplotlib.pyplot as plt
from IPython.display import display
import riip
ri = riip.RiiDataFrame()
plt.style.use('seaborn-notebook')
plot_params = {
    'figure.figsize': [8.0, 8.0],
    'axes.labelsize': 'xx-large',
    
    'xtick.labelsize': 'xx-large',
    'ytick.labelsize': 'xx-large',
    'legend.fontsize': 'xx-large',
    # 'legend.handlelength': 2.0,
}
plt.rcParams.update(plot_params)
props = plt.rcParams['axes.prop_cycle']

Ag


In [2]:
ri.search('Ag')


Out[2]:
shelf book page formula tabulated wl_min wl_max
id
0 main Ag (Experimental data) Johnson 0 nk 0.187900 1.937000
1 main Ag (Experimental data) McPeak 0 nk 0.300000 1.700000
2 main Ag (Experimental data) Babar 0 nk 0.206600 12.400000
3 main Ag (Experimental data) Werner 0 nk 0.017586 2.479684
4 main Ag (Experimental data) Stahrenberg 0 nk 0.127820 0.495940
5 main Ag (Experimental data) Windt 0 nk 0.002360 0.121570
6 main Ag (Experimental data) Hagemann 0 nk 0.000002 248.000000
7 main Ag (Models and simulations) Rakic-BB 0 nk 0.247970 12.398000
8 main Ag (Models and simulations) Rakic-LD 0 nk 0.247970 12.398000
9 main Ag (Models and simulations) Werner-DFT 0 nk 0.017586 2.479684
88 main AgBr Schröter 8 f 0.495000 0.670000
126 main AgCl Tilton 4 f 0.578000 20.600000
422 main Ag3AsS3 Hulme-o 4 f 0.630000 4.600000
423 main Ag3AsS3 Hulme-e 4 f 0.590000 4.600000
424 main AgGaS2 Takaoka-o 4 f 0.580000 10.590000
425 main AgGaS2 Takaoka-e 4 f 0.580000 10.590000
426 main AgGaS2 Kato-o 4 f 0.540000 12.900000
427 main AgGaS2 Kato-e 4 f 0.540000 12.900000
428 main AgGaS2 Boyd-o 2 f 0.490000 12.000000
429 main AgGaS2 Boyd-e 2 f 0.490000 12.000000
483 main AgGaSe2 Harasaki-o 4 f 0.810000 16.000000
484 main AgGaSe2 Harasaki-e 4 f 0.810000 16.000000
485 main AgGaSe2 Boyd-o 2 f 0.725000 13.500000
486 main AgGaSe2 Boyd-e 2 f 0.725000 13.500000
1660 other Au-Ag Rioux-Au100Ag0 0 nk 0.270000 1.200000
1661 other Au-Ag Rioux-Au90Ag10 0 nk 0.270000 1.200000
1662 other Au-Ag Rioux-Au80Ag20 0 nk 0.270000 1.200000
1663 other Au-Ag Rioux-Au70Ag30 0 nk 0.270000 1.200000
1664 other Au-Ag Rioux-Au60Ag40 0 nk 0.270000 1.200000
1665 other Au-Ag Rioux-Au50Ag50 0 nk 0.270000 1.200000
1666 other Au-Ag Rioux-Au40Ag60 0 nk 0.270000 1.200000
1667 other Au-Ag Rioux-Au30Ag70 0 nk 0.270000 1.200000
1668 other Au-Ag Rioux-Au20Ag80 0 nk 0.270000 1.200000
1669 other Au-Ag Rioux-Au10Ag90 0 nk 0.270000 1.200000
1670 other Au-Ag Rioux-Au0Ag100 0 nk 0.270000 1.200000
1778 DL Ag Rakic 21 f 0.206600 12.400000
1779 DL Ag Vial 21 f 0.400000 1.000000
1780 DL Ag Lee 21 f 0.250000 1.000000
1793 BB Ag Rakic 22 f 0.206600 12.400000

In [3]:
Ag_id_list = [0, 1779]
ri.show(Ag_id_list)


Out[3]:
shelf book page formula tabulated wl_min wl_max
id
0 main Ag (Experimental data) Johnson 0 nk 0.1879 1.937
1779 DL Ag Vial 21 f 0.4000 1.000

Dielectric function


In [4]:
wls = np.linspace(0.4, 1.0, 200)
for idx in Ag_id_list:
    Ag = ri.material(idx)
    Ag.plot(wls, 'eps', alpha=0.6)
plt.ylim(-50, 5)
plt.show()


Au


In [5]:
ri.search('Au')


Out[5]:
shelf book page formula tabulated wl_min wl_max
id
50 main Au (Experimental data) Johnson 0 nk 0.187900 1.937000
51 main Au (Experimental data) McPeak 0 nk 0.300000 1.700000
52 main Au (Experimental data) Babar 0 nk 0.206600 12.400000
53 main Au (Experimental data) Lemarchand 0 nk 0.350000 1.800000
54 main Au (Experimental data) Lemarchand 0 nk 0.350000 1.800000
55 main Au (Experimental data) Lemarchand 0 nk 0.350000 1.800000
56 main Au (Experimental data) Lemarchand 0 nk 0.350000 1.800000
57 main Au (Experimental data) Olmon-ev 0 nk 0.300000 24.930000
58 main Au (Experimental data) Olmon-sc 0 nk 0.300000 24.930000
59 main Au (Experimental data) Olmon-ts 0 nk 0.300000 24.930000
60 main Au (Experimental data) Werner 0 nk 0.017586 2.479684
61 main Au (Experimental data) Windt 0 nk 0.002360 0.121570
62 main Au (Experimental data) Ordal 0 nk 0.667000 286.000000
63 main Au (Experimental data) Hagemann 0 nk 0.000008 248.000000
64 main Au (Experimental data) Hagemann-2 0 nk 0.003542 0.826600
65 main Au (Models and simulations) Rakic-BB 0 nk 0.247970 6.199200
66 main Au (Models and simulations) Rakic-LD 0 nk 0.247970 6.199200
67 main Au (Models and simulations) Werner-DFT 0 nk 0.017586 2.479684
1660 other Au-Ag Rioux-Au100Ag0 0 nk 0.270000 1.200000
1661 other Au-Ag Rioux-Au90Ag10 0 nk 0.270000 1.200000
1662 other Au-Ag Rioux-Au80Ag20 0 nk 0.270000 1.200000
1663 other Au-Ag Rioux-Au70Ag30 0 nk 0.270000 1.200000
1664 other Au-Ag Rioux-Au60Ag40 0 nk 0.270000 1.200000
1665 other Au-Ag Rioux-Au50Ag50 0 nk 0.270000 1.200000
1666 other Au-Ag Rioux-Au40Ag60 0 nk 0.270000 1.200000
1667 other Au-Ag Rioux-Au30Ag70 0 nk 0.270000 1.200000
1668 other Au-Ag Rioux-Au20Ag80 0 nk 0.270000 1.200000
1669 other Au-Ag Rioux-Au10Ag90 0 nk 0.270000 1.200000
1670 other Au-Ag Rioux-Au0Ag100 0 nk 0.270000 1.200000
1782 DL Au Rakic 21 f 0.206600 12.400000
1783 DL Au Stewart 21 f 0.400000 2.000000
1784 DL Au Vial 21 f 0.500000 1.000000
1795 BB Au Rakic 22 f 0.206600 12.400000
1804 Drude Au Vial 21 f 0.500000 1.000000

In [6]:
Au_id_list = [50, 51, 1783, 1784, 1804]
ri.show(Au_id_list)


Out[6]:
shelf book page formula tabulated wl_min wl_max
id
50 main Au (Experimental data) Johnson 0 nk 0.1879 1.937
51 main Au (Experimental data) McPeak 0 nk 0.3000 1.700
1783 DL Au Stewart 21 f 0.4000 2.000
1784 DL Au Vial 21 f 0.5000 1.000
1804 Drude Au Vial 21 f 0.5000 1.000

Dielectric function


In [7]:
wls = np.linspace(0.5, 1.0, 200)
for idx in Au_id_list:
    Au = ri.material(idx)
    Au.plot(wls, 'eps', alpha=0.6)
plt.show()


Al


In [2]:
ri.search('Al')


Out[2]:
shelf book page formula tabulated wl_min wl_max
id
10 main Al (Experimental data) Rakic 0 nk 0.000124 200.00000
11 main Al (Experimental data) McPeak 0 nk 0.150000 1.70000
12 main Al (Experimental data) Larruquert 0 nk 0.077000 0.11350
13 main Al (Experimental data) Ordal 0 nk 0.667000 200.00000
14 main Al (Experimental data) Hagemann 0 nk 0.000010 1240.00000
15 main Al (Models and simulations) Rakic-BB 0 nk 0.061992 247.97000
16 main Al (Models and simulations) Rakic-LD 0 nk 0.061992 247.97000
17 main MgAl2O4 Tropf 1 f 0.350000 5.50000
18 main Y3Al5O12 Zelmon 2 f 0.400000 5.00000
36 main AlAs (Experimental data) Fern 1 f 0.560000 2.20000
37 main AlAs (Models and simulations) Rakic 0 nk 0.221400 2.47970
81 main LuAl3(BO3)4 Fang-o 4 f 0.266000 1.33800
82 main LuAl3(BO3)4 Fang-e 4 f 0.266000 1.33800
168 main LiCaAlF6 Woods-o 4 f 0.400000 1.00000
169 main LiCaAlF6 Woods-e 4 f 0.400000 1.00000
262 main AlN Kischkat 0 nk 1.538460 14.28571
263 main AlN Pastrnak-o 1 f 0.220000 5.00000
264 main AlN Pastrnak-e 1 f 0.220000 5.00000
296 main Al2O3 (Crystal) Malitson-o 1 f 0.200000 5.00000
297 main Al2O3 (Crystal) Malitson-e 1 f 0.200000 5.00000
298 main Al2O3 (Crystal) Querry-o 0 nk 0.210000 55.55560
299 main Al2O3 (Crystal) Querry-e 0 nk 0.210000 55.55560
300 main Al2O3 (Crystal) Malitson 1 f 0.265200 5.57700
301 main Al2O3 (Thin film) Hagemann 0 nk 0.000775 0.20660
302 main Al2O3 (Thin film) Boidin 0 n 0.300000 18.00300
303 main Al2O3 (Thin film) Kischkat 0 nk 1.539410 14.28571
304 main Al2O3 (Thin film) Querry 0 nk 0.210000 12.50000
458 main AlSb (Experimental data) Zollner 0 nk 0.213800 0.88560
459 main AlSb (Models and simulations) Adachi 0 nk 0.206640 12.39800
460 main AlSb (Models and simulations) Djurisic 0 nk 0.206640 12.39800
1684 other AlAs-GaAs Aspnes-0 0 nk 0.206600 0.82660
1685 other AlAs-GaAs Aspnes-9.9 0 nk 0.206600 0.82660
1686 other AlAs-GaAs Aspnes-19.8 0 nk 0.206600 0.82660
1687 other AlAs-GaAs Aspnes-31.5 0 nk 0.206600 0.82660
1688 other AlAs-GaAs Aspnes-41.9 0 nk 0.206600 0.82660
1689 other AlAs-GaAs Aspnes-49.1 0 nk 0.206600 0.82660
1690 other AlAs-GaAs Aspnes-59.0 0 nk 0.206600 0.82660
1691 other AlAs-GaAs Aspnes-70.0 0 nk 0.206600 0.82660
1692 other AlAs-GaAs Aspnes-80.4 0 nk 0.206600 0.82660
1693 other AlSb-GaSb Ferrini-0 0 nk 0.207000 2.48000
1694 other AlSb-GaSb Ferrini-10 0 nk 0.207000 2.48000
1695 other AlSb-GaSb Ferrini-30 0 nk 0.207000 2.48000
1696 other AlSb-GaSb Ferrini-50 0 nk 0.207000 2.48000
1697 other AlN-Al2O3 Hartnett-6.69 1 f 0.240000 5.60000
1698 other AlN-Al2O3 Hartnett-5.88 0 nk 0.240000 5.60000
1699 other AlN-Al2O3 Hartnett-6.53 0 nk 0.240000 5.60000
1700 other AlN-Al2O3 Hartnett-7.17 0 nk 0.240000 5.60000
1722 other Al:ZnO Treharne 0 nk 0.300000 0.90000
1782 DL Al Rakic 21 f 0.206600 12.40000
1795 BB Al Rakic 22 f 0.206600 12.40000

In [9]:
Al_id_list = [10, 11, 1781, 1794]
ri.show(Al_id_list)


Out[9]:
shelf book page formula tabulated wl_min wl_max
id
10 main Al (Experimental data) Rakic 0 nk 0.000124 200.0
11 main Al (Experimental data) McPeak 0 nk 0.150000 1.7
1781 DL Al Rakic 21 f 0.206600 12.4
1794 BB Al Rakic 22 f 0.206600 12.4

In [10]:
wls = np.linspace(0.3, 1.0, 200)
for idx in Al_id_list:
    Al = ri.material(idx)
    Al.plot(wls, 'eps', alpha=0.6)
plt.show()


Water


In [11]:
ri.search('H2O')


Out[11]:
shelf book page formula tabulated wl_min wl_max
id
316 main H2O (Liquid water, H2O) Hale 0 nk 0.2000 200.000
317 main H2O (Liquid water, H2O) Kedenburg 2 k 0.5000 1.600
318 main H2O (Liquid water, H2O) Daimon-19.0C 2 f 0.1820 1.129
319 main H2O (Liquid water, H2O) Daimon-20.0C 2 f 0.1820 1.129
320 main H2O (Liquid water, H2O) Daimon-21.5C 2 f 0.1820 1.129
321 main H2O (Liquid water, H2O) Daimon-24.0C 2 f 0.1820 1.129
322 main H2O (Liquid water, H2O) Asfar-H2O 0 nk 22.2200 1733.000
323 main H2O (Water ice) Warren 0 nk 0.0443 167.000
324 main H2O (Heavy water, D2O) Kedenburg-D2O 2 k 0.5000 1.600
325 main H2O (Heavy water, D2O) Asfar-D2O 0 nk 250.0000 2000.000

Wavelength dependence of refractive index


In [12]:
water_id_list = [318, 319, 320, 321]
alpha = 0.6
wls = np.linspace(0.38, 0.75, 200)
waters = [ri.material(idx) for idx in water_id_list]
for water in waters:
    water.plot(wls, 'n')
plt.ylim(1.325, 1.35)
plt.show()


Averaged refractive index


In [13]:
wls = np.linspace(0.38, 0.75, 200)
water = ri.material(318)
np.average(water.n(wls))


Out[13]:
1.3352825266061357

Extinction coefficient


In [14]:
water = ri.material(283)
print(water.ID)
print(water.catalog)
print(display(ri.show([water.ID])))
wls = np.linspace(0.5, 1.6, 200)
water.plot(wls, 'k', alpha=0.6)
plt.show()


283
shelf                                                      main
shelf_name                    MAIN - simple inorganic materials
division                              Nb - Niobium and niobates
book                                                      KNbO3
book_name                  KNbO<sub>3</sub> (Potassium niobate)
page                                                  Umemura-γ
path          /home/mnishida/usr/lib/site-packages/RII_Panda...
formula                                                       4
tabulated                                                     f
num_n                                                         0
num_k                                                         0
wl_n_min                                                    0.4
wl_n_max                                                    5.3
wl_k_min                                                    0.4
wl_k_max                                                    5.3
wl_min                                                      0.4
wl_max                                                      5.3
Name: 283, dtype: object
shelf book page formula tabulated wl_min wl_max
id
283 main KNbO3 Umemura-γ 4 f 0.4 5.3
None

In [15]:
id_list = ri.select({'wl_min': 0.39, 'wl_max': 0.41, 'n_min': 2.5, 'k_max': 0.1})
print(len(id_list))
ri.show(id_list)


11
Out[15]:
shelf book page formula tabulated wl_min wl_max
id
265 main GaN (Experimental data) Barker-o 1 f 0.350000 10.000000
267 main GaN (Experimental data) Lin-wurtzite 0 n 0.368124 0.991745
268 main GaN (Experimental data) Lin-zincblende 0 n 0.385447 0.960283
283 main KNbO3 Umemura-γ 4 f 0.400000 5.300000
335 main Nb2O5 Lemarchand 0 nk 0.250000 2.500000
353 main TeO2 Uchida-e 1 f 0.400000 1.000000
358 main TiO2 (Nanoparticles) Bodurov 1 f 0.405000 0.635000
452 main ZnS (Experimental data) Debenham 4 f 0.405000 13.000000
454 main ZnS (Models and simulations) Ozaki 0 nk 0.221400 1.033200
553 main BaTiO3 Wemple-o 1 f 0.400000 0.700000
554 main BaTiO3 Wemple-e 1 f 0.400000 0.700000

In [16]:
gd = ri.load_grid_data()
id_list = gd[(gd['wl'] >= 0.39) & (gd['wl']<=0.41) &
   (gd['n']>=2.5) & ((gd['k']<=0.1) | (gd['k']!=gd['k']))].index.unique()
print(len(id_list))
ri.show(id_list)


11
Out[16]:
shelf book page formula tabulated wl_min wl_max
id
265 main GaN (Experimental data) Barker-o 1 f 0.350000 10.000000
267 main GaN (Experimental data) Lin-wurtzite 0 n 0.368124 0.991745
268 main GaN (Experimental data) Lin-zincblende 0 n 0.385447 0.960283
283 main KNbO3 Umemura-γ 4 f 0.400000 5.300000
335 main Nb2O5 Lemarchand 0 nk 0.250000 2.500000
353 main TeO2 Uchida-e 1 f 0.400000 1.000000
358 main TiO2 (Nanoparticles) Bodurov 1 f 0.405000 0.635000
452 main ZnS (Experimental data) Debenham 4 f 0.405000 13.000000
454 main ZnS (Models and simulations) Ozaki 0 nk 0.221400 1.033200
553 main BaTiO3 Wemple-o 1 f 0.400000 0.700000
554 main BaTiO3 Wemple-e 1 f 0.400000 0.700000

In [17]:
ri.search('KNbO3')


Out[17]:
shelf book page formula tabulated wl_min wl_max
id
281 main KNbO3 Umemura-α 4 f 0.4 5.3
282 main KNbO3 Umemura-β 4 f 0.4 5.3
283 main KNbO3 Umemura-γ 4 f 0.4 5.3

In [18]:
ri = riip.RiiDataFrame()
KNbO3_alpha = ri.material(281)
KNbO3_beta = ri.material(282)
KNbO3_gamma = ri.material(283)
print(display(ri.show([KNbO3_alpha.ID, KNbO3_beta.ID, KNbO3_gamma.ID])))
wls = np.linspace(0.5, 1.6, 200)
KNbO3_alpha.plot(wls, 'n', '-')
KNbO3_beta.plot(wls, 'n', '-')
KNbO3_gamma.plot(wls, 'n', '-')
plt.show()


shelf book page formula tabulated wl_min wl_max
id
281 main KNbO3 Umemura-α 4 f 0.4 5.3
282 main KNbO3 Umemura-β 4 f 0.4 5.3
283 main KNbO3 Umemura-γ 4 f 0.4 5.3
None

Methanol


In [19]:
ri.search('CH3OH')


Out[19]:
shelf book page formula tabulated wl_min wl_max
id
622 organic methanol El-Kashef 5 f 0.40 0.8000
623 organic methanol Moutzouris 3 f 0.45 1.5510
624 organic methanol Kozma 5 f 0.23 0.6407

In [20]:
ri.search('Methanol')


Out[20]:
shelf book page formula tabulated wl_min wl_max
id
622 organic methanol El-Kashef 5 f 0.40 0.8000
623 organic methanol Moutzouris 3 f 0.45 1.5510
624 organic methanol Kozma 5 f 0.23 0.6407

In [21]:
ri.search('methanol')


Out[21]:
shelf book page formula tabulated wl_min wl_max
id
622 organic methanol El-Kashef 5 f 0.40 0.8000
623 organic methanol Moutzouris 3 f 0.45 1.5510
624 organic methanol Kozma 5 f 0.23 0.6407

In [ ]: