Contaminant deposition effect on absorption @1064nm

(RefLink[Needs, paclet:ref/Needs])["PhysicalConstants`"]

Optical loss limits due to hydrocarbon contamination

The LIGO Core Optic Component (COC) design limit for optical loss due to contamination on Surface 1 (the HR surface) is 
	< 0.5 ppm/yr absorption, and 
	< 4 ppm/yr scatter 
from all sources, per Table 5 and section 4.2.5 of the Advanced LIGO COC Design Requirements Document:
https://dcc.ligo.org/LIGO-T000127-v4/public

The COC Design Requirements Document does not specify limits to cumulative contamination absorption or scattering for Surface 2 (AR). The AR absorption should be small relative to the substrate bulk absorption, which is < 40 ppm. So, let’s take < 4 ppm/yr for AR absorption due to surface contamination.

The Input Optics Design Requirements Document does not specify limits to cumulative contamination absorption or scattering:
https://dcc.ligo.org/LIGO-T0900386
However document T060077, https://dcc.ligo.org/LIGO-T070095,  points out that mode matching using the DKDP passive compensation element can only compensate for ~1 ppm surface absorption. With the inherent absorption of a pristine coating being ~0.5 ppm, this only permits ~0.5 ppm due to surface contamination. With the same cleaning maintenance period as for COC this implies a absorption limit due to the cumulative contamination of 0.5 ppm.

For material qualification testing (REF) in  resonant optical cavity testing is assumed that ~20 sources could contribute; see compendium of test results at:
https://dcc.ligo.org/LIGO-E1000193-x0
See overview of material qualification testing in these documents:
https://dcc.ligo.org/LIGO-G2101787
https://dcc.ligo.org/LIGO-P990032

Hydrocarbon monolayer thickness

Example hydrocarbon monolayer:
Fidalgo Rodríguez, J., Dynarowicz-Latka, P., & Miñones Conde, J. (2017). Structure of unsaturated fatty acids in 2D system. Colloids and surfaces. B, Biointerfaces, 158, 634-642 .

typical monolayer thickness

monolayer=0.5 10^-9; (* meters *)

oleic acid molecular mass= 282.47 g/mol, density = 0.895 g/cm^3
linoleic acid: MW = 280.4472 , density = 0.900 g/cc
alpha-linolenic acid: MW = 278.43, density = 0.914 g/cc
gamma-linolenic acid: MW=278.43, density =0.900 g/cc
stearidonic acid: MW = 276.4, density = 0.941 g/cc
eicosadienoic acid: MW = 308.5, density = ?

Diameter[MW_,density_]:=2 ((3/(4 Pi))(10^21 MW/(6.02214 10^23 density)))^(1/3); (* diameter in nm, molar mass in g/mol, density in g/cc *)

Diameter[282.47,0.895] //N

Diameter[280.4472,0.9] //N

Diameter[278.43,0.914] //N

Diameter[278.43,0.9] //N

Diameter[276.4,0.941] //N

Beer’s Law
Optical effects of hydrocarbon deposition (Welsh & Jelinsky)

Welsh, B.Y., Jelinsky, S., "The effect of out-gassing from commonly used spacecraft/space instrument materials on the UV-visible-IR reflectivity of optical surfaces”, Proc. SPIE 5897, Photonics for Space Environments X, 59870B (30 Aug 2005); doi: 10.1117/12.614178

Decrease in reflectance at 1100 nm for 50 Ang thick contaminant film:
3%, Apiezon
6%, DC-704
3%, Braycote
4%, EPOM rubber
5%, PVC clad wire
6%, Scothweld 2216
10%, Tefzel cable tie
2%, Uralane

no cure cycle or preparation of the sample stated; samples heated to 85C

Beer’s Law or the Lambert-Bouguer transmittance absorption law:
t = contaminant film thickness (Angstroms = 10^-10 m = 0.1 nm)
α = absorption coefficient of the contaminant per Angstrom with wavelength dependence

Reflectivity (with α in units per Angstrom and t in units of Angstroms):

