- Dec 11, 2020
-
-
Jameson Rollins authored
-
Jameson Rollins authored
All ranges are calculated automatically if the inspiral_range package is provided, and the resultant metrics are printed to stdout. Just the "range" is added as plot subtitle.
-
- Nov 18, 2020
-
-
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.)
-
- Nov 17, 2020
-
-
Kevin Kuns authored
* All quantum calculations use the final stage suspension mass instead of calculating it from the test mass radius and thickness * shotradSignalRecycled uses the suspension susceptibility instead of the free mass approximation
-
Kevin Kuns authored
- Break seismic noise up into contributions from horizontal and vertical motion. - Moved code to calculate the platform motion from noises.py into seismic.py. - Removed duplicate dhdl function from noises.py.
-
- Nov 16, 2020
-
-
Christopher Wipf authored
-
- Nov 02, 2020
-
-
Duncan Macleod authored
-
- Oct 27, 2020
-
-
Jameson Rollins authored
just calls plot.plot_trace closes #75
-
Jameson Rollins authored
-
Kevin Kuns authored
-
Jameson Rollins authored
closes #77
-
- Oct 21, 2020
-
-
Jameson Rollins authored
-
Jameson Rollins authored
that don't support the fallback_version option
-
Jameson Rollins authored
This is needed for the test script, where setuptools_scm doesn't work
-
Jameson Rollins authored
using setuptools_scm
-
Quantum noise now broken up into: * AS Port Vacuum * Arm Loss * SRC Loss * Filter Cavity Loss * Injection Loss * Readout Loss
-
- Oct 20, 2020
-
-
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().
-
- Updated the filter cavity optimization to work with the recent precomp changes - Removed a redundant argument in computeFCParams
-
Jameson Rollins authored
This specifies a default frequency array for load_budget and the CLI, and makes it easier to provide alternative arrays with a frequency "specification string" (e.g. '5:1000:3000').
-
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.
-
Jameson Rollins authored
closes #56
-
Jameson Rollins authored
fixes bug where overall budget name was used instead.
-
Jameson Rollins authored
This fixes a bug whereby references traces were being included in the sum total.
-
Jameson Rollins authored
This prevents buggy behavior if an ifo is not provided.
-
Jameson Rollins authored
This function is useful, so no reason to hide it.
-
Jameson Rollins authored
closes #72
-
- Oct 09, 2020
-
-
Jameson Rollins authored
those variables will be considered internal.
-
Jameson Rollins authored
-
Jameson Rollins authored
This prevents the precomp data from being re-calculated if the ifo hasn't changed.
-
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.
-
- Oct 08, 2020
-
-
Jameson Rollins authored
This is some cleanup and simplification of Lee's mapped precomp series.
-
Lee McCuller authored
-
Lee McCuller authored
-
Lee McCuller authored
-
Jameson Rollins authored
cache the load status
-
Jameson Rollins authored
Add a Struct.hash() method to return a unique hash over attributes. Modify Noise.run() method to check for changes to the ifo and only run the update method if the ifo has changed or other kwargs are supplied.
-
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.
-
- Oct 07, 2020
-
-
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
-
- Oct 06, 2020
-
-
Jameson Rollins authored
-