ligo-ex ligo-ds
  Richardson Lab Experimental Log, Page 7 of 14  Not logged in ELOG logo
New entries since:Wed Dec 31 16:00:00 1969
ID Date Author Type Categorydown Subject
  446   Mon Sep 23 15:00:41 2024 Cynthia UpdateInterferometer Simulationscorrections on assumption for O5 coating
The document recording ETM07 and ETM08 coating (T2300093) was discussed: the current plume files are not necessarily correct in a way that LIGO lab have tried to add it on uncoated ETM such as ETM07 and it does not match what the coated ETM07 would look like. the plume should be added on top of the uncoated ETM instead of assuming an ideal ETM. According to Garilynn, the imperfection on uncoated ETM matters. So far the possible ETM data used for O5, ETM 11,14,19, and 20 are all uncoated, and different ways could be used to predict the plume, including the plume data on LIGO dcc or subtract the uncoated data from the coated for O4 ETM and use that as another guessed plume.
  454   Wed Oct 2 13:38:00 2024 CynthiaUpdateInterferometer Simulationscavity scan with averaged O4 ETM coating as plume
  469   Wed Nov 6 13:48:55 2024 LiuUpdateInterferometer SimulationsQN modeling update
Slides
  482   Mon Dec 2 00:11:23 2024 MichaelUpdateInterferometer SimulationsStatus Update on Toroidal Mirrors Project Work
As it has been significant time from my last update on this project, I compiled a few notes about what I have been working on, current issues, and my future plans. The past few weeks have been focused on me attempting to obtain a reliable symbolic expression for mismatch. This is important going forward as it allows us to determine optimal points in the parameter space and the surrounding behavior efficiently without significant computational cost. However this been quite difficult since I've encountered some fundamental discrepancies in the way values like the ABCD matrix and q-parameters are calculated/returned in Finesse. Since I have yet to resolve this, I'm focusing on next steps in developing tools for statistical simulations.

Update Slides

  523   Tue Feb 25 01:37:00 2025 MichaelUpdateInterferometer SimulationsUpdates and Current Next Steps for Toroidal Mirrors Project
Since the previous discussion of this project, I've worked on building finesse models to verify mathematical results which model the astigmatism in a two mirror system which we attempt to minimize. This left us with a single condition for an output non-astigmatic beam. However, as can be seen in finesse simulations, there does exist other configurations which have a negligibly small astigmatism, which we may want to consider. Below I've attached the link to my overleaf project which has some updated information which I plan on discussing.

https://www.overleaf.com/project/67968921426e61d5b2fd8c96
  526   Tue Feb 25 10:56:25 2025 CynthiaUpdateInterferometer Simulationsmirror coating added for simulation rerun
I have tried to rerun the simulation on finesse after adding the mirror coating. The result has a large fluctuation in required input power vs arm power that is concerning. I am currently working on potentially resolve this issue and get a reasonable graph before I proceed to optimizing the thermal maps.
  530   Tue Mar 4 10:18:43 2025 CynthiaUpdateInterferometer Simulationsattempted to remove curvature and tilt for the coating
  540   Tue Mar 11 11:28:52 2025 CynthiaUpdateInterferometer Simulationsflattening mirror to study power discrepency
  548   Tue Apr 8 00:17:01 2025 MichaelUpdateInterferometer SimulationsSqueezing Performance Graphs for Case With and Without Toroidal Mirrors in LIGO
I've created some graphs for the frequency dependent observed squeezing level in LIGO for both the nominal case and the case where we include toroidal mirrors, giving some interesting results. https://docs.google.com/presentation/d/1RBr47hNaxFTdGrwys5ZCUEUOgVOVHmZ2B_5EQwY62IY/edit?usp=sharing
  554   Tue Apr 15 11:37:17 2025 CynthiaUpdateInterferometer SimulationsFinishing up mirror coating map step
  555   Thu Apr 17 12:12:29 2025 LiuHowToInterferometer SimulationsPreventing Thread Contention in Multiprocessing with Finesse and Cython

Avoiding Thread Contention When Using Multiprocessing with Finesse and Cython

When running Monte Carlo simulations or other computational workloads, it's common to use Python's ProcessPoolExecutor to parallelize multiple independent tasks. This approach works well—until it interacts with low-level libraries that themselves use multi-threading under the hood.

The Problem: Thread Over-Subscription

In a recent project, I ran into a significant performance issue while executing a large number of Monte Carlo trials using a process pool with 30 worker processes on Megatron (with 48 cores). Each trial ran a function that internally used cython.parallel.prange for fast, element-wise operations, which is what Finesse uses under the hood for many internal numerical calculations. Cython, via OpenMP, was configured to use all available CPU threads per process by default.

This resulted in severe thread over-subscription. With 30 parallel processes and each process attempting to use all 48 threads, the system was launching over 1,400 threads concurrently. The CPU quickly became saturated, and the tasks stalled. In some cases, the system became unresponsive, and the jobs had to be canceled repeatedly.