Reflectivity[α_,t_]:=Exp[-2 α t];

α = 3 10^-4; (* per Angstrom *)

Plot[10^6 (1-Reflectivity[α,t monolayer 10^10]),{t,0,10},PlotRange->All,AxesLabel->{"monolayers","Reflectance Decrease (ppm)"}]

10 monolayer 10^10

1-Reflectivity[α,50] //N

Plot[100(1-Reflectivity[α,t monolayer 10^10]),{t,0,10},PlotRange->All,AxesLabel->{"monolayers","Reflectance Decrease (%)"}]

Epoxy Thin Film Deposition (Shimazaki et. al.)

Shimazaki, Kazunori , Miyazaki, Eiji , Kimoto, Yugo, “Optical changes of molecular contamination thin-film outgassed from epoxy-based resin during deposition and desorption process”, Acta Astronautica, DOI: 10.1016 / j.actaastro.2018.07.010, July, 2018

3M Scotch-Weld EC2216 @125C; cure cycle or preparation of the sample not stated
deposition substrate was at -80C

Shimazaki's results for EC2216 epoxy do not agree with Welsh's results at 1000 nm -- <<0% vs ~6% reflectance decrease

The transmittance change is <~0.5% at 1000nm for a 30 nm thick epoxy contaminant film, or <167 ppm/nm transmittance. Reflectance change would be twice, so < 334 ppm/nm
vs Welsh's measurement of 6% reflectance change for 50 Angstrom thickness or ~12,000 ppm/nm (36 times larger!)

Also, Shimazaki's desorption results indicate that this epoxy has little or no influence for temperature > 0C; Raising the temperature from -80C to 20C reversed the effect of the contamination (at least to within the ~0.5% resolution):

Harmonic Oscillator Approximation (HOA) for the complex dielectric optical constants for epoxy film:

A={3.755,0.002,0.014};
E0={7.781,4.502,4.016}; (* eV *)
Γ={0.175,0.149,0.256};

resonant peaks (nm):

1000 1.2398/E0

complex dielectric constant, as a function of optical energy:

ϵ[En_]:=1+A[[1]]/(En+E0[[1]]+I Γ[[1]])-A[[1]]/(En-E0[[1]]+I Γ[[1]])+ A[[2]]/(En+E0[[2]]+I Γ[[2]])-A[[2]]/(En-E0[[2]]+I Γ[[2]])+A[[3]]/(En+E0[[3]]+I Γ[[3]])-A[[3]]/(En-E0[[3]]+I Γ[[3]]);

The complex refractive index, N = n + i k, where the optical constants, 
	n = index of refraction
	k = extinction coefficient
are given as a function of wavelength:

Clear[n,k];
n[λ_]:=Sqrt[0.5 (Sqrt[(Re[ϵ[1.2398/λ]])^2+(Im[ϵ[1.2398/λ]])^2]+Re[ϵ[1.2398/λ]])];
k[λ_]:=Sqrt[0.5 (Sqrt[(Re[ϵ[1.2398/λ]])^2+(Im[ϵ[1.2398/λ]])^2]-Re[ϵ[1.2398/λ]])];

Plot[n[λ/1000],{λ,230,1000},GridLines->Automatic,PlotRange->{{200,1000},{1.0,2.0}},Frame->True]

Plot[k[λ/1000],{λ,230,1000},GridLines->Automatic,PlotRange->{{200,1000},{0,0.1}},Frame->True]

Extrapolatng the optical constants for the 3M Scotch-Weld EC2216 epoxy to 1064 nm:

n[1.064]

k[1.064]

The extinction coefficient is related to the absorption coefficient (per Angstrom):

α=4 π k[1.064]/10640 //N

10^6 (1-Reflectivity[α,1])

The absorption implied by the extinction coefficient in Shimazaki’s paper is more than two orders of magnitude smaller than Welsh & Jelinsky’s paper for the same epoxy. However it still implies < 1 monolayer of contaminant deposition is required to achieve our requirement of less than 1 ppm/yr absorption increase.

Complex refractive index of various contaminant films

HD2 Grease & Methyl Siloxane

H.S. Judeikis, G.S. Arnold, M. Hill, R.C. Young Owl and D.F. Hall, “Design of a Laboratory Study of Contaminant
Film Darkening in Space,” Scatter from Optical Components – Proceedings from the International Society for Optical
Engineering, Vol. 1165, San Diego, California, August 1989, pp 406-423.

DC-704 silicone oil, the real index of refraction n ≈ 1.6 while the absorptive index k ranges from ~0.01 to 5×10-5 over the wavelength range from 0.3 to 1 μm.

C Hughes, G Workman, J Reynolds, “Use of variable angle spectroscopic ellipsometry in order to determine contaminant optical properties”, 2nd Aerospace Environmental Technology Conference, 1997 , pp.329-334

Conoco HD2 grease: n = 3.2, k = 0.02 @ 1064 nm wavelength

methyl siloxane mold release agent (silicone): n = 1.7, k = 0.02 @ 1064 nm

the absorption coefficient for these two contaminants (per Angstrom) is 2.3 x 10^-5 and 1 angstrom of thickness results in 4.7 ppm loss:

ktyp=0.02;
α=4 π ktyp/10640

10^6 (1-Reflectivity[α,0.1])

PDMS, PMMA, PC, PS, PET, PVC, PEI - near IR

Xiaoning Zhang, Jun Qiu, Junming Zhao, Xingcan Li, Linhua Liu,”Complex refractive indices measurements of polymers in infrared bands”, Journal of Quantitative Spectroscopy & Radiative Transfer 252 (2020) 107063 
 
polydimethylsiloxane (PDMS), polymethyl methacrylate (PMMA), polycarbonate (PC), polystyrene (PS), polyethylene terephthalate (PET), polyvinyl chloride (PVC), and polyetherimide (PEI) 
 
N.B.: The supplementary data files (with the complex refractive indices as a function of wavelength) available on the publisher’s website need to be converted from “UTF-16 LE” to ANSI format. One way to do this conversion is with Notepad.

PDMS

dataPDMS=Import["C:\\Users\\coyne\\Desktop\\HC\\1-s2.0-S0022407320301394-mmc1.txt","TSV"]; 
rawDataPDMS=Drop[dataPDMS,2];(*hack off header info*)
rawDataPDMS[[Length[rawDataPDMS]]]=Join[rawDataPDMS[[Length[rawDataPDMS]]],{,,,,,,,,}]; (* add blanks to the last line so that it has the same vector length as all the other rows *)
nColumns=Dimensions[rawDataPDMS][[2]];
data1SetsPDMS=Partition[Flatten[rawDataPDMS],nColumns][[All,1;;9]];

data2PDMS=Import["C:\\Users\\coyne\\Desktop\\HC\\Data File 1.csv","CSV"]; 
data2SetsPDMS=Drop[data2PDMS,2];(*hack off header info*)
dataSetsPDMS=ArrayFlatten[{{data2SetsPDMS},{data1SetsPDMS}}];

wavelengthPDMS=dataSetsPDMS[[All,1]]; (* wavelength in microns *)
nPDMScomposition5=dataSetsPDMS[[All,2]];
kPDMScomposition5=dataSetsPDMS[[All,3]];
nPDMScomposition10=dataSetsPDMS[[All,4]];
kPDMScomposition10=dataSetsPDMS[[All,5]];
nPDMScomposition15=dataSetsPDMS[[All,6]];
kPDMScomposition15=dataSetsPDMS[[All,7]];
nPDMScomposition20=dataSetsPDMS[[All,8]];
kPDMScomposition20=dataSetsPDMS[[All,9]];

