Beam Tracing¶
In this example, we show the various beam profiles predicted by the model.
First we must set up the model. We will use a simple model with no detectors.
from finesse_40m.factory import FortyMeterFactory
# Import the factory with default parameters
factory = FortyMeterFactory()
factory.options.add_detectors = False
# Make a finesse model
model = factory.make()
Mismatches Table¶
Finesse computes the optimal eigenmode at each point in the simulation based on the inputs we give it. The Finesse-40m package has already defined cavities for the major subsystems. Here we plot the points where the beam scatters between higher order modes due to a Beam Parameter mismatch.
The mismatches here have been converted from float (0-1) into a percentage where 100% means the overlap integral between the two gaussian modes at each node is 0.
model.mismatches_table(numfmt='{:.2%}')
Coupling | Mismatch (x) | Mismatch (y) |
---|---|---|
AS2AR.p1.i -> AS2AR.p1.o | 98.82% | 98.98% |
AS2AR.p2.i -> AS2AR.p2.o | 98.82% | 98.98% |
BHDBS.p2.i -> BHDBS.p4.o | 7.53% | 11.08% |
BHDBS.p3.i -> BHDBS.p4.o | 7.53% | 11.08% |
BHDBS.p4.i -> BHDBS.p2.o | 7.53% | 11.08% |
BHDBS.p4.i -> BHDBS.p3.o | 7.53% | 11.08% |
BS.p1.i -> BS.p2.o | 0.00% | 0.00% |
BS.p2.i -> BS.p4.o | 0.80% | 0.61% |
BS.p2.i -> BS.p1.o | 0.00% | 0.00% |
BS.p3.i -> BS.p4.o | 0.82% | 0.64% |
BS.p4.i -> BS.p3.o | 0.82% | 0.64% |
BS.p4.i -> BS.p2.o | 0.80% | 0.61% |
ITMX.p1.i -> ITMX.p2.o | 0.69% | 0.30% |
ITMX.p2.i -> ITMX.p1.o | 0.69% | 0.30% |
ITMXAR.p1.i -> ITMXAR.p1.o | 0.00% | 0.00% |
ITMXAR.p2.i -> ITMXAR.p2.o | 0.00% | 0.00% |
ITMY.p1.i -> ITMY.p2.o | 0.87% | 0.43% |
ITMY.p2.i -> ITMY.p1.o | 0.87% | 0.43% |
ITMYAR.p1.i -> ITMYAR.p1.o | 0.00% | 0.00% |
ITMYAR.p2.i -> ITMYAR.p2.o | 0.00% | 0.00% |
PR3AR.p1.i -> PR3AR.p1.o | 0.05% | 0.27% |
PR3AR.p2.i -> PR3AR.p2.o | 0.05% | 0.27% |
PRM.p1.i -> PRM.p2.o | 0.60% | 0.24% |
PRM.p2.i -> PRM.p1.o | 0.60% | 0.24% |
PRM.p2.i -> PRM.p2.o | 0.00% | 0.00% |
PRMAR.p1.i -> PRMAR.p1.o | 11.04% | 11.04% |
PRMAR.p2.i -> PRMAR.p2.o | 11.04% | 11.04% |
SRMAR.p1.i -> SRMAR.p1.o | 4.03% | 4.65% |
SRMAR.p2.i -> SRMAR.p2.o | 4.03% | 4.65% |
XARM¶
This is the XARM eigenmode.
from finesse_40m.factory import FortyMeterFactory
# Import the factory with default parameters
factory = FortyMeterFactory()
factory.options.add_detectors = False
# Make a finesse model
model = factory.make()
ps = model.propagate_beam(model.ETMX.p1,model.ITMXAR.p2)
ps.plot(resolution='all')
print(ps)
┌─────────────╥──────────┬───────────┬──────────┬───────────┬───────────┬────────────┬───────────┬───────────────────┐
│ ║ z │ w0 │ zr │ w │ RoC │ S │ Acc. Gouy │ q │
╞═════════════╬══════════╪═══════════╪══════════╪═══════════╪═══════════╪════════════╪═══════════╪═══════════════════╡
│ ETMX.p1.o ║ 0 m │ 3.1138 mm │ 28.627 m │ 5.1575 mm │ -59.48 m │ -16.812 mD │ 0° │ -37.800 + 28.627j │
├─────────────╫──────────┼───────────┼──────────┼───────────┼───────────┼────────────┼───────────┼───────────────────┤
│ ITMX.p1.i ║ 37.79 m │ 3.1138 mm │ 28.627 m │ 3.1138 mm │ -83.1 km │ -12.034 uD │ 52.842° │ -0.010 + 28.627j │
├─────────────╫──────────┼───────────┼──────────┼───────────┼───────────┼────────────┼───────────┼───────────────────┤
│ ITMX.p2.o ║ 37.79 m │ 3.1138 mm │ 41.509 m │ 3.1138 mm │ -83.1 km │ -12.034 uD │ 52.842° │ -0.021 + 41.509j │
├─────────────╫──────────┼───────────┼──────────┼───────────┼───────────┼────────────┼───────────┼───────────────────┤
│ ITMXAR.p2.i ║ 37.815 m │ 3.1138 mm │ 41.509 m │ 3.1138 mm │ 403.91 km │ 2.4758 uD │ 52.877° │ 0.004 + 41.509j │
└─────────────╨──────────┴───────────┴──────────┴───────────┴───────────┴────────────┴───────────┴───────────────────┘

