Finesse 3.0a33-147-gf87e0293
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-147-gf87e0293
Appendix
Appendix
Bibliography
Glossary
Changelog