ChristieMJ/Clock-Drift-Simulation
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.
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
-
Clone this repository:
git clone https://github.com/ChristieMJ/Clock-Drift-Sim.git
cd Clock-Drift-Sim -
Install the required libraries:
pip install -r requirements.txt -
Verify the installation:
python -c import numpy, scipy, matplotlib, pandas
print('All libraries installed successfully')
Usage
-
Run the script:
python updated_time_sim.py -
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
ClockDatadirectory (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.

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.

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.

Notes
- Output Directory: The script saves the graph to
C:\Users\chris\Documents\ClockDataby default. Modify theoutput_dirvariable inupdated_time_sim.pyto change this. - Reproducibility: The script uses a random seed (
np.random.seed(42)) for consistent results. - .gitignore: The
ClockDatadirectory 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.