YARM¶
This is the YARM eigenmode.
ps = model.propagate_beam(model.ETMY.p1,model.ITMYAR.p2)
ps.plot(resolution='all')
print(ps)
┌─────────────╥──────────┬───────────┬──────────┬───────────┬───────────┬────────────┬───────────┬───────────────────┐
│ ║ z │ w0 │ zr │ w │ RoC │ S │ Acc. Gouy │ q │
╞═════════════╬══════════╪═══════════╪══════════╪═══════════╪═══════════╪════════════╪═══════════╪═══════════════════╡
│ ETMY.p1.o ║ 0 m │ 3.1412 mm │ 29.135 m │ 5.1465 mm │ -60.26 m │ -16.595 mD │ 0° │ -37.811 + 29.135j │
├─────────────╫──────────┼───────────┼──────────┼───────────┼───────────┼────────────┼───────────┼───────────────────┤
│ ITMY.p1.i ║ 37.81 m │ 3.1412 mm │ 29.135 m │ 3.1412 mm │ -883.4 km │ -1.132 uD │ 52.383° │ -0.001 + 29.135j │
├─────────────╫──────────┼───────────┼──────────┼───────────┼───────────┼────────────┼───────────┼───────────────────┤
│ ITMY.p2.o ║ 37.81 m │ 3.1412 mm │ 42.245 m │ 3.1412 mm │ -883.4 km │ -1.132 uD │ 52.383° │ -0.002 + 42.245j │
├─────────────╫──────────┼───────────┼──────────┼───────────┼───────────┼────────────┼───────────┼───────────────────┤
│ ITMYAR.p2.i ║ 37.835 m │ 3.1412 mm │ 42.245 m │ 3.1412 mm │ 77.661 km │ 12.876 uD │ 52.417° │ 0.023 + 42.245j │
└─────────────╨──────────┴───────────┴──────────┴───────────┴───────────┴────────────┴───────────┴───────────────────┘

