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
  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.
Attachment 1: updats_(3).pdf
updats_(3).pdf
  530   Tue Mar 4 10:18:43 2025 CynthiaUpdateInterferometer Simulationsattempted to remove curvature and tilt for the coating
Attachment 1: 3_4_updates.pdf
3_4_updates.pdf
  540   Tue Mar 11 11:28:52 2025 CynthiaUpdateInterferometer Simulationsflattening mirror to study power discrepency
Attachment 1: updates_3_11_(1).pdf
updates_3_11_(1).pdf
  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
Attachment 1: updates_4_15_2025.pdf
updates_4_15_2025.pdf
  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.
Attachment 1: updated_observed_squeezing_plot.png
updated_observed_squeezing_plot.png
  558   Tue Apr 22 11:04:31 2025 LiuUpdateInterferometer SimulationsTest Mass Thermal State Decoder Update with Interferometer Operation
Attachment 1: Update.pdf
Update.pdf
  564   Tue Apr 29 10:59:25 2025 LiuUpdateInterferometer SimulationsTest Mass Thermal State Decoder with Updated Comparison Cases
Attachment 1: Update.pdf
Update.pdf
  571   Tue May 6 13:07:34 2025 MichaelUpdateInterferometer SimulationsInitial Convergence Plots for Toroidal Mirrors Project
Attachment 1: Convergence_Plots_5_6_25.pdf
Convergence_Plots_5_6_25.pdf
Attachment 2: Convergence_Plots_5_6_25-1.pdf
Convergence_Plots_5_6_25-1.pdf
Attachment 3: aperture_num_points_convergence.png
aperture_num_points_convergence.png
  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
Attachment 1: update_6_3.pdf
update_6_3.pdf
  598   Tue Jun 24 13:47:58 2025 LiuUpdateInterferometer SimulationsAlternative FROSTI A# optimization approach
Alternative FROSTI A# optimization approach
Attachment 1: Update.pdf
Update.pdf
  616   Tue Jul 29 11:27:57 2025 LiuUpdateInterferometer SimulationsMulti-ring FROSTI optimization for A#
Attachment 1: Update.pdf
Update.pdf
Attachment 2: scene-export-temp.html
Attachment 3: scene-export-deformation.html
  622   Tue Aug 5 12:21:04 2025 LiuUpdateInterferometer SimulationsFROSTI A# optimization
A# multi-ring FROSTI optimization
Attachment 1: Update.pdf
Update.pdf
  625   Tue Aug 12 12:16:21 2025 LiuUpdateInterferometer SimulationsMulti-ring FROSTI optimization for A#
Multi-ring FROSTI optimization for A# with static polishing
Attachment 1: Update.pdf
Update.pdf
  628   Tue Aug 12 13:32:43 2025 LiuUpdateInterferometer Simulations 
Differences in Fused Silica parameters.
Attachment 1: Screenshot_2025-08-12_at_1.31.11_PM.png
Screenshot_2025-08-12_at_1.31.11_PM.png
Attachment 2: Screenshot_2025-08-12_at_1.31.17_PM.png
Screenshot_2025-08-12_at_1.31.17_PM.png
  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
Attachment 1: Update_(1).pdf
Update_(1).pdf
  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.
Attachment 1: Screenshot_2025-08-26_at_12-16-01_LIGO_Project_Log_-_Google_Docs.png
Screenshot_2025-08-26_at_12-16-01_LIGO_Project_Log_-_Google_Docs.png
Attachment 2: Screenshot_2025-08-26_at_12-16-32_LIGO_Project_Log_-_Google_Docs.png
Screenshot_2025-08-26_at_12-16-32_LIGO_Project_Log_-_Google_Docs.png
Attachment 3: Screenshot_2025-08-26_at_12-17-26_LIGO_Project_Log_-_Google_Docs.png
Screenshot_2025-08-26_at_12-17-26_LIGO_Project_Log_-_Google_Docs.png
  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
Attachment 1: Update.pdf
Update.pdf
  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
Attachment 1: Update.pdf
Update.pdf
  645   Tue Sep 16 12:18:09 2025 LiuUpdateInterferometer SimulationsGrid search optimization for single-ring FROSTI
