finesse.analysis.runners.run_fsig_sweep3

finesse.analysis.runners.run_fsig_sweep3(BaseSimulation sim, double[::1] axis, long[::1] input_node_indices, long[::1] input_freq_indices, long[::1] output_node_indices, long[::1] output_freq_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_sweep3 differs to run_fsig_sweep in that the input and output nodes should be optical nodes. The transfer functions from each HOM at the input to every output will then be calculated.

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, HOMs)