Input Path¶
We can now take the YARM eigenmode and project it into the REFL port
ps = model.propagate_beam(model.ITMY.p2.i,model.REFL_port.p1.i)
ps.plot(resolution='all')
ps.print()
z | w0 | zr | w | RoC | S | Acc. Gouy | q | |
---|---|---|---|---|---|---|---|---|
ITMY.p2.i | 0 m | 2.8609 mm | 35.042 m | 2.8609 mm | 883.4 km | 1.132 uD | 40.877m° | 0.001 + 35.042j |
ITMY.p2.o | 0 m | 2.8609 mm | 35.042 m | 2.8609 mm | -883.4 km | -1.132 uD | 40.877m° | -0.001 + 35.042j |
ITMYAR.p2.i | 25 mm | 2.8609 mm | 35.042 m | 2.8609 mm | 52.008 km | 19.228 uD | 81.754m° | 0.024 + 35.042j |
ITMYAR.p1.o | 25 mm | 2.8609 mm | 24.167 m | 2.8609 mm | 35.868 km | 27.88 uD | 81.754m° | 0.016 + 24.167j |
BS.p2.i | 2.2822 m | 2.8609 mm | 24.167 m | 2.8735 mm | 259.15 m | 3.8587 mD | 5.4176° | 2.274 + 24.167j |
BS.p1.o | 2.2822 m | 2.8609 mm | 24.167 m | 2.8735 mm | 259.15 m | 3.8587 mD | 5.4176° | 2.274 + 24.167j |
PR3.p2.i | 2.6834 m | 2.8609 mm | 24.167 m | 2.8784 mm | 221.03 m | 4.5243 mD | 6.3588° | 2.675 + 24.167j |
PR3.p1.o | 2.6834 m | 2.8756 mm | 24.415 m | 2.8784 mm | 553.54 m | 1.8065 mD | 6.3588° | 1.079 + 24.415j |
PR2.p2.i | 4.7642 m | 2.8756 mm | 24.415 m | 2.8996 mm | 191.81 m | 5.2135 mD | 11.203° | 3.160 + 24.415j |
PR2.p1.o | 4.7642 m | 2.8756 mm | 24.415 m | 2.8996 mm | 191.81 m | 5.2135 mD | 11.203° | 3.160 + 24.415j |
PRM.p1.i | 6.699 m | 2.8756 mm | 24.415 m | 2.9375 mm | 122.1 m | 8.19 mD | 15.615° | 5.095 + 24.415j |
PRM.p2.o | 6.699 m | 2.8116 mm | 33.845 m | 2.9375 mm | 122.1 m | 8.19 mD | 15.615° | 10.240 + 33.845j |
PRMAR.p1.i | 6.724 m | 2.8116 mm | 33.845 m | 2.9381 mm | 121.85 m | 8.2066 mD | 15.654° | 10.265 + 33.845j |
PRMAR.p2.o | 6.724 m | 2.8116 mm | 23.341 m | 2.9381 mm | 84.036 m | 11.9 mD | 15.654° | 7.079 + 23.341j |
IFI.p3.i | 9.724 m | 2.8116 mm | 23.341 m | 3.0626 mm | 64.131 m | 15.593 mD | 22.137° | 10.079 + 23.341j |
IFI.p4.o | 9.724 m | 2.8116 mm | 23.341 m | 3.0626 mm | 64.131 m | 15.593 mD | 22.137° | 10.079 + 23.341j |
REFL_port.p1.i | 9.724 m | 2.8116 mm | 23.341 m | 3.0626 mm | 64.131 m | 15.593 mD | 22.137° | 10.079 + 23.341j |

