Skip to content

Latest commit

 

History

History
161 lines (125 loc) · 5.16 KB

File metadata and controls

161 lines (125 loc) · 5.16 KB

Kr 3D Phase-Resolved CTMC Simulation

Classical Trajectory Monte Carlo (CTMC) simulation for strong-field ionization of Krypton (Kr) atoms in 3D with quantum phase tracking.

Overview

This code simulates electron trajectories during strong-field ionization of Kr atoms using the Classical Trajectory Monte Carlo method within the Strong Field Approximation (SFA) framework. The simulation:

  • Samples initial conditions from the quantum tunneling distribution
  • Propagates classical trajectories in 3D under the combined Coulomb and laser fields
  • Tracks the quantum phase (action integral) along each trajectory
  • Outputs ionized electron trajectories and their quantum phases

Files

Simulation Code

  • ctmc_simulation.cpp - Main CTMC simulation
    • Parallel MPI implementation
    • Samples initial electron positions and momenta at tunnel exit
    • Integrates classical equations of motion using Boost odeint
    • Tracks quantum phase accumulation
    • Outputs trajectory data for post-processing

Analysis Code

  • analysis/phase_analysis.cpp - Post-processing and momentum distribution
    • Reads simulation output files
    • Computes asymptotic momenta via Kepler orbit extrapolation
    • Accumulates quantum phase contributions
    • Generates 3D momentum probability distribution

Dependencies

  • toml11/ - TOML configuration parser
  • toml++/ - Alternative TOML parser

Physics Model

Ionization Model

  • Stark-shifted ionization potential: Accounts for AC Stark shift due to laser field
  • Tunneling initial conditions: Electron starts at tunnel exit with appropriate momentum distribution
  • Quantum phase tracking: Accumulates semiclassical action along trajectory

Laser Field

  • Elliptically polarized laser pulse
  • Sin² envelope with configurable number of cycles
  • Carrier-envelope phase (CEP) control
  • Parameters read from conf.toml

Atomic Potential

  • Soft-core Coulomb potential: V(r) = -Z/(r + a)
  • Includes static polarizability (αN) and ionic polarizability (αI)

Configuration

The simulation reads parameters from conf.toml:

[laser]
frequency = 0.05695      # Laser frequency (a.u.)
intensity = 1.0e14       # Laser intensity (W/cm²)
ellipticity = 0.0        # Ellipticity (0=linear, 1=circular)
cep = 0.0                # Carrier-envelope phase (radians)

[atom]
ip = 0.514               # Ionization potential (a.u.)
alphaN = 16.8            # Static polarizability (a.u.)
alphaI = 3.0             # Ionic polarizability (a.u.)

Building

Requirements

  • C++17 compiler (g++, clang++)
  • Boost libraries (odeint, math)
  • MPI library (OpenMPI, MPICH)
  • toml11 header library
  • fmt library (for analysis)
  • xtensor (for analysis)

Compilation

# Main simulation
mpic++ -std=c++17 -O3 -o ctmc_simulation ctmc_simulation.cpp \
       -I./toml11 -lboost_system

# Analysis
g++ -std=c++17 -O3 -o phase_analysis analysis/phase_analysis.cpp \
    -I./toml11 -lfmt -lpthread

Running

Simulation

# Run with MPI (e.g., 10 processes)
mpirun -np 10 ./ctmc_simulation

Output Files

Each MPI process generates:

  • t0rat###.txt - Ionization times and weights
  • ini###.txt - Initial positions and momenta (x0, y0, z0, px0, py0, pz0)
  • electron###.txt - Final positions, momenta, and phases (x, y, z, px, py, pz, phase)
  • counts###.txt - Number of trajectories attempted

Analysis

# Process all output files
cd analysis
./phase_analysis

Analysis Output

  • out.npy - 3D momentum probability distribution (NumPy format)
  • counts.txt - Total trajectory count

Algorithm Details

Initial Conditions (CTMC Sampling)

  1. Sample ionization time t₀ uniformly over one laser cycle
  2. Compute tunnel exit position from WKB theory
  3. Sample transverse momenta from Gaussian distribution
  4. Sample longitudinal momentum from tunneling rate
  5. Accept/reject based on ADK-like probability

Trajectory Propagation

  • Integrator: Runge-Kutta-Dopri5 with adaptive step size
  • Equations of motion: Classical Newton's equations in combined Coulomb + laser field
  • Phase accumulation: dS/dt = -(p²/2 - Z/r)

Post-Processing

  1. Filter trajectories with positive energy (E > 0)
  2. Compute asymptotic momentum via Kepler orbit extrapolation
  3. Add phase contribution from Coulomb tail
  4. Bin into 3D momentum grid with quantum phase

Physical Parameters

Atomic Units

  • Energy: Hartree (27.2 eV)
  • Length: Bohr radius (0.529 Å)
  • Time: ℏ/Hartree (24.2 as)
  • Electric field: 5.14 × 10⁹ V/cm

Typical Values

  • Kr ionization potential: 0.514 a.u. (14.0 eV)
  • Laser wavelength: 800 nm → ω = 0.057 a.u.
  • Laser intensity: 10¹⁴ W/cm² → E₀ = 0.053 a.u.

References

This code implements the CTMC-SFA method for strong-field ionization:

  • Quantum tunneling initial conditions from ADK/PPT theory
  • Classical trajectory propagation
  • Semiclassical phase tracking for quantum interference

Notes

  • The simulation generates ~10⁸ trajectories for good statistics
  • MPI parallelization distributes trajectory sampling across processes
  • Phase tracking enables computation of quantum interference patterns
  • The analysis code performs Coulomb asymptotic correction for accurate final momenta