diff --git a/src/GlassCat/GlassCat.jl b/src/GlassCat/GlassCat.jl index ff5dff3ea..18705571f 100644 --- a/src/GlassCat/GlassCat.jl +++ b/src/GlassCat/GlassCat.jl @@ -29,8 +29,7 @@ if !isfile(AGFGLASSCAT_PATH) Pkg.build("OpticSim"; verbose=true) end include("data/jl/AGFGlassCat.jl") # this needs to be literal for intellisense to work -include("data/jl/CARGILLE.jl") -export CARGILLE +include("data/jl/OTHER.jl") # include functionality for managing runtime (dynamic) glass cats: MIL_GLASSES and MODEL_GLASSES include("runtime.jl") diff --git a/src/GlassCat/data/jl/CARGILLE.jl b/src/GlassCat/data/jl/CARGILLE.jl deleted file mode 100644 index f544ea173..000000000 --- a/src/GlassCat/data/jl/CARGILLE.jl +++ /dev/null @@ -1,17 +0,0 @@ -# MIT license -# Copyright (c) Microsoft Corporation. All rights reserved. -# See LICENSE in the project root for full license information. - -# all other glasses should follow the format below, new glasses must be added to OTHER_GLASSES and OTHER_GLASS_NAMES where the index in the array matches the numeric part of the GlassID - -module CARGILLE -using ..GlassCat: Glass, GlassID, OTHER - -const OG0608 = Glass(GlassID(OTHER, 1), -2, 1.4451400, 0.0043176, -1.80659e-5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.32, 1.55, -0.0009083144750540808, 0.0, 0.0, 0.0, 0.0, 0.0, 25.0, 0.008, -1.0, -1.0, 800.0, -1.0, 0, -1.0, [(0.32, 0.03, 10.0), (0.365, 0.16, 100.0), (0.4047, 0.40, 100.0), (0.480, 0.71, 100.0), (0.4861, 0.72, 100.0), (0.5461, 0.80, 100.0), (0.5893, 0.90, 100.0), (0.6328, 0.92, 100.0), (0.6439, 0.95, 100.0), (0.6563, 0.96, 100.0), (0.6943, 0.99, 100.0), (0.840, 0.99, 100.0), (0.10648, 0.74, 100.0), (0.1300, 0.39, 100.0), (0.1550, 0.16, 100.0)], 1.457518, -1.0, -1.0, 0, 57.18978, 0, 0.878, -1) -const OG0607 = Glass(GlassID(OTHER, 2), -2, 1.44503, 0.0044096, -2.85878e-5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.32, 1.55, -0.0009083144750540808, 0.0, 0.0, 0.0, 0.0, 0.0, 25.0, 0.008, -1.0, -1.0, 700.0, -1.0, 0, -1.0, [(0.32, 0.15, 10.0), (0.365, 0.12, 100.0), (0.4047, 0.42, 100.0), (0.480, 0.78, 100.0), (0.4861, 0.79, 100.0), (0.5461, 0.86, 100.0), (0.5893, 0.90, 100.0), (0.6328, 0.92, 100.0), (0.6439, 0.90, 100.0), (0.6563, 0.92, 100.0), (0.6943, 0.98, 100.0), (0.840, 0.99, 100.0), (0.10648, 0.61, 100.0), (0.1300, 0.39, 100.0), (0.1550, 0.11, 100.0)], 1.457587, -1.0, -1.0, 0, 57.19833, 0, 0.878, -1) -const OG081160 = Glass(GlassID(OTHER, 3), -2, 1.49614, 0.00692199, -8.07052e-5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.32, 1.55, -0.000885983052189022, 0.0, 0.0, 0.0, 0.0, 0.0, 25.0, 0.014, -1.0, -1.0, 700.0, -1.0, 0, -1.0, [(0.32, 0.04, 100.0), (0.365, 0.13, 100.0), (0.4047, 0.26, 100.0), (0.480, 0.48, 100.0), (0.4861, 0.49, 100.0), (0.5461, 0.60, 100.0), (0.5893, 0.68, 100.0), (0.6328, 0.71, 100.0), (0.6439, 0.73, 100.0), (0.6563, 0.74, 100.0), (0.6943, 0.76, 100.0), (0.840, 0.83, 100.0), (0.10648, 0.86, 100.0), (0.1300, 0.89, 100.0), (0.1550, 0.90, 100.0)], 1.515549, -1.0, -1.0, 0, 36.82493, 0, 1.11, -1) - -end - -const OTHER_GLASSES = [CARGILLE.OG0607, CARGILLE.OG0608, CARGILLE.OG081160] -const OTHER_GLASS_NAMES = ["CARGILLE.OG0607", "CARGILLE.OG0608", "CARGILLE.OG081160"] diff --git a/src/GlassCat/data/jl/OTHER.jl b/src/GlassCat/data/jl/OTHER.jl new file mode 100644 index 000000000..df7fd9fda --- /dev/null +++ b/src/GlassCat/data/jl/OTHER.jl @@ -0,0 +1,77 @@ +# MIT license +# Copyright (c) Microsoft Corporation. All rights reserved. +# See LICENSE in the project root for full license information. + +export CARGILLE, EYE + +# all other glasses should follow the format below, new glasses must be added to OTHER_GLASSES and OTHER_GLASS_NAMES where the index in the array matches the numeric part of the GlassID + +module CARGILLE +using ..GlassCat: Glass, GlassID, OTHER + +const OG0608 = Glass(GlassID(OTHER, 1), -2, 1.4451400, 0.0043176, -1.80659e-5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.32, 1.55, -0.0009083144750540808, 0.0, 0.0, 0.0, 0.0, 0.0, 25.0, 0.008, -1.0, -1.0, 800.0, -1.0, 0, -1.0, [(0.32, 0.03, 10.0), (0.365, 0.16, 100.0), (0.4047, 0.40, 100.0), (0.480, 0.71, 100.0), (0.4861, 0.72, 100.0), (0.5461, 0.80, 100.0), (0.5893, 0.90, 100.0), (0.6328, 0.92, 100.0), (0.6439, 0.95, 100.0), (0.6563, 0.96, 100.0), (0.6943, 0.99, 100.0), (0.840, 0.99, 100.0), (0.10648, 0.74, 100.0), (0.1300, 0.39, 100.0), (0.1550, 0.16, 100.0)], 1.457518, -1.0, -1.0, 0, 57.18978, 0, 0.878, -1) +const OG0607 = Glass(GlassID(OTHER, 2), -2, 1.44503, 0.0044096, -2.85878e-5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.32, 1.55, -0.0009083144750540808, 0.0, 0.0, 0.0, 0.0, 0.0, 25.0, 0.008, -1.0, -1.0, 700.0, -1.0, 0, -1.0, [(0.32, 0.15, 10.0), (0.365, 0.12, 100.0), (0.4047, 0.42, 100.0), (0.480, 0.78, 100.0), (0.4861, 0.79, 100.0), (0.5461, 0.86, 100.0), (0.5893, 0.90, 100.0), (0.6328, 0.92, 100.0), (0.6439, 0.90, 100.0), (0.6563, 0.92, 100.0), (0.6943, 0.98, 100.0), (0.840, 0.99, 100.0), (0.10648, 0.61, 100.0), (0.1300, 0.39, 100.0), (0.1550, 0.11, 100.0)], 1.457587, -1.0, -1.0, 0, 57.19833, 0, 0.878, -1) +const OG081160 = Glass(GlassID(OTHER, 3), -2, 1.49614, 0.00692199, -8.07052e-5, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.32, 1.55, -0.000885983052189022, 0.0, 0.0, 0.0, 0.0, 0.0, 25.0, 0.014, -1.0, -1.0, 700.0, -1.0, 0, -1.0, [(0.32, 0.04, 100.0), (0.365, 0.13, 100.0), (0.4047, 0.26, 100.0), (0.480, 0.48, 100.0), (0.4861, 0.49, 100.0), (0.5461, 0.60, 100.0), (0.5893, 0.68, 100.0), (0.6328, 0.71, 100.0), (0.6439, 0.73, 100.0), (0.6563, 0.74, 100.0), (0.6943, 0.76, 100.0), (0.840, 0.83, 100.0), (0.10648, 0.86, 100.0), (0.1300, 0.89, 100.0), (0.1550, 0.90, 100.0)], 1.515549, -1.0, -1.0, 0, 36.82493, 0, 1.11, -1) + +end + +module EYE +using ..GlassCat: Glass, GlassID, OTHER + +""" EYE.AQUEOUS +``` +ID: OTHER:4 +RI @ 587nm: 1.336981 +Abbe Number: 52.658991 +ΔPgF: 0.0 +TCE (÷1e-6): 0.0 +Density: 1.0g/m³ +Valid wavelengths: 0.38μm to 0.78μm +Reference Temp: 20.0°C +``` +""" +const AQUEOUS = Glass(GlassID(OTHER, 4), 5, 1.32107278, 0.00847113739, 0.000231825063, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.38, 0.78, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 20.0, 0.0, -1.0, -1.0, 0.0, -1.0, 0, -1.0, [(0.32, 0.16, 25.0), (0.334, 0.42, 25.0), (0.35, 0.7, 25.0), (0.365, 0.85, 25.0), (0.37, 0.88, 25.0), (0.38, 0.92, 25.0), (0.39, 0.95, 25.0), (0.4, 0.963, 25.0), (0.42, 0.977, 25.0), (0.46, 0.988, 25.0), (0.5, 0.993, 25.0), (0.66, 0.996, 25.0), (1.06, 0.996, 25.0), (1.529, 0.975, 25.0), (1.9701, 0.93, 25.0), (2.325, 0.66, 25.0)], 1.336981, -1.0, -1.0, 0, 52.658991, 0, 1.0, 0) +""" EYE.LENS +``` +ID: OTHER:5 +RI @ 587nm: 1.419976 +Abbe Number: 51.226142 +ΔPgF: 0.0 +TCE (÷1e-6): 0.0 +Density: 1.0g/m³ +Valid wavelengths: 0.38μm to 0.78μm +Reference Temp: 20.0°C +``` +""" +const LENS = Glass(GlassID(OTHER, 5), 5, 1.4014679, 0.00938901135, 0.000393175776, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.38, 0.78, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 20.0, 0.0, -1.0, -1.0, 0.0, -1.0, 0, -1.0, [(0.32, 0.16, 25.0), (0.334, 0.42, 25.0), (0.35, 0.7, 25.0), (0.365, 0.85, 25.0), (0.37, 0.88, 25.0), (0.38, 0.92, 25.0), (0.39, 0.95, 25.0), (0.4, 0.963, 25.0), (0.42, 0.977, 25.0), (0.46, 0.988, 25.0), (0.5, 0.993, 25.0), (0.66, 0.996, 25.0), (1.06, 0.996, 25.0), (1.529, 0.975, 25.0), (1.9701, 0.93, 25.0), (2.325, 0.66, 25.0)], 1.419976, -1.0, -1.0, 0, 51.226142, 0, 1.0, 0) +""" EYE.CORNEA +``` +ID: OTHER:6 +RI @ 587nm: 1.376981 +Abbe Number: 56.279936 +ΔPgF: 0.0 +TCE (÷1e-6): 0.0 +Density: 1.0g/m³ +Valid wavelengths: 0.38μm to 0.78μm +Reference Temp: 20.0°C +``` +""" +const CORNEA = Glass(GlassID(OTHER, 6), 5, 1.36313817, 0.00667127181, 0.000386916734, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.38, 0.78, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 20.0, 0.0, -1.0, -1.0, 0.0, -1.0, 0, -1.0, [(0.32, 0.16, 25.0), (0.334, 0.42, 25.0), (0.35, 0.7, 25.0), (0.365, 0.85, 25.0), (0.37, 0.88, 25.0), (0.38, 0.92, 25.0), (0.39, 0.95, 25.0), (0.4, 0.963, 25.0), (0.42, 0.977, 25.0), (0.46, 0.988, 25.0), (0.5, 0.993, 25.0), (0.66, 0.996, 25.0), (1.06, 0.996, 25.0), (1.529, 0.975, 25.0), (1.9701, 0.93, 25.0), (2.325, 0.66, 25.0)], 1.376981, -1.0, -1.0, 0, 56.279936, 0, 1.0, 0) +""" EYE.VITREOUS +``` +ID: OTHER:7 +RI @ 587nm: 1.335982 +Abbe Number: 53.342173 +ΔPgF: 0.0 +TCE (÷1e-6): 0.0 +Density: 1.0g/m³ +Valid wavelengths: 0.38μm to 0.78μm +Reference Temp: 20.0°C +``` +""" +const VITREOUS = Glass(GlassID(OTHER, 7), 5, 1.32238376, 0.00672767909, 0.000333967702, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.38, 0.78, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 20.0, 0.0, -1.0, -1.0, 0.0, -1.0, 0, -1.0, [(0.32, 0.16, 25.0), (0.334, 0.42, 25.0), (0.35, 0.7, 25.0), (0.365, 0.85, 25.0), (0.37, 0.88, 25.0), (0.38, 0.92, 25.0), (0.39, 0.95, 25.0), (0.4, 0.963, 25.0), (0.42, 0.977, 25.0), (0.46, 0.988, 25.0), (0.5, 0.993, 25.0), (0.66, 0.996, 25.0), (1.06, 0.996, 25.0), (1.529, 0.975, 25.0), (1.9701, 0.93, 25.0), (2.325, 0.66, 25.0)], 1.335982, -1.0, -1.0, 0, 53.342173, 0, 1.0, 0) + +end + +const OTHER_GLASSES = [CARGILLE.OG0607, CARGILLE.OG0608, CARGILLE.OG081160, EYE.AQUEOUS, EYE.LENS, EYE.CORNEA, EYE.VITREOUS] +const OTHER_GLASS_NAMES = ["CARGILLE.OG0607", "CARGILLE.OG0608", "CARGILLE.OG081160", "EYE.AQUEOUS", "EYE.LENS", "EYE.CORNEA", "EYE.VITREOUS"]