nPtsPDMS=Length[wavelengthPDMS];
λnPDMScomp5=Transpose[Partition[Join[wavelengthPDMS,nPDMScomposition5],nPtsPDMS]];
λnPDMScomp10=Transpose[Partition[Join[wavelengthPDMS,nPDMScomposition10],nPtsPDMS]];
λnPDMScomp15=Transpose[Partition[Join[wavelengthPDMS,nPDMScomposition15],nPtsPDMS]];
λnPDMScomp20=Transpose[Partition[Join[wavelengthPDMS,nPDMScomposition20],nPtsPDMS]];
pltPDMSn=ListPlot[{λnPDMScomp5,λnPDMScomp10,λnPDMScomp15,λnPDMScomp20},Joined->True,PlotRange->All]

λkPDMScomp5=Transpose[Partition[Join[wavelengthPDMS,kPDMScomposition5],nPtsPDMS]];
λkPDMScomp10=Transpose[Partition[Join[wavelengthPDMS,kPDMScomposition10],nPtsPDMS]];
λkPDMScomp15=Transpose[Partition[Join[wavelengthPDMS,kPDMScomposition15],nPtsPDMS]];
λkPDMScomp20=Transpose[Partition[Join[wavelengthPDMS,kPDMScomposition20],nPtsPDMS]];
pltPDMSk=ListPlot[{λkPDMScomp5,λkPDMScomp10,λkPDMScomp15,λkPDMScomp20},Joined->True,PlotRange->All]

indexPDMS=Flatten[Position[wavelengthPDMS,Nearest[wavelengthPDMS,1.064][[1]]]][[1]];
{wavelengthPDMS[[indexPDMS]],nPDMScomposition5[[indexPDMS]],nPDMScomposition10[[indexPDMS]],nPDMScomposition15[[indexPDMS]],nPDMScomposition20[[indexPDMS]]}

Mean[{nPDMScomposition5[[indexPDMS]],nPDMScomposition10[[indexPDMS]],nPDMScomposition15[[indexPDMS]],nPDMScomposition20[[indexPDMS]]}]

{wavelengthPDMS[[indexPDMS]],kPDMScomposition5[[indexPDMS]],kPDMScomposition10[[indexPDMS]],kPDMScomposition15[[indexPDMS]],kPDMScomposition20[[indexPDMS]]}

Mean[{kPDMScomposition5[[indexPDMS]],kPDMScomposition10[[indexPDMS]],kPDMScomposition15[[indexPDMS]],kPDMScomposition20[[indexPDMS]]}]

{wavelengthPDMS[[indexPDMS]],Mean[{nPDMScomposition5[[indexPDMS]]kPDMScomposition5[[indexPDMS]],nPDMScomposition10[[indexPDMS]]kPDMScomposition10[[indexPDMS]],nPDMScomposition15[[indexPDMS]]kPDMScomposition15[[indexPDMS]],nPDMScomposition20[[indexPDMS]]kPDMScomposition20[[indexPDMS]]}]}

PMMA

dataPMMA=Import["C:\\Users\\coyne\\Desktop\\HC\\1-s2.0-S0022407320301394-mmc2.txt","TSV"]; 
rawDataPMMA=Drop[dataPMMA,2];  (* hack off header info *)
nColumns=Length[rawDataPMMA[[1]]];
dataSetsPMMA=Partition[Flatten[rawDataPMMA],nColumns];
data1SetsPMMA=dataSetsPMMA[[All,{1,2,4,5,7}]]; (*drop calculated n values*)

data2PMMA=Import["C:\\Users\\coyne\\Desktop\\HC\\Data File 2.csv","CSV"]; 
data2SetsPMMA=Drop[data2PMMA,2];(*hack off header info*)
dataSetsPMMA=ArrayFlatten[{{data2SetsPMMA},{data1SetsPMMA}}];

wavelengthPMMA=dataSetsPMMA[[All,1]]; (* wavelength in microns *)
n1aPMMA=dataSetsPMMA[[All,2]];
(*n1bPMMA=dataSetsPMMA[[All,3]];*)
k1PMMA=dataSetsPMMA[[All,3]];
n2aPMMA=dataSetsPMMA[[All,4]];
(*n2bPMMA=dataSetsPMMA[[All,6]];*)
k2PMMA=dataSetsPMMA[[All,5]];

