Skip to content

Repository files navigation

Ask DeepWiki

PPSTM (Probe Particle STM)

Code simulating various STM techniques, especially for tilting tips (depending on ProkopHapala/ProbeParticleModel ) This is implementation of efficient and simple model for simulation of High-resolution scanning tunneling microscopy (STM). Normall STM simulations using Chen's approximattion is part of the code as well

  • BEWARE - after repairing misteake in d-orbitals the results for FePc are different. We are investigating it.
  • currently developed Python3/C++ version of the PPSTM code:
    • works in python3.12, matplotlib, cpp>=4.4.8 (look at wiki instruction for problems with MAC compilation), PyQt5 (for GUI ),for some parts ASE and GPAW are imporatant;
    • Part of the code regarding simulations with tilting tips is depending on the PPAFM developed by Prokop Hapala and co. (https://github.com/Probe-Particle/ppafm), you can easilly install it with pip install ppafm>=0.2.0a3.

For easy introduction to this code and its functionalities, try Graphic User Interface (GUI) or PPSTM_simple.py script.

Constant current simulations are now available through const_cur_tutorial.ipynb jupyter notebook from npz or xsf. There is also former Mathematica notebook which works only with xsf.

Documentation

Documentation is here at Wiki.

It can also simulate IETS images of molecules, if the imaging mechanism is driven by the amplitude of the IETS peak.

Auto-Generated Documentation

  • Ask DeepWiki

Setup

A simple setup with CONDA Conda on Linux is:.

conda env create -f environment.yml
conda activate ppstm
python -m ipykernel install --user --name=ppstm

More details can be found on a dedicated Wikipage.

Tests

After activating the ppstm-dev environment, you can run the test suite with:

pytest tests -v

This runs all tests in verbose mode.

Test Coverage

Measure code coverage to identify untested code paths.

View coverage in the terminal

To show coverage statistics by file and list lines not covered by tests:

pytest --cov=pyPPSTM --cov-report term-missing tests
Generate an interactive HTML report

To create a detailed HTML report with coverage by file, function, and class:

pytest --cov=pyPPSTM --cov-report html:coverage tests

Open coverage/index.html in your browser to explore the results interactively.

References (should be always cited)

References (should be cited for the relaxed scans)

References (should be cited if IETS or STM-d orbitals were included)

About

Code simulating various STM techniques, especially for tilting tips (dependent on https://github.com/Probe-Particle/ppafm )

Resources

Stars

14 stars

Watchers

3 watching

Forks

Releases

Packages

Contributors

Languages