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\)  |