Finesse 2 support
Supported legacy syntax
Finesse 3 supports most common Finesse 2 syntax via its legacy parsing mode. Legacy
parsing is available either via the Command line interface (using --legacy) or in Python using Model.parse_legacy() or
Model.parse_legacy_file().
The Finesse 2 syntax supported by the legacy parser is listed below, along with links to the relevent Finesse 3 KatScript syntax and Python API. Directives not listed below are not supported. The supported parameters for each directive can be found in the Finesse 2 manual.
Warning
Support for Finesse 2 script support is only provided as a convenience to assist in transitioning to Finesse 3. New scripts should always be written in Finesse 3 script.
Components
Legacy name(s) |
New name(s) |
Python API |
|---|---|---|
bsbs1bs2beamsplitter |
||
cavcavity |
||
dbs |
||
gaussgauss*gauss** |
||
gouy |
||
isoldiode |
||
llaserlight |
||
lenslens*lens**lens*** |
||
mm1m2mirror |
||
mod |
||
sqsqueezer |
||
sspace |
Detectors
Legacy name(s) |
New name(s) |
Python API |
|---|---|---|
ad |
||
beam |
||
bp |
||
xd |
||
pd[n] |
||
qnoised[S/N] |
||
qshot[S/N] |
Commands
Legacy name(s) |
New name(s) |
Python API |
|---|---|---|
attr |
Replaced with arguments to the relevent components.
|
See relevent component constructors.
|
attr massattr tf |
See components under
components.mechanical. |
|
fadd(Implemented in Finesse 3 as
freq name frequency) |
Not implemented.
|
|
fsig name f(Setting the frequency)
|
Model.fsig |
|
fsig name comp ...(Applying a signal)
|
||
funcsetputput* |
Replaced with KatScript Expressions and references.
|
|
lambdalambda0 |
||
locklock* |
||
mask |
Replaced by
mask property of the relevant detector. |
|
maxtem |
||
pdtype |
Use pdtype keyword argument for detectors
|
Use pdtype keyword argument for detectors
|
phase |
Not implemented.
|
Model.phase_config |
retrace |
Not implemented.
|
|
startnode |
||
tem |
||
varvariableconst |
Axes
Legacy name(s) |
New name(s) |
Python API |
|---|---|---|
noxaxis |
N.B. This is now the default when no analyses are specified.
|
|
xaxisx2axisx3axis |
||
yaxis |
Not implemented.
|
Model.yaxis |
scale |
Not implemented.
|
Not implemented.
|
Internal differences from Finesse 2
Modulator sideband amplitudes
Finesse 2 uses a Bessel function routine optimised for speed of calculation. This causes modulator field amplitudes to be incorrect by a small amount only for extreme values of modulation depth when more than one modulation is performed. Finesse 3 uses a correct implementation, and so will differ from Finesse 2 slightly.
The following table lists the modulation indices for which Finesse 2’s error is distinguishable from numerical noise (greater than \(10^{-14}\)):
Order, \(n\) |
Modulation index, \(m\) |
|---|---|
1 |
Always Correct |
2 |
\(0.482 \le m \le 2.0\) |
3 |
\(0.958 \le m \le 3.0\) |
4 |
\(2.128 \le m \le 4.0\) |
5 |
\(2.920 \le m \le 5.0\) |