finesse.analysis.runners.run_fsig_sweep2

finesse.analysis.runners.run_fsig_sweep2(BaseSimulation sim, double[::1] axis, long[::1] input_node_indices, long[::1] input_freq_indices, long[::1] output_node_indices, double[::1] input_scaling, double[::1] output_scaling, double complex[:, :, :, ::1] out, tuple fsig_independant_outputs=None, tuple fsig_dependant_outputs=None)

Runs a simulation to sweep over a signal frequency axis. It does this in an optimised way for multiple inputs and outputs.

run_fsig_sweep2 differs to run_fsig_sweep in that the inputs should be optical nodes. The transfer functions from each HOM at the input to every output will then be calculated. Outputs should be some readout signal nodes.

Transfer functions for lower audio sides must be requested to conjugate, as internally the conjugate of the lower is solved for.

Returns
transfer_functionsarray_like

shape of (frequencies, outputs, inputs, HOMs)