stanfordnqp / spins-b

Photonic optimization library
GNU General Public License v3.0
290 stars 114 forks source link

Optimization of complex value #38

Closed anthmanni closed 4 years ago

anthmanni commented 4 years ago

Hello,

I am designing a 4-port photonic circuit element using spins, where the incident power is distributed evenly across all 4 ports. I have achieved decent power splitting by optimizing for either magnitude or power. However, I would like the phase at each port monitor to be 0 for ports 2-4 and π for the input port. I have tried simulating this by making each objective equal to optplan.abs(sqrt(1/2)-port_field)**2 but that does not seem to work. Ideally, I would like the s-parameters S21 S31 S41 all to be sqrt(1/2) + 0j and the S11 parameter to be -sqrt(1/2) + 0j. That way when I take the power I get 0.25 with 0 phase shift.

How might I go about this?

Thank you, Anthony