Quick access
Acquire
Start MBES-triggered attosecond streaking measurement.
FROG-CRAB Reconstruction
Invert streaking spectrogram to extract pulse duration and phase.
streaking.py · FROG-CRAB
RABBIT Phase Extraction
Extract sideband phase from two-photon above-threshold ionization.
rabbit.py · Phase
VQE Job — Pt(111)
Submit UCCSD ansatz VQE on Pt surface Hamiltonian to AWS Braket.
vqe/ · AWS Braket
Turnover Prediction
Run XGBoost ROI predictor on latest attosecond fingerprints.
turnover_predictor.py
Delay Line Calibration
Run autocorrelation routine to correct timing jitter on PI stage.
calibrate_delay_line.py
IonQ — Fe Cluster
Hardware-efficient ansatz VQE on Fe-oxide cluster via IonQ API.
ionq_client.py
Pulse Duration
184
attoseconds (as)
↑ FROG-CRAB converged
Delay Stage Position
-2.40
mm · PI M-521.DD
Scanning −5 → +5 mm
MBES KE Window
38.7
eV · SPECS Phoibos
↑ +0.3 eV drift corrected
VQE Energy (Pt)
−612.4
Hartree · UCCSD
↑ Converged · 147 iters
Live Streak Spectrogram — WebSocket Feed Streaming
MBES · LIVE τ = 184 as
delay: -2.40 mm · eV: 38.7
Algorithm Pipeline
Delay scan → Data ingest
DONE
FROG-CRAB inversion
68%
RABBIT phase extraction
QUEUED
Wigner-Smith transport τ
QUEUED
Feature eng. → XGBoost
QUEUED
Hardware Layer Status All nominal
Coherent Astrella
Rep Rate1.000 kHz
CEP LockLOCKED
Pulse Energy7.2 mJ
Drivercoherent_laser.py
PI M-521 Delay Stage
Position-2.40 mm
Velocity0.10 mm/s
Jitter<50 as
Driverpi_delay_stage.py
SPECS Phoibos
KE Window38.7 eV
Pass Energy5 eV
Pressure4×10⁻¹⁰ mbar
Driverspecs_mbes.py
EPICS / PV Layer
PV:DelayCONN
PV:PressureCONN
PV:TriggerACTIVE
NI-VISAREADY
Recent Quantum Jobs View all →
JOB-BRK-00441
VQE · Pt(111) · UCCSD Ansatz · 12 qubits
Completed
AWS Braket
JOB-BRK-00442
VQE · Ni(100) · HW-Efficient · 8 qubits
Running
AWS Braket
JOB-IQ-00112
VQE · Fe₂O₃ cluster · UCCSD · 14 qubits
Queued
IonQ
JOB-IQ-00111
VQE · Fe(110) · UCCSD · 16 qubits
Failed
IonQ
Delay Line Control
PI M-521.DD delay stage via NI-VISA/Serial. Scan range, step size, and dwell time for the attosecond pump-probe delay.
Scan Start-5.000 mm
Scan End+5.000 mm
Step Size0.100 mm
Dwell Time200 ms
MBES Trigger Settings
Synchronise SPECS Phoibos MBES trigger with laser rep rate. External trigger via FPGA pulse generator.
Trigger SourceEXT · FPGA
Rep Rate1000 Hz
TOF Window3.5 μs
Threshold14 mV
WebSocket Live Stream
Real-time oscilloscope and spectrometer data pushed via FastAPI WebSocket to the React frontend.
Endpoint/ws/live-stream
Rate60 fps
Clients3 connected
ProtocolWS · JSON
Experiment Run History
Run IDCatalystDelay RangeDuration (as)StatusTimestamp
ATT-2847Pt(111)-5 → +5 mm184 Active2026-04-09 14:32
ATT-2846Ni(100)-4 → +4 mm210 Complete2026-04-09 10:15
ATT-2845Fe(110)-5 → +5 mm197 Complete2026-04-08 16:44
ATT-2844Pt(111)-3 → +3 mm Aborted2026-04-08 09:02
Driver layer uses NI-VISA, Serial (RS-232), and EPICS channel access. All hardware connections are managed via /app/core/drivers/.
pi_delay_stage.py
Physik Instrumente M-521.DD
InterfaceRS-232 / NI-VISA
Min Step<50 as equiv.
Travel±25 mm
StatusCONNECTED
WrapperEPICS PV
specs_mbes.py
SPECS Phoibos MBES Spectrometer
InterfaceTCP/IP · SpecsLab
KE Range0–150 eV
Resolution20 meV
StatusCONNECTED
DriverNI-VISA wrapper
coherent_laser.py
Coherent Astrella Ti:Sapphire
InterfaceSerial Monitor
λ800 nm
Rep Rate1.000 kHz
CEPLOCKED
Pulse~25 fs
Driver file tree
/app/core/drivers/
pi_delay_stage.py
specs_mbes.py
coherent_laser.py
/app/api/v1/endpoints/
acquisition.py
deps.py
websocket.py
FROG-CRAB Algorithm
Frequency-Resolved Optical Gating for Complete Reconstruction of Attosecond Bursts. Iterative phase retrieval using PCGPA or LSGPA algorithms applied to the streaking spectrogram.
MethodPCGPA
Iterations500 max
Current τ184 as
FROG Error0.0082
Streak Camera Inversion
Convert the measured electron kinetic energy vs. delay spectrogram into the attosecond pulse electric field using saddle-point approximation.
Streaking FieldIR · 1600 nm
Approx.Saddle-point
Grid Points512 × 512
Modulestreaking.py
Reconstruction Output · ATT-2847
# streaking.py — FROG-CRAB result pulse_duration = 184 as # FWHM intensity peak_phase = -0.34 rad # GDD residual frog_error = 8.2e-3 # converged iterations = 147 # of 500 photon_energy = 92.4 eV # XUV harmonic
RABBIT — Reconstruction of Attosecond Beating By Interference of Two-photon Transitions
Measures the phase difference between consecutive XUV harmonics by recording sideband oscillations as a function of the IR-XUV delay. Extracts atomic/molecular group delay (Wigner delay).
SidebandsSB16 → SB24
IR Delay Steps200
Wigner Delay+12 as
Modulerabbit.py
Wigner-Smith Time Delay
Compute the electron transport time delay across catalyst surfaces using the Wigner-Smith formalism. Bridges attosecond measurement to surface reaction kinetics.
FormalismWigner-Smith
τ (Pt)+18 as
τ (Fe)+31 as
Moduletime_delay.py
# rabbit.py — sideband phase extraction from scipy.signal import curve_fit import numpy as np def extract_sideband_phase(delay_axis, sideband_yield, omega_IR): """Fit SB oscillation: Y(τ) = A + B*cos(2ω_IR*τ + φ)""" fit_fn = lambda t, A, B, phi: A + B * np.cos(2*omega_IR*t + phi) popt, _ = curve_fit(fit_fn, delay_axis, sideband_yield) return popt[2] # φ = RABBIT phase # Result for ATT-2847 · Pt(111) wigner_delay = +12 # attoseconds
Wigner-Smith scattering time delays extracted from RABBIT phase measurements across three catalyst surfaces. Source: time_delay.py
SurfaceWigner Delay (as)Measurement MethodRun IDConfidence
Pt(111)+18 asRABBIT SB16→SB24ATT-2847High
Fe(110)+31 asRABBIT SB14→SB22ATT-2845High
Ni(100)+24 asRABBIT SB16→SB22ATT-2846Medium
Quantum stack at /app/quantum_stack/braket_client.py (AWS) and ionq_client.py (IonQ direct API). Fallback: classical PySCF.
Ansatz Library
UCCSD (Unitary Coupled-Cluster Singles & Doubles) and Hardware-Efficient Ansatz implemented in ansatz_library.py. Mapped from XYZ catalyst coordinates via catalyst_mapper.py.
UCCSD qubits8–16
HW-Efficient4–8
MappingJordan-Wigner
Pauli String Generation
XYZ catalyst coordinates converted to second-quantised Hamiltonian then mapped to Pauli strings via catalyst_mapper.py. PySCF used for classical integral computation.
BackendPySCF + Qiskit
Fermion→QubitJW / BK
Shots8192
All Quantum Jobs
JOB-BRK-00441
VQE · Pt(111) · UCCSD · 12 qubits · −612.4 Ha
Completed
147 iters · AWS Braket
JOB-BRK-00442
VQE · Ni(100) · HW-Efficient · 8 qubits
Running
62 iters · AWS Braket
JOB-IQ-00112
VQE · Fe₂O₃ cluster · UCCSD · 14 qubits
Queued
IonQ
JOB-IQ-00111
VQE · Fe(110) · UCCSD · 16 qubits — Shot noise exceeded threshold
Failed
IonQ
XGBoost Catalyst Turnover Frequency Predictor
Trained on attosecond electron transport fingerprints (Wigner delays, RABBIT phases, FROG-CRAB pulse shapes). Predicts catalytic turnover frequency (TOF) as the commercial ROI signal. Source: turnover_predictor.py + features.py
Prediction Results · Run ATT-2847 · Pt(111)
Predicted TOF
4.2×10⁴
mol/site/s
Model Confidence
87.4%
XGBoost certainty
Top Feature
Wigner Delay τ
SHAP rank #1
Feature Importance (SHAP)
Wigner Delay τ0.42
FROG-CRAB τ_pulse0.28
RABBIT φ_SB180.18
KE peak shift (MBES)0.07
Pydantic models defined in catalyst.py. XYZ coordinates feed into catalyst_mapper.py for Pauli string generation.
Pt
Platinum · FCC (111)
SurfacePt(111)
Lattice3.924 Å
Work Function5.65 eV
Wigner τ+18 as
VQE Energy−612.4 Ha
Predicted TOF4.2×10⁴
Fe
Iron · BCC (110)
SurfaceFe(110)
Lattice2.867 Å
Work Function4.50 eV
Wigner τ+31 as
VQE StatusJob Failed
Predicted TOF2.8×10³
Ni
Nickel · FCC (100)
SurfaceNi(100)
Lattice3.524 Å
Work Function5.15 eV
Wigner τ+24 as
VQE StatusRunning
Predicted TOF1.6×10⁴
Attocatalyst Platform
Module Catalog
/attocatalyst_backend · Full-stack · Python / Rust / React
Layer
API Layer (FastAPI)
Hardware Drivers
Physics Algorithms
Quantum Stack
ML Layer
Data Layer
FastAPI
acquisition.py
Controls delay line position and triggers MBES acquisition via REST endpoints.
/api/v1/endpoints/
FastAPI
analysis.py
RABBIT reconstruction and FROG-CRAB inversion endpoints.
/api/v1/endpoints/
Quantum
quantum.py
VQE job submission and results retrieval from AWS Braket and IonQ.
/api/v1/endpoints/
WebSocket
websocket.py
Live oscilloscope and spectrometer data stream to React frontend.
/api/websocket.py
ML
turnover_predictor.py
XGBoost model trained on attosecond fingerprints for TOF prediction.
/app/ml/
DevOps
docker-compose.yml
Local simulation deployment for testing without hardware.
/attocatalyst_backend/
FRONTEND BACKEND · ALGORITHMIC CORE HARDWARE / CLOUD QUANTUM Attocatalyst UI (React) TypeScript · Redux · D3.js · Live Streak Spectrogram · 3D Catalyst Surface View · ROI / TOF Calculator Mission Control · Live Dashboard Mobile Dashboard (React Native) Firebase real-time sync · Run status · Alerts · TOF iOS · Android API Gateway (FastAPI) Python · Pydantic · Qiskit · Job Queue (Celery) · Auth (OAuth2) · WebSocket /ws/live-stream acquisition.py · analysis.py · quantum.py Data Layer · PostgreSQL (SQLAlchemy ORM) · InfluxDB (Time Series) Experiment runs · Spectra /app/db/ · SQLAlchemy ORM Algorithmic Core · FROG-CRAB (streaking.py) · RABBIT Phase (rabbit.py) · Wigner-Smith (time_delay.py) · XGBoost TOF (turnover_pred.) · Feature Eng. (features.py) /app/core/algorithms/ · /app/ml/ Coherent Astrella (Laser) Serial Monitor · Rep Rate 1 kHz · CEP Lock · 800 nm · ~25 fs · 7.2 mJ coherent_laser.py Vacuum & Motion (EPICS) EPICS Channel Access · PI Delay Stage (as precision) · MBES Spectrometer (eV) · Pressure Gauges (10⁻¹⁰ mbar) pi_delay_stage.py · specs_mbes.py NI-VISA · RS-232 · FPGA Cloud Quantum REST API · AWS Braket (braket_client.py) · IonQ Direct (ionq_client.py) · VQE Solver (PySCF + Qiskit) · Classical fallback /app/quantum_stack/vqe/ · ansatz_library REST / WS Firebase Python driver RS-232/TCP EPICS/PV REST API
Dev Tools
Backend entry point: main.py · Docker deployment: docker-compose.yml · Calibration: calibrate_delay_line.py
Attocatalyst FastAPI Reference
Acquisition Endpoints
POST /api/v1/acquisition/start
GET /api/v1/acquisition/status
DELETE /api/v1/acquisition/abort
Analysis Endpoints
POST /api/v1/analysis/frog-crab
POST /api/v1/analysis/rabbit
GET /api/v1/analysis/results/{id}
Quantum Endpoints
POST /api/v1/quantum/vqe/submit
GET /api/v1/quantum/vqe/{job_id}
GET /api/v1/quantum/backends
WebSocket Stream
WS /ws/live-stream
Live spectrometer feed
Auth: OAuth2 Bearer token