Physics

eigenmodes
Eigenmodes

For a given Cavity defined in a model, this action will compute the roundtrip operator and calculate the eigen-values and -vectors of the cavity. This will not give correct solutions for coupled cavities as these need to include additional effects.

This can be used to determine what modes combination of modes are resonating in a cavity and the required tuning to make that mode resonate.

Syntax
eigenmodes(cavity, frequency, name='eigenmodes')
Required

cavity: cavity name or Cavity instance

frequency: Optical carrier or signal frequency to use for calculating the operators

Optional

name: Name of the solution generated by this action

operator
Operator

This action can be used to extract operators out from a simulation for external use. The operators are defined by a path in the network between two nodes (via some other if more direction is required).

The model.path method can be used to test which nodes are traversed before using this to extract operators if needed.

Syntax
operator(start_node, end_node, via=none, frequency=0, name='operator')
Required

start_node: Start node name

end_node: End node name

Optional

via: Via node to use to specify a path with multiple options

frequency: Optical carrier or signal frequency to use for calculating the operators

name: Name of the solution generated by this action

abcd
ABCD

Computation of an ABCD matrix over a path.

See compute_abcd() for details.

Syntax
abcd(name=abcd, **kwargs)
beam_trace
BeamTrace

Full beam tracing on a complete model.

See Model.beam_trace() for details.

Syntax
beam_trace(name='beam_trace', **kwargs)
propagate_beam
PropagateBeam

Propagation of a beam, in a single plane, through a given path.

See Model.propagate_beam() for details.

Syntax
propagate_beam(name='propagation', **kwargs)
propagate_beam_astig
PropagateAstigmaticBeam

Propagation of a beam, in both planes, through a given path.

See Model.propagate_beam_astig() for details.

Syntax
propagate_beam_astig(name='astig_propagation', **kwargs)
antisqueezing
AntiSqueezing

Computes the amount of anti-squeezing at an output from a squeezing element.

Syntax
antisqueezing(f, squeezer, readout, signal=none, name='antisqueezing')
Required

f: Signal frequencies to compute the anti-squeezing over

squeezer: Name of squeezing component

readout: Name of readout port to compute squeezing at

signal: Name of signal drive to calculate a the signal transfer function of. This is returned in sol.signal and can be used to scale the noise into equivalent units of some signal.