Init

$TextStyle={FontFamily->"Helvetica",FontSize->13};

plotopt=Sequence@@{GridLines->Automatic,Frame->True,FrameStyle->Thickness[0.0025],BaseStyle->{FontSize->12}};

plotoptn[n_Integer?(#>0∧#<6&)]:=Sequence@@{GridLines->Automatic,Frame->True,FrameStyle->Thickness[0.0025],PlotStyle->Take[{Purple,Brown,Darker[Green],Blue,Red},-n],BaseStyle->{FontSize->12}};
plotoptn[n_Integer?(#≤0∨#≥6&)]:=plotopt

mylegend[labels_List,pos_:Right]:={Placed[LineLegend[labels,LabelStyle->{FontSize->11},LegendMargins->2,LegendFunction->(Framed[#,Background->White]&)],pos]}

Coupled Cavity Electric Fields

(* 
E0 = Toward input mirror;
E1 = Toward middle mirror;
E2 = Toward end mirror;
E3 = Back to middle mirror;
E4 = Back to input mirror;
E5 = Trans through input mirror;
E6 = Trans through end mirror;
l1 = length of first cavity;
l2 = length of second cavity;
k = wavenumber;
ϕ1 = the single pass tuning of the input mirror;
ϕ2 = the single pass tuning of the central mirror;
ϕ3 = the single pass tuning of the end mirror;
θ1 = k l1;
θ2 = k l2;
*)

Clear[k]
M2=(({{0, 0, 0, 0, 0, 0, 0}, {t1 (E^(-I θ1)), 0, 0, 0, r1 (E^(-I θ1))(E^(-I 2 ϕ1)), 0, 0}, {0,  t2 (E^(-I θ2)), 0, r2 (E^(-I θ2))(E^(-I 2 ϕ2)), 0, 0, 0}, {0, 0, r3 (E^(-I θ2))(E^(I 2 ϕ3)), 0, 0, 0, 0}, {0, -r2 (E^(-I θ1))(E^(I 2 ϕ2)), 0, t2 (E^(-I θ1)), 0, 0, 0}, {-r1 (E^(I 2 ϕ1)), 0, 0, 0, t1, 0, 0}, {0, 0, t3, 0, 0, 0, 0}}));
(* Solve the systems of equations *)
G2=Inverse[IdentityMatrix[7]-M2]/.{ϕ1->0,ϕ2->0,ϕ3->0}; (* All mirrors perfectly tuned *)

Electric field transfer functions

(* Ecav to Erefl *)
E2toE5=Simplify[Part[G2,6,3]]

(* Ein to Erefl *)
E0toE5=Simplify[Part[G2,6,1]]
(* Ein to Eitm (incident on middle mirror)*)
E0toE1=Simplify[Part[G2,2,1]]
(* Ein to Epop *)
E0toE4=Simplify[Part[G2,5,1]]
(* Ein to Ecav *)
E0toE2=Simplify[Part[G2,3,1]]
(* Ein to Etrans *)
E0toE6=Simplify[Part[G2,7,1]]

Advanced LIGO Parameters

params={f->0,θ1->((2 π f)/c)Ls,θ2->((2 π f)/c)L,
r1->(Sqrt[1-T1-A1]),r2->(Sqrt[1-T2-A2]),r3->(Sqrt[1-T3-A3]),
t1->(Sqrt[T1]),t2->(Sqrt[T2]),t3->(Sqrt[T3]),
A1->Aprm,A2->Atm,A3->Atm,
T1->Tprm};
values={c->3*(10^8),Ls->56,L->4000,
(*T1->0.031,*)T2->0.015,T3->5*(10^(-6))};

Denominator

denom=Simplify[((E^(2 I (θ1+θ2)))-(E^(2 I θ2)) r1 r2-(E^(2 I θ1)) r2 r3+r1 r3 ((r2^2)+(t2^2)))(E^(-2 I (θ1+θ2)))//.params]

Abs[E0toE5//.params/.values/.{Atm->30 (10^(-6)),Aprm->0.005}]

Plots

Plot parameters

P0=39.2;(* W, input power incident on PRM *)
PRG0=57.2; (* power recycling gain *)
Parm0=261000;(* W *)
refl0=0.09; (* carrier power reflection *)
Tprm0=0.031;(* PRM transmission *)
Aprm0=0.005;(* PRC losses *)

Plot ranges

Tprmlow=0.01;
Tprmhigh=0.05;
Atmlow=10;(* ppm *)
Atmhigh=50;(* ppm *)
dAtm=10;(* ppm *)

Plot lines

lineStyle={Black,Dashed};
line1=Line[{{Tprm0,0},{Tprm0,1000000}}];
linerefl=Line[{{Tprmlow,refl0},{Tprmhigh,refl0}}];

Find test mass loss solutions for measurements

Atm = Single-optic test mass loss

FindRoot[refl0==((Abs[E0toE5//.params/.values/.{Tprm->Tprm0,Aprm->Aprm0,Atm-> Atm1 (10^(-6))}])^2),{Atm1,20}]

FindRoot[PRG0==((Abs[E0toE4//.params/.values/.{Tprm->Tprm0,Aprm->Aprm0,Atm-> Atm1 (10^(-6))}])^2),{Atm1,20}]

FindRoot[Parm0==(P0/2)((Abs[E0toE2//.params/.values/.{Tprm->Tprm0,Aprm->Aprm0,Atm-> Atm1 (10^(-6))}])^2),{Atm1,20}]

FindRoot[
{
Parm0==(P0/2)((Abs[E0toE2//.params/.values/.{Tprm->Tprm0,Aprm->Aprm0,Atm-> Atm1 (10^(-6))}])^2),
PRG0==((Abs[E0toE4//.params/.values/.{Tprm->Tprm0,Atm-> Atm1 (10^(-6))}])^2)
},
{{Atm1,20,0,100},{Aprm,0.01,0,0.05}}
]

Arm losses vs Power levels

p1=Plot[
((Abs[E0toE5//.params/.values/.{Tprm->Tprm0,Aprm->Aprm0,Atm-> Atm1 (10^(-6))}])^2),
{Atm1,Atmlow,Atmhigh},
ImageSize->Large,
AxesLabel->{"Single test mass loss Atm [ppm]"},
PlotLabel->Style["P_refl/P_0",Bold],
Epilog->{Directive[lineStyle],line1},
GridLines->{{refl0}},
GridLinesStyle->Dashed
]
p2=Plot[
((Abs[E0toE4//.params/.values/.{Tprm->Tprm0,Aprm->Aprm0,Atm-> Atm1 (10^(-6))}])^2),
{Atm1,Atmlow,Atmhigh},
ImageSize->Large,
AxesLabel->{"Single test mass loss Atm [ppm]"},
PlotLabel->Style["PRG",Bold],
Epilog->{Directive[lineStyle],line1},
GridLines->{{PRG0}},
GridLinesStyle->Dashed
]
p2=Plot[
(P0/2)((Abs[E0toE2//.params/.values/.{Tprm->Tprm0,Aprm->Aprm0,Atm-> Atm1 (10^(-6))}])^2),
{Atm1,Atmlow,Atmhigh},
ImageSize->Large,
AxesLabel->{"Single test mass loss Atm [ppm]"},
PlotLabel->Style["PRG",Bold],
Epilog->{Directive[lineStyle],line1},
GridLines->{{Parm0}},
GridLinesStyle->Dashed
]

PRM Transmission vs Power levels

p1=Plot[
Evaluate[Table[
Legended[((Abs[E0toE5//.params/.values/.{Atm->Atms (10^(-6)),Aprm->Aprm0}])^2),Atms],
{Atms,Atmlow,Atmhigh,dAtm}]],
{Tprm,Tprmlow,Tprmhigh},
ImageSize->Large,
AxesLabel->Automatic,
PlotLabel->Style["P_refl/P_0",Bold],
Epilog->{Directive[lineStyle],line1},
GridLines->{{refl0}},
GridLinesStyle->Dashed,
PlotRange->{0,0.2},
PlotLegends->LineLegend[,LegendLabel->"Single test mass loss Atm [ppm]"]
]
p2=Plot[
Evaluate[Table[
Legended[((Abs[E0toE4//.params/.values/.{Atm->Atms (10^(-6)),Aprm->Aprm0}])^2),Atms],
{Atms,Atmlow,Atmhigh,dAtm}]],
{Tprm,Tprmlow,Tprmhigh},
ImageSize->Large,
AxesLabel->Automatic,
PlotLabel->Style["PRG",Bold],
Epilog->{Directive[lineStyle],line1},
GridLines->{{PRG0}},
GridLinesStyle->Dashed,
PlotLegends->LineLegend[,LegendLabel->"Single test mass loss Atm [ppm]"]
]
p3=Plot[
Evaluate[Table[
Legended[(P0/2) ((Abs[E0toE2//.params/.values/.{Atm->Atms (10^(-6)),Aprm->Aprm0}])^2),Atms],
{Atms,Atmlow,Atmhigh,dAtm}]],
{Tprm,Tprmlow,Tprmhigh},
ImageSize->Large,
AxesLabel->Automatic,
PlotLabel->Style["P_arm",Bold],
Epilog->{Directive[lineStyle],line1},
GridLines->{{Parm0}},
GridLinesStyle->Dashed,
PlotLegends->LineLegend[,LegendLabel->"Single test mass loss Atm [ppm]"]
]
(*p4=Plot[
Evaluate[Table[
Legended[((Abs[E0toE6//.params/.values/.{Atm->Atms (10^(-6)),Aprm->Aprm0}])^2),Atms],
{Atms,Atmlow,Atmhigh,dAtm}]],
{Tprm,Tprmlow,Tprmhigh},
ImageSize->Large,
AxesLabel->Automatic,
PlotLabel->Style["P_trans/P_0",Bold],
Epilog->{Directive[lineStyle],line1},
GridLines->Automatic,
PlotLegends->LineLegend[,LegendLabel->"Single test mass loss Atm [ppm]"]
]*)

(P0/2) ((Abs[E0toE2//.params/.values/.{Atm->20 (10^(-6)),Aprm->Aprm0,Tprm->0.017}])^2)