AS Path¶
We can now take the XARM eigenmode and project it into the AS port
ps = model.propagate_beam(model.ITMX.p2.i,model.AS_port.p1.i)
ps.plot(resolution='all')
ps.print()
z | w0 | zr | w | RoC | S | Acc. Gouy | q | |
---|---|---|---|---|---|---|---|---|
ITMX.p2.i | 0 m | 2.8656 mm | 35.156 m | 2.8656 mm | 83.1 km | 12.034 uD | 40.744m° | 0.015 + 35.156j |
ITMX.p2.o | 0 m | 2.8656 mm | 35.156 m | 2.8656 mm | -83.1 km | -12.034 uD | 40.744m° | -0.015 + 35.156j |
ITMXAR.p2.i | 25 mm | 2.8656 mm | 35.156 m | 2.8656 mm | 122.05 km | 8.1935 uD | 81.487m° | 0.010 + 35.156j |
ITMXAR.p1.o | 25 mm | 2.8656 mm | 24.246 m | 2.8656 mm | 84.171 km | 11.881 uD | 81.487m° | 0.007 + 24.246j |
BSARX.p3.i | 2.3262 m | 2.8656 mm | 24.246 m | 2.8785 mm | 256.98 m | 3.8913 mD | 5.5033° | 2.308 + 24.246j |
BSARX.p1.o | 2.3262 m | 3.538 mm | 53.591 m | 3.554 mm | 568.02 m | 1.7605 mD | 5.5033° | 5.102 + 53.591j |
BS.p3.i | 2.3553 m | 3.538 mm | 53.591 m | 3.5542 mm | 564.86 m | 1.7703 mD | 5.5341° | 5.131 + 53.591j |
BS.p4.o | 2.3553 m | 3.538 mm | 53.591 m | 3.5542 mm | 564.86 m | 1.7703 mD | 5.5341° | 5.131 + 53.591j |
BSARAS.p2.i | 2.3844 m | 3.538 mm | 53.591 m | 3.5544 mm | 561.74 m | 1.7802 mD | 5.5649° | 5.160 + 53.591j |
BSARAS.p4.o | 2.3844 m | 2.8656 mm | 24.246 m | 2.8788 mm | 254.14 m | 3.9349 mD | 5.5649° | 2.335 + 24.246j |
SR2.p2.i | 2.5472 m | 2.8656 mm | 24.246 m | 2.8807 mm | 237.89 m | 4.2037 mD | 5.9458° | 2.497 + 24.246j |
SR2.p1.o | 2.5472 m | 2.879 mm | 24.473 m | 2.8807 mm | 700.28 m | 1.428 mD | 5.9458° | 0.856 + 24.473j |
SRM.p1.i | 4.056 m | 2.879 mm | 24.473 m | 2.8924 mm | 255.6 m | 3.9123 mD | 9.4618° | 2.365 + 24.473j |
SRM.p2.o | 4.056 m | 2.8507 mm | 34.792 m | 2.8924 mm | 208.61 m | 4.7937 mD | 9.4618° | 5.974 + 34.792j |
SRMAR.p2.i | 4.081 m | 2.8507 mm | 34.792 m | 2.8927 mm | 207.79 m | 4.8126 mD | 9.5018° | 5.999 + 34.792j |
SRMAR.p1.o | 4.081 m | 2.8507 mm | 23.994 m | 2.8927 mm | 143.3 m | 6.9782 mD | 9.5018° | 4.137 + 23.994j |
AS1.p1.i | 4.8002 m | 2.8507 mm | 23.994 m | 2.9085 mm | 123.41 m | 8.103 mD | 11.161° | 4.856 + 23.994j |
AS1.p2.o | 4.8002 m | 164.23 um | 79.634 mm | 2.9085 mm | -1.4126 m | -707.93 mD | 11.161° | -1.408 + 0.080j |
AS2.p1.i | 5.3407 m | 164.23 um | 79.634 mm | 1.7967 mm | -874.88 mm | -1.143 D | 13.168° | -0.868 + 0.080j |
AS2.p3.o | 5.3407 m | 203.16 um | 176.7 mm | 2.2183 mm | -1.9376 m | -516.11 mD | 13.168° | -1.921 + 0.177j |
AS2AR.p2.i | 5.3502 m | 203.16 um | 176.7 mm | 2.2074 mm | -1.9281 m | -518.64 mD | 13.194° | -1.912 + 0.177j |
AS2AR.p1.o | 5.3502 m | 203.16 um | 121.86 mm | 2.2074 mm | -1.3297 m | -752.02 mD | 13.194° | -1.318 + 0.122j |
ASL.p1.i | 7.8502 m | 203.16 um | 121.86 mm | 1.9801 mm | 1.1941 m | 837.46 mD | 182.02° | 1.182 + 0.122j |
ASL.p2.o | 7.8502 m | 203.4 um | 122.15 mm | 1.9801 mm | 1.1955 m | 836.46 mD | 182.02° | 1.183 + 0.122j |
AS_Window_Vac.p1.i | 10.35 m | 203.4 um | 122.15 mm | 6.1358 mm | 3.687 m | 271.23 mD | 186.02° | 3.683 + 0.122j |
AS_Window_Vac.p3.o | 10.35 m | 203.81 um | 177.83 mm | 6.1481 mm | 5.3675 m | 186.31 mD | 186.02° | 5.362 + 0.178j |
AS_Window_Air.p3.i | 10.362 m | 203.81 um | 177.83 mm | 6.1619 mm | 5.3795 m | 185.89 mD | 186.03° | 5.374 + 0.178j |
AS_Window_Air.p1.o | 10.362 m | 203.4 um | 122.15 mm | 6.1496 mm | 3.6952 m | 270.62 mD | 186.03° | 3.691 + 0.122j |
AS_port.p1.i | 10.462 m | 203.4 um | 122.15 mm | 6.316 mm | 3.7951 m | 263.5 mD | 186.08° | 3.791 + 0.122j |

