Skip to content

jakiesumrain/Semiclassical-two-step-method

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Adiabatic semiclassical trajectory method for strong field ionization

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages