Skip to content

A Monte Carlo simulation in Python to model vacuum-induced frequency drifts in atomic clocks, with code and visuals (experimental setup, simulated vs. real-world comparison, and drift graph), as described in "Probing Vacuum-Induced Clock Drifts via Quantum Metrology: A Testable Hypothesis" (DOI: 10.5281/zenodo.15163879). Licensed under GPL 3.0.

License

Notifications You must be signed in to change notification settings

ChristieMJ/Clock-Drift-Simulation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ClockDriftSim: Monte Carlo Simulation for Vacuum-Induced Frequency Drifts in Atomic Clocks

This repository contains a Monte Carlo simulation in Python to model vacuum-induced frequency drifts in cesium (NIST-F2) and Al(^+) ion clocks, along with visuals from the associated research paper "Probing Vacuum-Induced Clock Drifts via Quantum Metrology: A Testable Hypothesis" (Jansson, 2025, DOI: 10.5281/zenodo.15163879).

Overview

updated_time_sim.py simulates frequency drifts in atomic clocks due to vacuum fluctuations, testing noise levels ((\eta = 0.1, 0.01, 0.001)) corresponding to vacuum pressures ((10^{-8}) to (10^{-12}) Pa). The script generates fractional frequency drifts ((\Delta f/f)) to explore vacuum fluctuation effects at the (10^{-18}) s scale, producing console output and a graph (Figure 3). The repository also includes additional figures from the paper: an experimental setup schematic (Figure 1) and a bar chart comparing simulated vs. real-world drifts (Figure 2).

Repository Structure

  • updated_time_sim.py: The main Python script for the Monte Carlo simulation.
  • requirements.txt: Lists the required Python libraries.
  • figures/: Contains visuals:
    • Figure_1_Experimental_Setup_Schematic.png: Schematic of the proposed experimental setup (from the paper).
    • Figure_2_Simulated_vs_Real_Drift_Bar_Chart.png: Bar chart comparing simulated and real-world drifts (from the paper).
    • Figure_3_Cesium_vs_Ion_Graph.png: Graph of mean drifts vs. noise levels (generated by the script).

Requirements

  • Python 3.6 or higher
  • Required libraries (see requirements.txt):
    • numpy
    • scipy
    • matplotlib
    • pandas

Installation

  1. Clone this repository: git clone https://github.com/ChristieMJ/Clock-Drift-Sim.git cd Clock-Drift-Sim

  2. Install the required libraries: pip install -r requirements.txt

  3. Verify the installation: python -c import numpy, scipy, matplotlib, pandas print('All libraries installed successfully')

Usage

  1. Run the script: python updated_time_sim.py

  2. The script will:

  • Simulate frequency drifts for cesium and ion clocks.
  • Output results to the console (mean drifts, standard deviations, 95% confidence intervals).
  • Save a graph (Figure 3) in the ClockData directory (default: C:\Users\chris\Documents\ClockData).

Example Outputs

The following visuals are included in the repository:

Figure 1: Experimental Setup Schematic

This schematic (from the paper) illustrates the proposed setup for measuring vacuum-induced frequency drifts, including an ultra-high vacuum chamber, mu-metal shielding, and a Ti:sapphire frequency comb. Experimental Setup Schematic

Figure 2: Simulated vs. Real-World Drift Comparison

This bar chart (from the paper) compares simulated fractional frequency drifts (from the script) with real-world data for cesium and ion clocks. Simulated vs Real Drift Bar Chart

Figure 3: Mean Drifts vs. Noise Levels

This graph is generated by updated_time_sim.py, plotting mean drifts for cesium and ion clocks across noise levels. Cesium vs Ion Drift Graph

Notes

  • Output Directory: The script saves the graph to C:\Users\chris\Documents\ClockData by default. Modify the output_dir variable in updated_time_sim.py to change this.
  • Reproducibility: The script uses a random seed (np.random.seed(42)) for consistent results.
  • .gitignore: The ClockData directory is excluded from version control to avoid tracking dynamically generated files.
  • Figures 1 and 2: These are static figures from the paper, not generated by the script, included here for context.

Citation

If you use this code or visuals in your research, please cite the associated paper: Jansson, Christie. (2025). Probing Vacuum-Induced Clock Drifts via Quantum Metrology: A Testable Hypothesis. Zenodo. https://doi.org/10.5281/zenodo.15163879

Contact

For questions or collaboration, contact Christie Jansson at christiejansson@hotmail.com.

License

This project is licensed under the GPU 3-0 License - see the LICENSE file for details.

About

A Monte Carlo simulation in Python to model vacuum-induced frequency drifts in atomic clocks, with code and visuals (experimental setup, simulated vs. real-world comparison, and drift graph), as described in "Probing Vacuum-Induced Clock Drifts via Quantum Metrology: A Testable Hypothesis" (DOI: 10.5281/zenodo.15163879). Licensed under GPL 3.0.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages