1. 06 Aug, 2018 4 commits
  2. 30 Jul, 2018 1 commit
  3. 28 Jul, 2018 1 commit
  4. 24 Jul, 2018 1 commit
  5. 23 Jul, 2018 2 commits
  6. 19 Jul, 2018 1 commit
  7. 16 Jul, 2018 1 commit
  8. 13 Jul, 2018 3 commits
  9. 12 Jul, 2018 1 commit
    • Samuel Rowlinson's avatar
      Added script to docs directory for finding which class methods are not yet documented · d654abc2
      Samuel Rowlinson authored
      The script check_missing.py iterates through all the finesse Python files and collects
      the classes and their associated methods. It then finds which of these class methods
      are missing from the API documentation (.rst) files in docs/source/api. Use this script
      after building the documentation to find which class methods need to be added to the
      documentation files in the correct places.
  10. 11 Jul, 2018 1 commit
  11. 10 Jul, 2018 3 commits
    • Samuel Rowlinson's avatar
      Added optical_nodes (and electrical, mechanical) property to Model, reflection... · de846876
      Samuel Rowlinson authored
      Added optical_nodes (and electrical, mechanical) property to Model, reflection axis inversion fix to Cavity._update_ABCD
      Model now has optical_nodes, electrical_nodes and mechanical_nodes properties for convenient retrieval of all
      the nodes within the model of these types. Changed some code in Model.beam_trace to use Model.optical_nodes
      rather than checking for node type now.
      Updated Cavity._update_ABCD method to perform minus sign on reflection for ABCD matrices in the tangential plane
      to take into account the axis inversion co-ordinate transformation.
      Split the Properties header of finesse.model documentation page up into separate topics for easier use.
    • Samuel Rowlinson's avatar
      Added order parameter to Model.beam_trace for allowing cavity trace order specification · 4d15e7ed
      Samuel Rowlinson authored
      Model.beam_trace now has an optional order parameter which can be a sequence of cavity
      instances. Cavity traces are performed on the cavities within this container before
      any other cavity traces are carried out.
      Fixed a bug in Model.merge preventing attached_space instances of nodes from being added
      into the current model instance.
      Added docstrings for Node.type.
    • Daniel Brown's avatar
      Fixing indexing of fields · b0de97e7
      Daniel Brown authored
  12. 09 Jul, 2018 3 commits
    • Samuel Rowlinson's avatar
      Fixed bugs in Model.chain and Model.beam_trace related to new NodeType feature · 047e1564
      Samuel Rowlinson authored
      Model.chain was previously checking the length of a components' nodes
      container to decide which port to use in the chaining loop, but this
      was failing in some cases as the nodes property now returns all nodes
      of every NodeType. Now the length checking in this loop retrieves just the
      optical nodes of the component instances via the new Connector.optical_nodes
      property. Other similar properties have been added for electrical and mechanical nodes.
      The issue in Model.beam_trace was similar, here I have added a check
      for whether a node has node.type == NodeType.OPTICAL before none-checking
      the q-value of the node.
      There may be more issues like this throughout the code (probably in some of
      the tests) which will need to be fixed either with checks or using the new
      specific Connector node properties.
    • Samuel Rowlinson's avatar
    • Daniel Brown's avatar
      Adding in ability for submatrices to have different sizes. This allows us to... · f502848a
      Daniel Brown authored
      Adding in ability for submatrices to have different sizes. This allows us to have NxN blocks of elements for HOM scattering and other NxM shapes for modelling couplings between mechanics and electronics. A resonable amount has changed so could be some errors in places
  13. 08 Jul, 2018 1 commit
  14. 04 Jul, 2018 1 commit
  15. 03 Jul, 2018 3 commits
  16. 02 Jul, 2018 1 commit
    • Samuel Rowlinson's avatar
      Improved Model.path via_node implementation, changed Cavity to use Model path methods · 04a69eff
      Samuel Rowlinson authored
      - Cavity now just uses the path methods in Model rather than defining its
        own. These are called on the first call to Cavity.update and then paths
        are stored in Cavity.__path and Cavity.__full_path for convenience.
      - Model.path implementation improved by removing code for single via_node
        case and just setting via_node to a list of one if single value provided.
      - Added some missing documentation for BeamParam.
  17. 29 Jun, 2018 1 commit
  18. 28 Jun, 2018 4 commits
  19. 27 Jun, 2018 2 commits
    • Samuel Rowlinson's avatar
      Allowed via_node argument of Model.path (and related) to be a sequence of nodes · 22acc548
      Samuel Rowlinson authored
      The via_node argument can now be a sequence of nodes or just a single node. This
      enables fully custom paths with an appropriate choice of intermediate nodes,
      including an arbitrary number of cavity loops.
    • Samuel Rowlinson's avatar
      Added via_node argument to Model.path method (and related methods) · 9c69cf63
      Samuel Rowlinson authored
      - One can now specify an optional via_node for the method Model.path
        which forces it to return a path in which via_node is included. This
        enables functionality such as being able to loop over a cavity rather
        than just traversing directly to the end.
      - Model.beam_trace_path uses this new via_node option which will allow
        the user to perform a custom trace over a path that they want by
        specifying which node the trace should traverse via.
      - It may be possible to allow any custom path to be returned by Model.path
        which an arbitrary number of cavity-loops if we change the optional
        argument to accept a variable number of via nodes (will look into this).
  20. 26 Jun, 2018 4 commits
  21. 25 Jun, 2018 1 commit