nPtsPMMA=Length[wavelengthPMMA];
λn1aPMMA=Transpose[Partition[Join[wavelengthPMMA,n1aPMMA],nPtsPMMA]];
(*λn1bPMMA=Transpose[Partition[Join[wavelengthPMMA,n1bPMMA],nPtsPMMA]];*)
λn2aPMMA=Transpose[Partition[Join[wavelengthPMMA,n2aPMMA],nPtsPMMA]];
(*λn2bPMMA=Transpose[Partition[Join[wavelengthPMMA,n2bPMMA],nPtsPMMA]];*)
pltPMMAn=ListPlot[{λn1aPMMA,λn2aPMMA},Joined->True,PlotRange->All]

λk1PMMA=Transpose[Partition[Join[wavelengthPMMA,k1PMMA],nPtsPMMA]];
λk2PMMA=Transpose[Partition[Join[wavelengthPMMA,k2PMMA],nPtsPMMA]];
pltPMMAk=ListPlot[{λk1PMMA,λk2PMMA},Joined->True,PlotRange->All]

indexPMMA=Flatten[Position[wavelengthPMMA,Nearest[wavelengthPMMA,1.064][[1]]]][[1]];

{wavelengthPMMA[[indexPMMA]],n1aPMMA[[indexPMMA]],n2aPMMA[[indexPMMA]]}

Mean[{n1aPMMA[[indexPMMA]],n2aPMMA[[indexPMMA]]}]

{wavelengthPMMA[[indexPMMA]],k1PMMA[[indexPMMA]],k2PMMA[[indexPMMA]]}

Mean[{k1PMMA[[indexPMMA]],k2PMMA[[indexPMMA]]}]

{wavelengthPMMA[[indexPMMA]],n1aPMMA[[indexPMMA]]k1PMMA[[indexPMMA]],n2aPMMA[[indexPMMA]]k2PMMA[[indexPMMA]]}

Mean[{n1aPMMA[[indexPMMA]]k1PMMA[[indexPMMA]],n2aPMMA[[indexPMMA]]k2PMMA[[indexPMMA]]}]

PC

dataPC=Import["C:\\Users\\coyne\\Desktop\\HC\\1-s2.0-S0022407320301394-mmc3.txt","TSV"]; 
rawDataPC=Drop[dataPC,2];  (* hack off header info *)
nColumns=Length[rawDataPC[[1]]];
dataSetsPC=Partition[Flatten[rawDataPC],nColumns];
data1SetsPC=dataSetsPC[[All,{1,2,4}]];

Dimensions[data2SetsPC]

data2PC=Import["C:\\Users\\coyne\\Desktop\\HC\\Data File 3.csv","CSV"]; 
data2SetsPC=Drop[data2PC,2];(*hack off header info*)
data2SetsPC=data2SetsPC[[All,{1,2,3}]];
dataSetsPC=ArrayFlatten[{{data2SetsPC},{data1SetsPC}}];

wavelengthPC=dataSetsPC[[All,1]]; (* wavelength in microns *)
nPC=dataSetsPC[[All,2]];
kPC=dataSetsPC[[All,3]];

nPtsPC=Length[wavelengthPC];
λnPC=Transpose[Partition[Join[wavelengthPC,nPC],nPtsPC]];
pltPCn=ListPlot[λnPC,Joined->True,PlotRange->All]

λkPC=Transpose[Partition[Join[wavelengthPC,kPC],nPtsPC]];
pltPCk=ListPlot[λkPC,Joined->True,PlotRange->All]

indexPC=Flatten[Position[wavelengthPC,Nearest[wavelengthPC,1.064][[1]]]][[1]];

{wavelengthPC[[indexPC]],nPC[[indexPC]]}

{wavelengthPC[[indexPC]],kPC[[indexPC]]}

{wavelengthPC[[indexPC]],nPC[[indexPC]]kPC[[indexPC]]}

PS