POP Path¶
We can now take the XARM eigenmode and project it into the AS port
ps = model.propagate_beam(model.ITMX.p2.i,model.AS_port.p1.i)
ps.plot(resolution='all')
ps.print()
z | w0 | zr | w | RoC | S | Acc. Gouy | q | |
---|---|---|---|---|---|---|---|---|
ITMX.p2.i | 0 m | 2.8656 mm | 35.156 m | 2.8656 mm | 83.1 km | 12.034 uD | 40.744m° | 0.015 + 35.156j |
ITMX.p2.o | 0 m | 2.8656 mm | 35.156 m | 2.8656 mm | -83.1 km | -12.034 uD | 40.744m° | -0.015 + 35.156j |
ITMXAR.p2.i | 25 mm | 2.8656 mm | 35.156 m | 2.8656 mm | 122.05 km | 8.1935 uD | 81.487m° | 0.010 + 35.156j |
ITMXAR.p1.o | 25 mm | 2.8656 mm | 24.246 m | 2.8656 mm | 84.171 km | 11.881 uD | 81.487m° | 0.007 + 24.246j |
BSARX.p3.i | 2.3262 m | 2.8656 mm | 24.246 m | 2.8785 mm | 256.98 m | 3.8913 mD | 5.5033° | 2.308 + 24.246j |
BSARX.p1.o | 2.3262 m | 3.538 mm | 53.591 m | 3.554 mm | 568.02 m | 1.7605 mD | 5.5033° | 5.102 + 53.591j |
BS.p3.i | 2.3553 m | 3.538 mm | 53.591 m | 3.5542 mm | 564.86 m | 1.7703 mD | 5.5341° | 5.131 + 53.591j |
BS.p4.o | 2.3553 m | 3.538 mm | 53.591 m | 3.5542 mm | 564.86 m | 1.7703 mD | 5.5341° | 5.131 + 53.591j |
BSARAS.p2.i | 2.3844 m | 3.538 mm | 53.591 m | 3.5544 mm | 561.74 m | 1.7802 mD | 5.5649° | 5.160 + 53.591j |
BSARAS.p4.o | 2.3844 m | 2.8656 mm | 24.246 m | 2.8788 mm | 254.14 m | 3.9349 mD | 5.5649° | 2.335 + 24.246j |
SR2.p2.i | 2.5472 m | 2.8656 mm | 24.246 m | 2.8807 mm | 237.89 m | 4.2037 mD | 5.9458° | 2.497 + 24.246j |
SR2.p1.o | 2.5472 m | 2.879 mm | 24.473 m | 2.8807 mm | 700.28 m | 1.428 mD | 5.9458° | 0.856 + 24.473j |
SRM.p1.i | 4.056 m | 2.879 mm | 24.473 m | 2.8924 mm | 255.6 m | 3.9123 mD | 9.4618° | 2.365 + 24.473j |
SRM.p2.o | 4.056 m | 2.8507 mm | 34.792 m | 2.8924 mm | 208.61 m | 4.7937 mD | 9.4618° | 5.974 + 34.792j |
SRMAR.p2.i | 4.081 m | 2.8507 mm | 34.792 m | 2.8927 mm | 207.79 m | 4.8126 mD | 9.5018° | 5.999 + 34.792j |
SRMAR.p1.o | 4.081 m | 2.8507 mm | 23.994 m | 2.8927 mm | 143.3 m | 6.9782 mD | 9.5018° | 4.137 + 23.994j |
AS1.p1.i | 4.8002 m | 2.8507 mm | 23.994 m | 2.9085 mm | 123.41 m | 8.103 mD | 11.161° | 4.856 + 23.994j |
AS1.p2.o | 4.8002 m | 164.23 um | 79.634 mm | 2.9085 mm | -1.4126 m | -707.93 mD | 11.161° | -1.408 + 0.080j |
AS2.p1.i | 5.3407 m | 164.23 um | 79.634 mm | 1.7967 mm | -874.88 mm | -1.143 D | 13.168° | -0.868 + 0.080j |
AS2.p3.o | 5.3407 m | 203.16 um | 176.7 mm | 2.2183 mm | -1.9376 m | -516.11 mD | 13.168° | -1.921 + 0.177j |
AS2AR.p2.i | 5.3502 m | 203.16 um | 176.7 mm | 2.2074 mm | -1.9281 m | -518.64 mD | 13.194° | -1.912 + 0.177j |
AS2AR.p1.o | 5.3502 m | 203.16 um | 121.86 mm | 2.2074 mm | -1.3297 m | -752.02 mD | 13.194° | -1.318 + 0.122j |
ASL.p1.i | 7.8502 m | 203.16 um | 121.86 mm | 1.9801 mm | 1.1941 m | 837.46 mD | 182.02° | 1.182 + 0.122j |
ASL.p2.o | 7.8502 m | 203.4 um | 122.15 mm | 1.9801 mm | 1.1955 m | 836.46 mD | 182.02° | 1.183 + 0.122j |
AS_Window_Vac.p1.i | 10.35 m | 203.4 um | 122.15 mm | 6.1358 mm | 3.687 m | 271.23 mD | 186.02° | 3.683 + 0.122j |
AS_Window_Vac.p3.o | 10.35 m | 203.81 um | 177.83 mm | 6.1481 mm | 5.3675 m | 186.31 mD | 186.02° | 5.362 + 0.178j |
AS_Window_Air.p3.i | 10.362 m | 203.81 um | 177.83 mm | 6.1619 mm | 5.3795 m | 185.89 mD | 186.03° | 5.374 + 0.178j |
AS_Window_Air.p1.o | 10.362 m | 203.4 um | 122.15 mm | 6.1496 mm | 3.6952 m | 270.62 mD | 186.03° | 3.691 + 0.122j |
AS_port.p1.i | 10.462 m | 203.4 um | 122.15 mm | 6.316 mm | 3.7951 m | 263.5 mD | 186.08° | 3.791 + 0.122j |

