Skip to content
Tags give the ability to mark specific points in history as being important
This project is mirrored from https://gitlab.com/ifosim/finesse/finesse3.git. Pull mirroring updated .
  • 3.0a23 protected
    - Fix memory leak issue during model building
    - Changing the 'disabled' argument of the Lock component to 'enabled' to avoid double negative if conditions in the code
    - Minor performance fixes
    - Fix for the Optimizer action that would sometimes leave the model in an incorrect state after optimization
    - "Did you mean" suggestions for katscript keyword arguments on syntax errors
    - Adds warning for unreasonable katscript line lengths and better message on parsing recursion errors
    - Evaluate symbolic references in the component info tables
    - allows overlap_contour to work with (qx,qy) input
  • 3.0a22 protected
    - phase_config now locked when the model is built
    - Symbol.lambdify was added to change Finesse symbolic expressions into a Python callable function
    - Added initial benchmarking tests for tracking performance changes over time
    - KnmMatrix.plot can be set to amplitude or phase now with the mode option
    - Locks now throw an explicit exception LostLock when it fails
    - Added Matplotlib helper function that plots arrows along a line at several points
  • 3.0a21 protected
    Adds support for Python 3.12
  • 3.0a20.post8 protected
    Even more CI fixes for 3.0a20
  • 3.0a20.post7 protected
    Even more CI fixes for 3.0a20
  • 3.0a20.post6 protected
    Even more CI fixes for 3.0a20
  • 3.0a20.post5 protected
    More CI fixes for 3.0a20
  • 3.0a20.post4 protected
    More CI fixes for 3.0a20
  • 3.0a20.post2 protected
    7afdd7f0 · allow master runs for CI ·
    more CI fixes
  • 3.0a20.post1 protected
    7afdd7f0 · allow master runs for CI ·
    more CI fixes
  • 3.0a20.post3 protected
    7afdd7f0 · allow master runs for CI ·
  • 3.0a20.post0 protected
    Fixing CI pipeline
  • 3.0a20 protected
    - Python 3.8 support dropped: https://gitlab.com/ifosim/finesse/finesse3/-/merge_requests/172
    - Matplotlib 3.8 now works: 
    - FrequencyResponse action fixed when using two element frequency vector: https://gitlab.com/ifosim/finesse/finesse3/-/merge_requests/169
    - Now compiles with Cython 3, provides better debugging. Performance seems similar but not yet confirmed.
    - Can trace beams in reverse for propagating through isolating components: https://gitlab.com/ifosim/finesse/finesse3/-/merge_requests/181
    - Wavefront curvature added to the beam propagation data: https://gitlab.com/ifosim/finesse/finesse3/-/merge_requests/171
    - KatScript will now take the Python class name as an option for elements and actions: https://gitlab.com/ifosim/finesse/finesse3/-/merge_requests/160
    - EigenmodeSolution for a cavity now has method to compute roundtrip loss: https://gitlab.com/ifosim/finesse/finesse3/-/commit/db847bff9bf5ef4ffb109c5e234def6860f62525
    - Map now has a `remove_piston` term method: https://gitlab.com/ifosim/finesse/finesse3/-/commit/ef83443addbfa4c99d4b662c6f8058a1740775fe
    - New `DCFields` action to return a solution containing the DC optical fields at every node and frequency: https://gitlab.com/ifosim/finesse/finesse3/-/commit/b2cf34acae38d53a6dbf51906875f89e4589fee0
  • 3.0a19 protected
    d04610ee · fixing revert error ·
    - Requiring Matploblib < 3.8 until fixes are made for plotting routines
    - Parameters that are external controlled, such as those set by a DegreeOfFreedom will explicitly shown the symbolic reference now as opposed to hiding it. See #571
  • 3.0a18 protected
    - Fixed FieldDetector not conjugating lower sideband
    - Fixed DegreeOfFreedom using custom AC_IN and AC_OUT not filling the matrix correctly
    - Variable element removed, now calls model.add_parameter instead. this means some code using `var.value.value` will no longer work.
    - Added extra factorisation step when refactor returns a singular matrix with KLU, a warning will show when this happens.
    - Model.display_signal_blockdiagram now takes nodes name list and only show paths with those nodes in for cleaner diagrams
    - Model.path can take a symbolic=True keyword argument now for calculating symbolic path lengths
    - phase_level deprecated and replaced with model.phase_config method
    - unparing unsupported KatScript values will result in a __FIX_ME__ token
    - Parameters now support boolean checks
    - Python 3.11 wheels now built
    - SetLockGains now just optimises gains and not demodulation phases
    - OptimiseRFReadoutDemodPhaseDC now accepts Readout detector outputs `REFL9_I` or `REFL9_Q` for example, to optimise for either quadrature. Readout names supported and will default to `_I` with a warning
    - Fixed Hello-Vinet function `substrate_thermal_expansion_depth` #567
  • 3.0a17 protected
    - Fixing block diagram generation for signal paths
    - DOF has simpler interface for specifying just a DC actuation instead of using LocalDegreesOfFreedom
        - This also allows user to specify their own AC connections to the DOF.AC.i and DOF.AC.o as they see fit
    - Reworking signal node and port connections and attached_to attributes so they work
    - Wires now connect anything to anything, had some logic about input and output that isn't needed anymore. Wires also have a gain now for simply rescaling inputs before summing with multiple other signal nodes
  • 3.0a16 protected
  • 3.0a15 protected
    Adding additional features for degrees of freedom to allow for better/easier modelling of ASC and other more complex effects.
    LocalDegreesOfFreedom replaces DOFDefinition, which now has separate AC input and output nodes. Also tested against Sidles-Sigg theory and no internal code changes were needed.
  • 3.0a14 protected
    Same as a13 but redoing conda dist for source
  • 3.0a13 protected