Grid search optimization for single-ring FROSTI
Attachment 1: Update.pdf
Update.pdf
  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#
Attachment 1: Update.pdf
Update.pdf
  649   Tue Sep 30 12:26:15 2025 LiuUpdateInterferometer SimulationsFROSTI optimization for A#
Attachment 1: Update.pdf
Update.pdf
  652   Thu Oct 9 12:18:14 2025 LiuUpdateInterferometer SimulationsMulti-ring FROSTI optimization for A#
Attachment 1: Update.pdf
Update.pdf
  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
Attachment 1: interactive_plot_dropdown.html
Attachment 2: Update.pdf
Update.pdf
  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
Attachment 1: loss_embedding.html
Attachment 2: Update.pdf
Update.pdf
  Draft   Thu Oct 23 11:34:05 2025 MichaelUpdateInterferometer SimulationsUpdated Exploration into Different SRC Mirror Configurations for Improved Squeezing
Attachment 1: Update_Slides_10_23_25.pdf
Update_Slides_10_23_25.pdf
Attachment 2: Update_Slides_10_30_25.pdf
Update_Slides_10_30_25.pdf
  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
Attachment 1: Update.pdf
Update.pdf
  660   Thu Nov 13 12:39:01 2025 MaryUpdateInterferometer Simulations 
Attachment 1: PA.pdf
PA.pdf
  679   Thu Feb 5 13:34:13 2026 Cynthia UpdateInterferometer SimulationsPoint absorber + miscentering simulation
Attachment 1: update2_5_(3).pdf
update2_5_(3).pdf
  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?
Attachment 1: screenshot2.png
screenshot2.png
Attachment 2: screenshot1.png
screenshot1.png
  681   Thu Feb 5 13:59:42 2026 MaryUpdateInterferometer Simulations 
Attachment 1: 112.pdf
112.pdf
  686   Thu Feb 19 12:34:18 2026 CynthiaUpdateInterferometer SimulationsPoint absorber simulation
Attachment 1: update_2_18.pdf
update_2_18.pdf
  688   Thu Feb 26 20:25:10 2026 Cynthia LiangUpdateInterferometer SimulationsPoint Absorber+Miscentering Simulation
Attachment 1: update_2_18_Merged.pdf
update_2_18_Merged.pdf
  692   Thu Mar 12 12:48:58 2026 CynthiaUpdateInterferometer SimulationsNew Result of point absorber+miscentering
Attachment 1: Untitled_presentation_(1).pdf
Untitled_presentation_(1).pdf
  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
  2   Thu Jun 2 16:14:58 2022 JonHowToGeneralCustom conda environment on JupyterHub

Cross-linking instructions: How to run a Jupyter notebook in your custom Conda environment

  7   Mon Jul 11 14:29:45 2022 JonOmnistructureGeneralHEPA filter installed
Today I unpacked and installed the new HEPA filter for the lab. It is an Omni CleanAir OCA1210 capable of 1200 CFM. This flow rate is sufficient to turn over the air in the room once every 4 minutes, or 14 times per hour. Hopefully this will cut down on our particulate accumulation issues.
Attachment 1: IMG_1530.png
IMG_1530.png
  16   Mon Jan 23 17:26:15 2023 Peter CarneyUpdateGeneralOven cleaning
Aiden and Cao Turned on the oven to 120 deg C for 12 hours. After 12 hours, put it at 200 deg C for 48 hours.
  17   Thu Jan 26 18:58:25 2023 AidenUpdateGeneralOven Heating
Aiden cleaned the oven with methanol again and set the oven to 260 degC for 12 hours.
  18   Fri Jan 27 18:44:31 2023 Julian UpdateGeneralVacuum Chanmber Cleaning
I used the IPA wipes to wipe down the inside of the chamber the best I could. I cleaned the main chamber but not any of the connecting joints. When I finished I did a once over with a fresh wipe and found no residue.
  19   Fri Feb 3 13:04:04 2023 shaneSummaryGeneralclean room particle counts 1/25/23