dataPS=Import["C:\\Users\\coyne\\Desktop\\HC\\1-s2.0-S0022407320301394-mmc4.txt","TSV"]; 
rawDataPS=Drop[dataPS,2];  (* hack off header info *)
nColumns=Length[rawDataPS[[1]]];
dataSetsPS=Partition[Flatten[rawDataPS],nColumns];
data1SetsPS=dataSetsPS[[All,{1,2,4}]];

data2PS=Import["C:\\Users\\coyne\\Desktop\\HC\\Data File 4.csv","CSV"]; 
data2SetsPS=Drop[data2PS,2];(*hack off header info*)
data2SetsPS=data2SetsPS[[All,{1,2,3}]];
dataSetsPS=ArrayFlatten[{{data2SetsPS},{data1SetsPS}}];

wavelengthPS=dataSetsPS[[All,1]]; (* wavelength in microns *)
nPS=dataSetsPS[[All,2]];
kPS=dataSetsPS[[All,3]];

nPtsPS=Length[wavelengthPS];
λnPS=Transpose[Partition[Join[wavelengthPS,nPS],nPtsPS]];
pltPSn=ListPlot[λnPS,Joined->True,PlotRange->All]

λkPS=Transpose[Partition[Join[wavelengthPS,kPS],nPtsPS]];
pltPSk=ListPlot[λkPS,Joined->True,PlotRange->All]

indexPS=Flatten[Position[wavelengthPS,Nearest[wavelengthPS,1.064][[1]]]][[1]];

{wavelengthPS[[indexPS]],nPS[[indexPS]]}

{wavelengthPS[[indexPS]],kPS[[indexPS]]}

{wavelengthPS[[indexPS]],nPS[[indexPS]] kPS[[indexPS]]}

PET

dataPET=Import["C:\\Users\\coyne\\Desktop\\HC\\1-s2.0-S0022407320301394-mmc5.txt","TSV"]; 
rawDataPET=Drop[dataPET,2];  (* hack off header info *)
nColumns=Length[rawDataPET[[1]]];
dataSetsPET=Partition[Flatten[rawDataPET],nColumns];
data1SetsPET=dataSetsPET[[All,{1,2,4}]];

data2PET=Import["C:\\Users\\coyne\\Desktop\\HC\\Data File 5.csv","CSV"]; 
data2SetsPET=Drop[data2PET,2];(*hack off header info*)
dataSetsPET=ArrayFlatten[{{data2SetsPET},{data1SetsPET}}];

wavelengthPET=dataSetsPET[[All,1]]; (* wavelength in microns *)
nPET=dataSetsPET[[All,2]];
kPET=dataSetsPET[[All,3]];

nPtsPET=Length[wavelengthPET];
λnPET=Transpose[Partition[Join[wavelengthPET,nPET],nPtsPET]];
pltPETn=ListPlot[λnPET,Joined->True,PlotRange->All]

λkPET=Transpose[Partition[Join[wavelengthPET,kPET],nPtsPET]];
pltPETk=ListPlot[λkPET,Joined->True,PlotRange->All]

indexPET=Flatten[Position[wavelengthPET,Nearest[wavelengthPET,1.064][[1]]]][[1]];

{wavelengthPET[[indexPET]],nPET[[indexPET]]}

{wavelengthPET[[indexPET]],kPET[[indexPET]]}

{wavelengthPET[[indexPET]],nPET[[indexPET]]kPET[[indexPET]]}

PVC

dataPVC=Import["C:\\Users\\coyne\\Desktop\\HC\\1-s2.0-S0022407320301394-mmc6.txt","TSV"]; 
rawDataPVC=Drop[dataPVC,2];  (* hack off header info *)
nColumns=Length[rawDataPVC[[1]]];
dataSetsPVC=Partition[Flatten[rawDataPVC],nColumns];
data1SetsPVC=dataSetsPVC[[All,{1,2,4}]];

data2PVC=Import["C:\\Users\\coyne\\Desktop\\HC\\Data File 6.csv","CSV"]; 
data2SetsPVC=Drop[data2PVC,2];(*hack off header info*)
dataSetsPVC=ArrayFlatten[{{data2SetsPVC},{data1SetsPVC}}];

