User Tools

Site Tools


probe_particle_stm

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
probe_particle_stm [2017/02/20 09:56]
krejcio
probe_particle_stm [2021/11/16 20:59] (current)
krejcio
Line 1: Line 1:
 +===== !!! Outdated !!! =====
 +
 +The repository changed to [[https://​github.com/​Probe-Particle/​PPSTM]] and all the documentation is copied and updated in its new Wiki [[https://​github.com/​Probe-Particle/​PPSTM/​wiki]].
 +
 +What is here is the left-over of the original documentation.
 +
 ===== Introduction ===== ===== Introduction =====
  
-A Python/C based package, available at [[https://​github.com/​ondrejkrejci/​PPSTM]],​ which primary purpose is to simulate STM or dI/dV signal obtained with tilting tip apex (like CO, or Xe tip). It can work separately for a "rigid tip" STM, but for the tilting tip the original ​PPAFM Python/​C ​by Prokop Hapala and Co. [[http://​github.com/​ProkopHapala/​ProbeParticleModel/​]] for simulation of tilting tip apex' AFM images is necessary, too.+A Python/C based package, available at [[https://​github.com/​ondrejkrejci/​PPSTM]],​ which primary purpose is to simulate STM or dI/dV signal obtained with tilting tip apex (like CO, or Xe tip). It can work separately for a "rigid tip" STM, but for the tilting tip simulations, ​the original ​AFM code (Probe Particle model written ​by Prokop Hapala and Co. also in Python/C)[[http://​github.com/​ProkopHapala/​ProbeParticleModel/​]] for simulation of tilting tip apex' AFM imagesis necessary, too.
  
-You can get it easily from terminal by running ​these two commands:+You can get it easily from terminal by running ​this command:
  
-  git init 
   git clone https://​github.com/​ondrejkrejci/​PPSTM   git clone https://​github.com/​ondrejkrejci/​PPSTM
 +
 +The original Probe Particle model (here it will be refered as PPAFM) can be downloaded and linked separately, or you can run an __install_PPAFM.sh__ script, which will do it for you. The PPAFM model will be stored next to the PPSTM model.
  
 ===== Basic Principles ===== ===== Basic Principles =====
Line 12: Line 19:
 The PP-STM code calculates an STM or dI/dV signal based on the input from various Linear Combination of Atomic Orbitals (LCAO)-DFT codes. These inputs are eigen-energies of eigen-states (molecular orbitals) and LCAO coefficients (for each state and atomic orbital of sample). Sample can be approximated by freestanding molecule, or by full system - molecule/​substrate. The PP-STM code calculates an STM or dI/dV signal based on the input from various Linear Combination of Atomic Orbitals (LCAO)-DFT codes. These inputs are eigen-energies of eigen-states (molecular orbitals) and LCAO coefficients (for each state and atomic orbital of sample). Sample can be approximated by freestanding molecule, or by full system - molecule/​substrate.
  
-Nowadays these LCAO DFT codes can be used for the creation of necessary PP-STM inputs: //​Fireball//​ [[http://​sites.google.com/​site/​fireballofficialsite/​]],​ //​FHI-AIMS//​ [[http://​aimsclub.fhi-berlin.mpg.de]] and //GPAW// in the LCAO mode [[http://​wiki.fysik.dtu.dk/​gpaw/​documentation/​lcao/​lcao.html]]+Nowadays these LCAO DFT codes can be used for the creation of necessary PP-STM inputs: //​Fireball//​ [[http://​sites.google.com/​site/​fireballofficialsite/​]],​ //​FHI-AIMS//​ [[http://​aimsclub.fhi-berlin.mpg.de]], //CP2K// [[https://​www.cp2k.org/​]] and //GPAW// in the LCAO mode [[http://​wiki.fysik.dtu.dk/​gpaw/​documentation/​lcao/​lcao.html]]
  
 Detailed description of the PP-STM code principle is shown in PRB 95, 045407 (2017) - see the literature. Detailed description of the PP-STM code principle is shown in PRB 95, 045407 (2017) - see the literature.
Line 25: Line 32:
 Optional: Optional:
  
- ​python-ase(-3.8.1) - needed for reading of //​FHI-AIMS//​ and //GPAW// inputs+ ​python-ase(-3.8.1) ​& GPAW - needed for reading of //GPAW// inputs;
- GPAW - needed for reading of //GPAW// input;+
  
 ===== Inputs for DFT Codes ===== ===== Inputs for DFT Codes =====
Line 37: Line 43:
 == PP-AFM pre-calculations ==  == PP-AFM pre-calculations == 
  
-[[generating potentials]]+Generating force-fields and running AFM scans in PP-STM do not differ from those showed at http://​nanosurf.fzu.cz/​wiki/​doku.php?​id=probe_particle_model. 
 +The creation of input files for the PP-AFM pre-calcultions is described at http://​nanosurf.fzu.cz/​wiki/​doku.php?​id=dft_inputs. From a GPAW DFT code there is now way, how to get a hartree potential at the moment. But the L-J force field can still be created from an *.xyz or *.in file with geometry of the sample'​s system.
  
-[[AFM calculations]]+Since the PP-STM ​calculations ​takes much longer, than the PPAFM, the proposed strategy for the PP-STM is following.
  
-== PP-STM ​calculations ==+To tune the parameters for the spring constant K, the charge Q, FWHM of the charge cloud σ and/or multipole a AFM pre-calculations should be done. Once the position of the sharp edges in the AFM figures is in agreement with the position of sharp edges in the STM maps, then the PP-STM ​simulations should proceed from the positions of the Probe Particle (PP) from these best simulations. Be aware, that when there are sharp edges in the STM, the scan is just between the height, when the 1st unwanted artifacts due to the proximity of tip appears, and 0.2-0.3 Â above it. If the scan was done with oscillating tip, then the figures which should be compared  
 +are df images, if the STM scan is done with fixed tip, then the figures of positions should be more important.
  
-input parameters+For the PP-STM calculations the positions of the PP are necessary. You can get them by running:
  
-reading input files+  python PATH_TO_YOUR_PROBE_PARTICLE_MODEL/​relaxed_scan.py ​--pos
  
-running fixed tip STM calculations+== PP-STM calculations ​==
  
-running PP-dI/dV+input parameters: [[input parameters]]
  
-===== Example =====+- reading input files: [[reading procedures]]
  
-Theoretical prediction for Coronene molecule modified with with four nitrogen atoms :+- running fixed tip STM calculationsAn example of the fixed tip STM calculations is script: __dIdV_test_Si_7x7.py__ ; There is no need to have pre-calculated positions of the tip and to have linked the PP-AFM code. The positions can be prepared by: ReadSTM.mkSpaceGrid(xmin,​xmax,​dx,​ymin,​ymax,​dy,​zmin,​zmax,​dz) -- Give rectangular grid along the main cartesian axes for non-relaxed dI/dV or STM - 4D grid of xyz coordinates. The height of the scan should be approximately 4-6 Å above the heighest atom of the sample. (A single height scan can be calculated easily, once zmin=zmax and dz is arbitrary > 0.001.)
  
-{{:4n-coronene.png|}}+- running PP-dI/dVAn example how to run the whole PP-AFM pre-calculations and the PP-STM calculations is in __tests/4N-coronene/​run_test.sh__ . The script how to calculate the PP-dI/dV is in __dIdV_test_4N-coronene.py__ . For this kind of calculations a linking with PP-AFM code needs to be done. To read the positions of the relaxing PP the pyProbeParticle.GridUtils are important. It is also needed once you want to plot df together with STM. But beware that the df is calculated from multiple heights (oscillating tip), while STM is calculated only from a single height.
  
-LDA predicted HOMO for this molecule: 
  
-{{:​4n-corornene_homo.png|}}+===== Examples and Tests =====
  
-and LUMO:+ - Example of STM with rigid tip Si (111) 7×7 reconstruction[[Si_7x7]]
  
-{{:​4n-coronene_lumo.png|}} 
  
-== Example ​test outputs ==+ ​- ​Example ​of dI/dV scans above spin-polarized CuPc molecule with rigid tip: [[CuPc]]
  
-Example of scans over this molecule, ​with different probing orbitals and different scanning modes (AFM, STM, dI/dV ... ).+  
 + ​- ​Example of PPSTM simulations ​with flexible CO tip: [[4N-coronene]]
  
-Scans at the energy of HOMO: 
  
-{{:homo_energy_far.png|}} + - Example of PP-IETS simulation with flexible CO tip[[FePc_Au]]
-{{:​homo_energy_close.png|}}+
  
-Scans at the energy of LUMO: 
- 
-{{:​lumo_energy_far.png|}} 
-{{:​lumo_energy_close.png|}} 
  
 ===== Literature ===== ===== Literature =====
Line 83: Line 84:
 Ondrej Krejčí, Prokop Hapala, Martin Ondráček, and Pavel Jelínek, Principles and simulations of high-resolution STM imaging with a flexible tip apex, Phys. Rev. B 95, 045407 (2017); http://​journals.aps.org/​prb/​abstract/​10.1103/​PhysRevB.95.045407 Ondrej Krejčí, Prokop Hapala, Martin Ondráček, and Pavel Jelínek, Principles and simulations of high-resolution STM imaging with a flexible tip apex, Phys. Rev. B 95, 045407 (2017); http://​journals.aps.org/​prb/​abstract/​10.1103/​PhysRevB.95.045407
  
 +__For d-orbitals and IETS calculations:​__
 +
 +Bruno de la Torre, Martin Švec, Giuseppe Foti, Ondřej Krejčí, Prokop Hapala, Aran Garcia-Lekue,​ Thomas Frederiksen,​ Radek Zbořil, Andres Arnau, Héctor Vázquez, and Pavel Jelínek, Submolecular Resolution by Variation of the Inelastic Electron Tunneling Spectroscopy Amplitude and its Relation to the AFM/STM Signal, Phys. Rev. Lett. 119, 166001 (2017); http://​journals.aps.org/​prl/​abstract/​10.1103/​PhysRevLett.119.166001
probe_particle_stm.1487581016.txt.gz · Last modified: 2017/02/20 09:56 (external edit)