The FreeSnell package includes a SCM script (program) named nk to create, manage, and query a refractive-index spectra database.
Recent versions of the FreeSnell distribution include the relational database (`nk.rwb') containing the refractive-index spectra. So use of the `nk' script is optional.
The `nk.scm' file in the distribution functions as a shell script named `nk' on Unix systems; under MS-Windows, the nk icon invokes `nk.scm' as an interactive command-line shell with the prompt `nk'.
The optional argument [-F path] sets the path to the database file to be accessed or created. If it is not given, then the environment variable "NK_DATABASE_PATH" names the database file if defined, defaulting to `nk.rwb' in the current directory. The name for each spectrum in the database is taken from its filename sans the ".nk" or "ir.nk" suffix.
Usage: nk [-F path] Starts the nk shell. Type nk commands without the nk; ^Z to exit. Usage: nk [-F path] --add FILE.nk ... Add spectra named FILE to database. Usage: nk [-F path] --new FILE.nk ... Add new or replace spectra named FILE to database. Usage: nk [-F path] --del 'GLOB' ... Delete spectra of names matching GLOB from database. Usage: nk [-F path] --plot 'GLOB' ... Usage: nk [-F path] --lin-lin 'GLOB' ... Usage: nk [-F path] --log-log 'GLOB' ... Usage: nk [-F path] --log-lin 'GLOB' ... Usage: nk [-F path] --lin-log 'GLOB' ... Create encapsulated-PostScript (and view with Ghostview) spectra plots from database of names matching GLOB. Usage: nk [-F path] --list 'GLOB' ... List names of spectra matching GLOB in database. Usage: nk [-F path] NAME NUMBER.UNIT ... Prints NAME's n+k*i values at each NUMBER.UNIT from database. The NUMBER can be fixed or floating point; the UNIT either "eV" (electron-volt) or "m" (meter) with an optional metric prefix or "cm^-1" (wave-number).
nk --add *.nk Sopra/*.nk "sicrir" ==> "sicr" "sio2ir" ==> "sio2" ag.nk: ev n k R(th=0) ; Silver al.nk: ev n k R(th=0) ; Aluminium au.nk: ev n k R(th=0) ; Gold, electropolished, Au (110) cr.nk: ev n k R(th=0) ; Chromium cu.nk: ev n k R(th=0) ; Copper fe.nk: ev n k R(th=0) ; Iron ge.nk: ev n k R(th=0) ; Germanium, single crystal li.nk: ev n k R(th=0) ; Lithium ni.nk: ev n k R(th=0) ; Nickel ta.nk: ev n k R(th=0) ; Tantalum ti.nk: ev n k R(th=0) ; Titanium (Polycrystalline) v.nk: ev n k R(th=0) ; Vanadium w.nk: ev n k R(th=0) ; Tungsten zn-a.nk: ev n k R(th=0) ; Zinc, E || to c^28 zn-b.nk: ev n k R(th=0) ; Zinc, E _|_ to c^28 zr.nk: ev n k R(th=0) ; Zirconium (Polycrystalline) Sopra/7059.nk: 0.25.um :: 0.85.um Sopra/ag.nk: 0.6.ev :: 6.6.ev Sopra/againp0.nk: 0.225.um :: 1.um Sopra/againp1.nk: 0.225.um :: 1.um Sopra/againp10.nk: 0.225.um :: 1.um Sopra/againp3.nk: 0.225.um :: 1.um Sopra/againp6.nk: 0.225.um :: 1.um Sopra/againp7.nk: 0.225.um :: 1.um Sopra/al.nk: 0.5.ev :: 6.75.ev *...* Sopra/zro2.nk: 0.25.um :: 0.85.um Sopra/zrsi2.nk: 1.8.ev :: 3.ev
nk --list 7059 ag againp0 againp1 againp10 againp3 againp6 againp7 al al2o3 al2o3p alas alas028t alas052t alas072t alas098t alas125t alas152t alas178t alas204t alas228t alas305t alas331t alas361t alas390t alas421t alas445t alas469t alas499t alas527t alas552t alas578t alas602t alas626t alcu algaas0 algaas1 algaas10 algaas2 algaas3 algaas4 algaas5 algaas6 algaas7 algaas8 algaas9 alon alsb alsi alsiti arachi asi au baf2 bk7 bk7_abs blackbody caf2 carbam ccl4 cdse cdte co co_2 cor7059 cosi2-4 cr cr3si cr5si3 crsi2el2 cu cu2o cuo diam fe fesi2el1 fesi2el2 fesi2epi gaas gaas031t gaas041t gaas060t gaas081t gaas100 gaas103t gaas111 gaas126t gaas150t gaas175t gaas199t gaas224t gaas249t gaas273t gaas297t gaas320t gaas344t gaas367t gaas391t gaas415t gaas443t gaas465t gaas488t gaas515t gaas546t gaas579t gaas603t gaas634t gaaso gaasox gan-tit gan-uv gan01 gan02 gan03 gan60 gan70 gap gap100 gapox gasb gasbox ge ge100 h2o hdpe hfo2 hfsi2 hgcdte0 hgcdte2 hgcdte3 inas inasox ingaas ingasb0 ingasb1 ingasb10 ingasb3 ingasb5 ingasb7 ingasb9 inp inpox insb insbox ir ir3si5e ir3si5p ito2 kcl lasf9 li lif mgf2 mgo mo mosi2-a mosi2-b nbsi-a nbsi-b ni ni2si ni3si nisi os p_sias p_siud pbs pbse pd pd2si-a pd2si-b pt resi1-75 resige0 resige1 resige22 resige39 resige51 resige64 resige75 resige83 resige91 rh ringas0 ringas10 ringas20 ringas24 se-a se-b sf11 si si100_2 si110 si111 si11ge89 si20ge80 si28ge72 si3n4 si65ge35 si85ge15 si98ge02 siam1 siam2 sic sicr sicr-t02 sicr-t10 sicr-t15 sicr-t20 sicr-t25 sicr-t30 sicr-t35 sicr-t40 sicr-t45 sige_ge sige_si sin_bf5 singas0 singas10 singas20 singas24 sio sio2 sion0 sion20 sion40 sion60 sion80 siop sipoly sipoly10 sipoly20 sipoly30 sipoly40 sipoly50 sipoly60 sipoly70 sipoly80 sipoly90 sipore stsg0 stsg064 stsg123 stsg169 stsg229 ta taox1 taox2 tasi2-a tasi2-b te-a te-b test thf4 ti tini tio2 tio2b tisi-a v void vsi2-a vsi2-b w wsi2-a wsi2-b y2o3 zn-a zn-b zncdte0 zncdte1 zncdte10 zncdte3 zncdte5 zncdte7 zncdte9 znscub znse znsete0 znsete1 znsete10 znsete3 znsete5 znsete7 znsete9 zr zro2 zrsi2
Refractive index data can be retrieved at specified wavelengths, energies and wavenumbers.
$ nk co .3.um .5.um 1.3.eV co: 1.218+2.11i 300.nm (4.13.eV) (33333.3.cm^-1) co: 2.025+3.72i 500.nm (2.48.eV) (20000.cm^-1) co: 3.85+4.77i (954.nm) 1.3.eV (10485.2.cm^-1) $ nk Al 400.cm^-1 al: 75.77+1.7e+02i (25.0.um) (0.0496.eV) 400.cm^-1
The `--plot' option creates an encapsulated PostScript graph of n and k/n for the material specified.
nk --plot co
http://people.csail.mit.edu/jaffer/FreeSnell/co.png