LO Path¶
We can now take the PRC eigenmode and project it along the LO to the BHD
ps = model.propagate_beam(model.PRM.p1.o,model.BHDBS_OUT2_Window.p1.i, via_node=model.LO1.p1.i)
ps.plot(resolution='all')
ps.print()
z | w0 | zr | w | RoC | S | Acc. Gouy | q | |
---|---|---|---|---|---|---|---|---|
PRM.p1.o | 0 m | 2.8806 mm | 24.501 m | 2.9431 mm | -122.1 m | -8.19 mD | 0° | -5.132 + 24.501j |
PR2.p1.i | 1.9348 m | 2.8806 mm | 24.501 m | 2.905 mm | -190.95 m | -5.237 mD | 4.3956° | -3.197 + 24.501j |
PR2.p3.o | 1.9348 m | 2.8811 mm | 35.538 m | 2.9055 mm | -276.97 m | -3.6104 mD | 4.3956° | -4.638 + 35.538j |
PR2AR_for.p1.i | 1.9475 m | 2.8811 mm | 35.538 m | 2.9054 mm | -277.71 m | -3.6009 mD | 4.4157° | -4.625 + 35.538j |
PR2AR_for.p2.o | 1.9475 m | 2.8811 mm | 24.509 m | 2.9054 mm | -191.52 m | -5.2213 mD | 4.4157° | -3.190 + 24.509j |
LO1.p1.i | 2.3502 m | 2.8811 mm | 24.509 m | 2.8997 mm | -218.34 m | -4.5801 mD | 5.3433° | -2.787 + 24.509j |
LO1.p2.o | 2.3502 m | 285.73 um | 241.06 mm | 2.8997 mm | -2.4583 m | -406.78 mD | 5.3433° | -2.434 + 0.241j |
LO2.p1.i | 4.931 m | 285.73 um | 241.06 mm | 334.27 um | 543.4 mm | 1.8403 D | 120.95° | 0.146 + 0.241j |
LO2.p2.o | 4.931 m | 285.86 um | 241.27 mm | 334.27 um | 544.27 mm | 1.8373 D | 120.95° | 0.146 + 0.241j |
LO3.p1.i | 6.518 m | 285.86 um | 241.27 mm | 2.0734 mm | 1.7668 m | 565.98 mD | 171.8° | 1.733 + 0.241j |
LO3.p2.o | 6.518 m | 47.083 um | 6.5453 mm | 2.0734 mm | -288.31 mm | -3.4685 D | 171.8° | -0.288 + 0.007j |
LO4.p1.i | 6.8871 m | 47.083 um | 6.5453 mm | 584.15 um | 81.472 mm | 12.274 D | 345.88° | 0.081 + 0.007j |
LO4.p2.o | 6.8871 m | 360.62 um | 383.98 mm | 584.15 um | -790.64 mm | -1.2648 D | 345.88° | -0.489 + 0.384j |
BHDBS_LO.p1.i | 7.1444 m | 360.62 um | 383.98 mm | 421.34 um | -867.5 mm | -1.1527 D | 366.62° | -0.232 + 0.384j |
BHDBS_LO.p3.o | 7.1444 m | 360.62 um | 383.98 mm | 421.34 um | -867.5 mm | -1.1527 D | 366.62° | -0.232 + 0.384j |
BHDBS.p4.i | 7.1553 m | 360.62 um | 383.98 mm | 416.13 um | -887.96 mm | -1.1262 D | 367.82° | -0.221 + 0.384j |
BHDBS.p3.o | 7.1553 m | 360.62 um | 383.98 mm | 416.13 um | -887.96 mm | -1.1262 D | 367.82° | -0.221 + 0.384j |
BHDBS_OUT2.p3.i | 7.1662 m | 360.62 um | 383.98 mm | 411.11 um | -911.68 mm | -1.0969 D | 369.06° | -0.210 + 0.384j |
BHDBS_OUT2.p1.o | 7.1662 m | 360.62 um | 383.98 mm | 411.11 um | -911.68 mm | -1.0969 D | 369.06° | -0.210 + 0.384j |
BHDBS_OUT2_Window.p1.i | 7.5662 m | 360.62 um | 383.98 mm | 402.28 um | 966.57 mm | 1.0346 D | 424.06° | 0.190 + 0.384j |

