ligo-ex ligo-ds
  Richardson Lab Experimental Log, Page 7 of 14  Not logged in ELOG logo
ID Date Author Type Categorydown Subject
  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
  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
  31   Tue Feb 21 17:51:04 2023 AidenSummaryGeneralClean and Bake batch 4
Bagged and Tagged batch 3 parts by placing no more than two part numbers per bag and taped them with kapton tape and labeled them with their name and part number. Then placed them in the clean room on the work bench. Cleaned batch 4 parts with liquinox and placed the into the oven for 5 steps; 1. Ramp to 100 degC in 15 minutes. 2. Dwell at 100 degC for 30 minutes. 3. Ramp to 200 degC in 30 minutes. 4. Dwell at 200 degC for 48 hours. 5. Turn off and cool down to room temperature. To see the specific parts in batch 4 please refer to the Clean and Bake spread sheet on the Richardson lab page: https://docs.google.com/spreadsheets/d/19gnv1q9l64gxnq76KfcXizbqShJfK0ayn2Js1SiAZok/edit#gid=1765414234
Attachment 1: IMG_4148.jpg
IMG_4148.jpg
Attachment 2: IMG_4147.jpg
IMG_4147.jpg
  32   Thu Feb 23 13:32:55 2023 ShaneUpdateGeneralClean room floor particle counts
Here are the counts from the clean room floor today. The counts should be dated- the ones from today (2/23/23) are the last 8 in the chart. The first set of 2 measurements from today were under the table by the clean room entrance, the next two were under the table by the vacuum chamber, the next two were on the floor by the vacuum chamber lid, and the last two were on top of the table for comparison. All measurements were taken using 2 minute sample time.
Attachment 1: 2.23.2023.pdf
2.23.2023.pdf
  33   Thu Feb 23 21:12:33 2023 JulianUpdateGeneralVacuum Chamber Cleaning
Today I was able to come in and wipe down both sides of the vacuum chamber lid using the regular alcohol wipes and also wipes that were left to dry in the fume hood then saturated with acetone. I managed to get a good amount of the residue off both the inside and outside surfaces of the lid, then did a test wipe of both sides using acetone-soaked wipes; pictures of the wipes are attached below. Once I finished with the lid, I used another acetone wipe to test wipe the inside of the vacuum chamber. The inside is still giving off residue, but very minimally, a photo for this is attached as well.
Attachment 1: ChamberLid_inside.jpg
ChamberLid_inside.jpg
Attachment 2: ChamberLid_outside.jpg
ChamberLid_outside.jpg
Attachment 3: VacuumChamber_inside.jpg
VacuumChamber_inside.jpg
ELOG V3.1.3-7933898