Clean room count graphs for each zone (as of January 25, 2023) attached
Attachment 1: cleanroomcountsJan25.pdf
cleanroomcountsJan25.pdf
  22   Mon Feb 6 20:02:32 2023 JulianUpdateGeneralCleanroom Update
I wiped down the main table (including frame, legs, and transparent shelf) and workbench using alcohol wipes. Once I cleaned all of the surfaces, I used the Hepa vacuum to pick up any fallen debris.
  25   Fri Feb 10 15:15:30 2023 AidenUpdateGeneralBagging First Batch
Aiden Bagged and Tagged the first batch of stainless steel parts shown on the google spread sheet. 1. Removed two parts from the oven. 2. Place them in the ESD bag. 3. Seal bag with Kapton Tape. 4. Create label including part name and number underneath it. 5. Put label onto the side of the bag where it is not sealed with tape. 6. Placed bagged items into clean room on work table. ps. total bags in first batch = 4
  27   Sat Feb 11 00:17:27 2023 JulianUpdateGeneralVacuum Chamber Cleaning
Today I finished wiping down the rest of the vacuum chamber, specifically focusing on the connecting ports and outside surface of the chamber. When I was finished, I test wiped every surface of the chamber and took pictures confirming the current state of cleanliness; Attachment 1 "Wipes for top and bottom of chamber's upper lip." Attachment 2 " Top and bottom of chamber's lower lip." Attachment 3 "Inside and Outside main chamber." Attachment 4 "Inside connecting ports."
Attachment 1: 20230210_181404.jpg
20230210_181404.jpg
Attachment 2: 20230210_181424.jpg
20230210_181424.jpg
Attachment 3: 20230210_181541.jpg
20230210_181541.jpg
Attachment 4: 20230210_181606.jpg
20230210_181606.jpg
  28   Sat Feb 11 17:09:29 2023 ShaneUpdateGeneralclean room particle counts 2/10/23
Took a round of clean room counts after the latest clean of vacuum chamber on Feb 10. Used 60 second sample time, 5 samples for each of the 5 zones. Plots attached for both occupied clean room (one person inside, attachment 1) and unoccupied clean room (empty attachment 2), as well as the raw data from the particle counter (attachment 3).
Attachment 1: occupied2.10.23.pdf
occupied2.10.23.pdf
Attachment 2: unoccupied2.10.23.pdf
unoccupied2.10.23.pdf
Attachment 3: particlecounts2.10.23.PDF
particlecounts2.10.23.PDF
  29   Mon Feb 13 18:57:53 2023 AidenSummaryGeneralClean and Bake batch 2
Cleaned second batch of SS parts with liquinox for 20 min. Then put in oven for 5 steps; 1. Ramp, 100 degC, 15 min 2. Const, 100 degC, 30 min 3. Ramp, 200 degC, 30 min 4. Const, 200 degC, 48 hours 5. Ramp, 25 degC, (off).
  30   Fri Feb 17 19:12:39 2023 AidenUpdateGeneralClean and Bake batch 3
Bagged and Tagged batch 2 parts by placing no more than two parts per ESD bag then taped them with kapton tape and tagged them with their name and part number. Than placed them inside the clean room on the work bench. Total of 3 Bags used. For Batch 3- Cleaned all copper gaskets with liquinox for 10 minutes, dried them off with nitrogen, then placed into oven where the are currently undergoing the following steps; 1. Ramp to 100 deg C in 15 minutes. 2. Dwell at 100 degC for 30 minutes. 3. Ramp to 175 degC in 30 minutes. 4. Dwell at 175 degC for 24 hours. 5. Turn off and cool down to room temperature. To see the specific parts in batches 2 and 3 refer to the clean and bake data sheet. https://docs.google.com/spreadsheets/d/19gnv1q9l64gxnq76KfcXizbqShJfK0ayn2Js1SiAZok/edit?skip_itp2_check=true#gid=1549161924
Attachment 1: IMG_4126.jpg
IMG_4126.jpg
Attachment 2: IMG_4125.jpg
IMG_4125.jpg
ELOG V3.1.3-7933898