Commit 6b5479ef authored by Chad Lantz's avatar Chad Lantz
Browse files

Set material properties for UI materials based on product data sheets

parent 72c4ad76
...@@ -96,7 +96,7 @@ class Materials ...@@ -96,7 +96,7 @@ class Materials
bool useOptical = false; bool useOptical = false;
/*! \brief Entries of WLS response parametrizations */ /*! \brief Entries of WLS response parametrizations */
static const G4int nEntries_UMD = 50; static const G4int nEntries_UMD = 50;
static const G4int nEntries_UI = 5; static const G4int nEntries_UI = 50;
/*! \brief G4NistManager pointer.*/ /*! \brief G4NistManager pointer.*/
G4NistManager* nist_manager; G4NistManager* nist_manager;
/*! \brief G4MaterialPropertiesTable array */ /*! \brief G4MaterialPropertiesTable array */
......
...@@ -102,15 +102,30 @@ Materials::Materials(void){ ...@@ -102,15 +102,30 @@ Materials::Materials(void){
void Materials::DefineOpticalProperties(void){ void Materials::DefineOpticalProperties(void){
//If optical properties have already been defined, just leave
// if(useOptical){
// return;
// }
// useOptical = true;
// UIUC RPD Materials // UIUC RPD Materials
// Silica core optical properties // Silica core optical properties
// 2 eV == 620 nm // 2 eV == 620 nm
// 3.5 eV == 354 nm // 3.5 eV == 354 nm
// in nm: {650, 600, 500, 400, 300} // in nm: {650, 600, 500, 400, 300}
G4double photonEnergy_UI[nEntries_UI] = {1.91*eV, 2.07*eV, 2.48*eV, 3.1*eV, 4.13*eV}; G4double photonEnergy_UI[50];
G4double silica_RIND_UI[nEntries_UI] = {1.6, 1.6, 1.6, 1.6, 1.6}; for(int i = 0; i < nEntries_UI; i++){
G4double silica_ABSL_UI[nEntries_UI] = {5329.*cm, 3525.*cm, 2322.*cm, 885.*cm, 271.*cm}; photonEnergy_UI[i] = 2.00*eV + i*0.03*eV;
}
// Refractive index and absorption length given by
// https://www.heraeus.com/media/media/hca/doc_hca/products_and_solutions_8/optics/Data_and_Properties_Optics_fused_silica_EN.pdf
G4double silica_RIND_UI[50], silica_ABSL_UI[50];
for(int i = 0; i < nEntries_UI; i++){
silica_RIND_UI[i] = 1.44221 + 5.9e3*photonEnergy_UI[i] + 6.71e2*pow(photonEnergy_UI[i],2) + 2.3*pow(photonEnergy_UI[i],3) + 2.745*pow(photonEnergy_UI[i],4); //Refractive Index
silica_ABSL_UI[i] = 300.00*cm + i*20*cm; //Attenuation length
}
MPT_Array.push_back(new G4MaterialPropertiesTable()); MPT_Array.push_back(new G4MaterialPropertiesTable());
...@@ -120,7 +135,11 @@ void Materials::DefineOpticalProperties(void){ ...@@ -120,7 +135,11 @@ void Materials::DefineOpticalProperties(void){
// Silica cladding optical properties // Silica cladding optical properties
// Numerical aperture is given by data sheet as 0.22 and NA = sqrt( n1^2 - n2^2 ), so n2 = sqrt( n1^2 - NA^2 ) // Numerical aperture is given by data sheet as 0.22 and NA = sqrt( n1^2 - n2^2 ), so n2 = sqrt( n1^2 - NA^2 )
G4double silica_clad_RIND_UI[nEntries_UI] = {1.585, 1.585, 1.585, 1.585, 1.585}; // Only refractive index changes // https://www.content.molex.com/dxdam/literature/987650-8936.pdf
G4double silica_clad_RIND_UI[50];
for(int i = 0; i < nEntries_UI; i++){
silica_clad_RIND_UI[i] = sqrt( pow(silica_RIND_UI[i],2.0) - pow(0.22,2.0) );
}
MPT_Array.push_back(new G4MaterialPropertiesTable()); MPT_Array.push_back(new G4MaterialPropertiesTable());
MPT_Array.back()->AddProperty("RINDEX",photonEnergy_UI,silica_clad_RIND_UI,nEntries_UI);//index of refraction MPT_Array.back()->AddProperty("RINDEX",photonEnergy_UI,silica_clad_RIND_UI,nEntries_UI);//index of refraction
...@@ -129,9 +148,31 @@ void Materials::DefineOpticalProperties(void){ ...@@ -129,9 +148,31 @@ void Materials::DefineOpticalProperties(void){
// Kapton optical properties: // Kapton optical properties:
// https://engineering.case.edu/centers/sdle/sites/engineering.case.edu.centers.sdle/files/optical_properties_of_materials.pdf // https://engineering.case.edu/centers/sdle/sites/engineering.case.edu.centers.sdle/files/optical_properties_of_materials.pdf
G4double kapton_RIND_UI[nEntries_UI] = {1.8, 1.82, 1.86, 1.95, 2.18}; G4double kapton_RIND_UI[50] = {1.71, 1.72, 1.72, 1.72, 1.72, 1.73, 1.73, 1.73, 1.73, 1.74, 1.74, 1.74,
G4double kapton_ABSL_UI[nEntries_UI] = {0.011*cm, 0.0022*cm, 0.0056*cm, 0.04*cm, 0.063*cm}; 1.74, 1.74, 1.75, 1.75, 1.75, 1.76, 1.76, 1.77, 1.77, 1.77, 1.78, 1.78,
G4double kapton_REFL_UI[nEntries_UI] = {0.35, 0.2, 0.02, 0.03, 0.04}; 1.78, 1.79, 1.79, 1.80, 1.80, 1.81, 1.81, 1.82, 1.82, 1.82, 1.83, 1.83,
1.84, 1.84, 1.85, 1.85, 1.86, 1.86, 1.87, 1.87, 1.88, 1.89, 1.90, 1.90,
1.92, 1.93};
// Optical Characterization of Commonly Used Thermal Control Paints in a Simulated GEO Environment
// https://amostech.com/TechnicalPapers/2018/Poster/Bengtson.pdf
G4double kapton_REFL_UI[50] = {0.44, 0.42, 0.40, 0.37, 0.35, 0.32, 0.29, 0.26, 0.22, 0.19, 0.15, 0.11, 0.09, 0.06, 0.04,
0.03, 0.02, 0.02, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01,
0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01,
0.01, 0.01, 0.01, 0.01, 0.01};
//G4double um = micrometer;
// Synthesis and properties of soluble aromatic polyimides from novel 4,5-diazafluorene-containing dianhydride
// https://pubs.rsc.org/fa/content/articlehtml/2018/ra/c7ra12101f
G4double kapton_ABSL_UI[50] = {65.39*um, 64.28*um, 62.72*um, 61.96*um, 60.49*um, 59.43*um, 58.31*um, 57.07*um,
56.10*um, 54.85*um, 53.47*um, 52.21*um, 51.09*um, 49.68*um, 48.15*um, 46.51*um,
45.24*um, 44.06*um, 43.02*um, 42.01*um, 40.87*um, 40.07*um, 39.16*um, 38.45*um,
37.64*um, 37.01*um, 36.26*um, 35.71*um, 35.05*um, 34.42*um, 33.84*um, 33.14*um,
32.40*um, 31.73*um, 30.64*um, 29.49*um, 28.41*um, 26.86*um, 25.22*um, 23.35*um,
21.15*um, 19.18*um, 16.93*um, 14.84*um, 12.67*um, 10.63*um, 9.07*um, 7.72*um,
6.60*um, 5.64*um};
MPT_Array.push_back(new G4MaterialPropertiesTable()); MPT_Array.push_back(new G4MaterialPropertiesTable());
MPT_Array.back()->AddProperty("RINDEX",photonEnergy_UI,kapton_RIND_UI,nEntries_UI); MPT_Array.back()->AddProperty("RINDEX",photonEnergy_UI,kapton_RIND_UI,nEntries_UI);
...@@ -140,19 +181,29 @@ void Materials::DefineOpticalProperties(void){ ...@@ -140,19 +181,29 @@ void Materials::DefineOpticalProperties(void){
Kapton_UI->SetMaterialPropertiesTable(MPT_Array.back()); Kapton_UI->SetMaterialPropertiesTable(MPT_Array.back());
// https://refractiveindex.info/?shelf=main&book=W&page=Werner // https://refractiveindex.info/?shelf=main&book=W&page=Werner
G4double NiW_REFL_UI[nEntries_UI] = {0.62, 0.62, 0.62, 0.62, 0.62}; G4double NiW_REFL_UI[50];
for(int i = 0; i < nEntries_UI; i++){
NiW_REFL_UI[i] = 0.62;
}
MPT_Array.push_back(new G4MaterialPropertiesTable()); MPT_Array.push_back(new G4MaterialPropertiesTable());
MPT_Array.back()->AddProperty("REFLECTIVITY",photonEnergy_UI,NiW_REFL_UI,nEntries_UI); MPT_Array.back()->AddProperty("REFLECTIVITY",photonEnergy_UI,NiW_REFL_UI,nEntries_UI);
NiW->SetMaterialPropertiesTable(MPT_Array.back()); NiW->SetMaterialPropertiesTable(MPT_Array.back());
//Air optical properties //Air optical properties
G4double RefractiveIndexAir[nEntries_UI] = {1.0, 1.0, 1.0, 1.0, 1.0}; G4double RefractiveIndexAir[50];
for(int i = 0; i < nEntries_UI; i++){
RefractiveIndexAir[i] = 1.0;
}
MPT_Array.push_back(new G4MaterialPropertiesTable()); MPT_Array.push_back(new G4MaterialPropertiesTable());
MPT_Array.back()->AddProperty("RINDEX", photonEnergy_UI, RefractiveIndexAir, nEntries_UI); MPT_Array.back()->AddProperty("RINDEX", photonEnergy_UI, RefractiveIndexAir, nEntries_UI);
Air->SetMaterialPropertiesTable(MPT_Array.back()); Air->SetMaterialPropertiesTable(MPT_Array.back());
//Aluminum optical properties //Aluminum optical properties
G4double Al_refl[nEntries_UI] = {0.89, 0.89, 0.89, 0.89, 0.89};//"Hard cut" G4double Al_refl[50];//"Hard cut"
for(int i = 0; i < nEntries_UI; i++){
Al_refl[i] = 0.89;
}
MPT_Array.push_back(new G4MaterialPropertiesTable()); MPT_Array.push_back(new G4MaterialPropertiesTable());
MPT_Array.back()->AddProperty("REFLECTIVITY",photonEnergy_UI,Al_refl,nEntries_UI); MPT_Array.back()->AddProperty("REFLECTIVITY",photonEnergy_UI,Al_refl,nEntries_UI);
Al->SetMaterialPropertiesTable(MPT_Array.back()); Al->SetMaterialPropertiesTable(MPT_Array.back());
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment