Tip: Run via http:// not file:// to avoid CORS blocking shader loads.
For a quick local server run: python3 -m http.server 8000 in this folder, then open
http://127.0.0.1:8000/ppafm_web/.
If WebGL is disabled, enable hardware acceleration in your browser settings and restart (Chrome/Firefox/Edge),
then verify at get.webgl.org.
Probe-Particle AFM (Stage 1: atoms as blobs)
Advanced
Usage & physics XYZ input: first line = number of atoms, then lines "Sym x y z [q]". Optional last column is atomic charge q (e). Probe:Probe Q is tip charge, Rpp,Epp are LJ parameters for the probe particle. Sample LJ is taken from element type and mixed with probe (LorentzBerthelot). Tip spring:k_lat,k_rad,R_tip define lateral and radial stiffness and equilibrium bond length; they control how strongly the CO-like particle bends and stretches. Relaxation:Relax iters,dt,F2Conv set maximum iterations, step and convergence threshold. Osc steps,dz,Amp,Pre-relax,Substeps control the adiabatic approach and df integration along the oscillation path. Render mode: 0 = frequency shift df (Giessibl convolution), 1 = relaxed vertical force Fz, 2 = residual |F| after relaxation, 3 = relative iteration count. Model: This WebGL demo implements the probe-particle AFM model where a flexible particle (e.g. CO) attached to the tip relaxes in the combined Morse+LJ+Coulomb field of sample atoms, reproducing high-resolution nc-AFM contrast. References:
Hapala et al., Mechanism of high-resolution STM/AFM imaging with functionalized tips, Phys. Rev. B 90, 085421 (2014),
doi:10.1103/PhysRevB.90.085421.
Oinonen et al., Advancing scanning probe microscopy simulations: A decade of development in probe-particle models, Comput. Phys. Commun. 305, 109341 (2024),
doi:10.1016/j.cpc.2024.109341.
Code and related tools: github.com/Probe-Particle/PPSTM.