wavelengthPVC=dataSetsPVC[[All,1]]; (* wavelength in microns *)
nPVC=dataSetsPVC[[All,2]];
kPVC=dataSetsPVC[[All,3]];

nPtsPVC=Length[wavelengthPVC];
λnPVC=Transpose[Partition[Join[wavelengthPVC,nPVC],nPtsPVC]];
pltPVCn=ListPlot[λnPVC,Joined->True,PlotRange->All]

λkPVC=Transpose[Partition[Join[wavelengthPVC,kPVC],nPtsPVC]];
pltPVCk=ListPlot[λkPVC,Joined->True,PlotRange->All]

indexPVC=Flatten[Position[wavelengthPVC,Nearest[wavelengthPVC,1.064][[1]]]][[1]];{wavelengthPVC[[indexPVC]],nPVC[[indexPVC]],kPVC[[indexPVC]],nPVC[[indexPVC]]kPVC[[indexPVC]]}

PEI

dataPEI=Import["C:\\Users\\coyne\\Desktop\\HC\\1-s2.0-S0022407320301394-mmc7.txt","TSV"]; 
rawDataPEI=Drop[dataPEI,2];  (* hack off header info *)
nColumns=Length[rawDataPEI[[1]]];
dataSetsPEI=Partition[Flatten[rawDataPEI],nColumns];
data1SetsPEI=dataSetsPEI[[All,{1,2,4}]];

data2PEI=Import["C:\\Users\\coyne\\Desktop\\HC\\Data File 7.csv","CSV"]; 
data2SetsPEI=Drop[data2PEI,2];(*hack off header info*)
dataSetsPEI=ArrayFlatten[{{data2SetsPEI},{data1SetsPEI}}];

wavelengthPEI=dataSetsPEI[[All,1]]; (* wavelength in microns *)
nPEI=dataSetsPEI[[All,2]];
kPEI=dataSetsPEI[[All,3]];

nPtsPEI=Length[wavelengthPEI];
λnPEI=Transpose[Partition[Join[wavelengthPEI,nPEI],nPtsPEI]];
pltPEIn=ListPlot[λnPEI,Joined->True,PlotRange->All]

λkPEI=Transpose[Partition[Join[wavelengthPEI,kPEI],nPtsPEI]];
pltPEIk=ListPlot[λkPEI,Joined->True,PlotRange->All]

indexPEI=Flatten[Position[wavelengthPEI,Nearest[wavelengthPEI,1.064][[1]]]][[1]];{wavelengthPEI[[indexPEI]],nPEI[[indexPEI]],kPEI[[indexPEI]],nPEI[[indexPEI]] kPEI[[indexPEI]]}

PDMS, PMMA, PC, PS, PET - visible and near IR

Xiaoning Zhang, Jun Qiu, Xingcan Li, Junming Zhao, and Linhua Liu, “Complex refractive indices measurements of polymers in visible and near-infrared bands”, Applied Optics, Vol. 59, No. 8 , 10 March 2020, pg 2337
http://refhub.elsevier.com/S0022-4073(20)30139-4/sbref0009
 polydimethylsiloxane (PDMS), poly(methyl methacrylate) (PMMA), polycarbonate (PC), polystyrene (PS), and polyethylene terephthalate (PET)

Comparison of contaminant refractive indices

Show[pltPDMSn,pltPMMAn,pltPCn,pltPSn,pltPETn,pltPVCn,pltPEIn,PlotRange->{All,{1,2}},Frame->True,FrameLabel->{"Wavelength (microns)","n"}]

Show[pltPDMSn,pltPMMAn,pltPCn,pltPSn,pltPETn,pltPVCn,pltPEIn,PlotRange->{{0.5,1.1},{1.3,1.7}},Frame->True,FrameLabel->{"Wavelength (microns)","n"}]