This happens because when the function calls into these libraries from within a Python multiprocessing context, each subprocess will attempt to use the full number of threads available to the machine.

The Solution: Limit Threads per Process

The solution is simple: explicitly limit the number of threads each subprocess is allowed to use. This can be done by setting the environment variable at the top of your script, before importing any thread-hungry libraries like Finesse.

      
import os
os.environ["OMP_NUM_THREADS"] = "1"

    

By setting OMP_NUM_THREADS to "1", we ensure that each multiprocessing worker uses only one thread internally, preventing them from overloading the system and allowing the tasks to run more efficiently.

  556   Mon Apr 21 16:56:42 2025 MichaelUpdateInterferometer SimulationsFixed Observed Squeezing Curve for Toroidal Mirror Case
We've resolved the issue with the observed squeezing curve for the toroidal mirror case showing worse performance at lower frequencies and better performance at higher frequencies compared to the nominal case. This issue was caused by the beam parameter at the squeezer being fixed before changing the radii of curvature of the mirrors. This has been changed to be fixed after changing the mirrors, and we see an improvement in the toroidal mirror case.
  558   Tue Apr 22 11:04:31 2025 LiuUpdateInterferometer SimulationsTest Mass Thermal State Decoder Update with Interferometer Operation
  564   Tue Apr 29 10:59:25 2025 LiuUpdateInterferometer SimulationsTest Mass Thermal State Decoder with Updated Comparison Cases
  571   Tue May 6 13:07:34 2025 MichaelUpdateInterferometer SimulationsInitial Convergence Plots for Toroidal Mirrors Project
  582   Mon May 26 23:24:33 2025 MichaelUpdateInterferometer SimulationsInitial Monte Carlo Simulations for Toroidal Mirrors Project
I've run an initial Monte Carlo simulation for statistical comparison of toroidal mirrors for the dual FROSTI TCS case. Below is the link to the slides.

slideshow

  587   Tue Jun 3 12:16:13 2025 Cynthia UpdateInterferometer SimulationsPoint absorber simulation on radially averaged profile
  598   Tue Jun 24 13:47:58 2025 LiuUpdateInterferometer SimulationsAlternative FROSTI A# optimization approach
Alternative FROSTI A# optimization approach
  616   Tue Jul 29 11:27:57 2025 LiuUpdateInterferometer SimulationsMulti-ring FROSTI optimization for A#
  622   Tue Aug 5 12:21:04 2025 LiuUpdateInterferometer SimulationsFROSTI A# optimization
A# multi-ring FROSTI optimization
  625   Tue Aug 12 12:16:21 2025 LiuUpdateInterferometer SimulationsMulti-ring FROSTI optimization for A#
Multi-ring FROSTI optimization for A# with static polishing
  628   Tue Aug 12 13:32:43 2025 LiuUpdateInterferometer Simulations 
Differences in Fused Silica parameters.
  633   Tue Aug 26 12:14:24 2025 LiuUpdateInterferometer SimulationsMulti-ring FROSTI design for A# with ring heater optimization
Multi-ring FROSTI design for A# with ring heater optimization
  634   Tue Aug 26 12:18:36 2025 MichaelUpdateInterferometer SimulationsSqueezing Plots for SRC Parameter Space
I've run a few plots of observed squeezing in the LIGO interferometer to fully ensure that the point we have selected is the optimal point for squeezing. Contrary to what I expected, there seems to be much more degenerate "optimal" configurations. While the toroidal case may be near optimal, it seems that the solution we found for a non astigmatic beam is not the only one. I will further explore this space to find more optimal/tolerant positions, which I see evidence of. Additionally, as observed squeezing is computational expensive to compute, I found that the difference in round-trip gouy phase accumulation between the x and y planes is a good approximation for an optimal squeezing state, which I believe makes physical sense. This may be helpful to quickly compute other optimal conditions.
  639   Tue Sep 2 12:41:33 2025 LiuUpdateInterferometer SimulationsMulti-ring FROSTI design for A# with ring heater optimization
[Tyler, Liu] Ring heater optimization, continued
  643   Tue Sep 9 12:13:38 2025 LiuUpdateInterferometer SimulationsMulti-ring FROSTI optimization for A# with grid search
Multi-ring FROSTI optimization based on IFO metrics for A# with grid search
  645   Tue Sep 16 12:18:09 2025 LiuUpdateInterferometer SimulationsGrid search optimization for single-ring FROSTI
Grid search optimization for single-ring FROSTI
  646   Tue Sep 16 12:47:29 2025 Xuesi MaUpdateInterferometer SimulationsFrosti actuation impact analysis
Slides
  647   Tue Sep 23 12:39:29 2025 LiuUpdateInterferometer SimulationsMulti-ring FROSTI optimization for A#
  649   Tue Sep 30 12:26:15 2025 LiuUpdateInterferometer SimulationsFROSTI optimization for A#
  652   Thu Oct 9 12:18:14 2025 LiuUpdateInterferometer SimulationsMulti-ring FROSTI optimization for A#
  654   Thu Oct 16 10:31:20 2025 LiuUpdateInterferometer SimulationsMulti-ring FROSTI optimization for A#
