Skip to content
Snippets Groups Projects
  1. May 22, 2021
  2. Feb 24, 2021
  3. Dec 15, 2020
  4. Nov 18, 2020
    • Kevin Kuns's avatar
      Suspension thermal noise sub-budgets · 10f24a98
      Kevin Kuns authored and Jameson Rollins's avatar Jameson Rollins committed
      Adds suspension thermal noise sub-budgets. This addresses 1/3 of #51. Suspension thermal noise can now be broken up into horizontal and vertical noise of each of the suspension stages. With one exception, which does not change the total noise, the calculation is the same as the current calculation but the contributions of each stage and direction are tracked separately.
      
      In the current calculation the horizontal and vertical spring constants of each stage are broken up into an upper and lower joint and are stored separately. The total suspension thermal noise is then calculated by adding the contributions of each of these joints using the appropriate temperature of each joint. Instead of adding the contributions of each joint all at once, this MR makes it possible to track each stage with separate `Noise` classes and add them all to a sub-budget.
      
      The noise for each stage is the sum of the noise from that stage's lower joint and the noise from the upper joint of the stage below. In the case of the top mass, the contribution from the upper joint is also included. In the current calculation, for the upper stages, the imaginary part of the horizontal spring constant is equally distributed between the upper and lower joints while it is only attributed to the upper joint for the test mass. The one change this MR makes to the calculation itself is to distribute this equally between the top and bottom joints as is done for the upper stages.
      
      The imaginary part of the vertical spring constant is only attributed to the upper joint of each stage. The blade springs are the only contribution to the vertical spring constant for the upper stages while the lower stage also includes the continuum fibers or ribbons. It's unclear how to break this up into an upper and lower stage as is done in figure 14 of https://arxiv.org/abs/2001.11173, so this MR does not have vertical noise of the test mass. (The noise is included, it's just attributed entirely to the PUM.)
      10f24a98
  5. Nov 17, 2020
  6. Nov 02, 2020
  7. Oct 27, 2020
  8. Oct 21, 2020
  9. Oct 20, 2020
    • Christopher Wipf's avatar
      CTN: drop amplitude noise and fix docstring · 48b3afa0
      Christopher Wipf authored
      Brownian amplitude noise is generally quite negligible, so the
      CoatingBrownian budget item no longer considers it.  The calculation
      remains available in coating_brownian().
      48b3afa0
    • Christopher Wipf's avatar
      noises.py: clean up helper functions · ea3d3c22
      Christopher Wipf authored
      - merge coating_thickness into mirror_struct
      - merge precomp_mirror into mirror_struct
      - merge precomp_power into ifo_power
      - merge precomp_cavity into arm_cavity
      
      precomp is no longer used for these helpers, but they're sufficiently
      trivial that it doesn't matter whether they are cached.
      ea3d3c22
  10. Oct 09, 2020
    • Jameson Rollins's avatar
      introduce Mirror struct for mirror thermal calculations · a419ec43
      Jameson Rollins authored
      This struct is created by the precomp_mirror function, and is essentially
      the union of the Material and Optic structs, holding all relevant
      properties for a given optic for thermal noise calculations.  It can be
      used in place of either the Material or Optic structs.
      
      Coating thermal noise functions are modified to accept this struct.
      a419ec43
  11. Oct 08, 2020
    • Jameson Rollins's avatar
      cleanup mapped precomp · e2b5128c
      Jameson Rollins authored
      This is some cleanup and simplification of Lee's mapped precomp
      series.
      e2b5128c
    • Lee McCuller's avatar
      36f133e5
    • Jameson Rollins's avatar
      precomp decorator support · dc1d71b1
      Jameson Rollins authored
      nb.precomp decorator can be used to wrap BudgetItem.calc methods with
      functions that only need to be called once per budget run.
      
          nb.precomp(precomp_foo)
          def calc(self):
              ...
      
      Precomp functions are all executed by the update() method (after attribute
      update), and execution state is cached at the Budget level, to prevent
      re-calculating the same functions multiple times per update.
      
      The BudgetItem.update() method is no longer expected to be overloaded by
      the user.
      
      This provides a speed-up of about 50% for the Aplus model, but much less
      for the CE models which are limited by other noise calculations.
      dc1d71b1
  12. Oct 07, 2020
    • Jameson Rollins's avatar
      API change: Budget/Noise calculations return BudgetTrace object · 51158ce4
      Jameson Rollins authored
      This new object holds the PSD and frequency arrays, as well as the
      list of all budget sub-noises, accessible via a dictionary interface
      and attribute access.
      
      All interfaces and tests are updated to process the new BudgetTrace
      object.
      
      A new HDF5 schemata (version 2) is also introduced that stores trace
      data in a way that mirrors the BudgetTrace.  The io functions
      (save_hdf5/load_hdf5) are updated to write/read this format.  The
      load_hdf5 functions continues to support the version 1 SCHEMA.
      
      Closes #59
      51158ce4
  13. Oct 06, 2020
    • Jameson Rollins's avatar
    • Jameson Rollins's avatar
      remove comments about bulk/shear loss parameters in aLIGO · 6348af30
      Jameson Rollins authored
      We don't want to advertise these parameters yet, since they will
      likely be changed to support different loss functions.
      6348af30
    • Anchal Gupta's avatar
      Modified getCoatBrownian() · 15b14b43
      Anchal Gupta authored and Jameson Rollins's avatar Jameson Rollins committed
      Modified getCoatBrownian() to accept different Bulk and Shear Loss
      Angles and calculate brownian noise using Hong et a. PRD 87, 082001
      (2013).
      
      New Function description:
      This function calculates Coating ThermoOptic noise using
      Hong et al . PRD 87, 082001 (2013).
      All references to 'the paper', 'Eq' adn 'Sec' are to this paper.
      
      ***Important Note***
      Inside this function phi is used for denoting the phase shift suffered
      by light in one way propagation through a layer. This is in conflict
      with present nomenclature everywhere else where it is used as loss
      angle.
      
      The layers are assumed to be alernating low-n high-n layers, with
      low-n first.
      Inputs:
               f = frequency vector in Hz
             ifo = parameter struct from IFOmodel.m
           wBeam = beam radius (at 1 / e^2 power)
            dOpt = the optical thickness, normalized by lambda, of each
                   coating layer.
      New required arguments:
             mTi = Mirror Transmittance
              Ic = Circulating Laser Power falling on the Mirror (W)
      The following new arguments should be made available in the Materials
      object and lines 108-110 and 116-118 should be uncommented:
       lossBlown = Coating Bulk Loss Angle of Low Refractive Index layer
       lossSlown = Coating Shear Loss Angle of Low Refractive Index layer
      lossBhighn = Coating Bulk Loss Angle of High Refractive Index layer
      lossShighn = Coating Shear Loss Angle of High Refractive Index layer
         PETlown = Relevant component of Photoelastic Tensor of High n layer*
        PEThighn = Relevant component of Photoelastic Tensor of Low n layer*
      Returns:
      SbrZ = Brownian noise spectra for one mirror in m^2 / Hz
      
      *
      Default values of PETlown and PEThighn are chosen from sec. A.1. to get
      the longitudnal coefficent of photoelasticity as -0.5 as been asserted
      by the paper there for Tantala and -0.27 for Silica.
      These values also need to be added in Materials object.
      15b14b43
  14. Sep 29, 2020
  15. Jul 07, 2020
  16. Jun 24, 2020
  17. Jun 16, 2020
  18. May 21, 2020
    • Jameson Rollins's avatar
      module level logging · cfd1a6ce
      Jameson Rollins authored
      Don't use the root logger since it's sometimes used by other modules, and
      it's kind of sloppy to do so.
      cfd1a6ce
  19. May 20, 2020
  20. Apr 25, 2020
  21. Apr 15, 2020
    • Christopher Wipf's avatar
      Koji's restructured quad suspension code · 9ff4ba54
      Christopher Wipf authored
      These changes improve the modeling of suspensions that have a
      temperature gradient along the fibers.  Each stage is split into an
      upper and a lower joint, which can have different material properties
      assigned in the ifo structure.  The temperature of a joint is that of
      the mass to which it is attached.  (However, temperature gradients are
      not yet supported within the top or bottom stages.)  The average of
      the upper and lower joint dissipation is used to compute the noise.
      9ff4ba54
  22. Mar 28, 2020
  23. Mar 24, 2020
  24. Feb 18, 2020
  25. Feb 14, 2020
  26. Feb 12, 2020
Loading