Skip to content

Tracing beams in reverse

Daniel Brown requested to merge feature/reverse_beam_propagation into develop

What does this MR do and why?

  • Adds new reverse_propagate to the propagate beam feature. This is fix issues with backwards tracing beams through components like the directional beamsplitter, whose connections are not symmetric. You can now do things like this:

model.propagate_beam(model.m1.p1.o, model.l1.p1.i, reverse_propagate=True)

assuming the model is connected to allow l1->m1 through a DBS.

  • tests symmetric tracing at DBS works

  • adds string node name access for BeamTraceSolution.getitem in addition to selecting with a node object

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

  • Includes tests for added/modified code
  • Added or modified the documentation if relevant
  • Docstrings added/modified for new/modified functions
  • Committer/reviewer has ran the documentation stage when ready to merge
Edited by Daniel Brown

Merge request reports

Loading