Show[pltPDMSk,pltPMMAk,pltPCk,pltPSk,pltPETk,pltPVCk,pltPEIk,PlotRange->{All,{0,0.6}},Frame->True,FrameLabel->{"Wavelength (microns)","k"}]

Show[pltPDMSk,pltPMMAk,pltPCk,pltPSk,pltPETk,pltPVCk,pltPEIk,PlotRange->{{0.5,1.1},{0,0.00001}},Frame->True,FrameLabel->{"Wavelength (microns)","k"}]

High molecular mass saturation (vapor) pressure

1-methyl-2-pyrrolidone, aka NMP
https://www.chembk.com/en/chem/1-Methyl-2-pyrrolidinone
C5H9NO, molar mass =99.1 g/mol

PvapNMP[T_]:= 7.50062 Exp[14.65738-4112.28/(T+273.15-66.866)]; (*T in C and Pvap in Torr *)

PvapNMP[20]

N-methylcaprolactam
https://www.chembk.com/en/chem/N-Methylcaprolactam
C7H13NO, molar mass = 127.1 g/mol
vapor pressure = 0.0252 Torr @25C

Pvap127[T_]:=7.50062 Exp[13.80793-3800.85/(T+273.15-96.957)]; (*T in C and Pvap in Torr *)

Pvap127[20]

1, 2 - epoxy - 3 - chloropropane 
https://www.chembk.com/en/chem/Epoxy-3-chloropropane
C3H5C1O, molar mass = 92.5 g/mol
vapor pressure = 22 Torr @25C

PvapEpoxy[T_]:=7.50062 Exp[14.49820-3249.98/(T+273.15-60.169)]; (*T in C and Pvap in Torr *)

PvapEpoxy[20]

epoxy molecular weights
https://www.chembk.com/en/search/Epoxy

molecular flux

partial pressure, p, for a species with molar mass, MW, to form a single monolayer thickness, d, in time, tml:

tml=365*24*3600*10; (* 1 monolayer formation time *)
d=10^-9; (* molecule diameter, m *)
k = 1.3804 10^-23; (* Boltzman constant, J/K *)
T=273.15+20;
MW = 100; (* g/mol *)
Na=6.022 10^23; (* Avagadro's number, #/mol *)
m=MW/Na/1000; (* kg *)

p=0.00750062 4/(tml d^2 Sqrt[8/(Pi k T m)]) (* Torr *)

tml

photon energy

Ephoton[λ_]:=(6.626 10^-34)(2.9979 10^8)/λ; (* λ in meters, E in Joules *)

AvogadroConstant=6.02214076 10^23;

Ephoton[289.5 10^-9] AvogadroConstant/1000 //N

Ephoton[342.7 10^-9] AvogadroConstant/1000 //N

Ephoton[342.7 10^-9] //N

Ephoton[1064 10^-9]//N

Ephoton[342.7 10^-9]/Ephoton[1064 10^-9] //N

Ephoton[1000 10^-9] //N

1064/342.7

peak irradiances

The Advanced LIGO (aLIGO) and A+ input power (to the PRM) is the same (125 W) and the arm cavity power is the same (750 kW); see Table 1 of the A+ Proposal, M1800040-v3
The stored power in the PRC and Fabry-Perot arm cavities is given in T010075-v3
The beam sizes (waists) are given in Table 3 of T010075-v3
The IMC stored power, beam size and peak intensity are given in Table 9 of T060269-02

I0[P_,w_]:=2 P/(π (w/10)^2); (* I0 in kW/cm^2, P in kW, w in mm *)

aLP={23.2,5.2,5.2,5.2,5.2,5.2,750,750};
aLw=Sqrt[2] {2.103,2.2,6.2,5.4,5.3,5.3,5.3,6.2};
irradianceLabels={"IMC","PRM HR","PR2 HR","PR3 HR","BS HR","CP & ITM AR","ITM HR","ETM HR"};

TableForm[Transpose[{irradianceLabels,I0[P,w]}],TableHeadings->{{},{"optic","Peak Irradiance (kW/cm^2)"}}]