Finesse 3.0a33-149-g3621cca0
About Finesse
What is Finesse
Who is the Finesse Team
History
Impact
How to cite
Acknowledgements
Installing Finesse
First Install
Python Installation
Installing Finesse and Jupyter with Conda
Using Jupyter notebook to run Finesse
From PyPI (with e.g. pip)
Linux / macOS
Known issues
Windows
Limitations
From Conda
Linux / macOS
Windows
Installing from source
Windows
macOS
Linux
Updating Finesse
Conda
From PyPI (with e.g. pip)
Source install
Getting started
Your first Finesse model
1. Mapping the Optical System
2. Describing Components and Connections
3. Defining the Simulation Task
A first Finesse example
Building a Finesse model with KatScript
Adding detectors in Finesse
Actions, Analyses, & Solutions
Key concepts
Detectors and probes
The model graph
The simulation matrix
Examples
Plane-wave optics examples
Higher-order spatial modes
An optical cavity
Cavity eigenmodes
Defining cavity eigenmodes with the cavity command
Extracting geometrical parameters
Near unstable cavities
Aligning and translating a beam with steering mirrors
Modulation, feedback and control examples
Locking actions
Radio-frequency modulation and Bessel functions
Pound-Drever-Hall locking
Optomechanics examples
Angular radiation pressure
Optical springs
Radiation pressure
Thermal effects examples
Quantum mechannics examples
Frequency dependant squeezing
Squeezing and homodyne detection
Advanced topics examples
Quantum-noise limited sensitivity of Advanced LIGO
Inference using Dynesty (NestedSampling)
User guide
Building and interacting with models
KatScript
Python Interface
Symbolics
Model elements
Components and detectors
Other elements
The port and node system
Basic usage of ports and nodes
Commands
Actions, Analyses, and Solutions
Introduction
Groups
Axes
Physics
Utilities
Symbolics
Referencing parameters
Variables vs ParameterRef
Substitution
Making a function from an expression
Preserving intent
two-arg vs N-arg operators
Basic simplification
Modelling with higher-order modes
Selecting the modes to model
Defining the modal basis
Creating and detecting mode mismatches
Capturing beam images with camera objects
Beam propagation
Computing arbitrary scattering matrices
Adding spatial defects with maps
Linear time invariant system modelling
Modelling transfer functions
Readouts for frequency domain analysis
Calculating general transfer functions
Closing control loops
Using degrees of freedom
Viewing logs
Making log messages visible
Command line interface
Quick start
Getting help
Running KatScript files
Looking up KatScript syntax
Controlling verbosity
Keeping multiple plots open using job control
Command reference
Numerical precision
In elements
In simulations
Bespoke GW Models
Importing
finesse-ligo
Choosing what to model
Initialising the locks
Modelling the Interferometer
Physics of Finesse
Plane-wave optics
Higher-order spatial modes
Radiation Pressure
Thermal effects
Developer guide
Getting started with Finesse development
Submitting a bug report
Contributing to development
Guide to the Finesse source code
The Finesse Cython extensions
KatScript grammar, parser and generator
Requirements for building, running and developing Finesse
Finesse internal code structure
Interferometer Matrix Equation
Simulation
Solver
ModelElement
Detector
Port
Node
Parameters
Workspace
Model
Signal Matrix
Developer tools
Tool configuration
Packaging Finesse
Conda
Wheels
Releasing finesse
PyPi
Conda-forge
Contributing to the documentation
How to build the documentation
Supported formats
Directory organization
Updating the Changelog
Comments and todo items
Writing Sphinx compatible docstrings
Documenting Cython extensions
Style guide
Linting tools
Authoring documentation
How to add a notebook to the documentation
Before starting, some info
Step 0: Discuss your plan
Step 1. Write your notebook
Step 2. Create your git branch from an up-to-date development branch
Step 3. Add your notebook to the documentation
Step 4. Create a merge request
Step 5. Your merge request is reviewed
Step 6. Your page is accepted and merged
Annexe: Quick MyST reference
Contributing to the editor extensions
JupyterLab
Visual Studio Code
Vim
Pygments
Finesse code style
Specific notes
Testing
Running and writing tests
Test suite guide
Todo List
Continuous integration
Configuring the pipeline
Pushing code without triggering the pipeline
Wheels built by the pipeline
Debugging Finesse
Appendix
Bibliography
Glossary
Changelog
Next Release (????-??-??)
`Next Release 3.0a34`_ (2025-12-11)
3.0a33 (2025-05-15)
3.0a32 (2025-03-20)
3.0a31 (2025-01-23)
3.0a30 (2025-01-23)
3.0a29 (2024-11-14)
3.0a28 (2024-09-19)
3.0a27 (2024-07-23)
3.0a26 (2024-07-10)
3.0a24 (2024-06-16)
3.0a23 (2024-04-29)
3.0a22 (2024-04-03)
3.0a21 (2023-11-20)
3.0a20 (2023-11-15)
3.0a19 (2023-08-19)
3.0a18 (2023-08-17)
3.0a17 (2023-08-02)
3.0a15 (2023-07-24)
3.0a14 (2023-07-20)
3.0a12 (2023-07-18)
3.0a11 (2023-07-17)
3.0a10 (2023-07-17)
3.0a9 (2023-07-17)
3.0a8 (2023-06-02)
3.0a7 (2023-06-02)
3.0a6 (2023-03-11)
3.0a5 (2022-10-09)
3.0a4 (2022-10-09)
3.0a3 (2022-03-08)
3.0.0a2 (2022-01-19)
3.0a1 (2021-04-30)
0.1.0 (2018-06-14)
Index
External links
Finesse source
Living review
Finesse 3 home
Finesse 3.0a33-149-g3621cca0
Index
Index
Symbols
|
A
|
B
|
C
|
D
|
E
|
F
|
G
|
I
|
K
|
L
|
M
|
N
|
O
|
P
|
Q
|
R
|
S
|
T
|
U
|
V
|
W
|
X
|
Z
Symbols
--analyses
kat3-syntax command line option
--commands
kat3-syntax command line option
--debug
kat3 command line option
--elements
kat3-syntax command line option
--fancy-errors
kat3 command line option
--graph
kat3-info command line option
--graphviz
kat3-info command line option
--help
kat3 command line option
--layout
kat3-info command line option
--legacy
kat3 command line option
--list-graph-layouts
kat3-info command line option
--log-exclude
kat3 command line option
--no-fancy-errors
kat3 command line option
--no-graph
kat3-info command line option
--no-summary
kat3-info command line option
--quiet
kat3 command line option
--summary
kat3-info command line option
--type
kat3-info command line option
--verbose
kat3 command line option
-q
kat3 command line option
-t
kat3-info command line option
-v
kat3 command line option
A
ABCD (KatScript Analysis)
abcd (KatScript Analysis)
ad (KatScript Element)
alens (KatScript Element)
Amplifier (KatScript Element)
amplifier (KatScript Element)
amplitude_detector (KatScript Element)
AmplitudeDetector (KatScript Element)
AntiSqueezing (KatScript Analysis)
antisqueezing (KatScript Analysis)
API
astigd (KatScript Element)
AstigmaticLens (KatScript Element)
AstigmatismDetector (KatScript Element)
B
beam_property_detector (KatScript Element)
beam_trace (KatScript Analysis)
BeamPropertyDetector (KatScript Element)
Beamsplitter (KatScript Element)
beamsplitter (KatScript Element)
BeamTrace (KatScript Analysis)
bp (KatScript Element)
bs (KatScript Element)
butter (KatScript Element)
ButterFilter (KatScript Element)
C
cav (KatScript Element)
Cavity (KatScript Element)
cavity (KatScript Element)
cavity_property_detector (KatScript Element)
CavityPropertyDetector (KatScript Element)
CCD (KatScript Element)
ccd (KatScript Element)
ccdline (KatScript Element)
CCDPixel (KatScript Element)
ccdpx (KatScript Element)
CCDScanLine (KatScript Element)
Change (KatScript Analysis)
change (KatScript Analysis)
cheby1 (KatScript Element)
Cheby1Filter (KatScript Element)
ClassicalNoise (KatScript Element)
cp (KatScript Element)
D
dbs (KatScript Element)
dc_fields (KatScript Analysis)
DCFields (KatScript Analysis)
Debug (KatScript Analysis)
debug (KatScript Analysis)
degree_of_freedom (KatScript Element)
,
[1]
DegreeOfFreedom (KatScript Element)
,
[1]
directional_beamsplitter (KatScript Element)
DirectionalBeamsplitter (KatScript Element)
dof (KatScript Element)
,
[1]
E
Eigenmodes (KatScript Analysis)
eigenmodes (KatScript Analysis)
F
fcam (KatScript Element)
fd (KatScript Element)
field_detector (KatScript Element)
FieldCamera (KatScript Element)
FieldDetector (KatScript Element)
FieldPixel (KatScript Element)
FieldScanLine (KatScript Element)
filter_butter (KatScript Element)
filter_cheby1 (KatScript Element)
filter_zpk (KatScript Element)
Finesse issues
#123
#200
#367
#601
#654
#659
#691
#699
#711
#745
Finesse source code
/.gitlab-ci.yml
,
[1]
/environment-win.yml
,
[1]
,
[2]
,
[3]
/environment.yml
,
[1]
,
[2]
,
[3]
/pyproject.toml
,
[1]
,
[2]
,
[3]
,
[4]
,
[5]
,
[6]
/scripts/generate_environment_files.py
/setup.py
,
[1]
/tests
,
[1]
/tests/testutils/fuzzing.py
/tox.ini
components/modal/laser.pyx
components/modal/mirror.pyx
cymath/cmatrix.pyx
detectors/compute/amplitude.pyx
docs/source/developer/how-to-notebook.ipynb
finesse/docs/source/conf.py
,
[1]
pyproject.toml
script
script/compiler.py
script/containers.py
script/exceptions.py
script/generator.py
script/highlighter.py
script/parser.py
,
[1]
script/spec.py
script/tokenizer.py
simulations
simulations/homsolver.pxd
simulations/homsolver.pyx
simulations/simulation.pyx
simulations/sparse
simulations/sparse/simulation.pyx
simulations/sparse/solver.pyx
fline (KatScript Element)
floss (KatScript Element)
For (KatScript Analysis)
for (KatScript Analysis)
fpx (KatScript Element)
free_mass (KatScript Element)
FreeMass (KatScript Element)
freqresp (KatScript Analysis)
freqresp2 (KatScript Analysis)
freqresp3 (KatScript Analysis)
freqresp4 (KatScript Analysis)
frequency_response (KatScript Analysis)
frequency_response2 (KatScript Analysis)
frequency_response3 (KatScript Analysis)
frequency_response4 (KatScript Analysis)
FrequencyLoss (KatScript Element)
FrequencyResponse (KatScript Analysis)
FrequencyResponse2 (KatScript Analysis)
FrequencyResponse3 (KatScript Analysis)
FrequencyResponse4 (KatScript Analysis)
fsig (KatScript Command)
G
gauss (KatScript Element)
get_error_signals (KatScript Analysis)
GetErrorSignals (KatScript Analysis)
Gouy (KatScript Element)
gouy (KatScript Element)
I
INPUT_FILE
kat3 command line option
kat3-convert command line option
kat3-info command line option
isol (KatScript Element)
Isolator (KatScript Element)
isolator (KatScript Element)
K
kat3 command line option
--debug
--fancy-errors
--help
--legacy
--log-exclude
--no-fancy-errors
--quiet
--verbose
-q
-v
INPUT_FILE
kat3-convert command line option
INPUT_FILE
OUTPUT_FILE
kat3-info command line option
--graph
--graphviz
--layout
--list-graph-layouts
--no-graph
--no-summary
--summary
--type
-t
INPUT_FILE
kat3-syntax command line option
--analyses
--commands
--elements
QUERY
knmd (KatScript Element)
KnmDetector (KatScript Element)
L
l (KatScript Element)
lambda (KatScript Command)
Laser (KatScript Element)
laser (KatScript Element)
Lens (KatScript Element)
lens (KatScript Element)
link (KatScript Command)
Lock (KatScript Element)
lock (KatScript Element)
M
m (KatScript Element)
math_detector (KatScript Element)
mathd (KatScript Element)
MathDetector (KatScript Element)
Maximize (KatScript Analysis)
maximize (KatScript Analysis)
Minimize (KatScript Analysis)
minimize (KatScript Analysis)
Mirror (KatScript Element)
mirror (KatScript Element)
mmd (KatScript Element)
mod (KatScript Element)
model
ModeMismatchDetector (KatScript Element)
modes (KatScript Command)
Modulator (KatScript Element)
modulator (KatScript Element)
motion_detector (KatScript Element)
MotionDetector (KatScript Element)
N
noise (KatScript Element)
noise_projection (KatScript Analysis)
NoiseProjection (KatScript Analysis)
Nothing (KatScript Element)
nothing (KatScript Element)
Noxaxis (KatScript Analysis)
noxaxis (KatScript Analysis)
O
obp (KatScript Element)
Operator (KatScript Analysis)
operator (KatScript Analysis)
opt_rf_readout_phase (KatScript Analysis)
optbp (KatScript Element)
optical_bandpass (KatScript Element)
OpticalBandpassFilter (KatScript Element)
optimal_q_detector (KatScript Element)
OptimalQ (KatScript Element)
OptimiseRFReadoutPhaseDC (KatScript Analysis)
OUTPUT_FILE
kat3-convert command line option
P
Parallel (KatScript Analysis)
parallel (KatScript Analysis)
pd (KatScript Element)
pd1 (KatScript Element)
pd2 (KatScript Element)
Pendulum (KatScript Element)
pendulum (KatScript Element)
phase_config (KatScript Command)
Plot (KatScript Analysis)
plot (KatScript Analysis)
power_detector_dc (KatScript Element)
power_detector_demod_1 (KatScript Element)
power_detector_demod_2 (KatScript Element)
PowerDetector (KatScript Element)
PowerDetectorDemod1 (KatScript Element)
PowerDetectorDemod2 (KatScript Element)
print (KatScript Analysis)
print_model (KatScript Analysis)
print_model_attr (KatScript Analysis)
Printer (KatScript Analysis)
PrintModel (KatScript Analysis)
PrintModelAttr (KatScript Analysis)
propagate_beam (KatScript Analysis)
propagate_beam_astig (KatScript Analysis)
PropagateAstigmaticBeam (KatScript Analysis)
PropagateBeam (KatScript Analysis)
pseudo_lock_cavity (KatScript Analysis)
pseudo_lock_drfpmi (KatScript Analysis)
PseudoLockCavity (KatScript Analysis)
PseudoLockDRFPMI (KatScript Analysis)
Python Enhancement Proposals
PEP 508
PEP 517
,
[1]
,
[2]
,
[3]
,
[4]
PEP 660
Q
qnoised (KatScript Element)
qnoised1 (KatScript Element)
qnoised2 (KatScript Element)
qshot (KatScript Element)
qshot1 (KatScript Element)
qshot2 (KatScript Element)
quantum_noise_detector (KatScript Element)
quantum_noise_detector_demod_1 (KatScript Element)
quantum_noise_detector_demod_2 (KatScript Element)
quantum_shot_noise_detector (KatScript Element)
quantum_shot_noise_detector_demod_1 (KatScript Element)
quantum_shot_noise_detector_demod_2 (KatScript Element)
QuantumNoiseDetector (KatScript Element)
QuantumNoiseDetectorDemod1 (KatScript Element)
QuantumNoiseDetectorDemod2 (KatScript Element)
QuantumShotNoiseDetector (KatScript Element)
QuantumShotNoiseDetectorDemod1 (KatScript Element)
QuantumShotNoiseDetectorDemod2 (KatScript Element)
QUERY
kat3-syntax command line option
R
readout_dc (KatScript Element)
readout_rf (KatScript Element)
ReadoutDC (KatScript Element)
ReadoutRF (KatScript Element)
run_locks (KatScript Analysis)
RunLocks (KatScript Analysis)
S
s (KatScript Element)
save_matrix (KatScript Analysis)
SaveMatrix (KatScript Analysis)
sensing_matrix_dc (KatScript Analysis)
SensingMatrixDC (KatScript Analysis)
Series (KatScript Analysis)
series (KatScript Analysis)
set_lock_gains (KatScript Analysis)
SetLockGains (KatScript Analysis)
sgen (KatScript Element)
signal_generator (KatScript Element)
SignalGenerator (KatScript Element)
Space (KatScript Element)
space (KatScript Element)
sq (KatScript Element)
Squeezer (KatScript Element)
squeezer (KatScript Element)
sus_zpk (KatScript Element)
suspension_zpk (KatScript Element)
SuspensionZPK (KatScript Element)
Sweep (KatScript Analysis)
sweep (KatScript Analysis)
T
tem (KatScript Command)
test (KatScript Element)
test_point (KatScript Element)
TestPoint (KatScript Element)
U
update_maps (KatScript Analysis)
UpdateMaps (KatScript Analysis)
V
var (KatScript Element)
variable (KatScript Element)
W
w (KatScript Element)
Wire (KatScript Element)
wire (KatScript Element)
X
X2axis (KatScript Analysis)
x2axis (KatScript Analysis)
X3axis (KatScript Analysis)
x3axis (KatScript Analysis)
Xaxis (KatScript Analysis)
xaxis (KatScript Analysis)
xd (KatScript Element)
Z
zpk (KatScript Element)
ZPKFilter (KatScript Element)