This notebook can be used to calculate LIGO thermal noise estimates.

<< Graphics`

Material properties are set in this section

Sapphire  =  {α ->  8.5*(10^(-6)), ρ -> 3980,  
          C -> 790, κ -> 
            40, σ  ->   .29, ϕ ->  (10^(-8)), 
          E0 -> 4 (10^11),  
          rvertex  ->  0.06/(Sqrt[2]), 
rend  ->  
            0.06/(Sqrt[2])};
Silica  = {α ->  5.5 (10^(-7)) , ρ  ->  2200, 
          C  ->  770, κ  -> 1.3, σ  ->  0.17, 
          d  -> ((20 (10^(-6)))/(4 1.45)), ϕ ->  
            (10^(-8)), E0 -> 7.2 (10^10), 
          rvertex  -> ( 
              0.035/(Sqrt[2])), 
rend  ->  (0.045/(Sqrt[2]))};
Silica2  = {α ->  5.5 (10^(-7)) , ρ  ->  2200, 
        C  ->  770, κ  -> 1.3, σ  ->  0.17, 
        d  -> ((20 (10^(-6)))/(4 1.45)), ϕ -> 
          3* (10^(-7)), E0 -> 7.2 (10^10), 
        rvertex  -> ( 
            0.035/(Sqrt[2])), 
rend  ->  (0.045/(Sqrt[2]))}
Tantala  = {α  -> 3.6 (10^(-6)), ρ  -> 
            8000, C  -> 700, κ  -> 7, σ  -> 
            0.2, d  -> ((20 (10^(-6)))/(4 2.1))};   
Coating  =  {α -> (((α d /. Silica)  +  (α d /. Tantala))/((d /. Silica )  +  (d /. Tantala))) , ϕ -> 
          (10^(-4)), ρ -> (((ρ /. Silica)   + ( ρ /. Tantala))/2), 
        C  -> (((C /. Silica)   + (C /. Tantala))/2), κ  -> 
          2, σ  -> (((σ /. Silica)   + ( σ /. Tantala))/2), β -> ((2.1* 1.45 (-1.5 (10^(-5))  +   1.2 (10^(-4))))/(4 ( (2.1^2) - (1.45^2)))), 
        E0 -> 2.9 (10^11)}

Properties which do not depend on the test mass

h  = 2 π (10^(-34));
c  =  3 (10^8);
dend  = ((d /. Silica )  +  (d /. 
              Tantala))
dvertex  =  dend * 16 / 38;
kB = 1.38 (10^(-23));
T  =  300;
λ = (10^(-6));
Pabs  = 
      N[Sqrt[800000* 5 (10^(-7))*h* 
            c / λ]]
armLength  =  4000;

All the noise models, in units of length noise (rms meters) per arm

bulkStructural = 
        Sqrt[(( kB T ϕ (1 - (σ^2)))/((((2 π))^(3/
                        2)) f E0 )) ((1/( rvertex)) + (1/rend))];
coatingStructural = 
        Sqrt[((2 kB T ϕ )/((π^2) E0  f)) ((dvertex/( (rvertex^2))) + 
                (dend/(rend^2)))];
bulkThermoelastic  = ((α (1 + σ) T )/(2 π f  ρ C)) Sqrt[((8 )/(Sqrt[2 π])) kB κ ((1/( (rvertex^3))) + 
                  (1/(rend^3)))];
coatingThermoelastic  =  
        Sqrt[((4 (Sqrt[2]) ((α^2)  /. Coating) 
                  kB (T^2) (((1 + σ))^2))/(π (Sqrt[2 π ρ C f κ]))) (((dvertex^2)/( (rvertex^2))) + 
                ((dend^2)/(rend^2)))];
thermorefractive  =  
        Sqrt[(( (Sqrt[2]) ( (β^(2 )) /. 
                      Coating) (λ^2) 
                  kB (T^2))/(π (Sqrt[2 π ρ C f κ]))) ((1/( (rvertex^2))) + 
                (1/(rend^2)))];

shape[Ω_] = (1/π) 
          Integrate[(((u^2) (E^(-(u^2)/2)))/(((u^2) +  (v^2)) ((u^2) +  (v^2) + I Ω))), {u, 
              0, ∞}, {v, -∞, ∞}];
bulkPhotothermal  = 
        Pabs ((Sqrt[2])/π) ((α (1 + σ))/κ) 
          shape[((2 π f ρ C (rvertex^2))/κ)];
bulkPhotothermal2  =  
        Pabs ((α (1 + σ))/((Sqrt[2]) π)) (1/(ρ C π  f)) 
          Sqrt[(1/(rvertex^4)) + (1/(rend^4))];
coatingPhotothermal  = (( Pabs α )/( π )) (1/( ρ C (2 π I f) )) 
          Sqrt[(((((1 - (E^(-dend  (Sqrt[((I ρ C 2 π f)/κ)]))))/rend)))^4) + (((((1 - (E^(-dvertex  (Sqrt[((I ρ C 2 π f)/κ)]))))/rvertex)))^4)];

coatingPT2  = (((α  /. 
                    Coating) Pabs)/(π (Sqrt[ρ C κ 2 π f (1 + I)]))) 
          Sqrt[((dvertex^2)/(rvertex^4)) + ((dend^2)/(rend^4))];

plot1  =   LogLogPlot[
          Abs[((((Sqrt[2]) coatingPhotothermal)/armLength) /. Coating) /. 
              Sapphire], {f, 10, 1000}, 
          DisplayFunction -> Identity];
plot2  =   LogLogPlot[
          Abs[(((Sqrt[2]) coatingPT2)/armLength) /. Silica], {f, 10, 1000}, 
          DisplayFunction -> Identity];
plot3  =   LogLogPlot[
          Abs[(((Sqrt[2]) bulkPhotothermal2)/armLength) /. Silica], {f, 10, 
            1000}, DisplayFunction -> 
            Identity];
plot4  =   LogLogPlot[
          Abs[(Sqrt[2]) (bulkPhotothermal2/armLength) /. Sapphire], {f, 10, 
            1000}, DisplayFunction -> 
            Identity];


labels := {Text["Coating on sapphire", {2, -27.2}, {0, 
              0}, {1, - .05}], 
Text["Coating on \
fused silica", {2, -26.15}, {0, 
              0}, {1, - .18}], 
Text["Fused silica \
substrate", {2.2, -25.40}, {0, 0}, {1, - .3}], 
          Text["Sapphire substrate", {2.2, -24.9}, {0, 
              0}, {1, - .3}]};
\(\(figure0 = 
        Show[{plot1, plot2, plot3, plot4, Graphics[labels]}, 
          DisplayFunction -> $DisplayFunction, Frame -> True, 
          PlotRange -> {{1, 3}, All}, Axes -> False, 
          ImageSize -> {6*72, 4*72}, 
          TextStyle -> {FontFamily -> "Helvetica", \ 
              FontSize -> 10, 
              FontWeight -> "Bold"}, 
FrameLabel -> \ {"Frequency [Hz]", "h [1/rHz]", "Photothermal noise (800 kW beam, absorption = .5ppm)", ""}];\)\)

plot1  =  
        LogLogPlot[
          Abs[(((Sqrt[2]) bulkStructural)/armLength) /. Sapphire], {f, 10, 1000}, 
          PlotStyle -> Blue, 
          DisplayFunction -> Identity];
plot2 = LogLogPlot[Abs[((((Sqrt[2]) coatingStructural)/armLength) /. 
                    Coating)  /.  Sapphire],{f, 10, 1000},PlotStyle->DarkSeaGreen,DisplayFunction -> Identity];
plot3  =  
        LogLogPlot[
          Abs[(((Sqrt[2]) bulkThermoelastic)/armLength) /. Sapphire], {f, 10, 
            1000}, PlotStyle -> DarkOrange, 
          DisplayFunction -> 
            Identity];
plot4a  =  
        LogLogPlot[
          Abs[((((Sqrt[2]) coatingThermoelastic)/armLength) /. Coating) /. 
              Sapphire], {f, 10, 1000}, 
          PlotStyle -> {{OrangeRed, AbsoluteDashing[{2, 2}]}}, 
          DisplayFunction -> 
            Identity];
plot4  =  
        LogLogPlot[
          Abs[(((Sqrt[2]) coatingThermoelastic)/armLength) /. Sapphire], {f, 
            10, 1000}, PlotStyle -> OrangeRed, 
          DisplayFunction -> Identity];
plot5 = LogLogPlot[Abs[(((Sqrt[2 ]) thermorefractive)/armLength) /. Sapphire],{f, 10, 1000},PlotStyle->Navy,DisplayFunction -> Identity];
\(figure1\  = \ 
        Show[{plot1, plot2, plot3, plot4, plot4a, plot5}, 
          DisplayFunction -> $DisplayFunction, Frame -> True, 
          PlotRange -> {{1, 3}, {\(-22\), \(-25\)}}, Axes -> False, 
          ImageSize -> {6*72, 4*72}, 
          TextStyle -> {FontFamily -> "Helvetica", \ 
              FontSize -> 10, 
              FontWeight -> "Bold"}, 
FrameLabel -> \ {"Frequency [Hz]", "h [1/rHz]", "Sapphire with Ta2O5 + SiO2", ""}];\)

plot1  =  
        LogLogPlot[
          Abs[(Sqrt[2]) (bulkStructural/armLength) /. Silica], {f, 10, 1000}, 
          PlotStyle -> Blue, 
          DisplayFunction -> 
            Identity];
plot1b  =  
        LogLogPlot[
          Abs[(Sqrt[2]) (bulkStructural/armLength) /. Silica2], {f, 10, 1000}, 
          PlotStyle -> Blue, 
          DisplayFunction -> Identity];
plot2 = LogLogPlot[Abs[((((Sqrt[2]) coatingStructural)/armLength) /. 
                    Coating) /. Silica],{f, 10, 1000},PlotStyle->DarkSeaGreen,DisplayFunction -> Identity];
plot3  =  
        LogLogPlot[
          Abs[(((Sqrt[2]) bulkThermoelastic)/armLength) /. Silica], {f, 10, 
            1000}, PlotStyle -> DarkOrange, 
          DisplayFunction -> 
            Identity];
plot4  =  
        LogLogPlot[
          Abs[(((Sqrt[2]) coatingThermoelastic)/armLength) /. Silica], {f, 10, 
            1000}, PlotStyle -> OrangeRed, 
          DisplayFunction -> Identity];
plot5 = LogLogPlot[Abs[(((Sqrt[2]) thermorefractive)/armLength) /. 
                  Silica],{f, 10, 1000},PlotStyle->Navy,DisplayFunction -> Identity];

\(figure2\  = \ 
          Show[{plot1b, plot2, plot3, plot4, plot5}, 
            DisplayFunction -> $DisplayFunction, Frame -> True, 
            PlotRange -> {{1, 3}, {\(-22\), \(-25\)}}, 
            Axes -> False, ImageSize -> {6*72, 4*72}, 
            TextStyle -> {FontFamily -> "Helvetica", \ 
                FontSize -> 10, 
                FontWeight -> "Bold"}, 
FrameLabel -> \ {"Frequency [Hz]", "h [1/rHz]", "Fused silica with Ta2O5 + SiO2", ""}];\)

Export["coatingnoise.eps", 
        figure0];
Export["sapphirenoise.eps", 
        figure1];
Export["silicanoise.eps", 
        figure2];