1. 17 Dec, 2020 2 commits
  2. 27 Nov, 2020 1 commit
  3. 19 Nov, 2020 2 commits
  4. 25 Oct, 2020 1 commit
  5. 24 Oct, 2020 2 commits
  6. 21 Oct, 2020 4 commits
  7. 20 Oct, 2020 1 commit
  8. 19 Oct, 2020 2 commits
  9. 18 Oct, 2020 6 commits
    • Sean Leavey's avatar
      Change config file organisation, add CLI config dump/edit support · 92b86360
      Sean Leavey authored
      The config file organisation previously used hard-coded Python values dumped to a file
      inside the Finesse source directory then copied to the user's config directory. This
      would present a problem when Finesse is installed as a package in a non-writable
      directory. Furthermore, the first step of dumping Python data structures to the
      config file was unnecessary - the config file could instead be provided as-is in the
      source tree, and copied on load to the user's config directory. This avoids the need
      for write permissions on the Finesse source directory, and has the added advantage of
      us being able to include comments in the configuration example files to guide the user.
      
      The code now copies the "finesse.ini.dist" and "usr.ini.dist" files from the finesse
      package into the user's config directory on load, the latter only if it doesn't already
      exist. These files are included in the setup.py package resources list so should get
      bundled as part of sdists and bdists, and these are loaded via Python 3.7's new
      importlib.resources module to avoid having to load the heavier pkg_resources library.
      
      Finally, the CLI now includes support for listing the current parsed configuration,
      listing the files which were used to make it, allowing the user to open their user
      configuration in the default system editor, and allowing them to reset their user
      configuration with the default.
      92b86360
    • Sean Leavey's avatar
      Add path CLI function · aa388ffa
      Sean Leavey authored
      aa388ffa
    • Sean Leavey's avatar
      Add graph plotting CLI tool · bf86b01c
      Sean Leavey authored
      bf86b01c
    • Sean Leavey's avatar
      Allow animations to be saved · 97034aea
      Sean Leavey authored
      97034aea
    • Sean Leavey's avatar
      Add trace animation support · c47ffe88
      Sean Leavey authored
      c47ffe88
    • Sean Leavey's avatar
      Support file objects in parsing/dumping to allow CLI to use Click's file... · cd281352
      Sean Leavey authored
      Support file objects in parsing/dumping to allow CLI to use Click's file arguments for kat 2to3 conversion
      cd281352
  10. 17 Oct, 2020 2 commits
  11. 16 Oct, 2020 1 commit
  12. 15 Oct, 2020 4 commits
  13. 01 Jul, 2020 1 commit
  14. 20 Apr, 2020 1 commit
  15. 12 Apr, 2020 1 commit
  16. 10 Apr, 2020 2 commits
  17. 08 Apr, 2020 1 commit
    • Samuel Rowlinson's avatar
      Re-implementing Cavity attributes as symbolic equations · d44631a3
      Samuel Rowlinson authored
      To avoid needing to call `Cavity.update` any time a parameter associated with
      the cavity is changed, all attributes have now been changed in line with the
      'new' symbolic equations made up of each components' model parameters. The
      properties associated with these attributes now call `eval` on the symbolic
      expression, with any logic previously in the `_update_X` methods now taking
      place after these evaluation calls.
      
      Setting up of the symbolic expressions for a cavity is performed in `Cavity.initialise`,
      and this method is called in `Model.add` so that the cavity path is calculated and
      symbolic attributes initialised.
      
      Other minor changes in this commit include calling `finesse.init_plotting` in the CLI
      if the `plot` option is set, and adding stricter checks on `detectors`, `locks` args
      passed to `Plotter.plot`.
      d44631a3
  18. 07 Apr, 2020 2 commits
  19. 31 Mar, 2020 1 commit
    • Philip Jones's avatar
      Change how a Kat object is constructed. · 8d03fd21
      Philip Jones authored
      This changes the workflow from something like
          kat = finesse.parse(commands)
          out = kat.run()
      to
          kat = finesse.Kat()
          kat.parse(commands)  # or kat.parse_file(filename)
          out = kat.run()
      
      This is consistent with PyKat's workflow, and removes some duplicate
      parse commands in different parts of the package.
      8d03fd21
  20. 30 Mar, 2020 1 commit
  21. 29 Mar, 2020 1 commit
    • Samuel Rowlinson's avatar
      Fixing a few bugs · 07504182
      Samuel Rowlinson authored
      - Adding check that node arg is None or of type Node to `Detector.__init__`.
      - Only adding a beam trace analysis to CLI kat object when trace flag is true
        and the model is modal.
      - Fix to `OpticalPath.length` property
      - Fixed an issue where an invalid beam trace for initial state of model in a
        simulation gave an unclear internal error.
      07504182
  22. 27 Jan, 2020 1 commit
    • Samuel Rowlinson's avatar
      Moved beam trace solutions classes into finesse.solutions sub-module · 1afb42aa
      Samuel Rowlinson authored
      Other minor changes include the addition of a data property to BaseTraceSolution (to
      get a copy of the underlying dictionary) and removal of the deprecated method `Model.set_q_at`
      as all setting of beam parameters at nodes / through a Model is now performed via `Model.update_gauss`
      and `Model.add` where a `Gauss` object is added (so that the model parameters can be
      tracked properly).
      1afb42aa