Two-ring FROSTI grid search with 4D parameter space search and visualization
  655   Thu Oct 23 10:07:51 2025 LiuUpdateInterferometer SimulationsMulti-ring FROSTI optimization for A#
4D parameter space visualization and dimensionality reduction for better optimization
  Draft   Thu Oct 23 11:34:05 2025 MichaelUpdateInterferometer SimulationsUpdated Exploration into Different SRC Mirror Configurations for Improved Squeezing
  658   Thu Oct 30 11:45:44 2025 LiuUpdateInterferometer SimulationsMulti-ring FROSTI optimization for A#
Multi-ring FROSTI optimization for A#: dimensionality reduction with PCA vs. t-SNE
  660   Thu Nov 13 12:39:01 2025 MaryUpdateInterferometer Simulations 
  679   Thu Feb 5 13:34:13 2026 Cynthia UpdateInterferometer SimulationsPoint absorber + miscentering simulation
  680   Thu Feb 5 13:49:31 2026 MichaelUpdateInterferometer SimulationsUpdating Squeezing Mode Matching Logic
After some tests, I have determined that the squeezer in the aLIGO katscript is currently being matched to the SRC. This logic will cause issues if the SRC mode is perturbed and no longer closely matched to arm modes. Currently, my modification to the code involves taking the arm mode incident at the ITM and propagate the beam parameter using the ABCD matrix from the ITM to the injected squeezing port. Rerunning some of the squeezing simulations for a cold interferometer, it appears the toroidal case remains the same but the nominal mirror case degrades. Is this expected when we match to the arm instead of the SRC?
  681   Thu Feb 5 13:59:42 2026 MaryUpdateInterferometer Simulations 
  686   Thu Feb 19 12:34:18 2026 CynthiaUpdateInterferometer SimulationsPoint absorber simulation
  688   Thu Feb 26 20:25:10 2026 Cynthia LiangUpdateInterferometer SimulationsPoint Absorber+Miscentering Simulation
  692   Thu Mar 12 12:48:58 2026 CynthiaUpdateInterferometer SimulationsNew Result of point absorber+miscentering
  Draft   Thu Mar 12 13:18:49 2026 Cece OchoaUpdateInterferometer SimulationsCE Cavity Design Update
Animation showing how modes shift in the CE arm cavity for radius 27581m and mirror radius of40cm as the laser powers up the 1.5 MW. https://drive.google.com/file/d/1UNvWmONWYDzroelC5j_Z2emGSotyzcCC/view?usp=sharing
  695   Thu Apr 2 12:23:40 2026 MichaelUpdateInterferometer SimulationsUpdate Plots and Squeezing Behavior With Toroidal Mirrors
  697   Thu Apr 9 12:50:28 2026 CynthiaUpdateInterferometer SimulationsO5 Test mass
https://docs.google.com/presentation/d/1vJPZ9H_umgsZacCLgsqAUZWjn7-6l77np3E_YgaSy_M/edit?usp=sharing
  698   Thu Apr 16 12:53:30 2026 CynthiaUpdateInterferometer SimulationsO5 Test mass
  700   Thu Apr 16 14:04:46 2026 MaryUpdateInterferometer SimulationsBeam position optimization algorithm
  702   Thu Apr 23 11:32:48 2026 Cece OchoaUpdateInterferometer SimulationsCE Cavity Design Update
Update on CE Mirror RoC, simulation with FROSTI and cavity locking View Presentation
  703   Thu Apr 23 12:47:05 2026 CynthiaUpdateInterferometer SimulationsO5 Test mass
  704   Fri Apr 24 23:55:50 2026 DhatriSummaryInterferometer Simulations 

[Sidd, Pooyan, Dhatri]
In the group meeting on 04/23/26, we discussed with Jon why we weren’t getting expected values for PRC Gain while running the current LLO model; specifically if there is mode mismatch. Worked more on this today.
  • Looked at the mode mismatch using cavity_mismatch_table().
  • Compared these finesse_ligo factory model mismatch values with those of the aLIGO katscript model.
  • The latter does not have the cavity_mismatch_table(), looked at both models' mismatch values using cavity_mismatch().
  • Ascertained that there is less mode mismatch in the katscript model (~10^-2) as compared to the factory model (~10^-6).
  • Mismatch values are starkly different, not just for (PRC, XARM) but also for others like (OMC, XARM).
Is the issue with the locking procedure?
  • Analysed the locking process for factory model and katscript model to find minor differences in the order.
  • Tried applying the katscript locking function to the factory model and still seem to get the same results. (to recheck)
  • Further directions/steps:
    • To compare radii of curvature of the optics in both models
    • Check q parameter at PRM and assign it to the laser to run the model
    • Generate powerup plots again and check against previous ones (with and without ring heater)
  • ELOG V3.1.3-7933898