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 |
---|---|---|
bs bs1 bs2 beamsplitter |
||
cav cavity |
||
dbs |
||
gauss gauss* gauss** |
||
gouy |
||
isol diode |
||
l laser light |
||
lens lens* lens** lens*** |
||
m m1 m2 mirror |
||
mod |
||
sq squeezer |
||
s space |
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 mass attr tf |
Replaced with dedicated mechanics components e.g.
pendulum , free_mass . |
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)
|
||
func set put put* |
Replaced with KatScript Expressions and references.
|
|
lambda lambda0 |
||
lock lock* |
||
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 |
||
var variable const |
Axes¶
Legacy name(s) |
New name(s) |
Python API |
---|---|---|
noxaxis |
N.B. This is now the default when no analyses are specified.
|
|
xaxis x2axis x3axis |
||
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\) |