Output Path¶
We can now take the PRC eigenmode and project it along the LO to the BHD
ps = model.propagate_beam(model.ITMX.p1.i,model.BHDBS_OUT2_Window.p1.i, via_node=model.SRM.p1.i)
ps.plot(resolution='all')
ps.print()
z | w0 | zr | w | RoC | S | Acc. Gouy | q | |
---|---|---|---|---|---|---|---|---|
ITMX.p1.i | 0 m | 3.1138 mm | 28.627 m | 3.1138 mm | -83.1 km | -12.034 uD | 0° | -0.010 + 28.627j |
ITMX.p2.o | 0 m | 3.1138 mm | 41.509 m | 3.1138 mm | -83.1 km | -12.034 uD | 0° | -0.021 + 41.509j |
ITMXAR.p2.i | 25 mm | 3.1138 mm | 41.509 m | 3.1138 mm | 403.91 km | 2.4758 uD | 34.508m° | 0.004 + 41.509j |
ITMXAR.p1.o | 25 mm | 3.1138 mm | 28.627 m | 3.1138 mm | 278.56 km | 3.5899 uD | 34.508m° | 0.003 + 28.627j |
BSARX.p3.i | 2.3262 m | 3.1138 mm | 28.627 m | 3.1238 mm | 357.96 m | 2.7936 mD | 4.6304° | 2.304 + 28.627j |
BSARX.p1.o | 2.3262 m | 3.8444 mm | 63.276 m | 3.8568 mm | 791.22 m | 1.2639 mD | 4.6304° | 5.093 + 63.276j |
BS.p3.i | 2.3553 m | 3.8444 mm | 63.276 m | 3.857 mm | 786.79 m | 1.271 mD | 4.6566° | 5.122 + 63.276j |
BS.p4.o | 2.3553 m | 3.8444 mm | 63.276 m | 3.857 mm | 786.79 m | 1.271 mD | 4.6566° | 5.122 + 63.276j |
BSARAS.p2.i | 2.3844 m | 3.8444 mm | 63.276 m | 3.8571 mm | 782.4 m | 1.2781 mD | 4.6828° | 5.151 + 63.276j |
BSARAS.p4.o | 2.3844 m | 3.1138 mm | 28.627 m | 3.1241 mm | 353.97 m | 2.8251 mD | 4.6828° | 2.331 + 28.627j |
SR2.p2.i | 2.5472 m | 3.1138 mm | 28.627 m | 3.1255 mm | 331.18 m | 3.0196 mD | 5.0063° | 2.493 + 28.627j |
SR2.p1.o | 2.5472 m | 3.1255 mm | 28.843 m | 3.1255 mm | 4.1001 km | 243.9 uD | 5.0063° | 0.203 + 28.843j |
SRM.p1.i | 4.056 m | 3.1255 mm | 28.843 m | 3.131 mm | 487.73 m | 2.0503 mD | 7.9995° | 1.712 + 28.843j |
SRM.p2.o | 4.056 m | 3.0975 mm | 41.078 m | 3.131 mm | 284.94 m | 3.5095 mD | 7.9995° | 6.050 + 41.078j |
SRMAR.p2.i | 4.081 m | 3.0975 mm | 41.078 m | 3.1312 mm | 283.82 m | 3.5234 mD | 8.0336° | 6.075 + 41.078j |
SRMAR.p1.o | 4.081 m | 3.0975 mm | 28.33 m | 3.1312 mm | 195.74 m | 5.1089 mD | 8.0336° | 4.190 + 28.330j |
AS1.p1.i | 4.8002 m | 3.0975 mm | 28.33 m | 3.1437 mm | 168.39 m | 5.9385 mD | 9.4515° | 4.909 + 28.330j |
AS1.p2.o | 4.8002 m | 151.54 um | 67.806 mm | 3.1437 mm | -1.4083 m | -710.09 mD | 9.4515° | -1.405 + 0.068j |
AS2.p1.i | 5.3407 m | 151.54 um | 67.806 mm | 1.938 mm | -869.82 mm | -1.1497 D | 11.173° | -0.864 + 0.068j |
AS2.p2.o | 5.3407 m | 150.8 um | 67.148 mm | 1.938 mm | -865.56 mm | -1.1553 D | 11.173° | -0.860 + 0.067j |
AS3.p1.i | 5.9362 m | 150.8 um | 67.148 mm | 613.56 um | -281.84 mm | -3.5481 D | 20.939° | -0.265 + 0.067j |
AS3.p2.o | 5.9362 m | 204.45 um | 123.42 mm | 613.56 um | -392.83 mm | -2.5456 D | 20.939° | -0.349 + 0.123j |
OFI.p1.i | 6.342 m | 204.45 um | 123.42 mm | 224.92 um | 325.75 mm | 3.0699 D | 116.11° | 0.057 + 0.123j |
OFI.p3.o | 6.342 m | 204.45 um | 123.42 mm | 224.92 um | 325.75 mm | 3.0699 D | 116.11° | 0.057 + 0.123j |
AS4.p1.i | 6.642 m | 204.45 um | 123.42 mm | 625.1 um | 399.3 mm | 2.5044 D | 162.38° | 0.357 + 0.123j |
AS4.p2.o | 6.642 m | 449.63 um | 596.93 mm | 625.1 um | -1.1946 m | -837.12 mD | 162.38° | -0.577 + 0.597j |
BHDBS.p1.i | 7.092 m | 449.63 um | 596.93 mm | 459.62 um | -2.943 m | -339.79 mD | 194.42° | -0.127 + 0.597j |
BHDBS.p3.o | 7.092 m | 449.63 um | 596.93 mm | 459.62 um | -2.943 m | -339.79 mD | 194.42° | -0.127 + 0.597j |
BHDBS_OUT2.p3.i | 7.1029 m | 449.63 um | 596.93 mm | 457.98 um | -3.1981 m | -312.69 mD | 195.43° | -0.116 + 0.597j |
BHDBS_OUT2.p1.o | 7.1029 m | 449.63 um | 596.93 mm | 457.98 um | -3.1981 m | -312.69 mD | 195.43° | -0.116 + 0.597j |
BHDBS_OUT2_Window.p1.i | 7.5029 m | 449.63 um | 596.93 mm | 498.06 um | 1.5373 m | 650.5 mD | 231.86° | 0.284 + 0.597j |
