**STM Simulator Documentation**

**Table of Contents:****INTRODUCTION TO SCANNING TUNNELING MICROSCOPY****GRAPHS OF THE OUTPUT FROM THE STM SIMULATOR****Z CONTROL ALGORITHMS****SIMULATION CALCULATIONS****SETTINGS****ABOUT**

**1. INTRODUCTION TO SCANNING TUNNELING MICROSCOPY**

A Scanning Tunneling Microscope (STM) can image the surface of a sample of an electrically conductive material such as metals or semi-conductors at atomic resolution. First a sharp metal tip is brought near to the surface of the sample and a bias voltage is applied between the tip and the sample to cause a current of tunneling electrons. This current is strongly dependent on the distance between the tip and the surface of the sample, the bias voltage, the density of states for electrons or holes in the tip and sample, and other parameters such as the resistance of the sample. It is generally necessary to prepare the sample by chemical cleaning or cleaving to have a well-defined surface, and the STM is often operated in vacuum or controlled atmospheres. Vibration isolation and temperature control are also required.

The tip-sample distance is less than 1 nanometer in quantum tunneling, and this distance must be carefully controlled to prevent “tip-crash” or the cessation of tunneling. Images are obtained by scanning the tip over the surface of the sample. Typically, the tip is mounted on a piezoelectric actuator (PA) to control its position in three-dimensions to accomplish both control of the tunneling current and lateral scanning over the surface. The voltage applied to the PA generates relatively small displacements and a digital stepper motor is generally used to provide greater dynamic range in the motion.

The tip is scanned over the surface of the sample in one of two modes. In the ‘Constant Height’ mode, the voltage to the PA is constant and the measured variation in the tunneling current during a scan is used to determine the local topology of the sample. In the ‘Constant Current’ mode, the voltage to the PA is varied by feedback control to maintain a chosen value of the tunneling current and the measured variation in the voltage to the PA that is required to maintain this current is used to determine the local topology of the sample.

The NewPath Research STM Simulator presented herein, implements the Constant Current mode along with a variety of control algorithms to establish and maintain a specified “setpoint” value for the tunneling current. The Constant Height mode is also implemented, but this mode is only appropriate for samples with relatively flat surfaces or when imaging small areas that are relatively flat, and it will frequently cause loss of tunneling or “tip-crash”. The various control algorithms that are implemented have different effects which the user will see when they are selected, such as changing the response time and the stability of the tunneling current.

The tip-sample distance is less than 1 nanometer in quantum tunneling, and this distance must be carefully controlled to prevent “tip-crash” or the cessation of tunneling. Images are obtained by scanning the tip over the surface of the sample. Typically, the tip is mounted on a piezoelectric actuator (PA) to control its position in three-dimensions to accomplish both control of the tunneling current and lateral scanning over the surface. The voltage applied to the PA generates relatively small displacements and a digital stepper motor is generally used to provide greater dynamic range in the motion.

The tip is scanned over the surface of the sample in one of two modes. In the ‘Constant Height’ mode, the voltage to the PA is constant and the measured variation in the tunneling current during a scan is used to determine the local topology of the sample. In the ‘Constant Current’ mode, the voltage to the PA is varied by feedback control to maintain a chosen value of the tunneling current and the measured variation in the voltage to the PA that is required to maintain this current is used to determine the local topology of the sample.

The NewPath Research STM Simulator presented herein, implements the Constant Current mode along with a variety of control algorithms to establish and maintain a specified “setpoint” value for the tunneling current. The Constant Height mode is also implemented, but this mode is only appropriate for samples with relatively flat surfaces or when imaging small areas that are relatively flat, and it will frequently cause loss of tunneling or “tip-crash”. The various control algorithms that are implemented have different effects which the user will see when they are selected, such as changing the response time and the stability of the tunneling current.

**2. TYPICAL GRAPHS OF THE OUTPUT FROM THE STM SIMULATOR**

****

**Tunneling Current vs. Time (Short Term)**

This graph shows the simulated tunneling current as a function of time. The tunneling current is a measure of the rate that electrons tunnel to or from the tip. The average value of the tunneling current increases as the tip-sample distance is reduced which includes the effects of the simulated slow drift due to temperature changes and vibration. The instantaneous value of the current shows the additional effects of the simulated noise.

The ‘Data Points’ slider adjusts the number of the most recently measured tunneling currents that are displayed on the graph. Fewer data points allow a closer look at the short time-scale changes whereas a larger number of data points lets one see more of the history of the tunneling current.

This graph displays the entire history of the tunneling current. A new measurement is recorded either at regular intervals specified by the user in the Historical Sample Interval field, or at any new maximum tunneling current.

**Long-term tunneling current**This graph displays the entire history of the tunneling current. A new measurement is recorded either at regular intervals specified by the user in the Historical Sample Interval field, or at any new maximum tunneling current.

This graph plots the applied voltage on the piezoelectric actuator (PA). In constant current mode, this voltage will change to maintain a constant set-point current. The voltage change plotted in for the sequence of steps in a scan indicates the change in the local height of the sample. In an actual STM this graph could also be used to determine the effects of resonance in the PA.

**Piezo Voltage vs. Time, Short Term**This graph plots the applied voltage on the piezoelectric actuator (PA). In constant current mode, this voltage will change to maintain a constant set-point current. The voltage change plotted in for the sequence of steps in a scan indicates the change in the local height of the sample. In an actual STM this graph could also be used to determine the effects of resonance in the PA.

This graph displays the normalized difference between the measured tunneling current and the set-point current. For instance, a value of 0.1 in the normalized fractional error means that the tunneling current is 10% greater than the set-point current. Minimizing this z-error is important for tuning the control algorithms and obtaining accurate measurements of the tip-sample distance.

**Fractional Tunneling Current Error**This graph displays the normalized difference between the measured tunneling current and the set-point current. For instance, a value of 0.1 in the normalized fractional error means that the tunneling current is 10% greater than the set-point current. Minimizing this z-error is important for tuning the control algorithms and obtaining accurate measurements of the tip-sample distance.

**XY-Error**

This graph displays the error in the X-Y position measured by the difference in the desired and current position. As the tip scans across the material, periodic peaks in the X-Y error plot will appear when the desired position shifts ahead to a new position after the tunneling current sufficiently matches the set-point. The aim in tuning the X-Y position controls is to reduce the space between the peaks without much overshoot. The extremely fine resolution in this figure is caused by the choice of parameters that were used in this simulation. For a minimum voltage step size of 150 μV and a PA gain of 24 nm/V the step size for the piezoelectric actuator would be \(3.6x10^{-12}\) meters.

This graph plots the calculated relative distance based on the applied PA voltage and the gain. There are two plots displayed on this graph: the calculated piezo voltage-based distance, and the averaged piezo voltage-based distance.

When the tip reaches and settles at the desired X-Y position, a given number of samples (set by “Samples to Average”) are recorded and averaged. That average is assigned as a Z-value to that X-Y position as a pixel. With the Z constraint enabled, measurements are not made unless the tip position is settled on the Z-axis as well. As the tip settles at a specific position, the calculated height is not included in the average unless the measured current is within a given tolerance of the set-point current. Black lines on the graph indicate samples that have been included in taking the average.

**Distance based on Piezo Voltage**This graph plots the calculated relative distance based on the applied PA voltage and the gain. There are two plots displayed on this graph: the calculated piezo voltage-based distance, and the averaged piezo voltage-based distance.

When the tip reaches and settles at the desired X-Y position, a given number of samples (set by “Samples to Average”) are recorded and averaged. That average is assigned as a Z-value to that X-Y position as a pixel. With the Z constraint enabled, measurements are not made unless the tip position is settled on the Z-axis as well. As the tip settles at a specific position, the calculated height is not included in the average unless the measured current is within a given tolerance of the set-point current. Black lines on the graph indicate samples that have been included in taking the average.

**Scan Image**

This intensity chart plots the averaged piezo voltage-based distance. The height (meters) of the sample is mapped to a color gradient. This is only a relative height so the minimum and maximum values must be adjusted. The extremes of the color gradient can be manually adjusted, or automatically adjusted with auto scale. When auto scale is enabled, both extremes are set to the most recent measured value for the height. As long as it is enabled, auto scale expands the maximum and minimum extremes according the highest and lowest values that are encountered.

The differences in the height, X-position, and Y-position can be measured by first showing the cursors and then dragging them to the appropriate positions.

**3D Plot**

Once at least one line of a scan has been completed, you can click “Generate 3D Plot,” and a window will open where a 3D plot will be displayed. In order to rotate the 3D image, click and drag on the plot. In order to zoom in and out, hold down the shift key while you click and drag your mouse up or down. Other settings can be accessed when you right click on the plot and go to “3D Plot Properties.”

**3. Z CONTROL ALGORITHMS**

Control algorithms are needed to properly implement constant current mode such that the measured tunneling current fluctuates about a nominal set point current. The algorithms listed below implement the feedback using various methods and can be explained in more detail by clicking on their respective help button. For each algorithm, a voltage correction to the piezo adjusts the tip position. Since a digital control is used, the voltage applied is coerced to a discrete value that is set by the voltage resolution of the digital to analog converter (DAC).

****

**Unmodified PI**

The ‘Unmodified PI’ control algorithm is based upon the general proportion, integral, and derivative (PID) control:

$$ V_C(t_i) = K_P e_N(t_i) + K_I \int_{0}^{t} e( t^\prime)dt^\prime + K_d \frac{de(t)}{dt} $$

Here e(t) is the error value represented by the residual between the tunneling current and the set-point current, \( e(t) = I_T(t) – I_{SP} \), and \(K_P, K_I,\) and \(K_D\) are coefficients that determine the contribution of the proportional, integral, and derivative terms, respectively. Due to high-frequency noise the derivative coefficient is generally ignored with an STM so that \(K_D\) = 0. When simulating the operation of an STM, the time is discretized such that t \( \rightarrow t_i\). Thus, the integral is transformed to a summation over n time steps. Additionally, the residual term can be rewritten as a normalized fractional error by dividing by the difference between the measured tunneling current and the set-point current by the set-point current, \(e_N(t) = (I_T(t) – I_{SP})/I_{SP}\). This lets the control algorithm handle both positive and negative bias voltages. The resulting voltage correction is then written as

$$V_C(t_i) = K_P e_N(t_i) + K_I \sum_{k=0}^{n-1} e_N (t_{i-k}) \Delta t$$

The modified proportion algorithm implements the feedback control of the tip position using a voltage correction that is based on only a proportional term multiplied by the normalized fractional error of the tunneling current and set-point such that,

$$V_C(t_i)=K_{P2}e_N(t_i)$$

However, in the modified proportion algorithm the value of the coefficient is variable and dependent on a condition set by previous values of the normalized fractional error. Specifically, if the sign of the normalized fractional error is constant over the two most recent measurements of the tunneling current, or alternatively, \(sgn(e_N(t_i)+sgn(e_N(t_{i-1})) \neq 0\), an additional multiplier is included in the value of the proportional coefficient:

$$K_{P2}=K_P(1+M_A)$$

In the opposite case where the sign of the normalized fractional error changed between the last two measurements, such that \(sgn(e_N(t_i)+sgn(e_N(t_{i-1})) = 0\), the coefficient is then,

$$K_{P2}=K_P.$$

The two terms \(K_P\) and \(M_A\) are set and optimized by the user. The general idea with this algorithm is that if the sign of the normalized fractional error is constant over successive measurements an additional factor, \(M_A\) + 1, is included in the voltage correction. In the case where the sign changes between measurements of the tunneling current, meaning that the tunneling current has gone over or under the set-point current, a smaller proportional term is used.

**Modified Proportion**The modified proportion algorithm implements the feedback control of the tip position using a voltage correction that is based on only a proportional term multiplied by the normalized fractional error of the tunneling current and set-point such that,

$$V_C(t_i)=K_{P2}e_N(t_i)$$

However, in the modified proportion algorithm the value of the coefficient is variable and dependent on a condition set by previous values of the normalized fractional error. Specifically, if the sign of the normalized fractional error is constant over the two most recent measurements of the tunneling current, or alternatively, \(sgn(e_N(t_i)+sgn(e_N(t_{i-1})) \neq 0\), an additional multiplier is included in the value of the proportional coefficient:

$$K_{P2}=K_P(1+M_A)$$

In the opposite case where the sign of the normalized fractional error changed between the last two measurements, such that \(sgn(e_N(t_i)+sgn(e_N(t_{i-1})) = 0\), the coefficient is then,

$$K_{P2}=K_P.$$

The two terms \(K_P\) and \(M_A\) are set and optimized by the user. The general idea with this algorithm is that if the sign of the normalized fractional error is constant over successive measurements an additional factor, \(M_A\) + 1, is included in the voltage correction. In the case where the sign changes between measurements of the tunneling current, meaning that the tunneling current has gone over or under the set-point current, a smaller proportional term is used.

**Digitally Adaptive Steps (D.A.S.)**

The D.A.S. algorithm incorporates how voltage corrections to the piezoelectric actuator are applied when operated by a digital control. The user is able to set three parameters that correspond to the coarse step size, the fine step size, and the set-point fraction. The general idea is that when the residual between measured tunneling current and the set-point current is large, or outside of the set-point fraction, the tip is far away from the material and coarse voltage steps should be used in order to quickly approach the nominal tunneling value. As the tip moves closer to the surface the tunneling current then is within the set-point fraction. In this case, finer voltage steps are used to precisely adjust the tip about the sample such that the tunneling current matches the set-point.

**Proportion + Average**

The “Proportion + Average" control algorithm considers the entire history of the error. The voltage correction in this case is written as,

$$V_c=K_Pe_N(t_i)+w_RK_Ae_N(t_i)+(1-w_R)A(t_i),$$

where

$$A(t_i)=(1-w_R)A(t_{i-1})+K_Ae_N(t_{i-1})w_R$$

$$A(t_0)=0.$$

\(K_P\) and \(K_A\) are the coefficients for the weight of the proportion and average components and \(W_R\) is a ratio that weighs the contribution of previous errors. The weight ratio may be disabled in which case it defaults to 0.5, where the contributions of current and previous terms are equally weighted.

The other control algorithms may be used to approach the sample. Then, when Constant Height mode is enabled, the piezo voltage remains constant as it scans over the sample. The image is built by plotting the calculated height based on measured current rather than the piezo voltage. Constant height mode is appropriate for imaging small areas or samples with relatively flat surfaces. This control algorithm is, however, prone to loss of tunneling or tip crash for samples that are not lying perfectly perpendicular to the tip.

**Constant Height Mode (Constant Piezo Voltage)**The other control algorithms may be used to approach the sample. Then, when Constant Height mode is enabled, the piezo voltage remains constant as it scans over the sample. The image is built by plotting the calculated height based on measured current rather than the piezo voltage. Constant height mode is appropriate for imaging small areas or samples with relatively flat surfaces. This control algorithm is, however, prone to loss of tunneling or tip crash for samples that are not lying perfectly perpendicular to the tip.

**4. SIMULATION CALCULATIONS**

****

**Tunneling Current**

The measured tunneling current based on the current separation between the tip and sample is calculated at each time step. The exact expression for the tunneling current is non-trivial and is dependent on source properties such as the lattice geometry, electrical configuration, and spreading resistance as well as experimental properties including the tip size and bias voltage. As a first-order approximation, the tunneling current is calculated as,

$$I_t=\frac{AV_Be^{-Bz_d}}{1+ARe^{-Bz_d}}$$

**Slow drift**

Slow drift error takes into account experimental factors such as vibration or thermal effects, or non-linear motion in the piezoelectric actuator or stepper motor, all which can create unwanted low-frequency displacements in the tip-sample distance. The STM simulator approximates this by generating random jumps in the tip-sample distance. At each moment the slow drift is implemented, there is an equal probability of upward, downward, or no shift. The time interval at which each step in the slow drift shift is generated is set by the Slow Drift Average Interval and the Slow Drift Interval Standard Deviation. The magnitude of each step is controlled by Slow Drift Step Amplitude.

**Calculated Tunneling Current Coefficient (m\(^{-1}\))**

The equation that is currently used to calculate the tunneling current in these simulations is as follows:

$$I_t=\frac{AV_Be^{-Bz_d}}{1+ARe^{-Bz_d}}$$

Where “B” is determined as follows:

$$B=\frac{2\sqrt{ 2mq\Phi_{ev} }}{\hbar}\approx 1.025x10^{10} \sqrt{ \Phi_{eV} } mtr^{-1}$$

$$B=\frac{2\sqrt{ 2mq\Phi_{ev} }}{\hbar}\approx 1.025x10^{10} \sqrt{ \Phi_{eV} } mtr^{-1}$$

Here \(\Phi_{eV}\) is the work function of the tip electrode in electron volts, m and q are the mass and charge of the electron, and \(\hbar\) is Planck’s reduced constant. The modular structure of the software permits adding more accurate methods of analysis used by others\(^2\).

The Piezo Actuator Range is the maximum displacement the piezoelectric actuator can reach. It is limited to this range to maintain linear motion.

This uses the equation:

$$z_d=\frac{ln \bigg(\Big(\frac{V_B}{I_{SP}}-R\Big)*A\bigg)}{B}$$

**Piezo Actuator Range (m)**The Piezo Actuator Range is the maximum displacement the piezoelectric actuator can reach. It is limited to this range to maintain linear motion.

**Tip-Sample Distance when Current Equals Set Point (m)**This uses the equation:

$$z_d=\frac{ln \bigg(\Big(\frac{V_B}{I_{SP}}-R\Big)*A\bigg)}{B}$$

To calculate what the distance should be at the set-point current. \(I_{SP}\) is the set-point current.

The SD of Tip-Sample Distance is the standard deviation of the noise that is used to simulate the jitter of the stepper motor.

The Minimum Voltage Step Size is the minimum voltage change allowed due to the \(2^{BITS}\). This voltage step size is calculated by taking the full rail to rail voltage and dividing by In our calculation, voltage instability is neglected.

The Minimum Size of Piezoelectric Actuator Step is the corresponding distance to the minimum voltage step size. It is calculated using the gain of the piezoelectric actuator multiplied by the “Minimum Voltage Step Size.”

This value is the estimated piezo voltage needed to move from the surface of the sample to the threshold where tunneling can first be detected. A fraction of this size should be used in adjusting the coarse voltage step size of the D.A.S. control algorithm.

The Piezo Limit Between Steps is the maximum voltage allowed before taking a stepper motor step.

**SD of Tip-Sample Distance (m)**The SD of Tip-Sample Distance is the standard deviation of the noise that is used to simulate the jitter of the stepper motor.

**Minimum Voltage Step Size (V)**The Minimum Voltage Step Size is the minimum voltage change allowed due to the \(2^{BITS}\). This voltage step size is calculated by taking the full rail to rail voltage and dividing by In our calculation, voltage instability is neglected.

**Minimum Size of Piezo Actuator Step (m)**The Minimum Size of Piezoelectric Actuator Step is the corresponding distance to the minimum voltage step size. It is calculated using the gain of the piezoelectric actuator multiplied by the “Minimum Voltage Step Size.”

**Piezo Voltage Required to Induce Tunneling Current (V)**This value is the estimated piezo voltage needed to move from the surface of the sample to the threshold where tunneling can first be detected. A fraction of this size should be used in adjusting the coarse voltage step size of the D.A.S. control algorithm.

**Piezo Limit Between Steps (V)**The Piezo Limit Between Steps is the maximum voltage allowed before taking a stepper motor step.

**5. SETTINGS**

**Surface Type**

The surface type can be changed using this drop down menu. The currently available surfaces are: Silicon (100), Silicon (100) Reconstructed, HOPG (Highly Oriented Pyrolytic Graphite), Graphene and Sinusoidal surfaces.

**Slow Drift Change Average Interval**

The Slow Drift Change Average Interval is the interval at which a shift is applied in either the positive direction, negative direction or not at all.

**Slow Drift Step Amplitude (m)**

The Slow Drift Step Amplitude is the distance shift that is applied at each interval to simulate slow drift, vibration and thermal effects.

**Slow Drift Interval Standard Deviation**

The Slow Drift Interval Standard Deviation is used to give a normal distribution to the slow drift interval.

**Initial Sample-Tip Distance (m)**

The Initial Sample-Tip Distance sets the initial distance between the sample and tip at the start of the program. In a real-world application, this can be approximated using measurement tools, however, in the code the default value is set to 100 nm.

**Tunneling Current Coefficient (Siemens)**

The Tunneling Current Coefficient A is a constant used in the equation to calculate the tunneling current as a function of distance. In the STM simulator here the A coefficient is set to 0.1.

**Tip-Sample Distance SD Coefficient**

The Tip-Sample Distance SD Coefficient includes the effects of higher frequency noise on the tip-sample distance. The noise is generated at each time interval by adding a random number generated using a normal distribution with a standard deviation corresponding to the Tip Sample Distance SD Coefficient.

**Current Meter Noise Coefficient**

The Current Meter Noise Coefficient represents the statistical noise associated with the measurement of the tunneling current. In actual applications this is set by the precision of the current meter used. In the STM simulator, this noise is generated at each time interval using a normal distribution with a standard deviation being the Current Meter Noise Coefficient.

**Additional Distance Adjust (**

**Å**

**)**

The Additional Distance Adjust allows instantaneous shifts in the z-position of the tip. This control may be changed as the simulation is running to test the responses of different control algorithms.

**Spreading Resistance (Ohms)**

The Spreading Resistance sets the value of R in the tunneling current calculation. In the STM simulator, this is assumed as a constant which is generally true for metals, but not for semi-conductors.

**Set-Point Current (Amps)**

The Set-Point Current is the nominal current that the feedback algorithms to maintain the tunneling current about. The default value chosen in the simulator is 500 nA, but in actual applications can be on the order single nano-amps.

**Bias Voltage (Volts)**

The Bias Voltage is the voltage difference applied between the sample and the tip. A greater bias voltage increases the rate of electron tunneling, but may make the STM behave unstably.

**DAC Bits**

In the control algorithms a digital to analog converter (DAC) is needed to translate a digital number control to the voltage applied to the piezoelectric actuator. In a real-world application, this is determined by the bit resolution of the DAC. In our application, we assume that the DAC voltage resolution is much greater than the voltage resolution of the piezoelectric actuator.

**DAC Voltage Range (Vpp)**

This parameter sets the full voltage range capability of the digital to analog converter (DAC).

**Piezo Tube Gain (m/V)**

The Piezo Tube gain parameter sets the given vertical displacement of the piezoelectric actuator for a given voltage input. This parameter is what is used to convert the applied voltage into a distance in order to map out the surface of the material.

**Stepper Step Size (m)**

The Stepper Step Size controls the size of a stepper motor step. The total number of steps taken can be viewed to the bottom right of the Long Term Tunneling Graph.

**Tip Electrode Work Function (eV)**

The Tip Electrode Work Function is used when calculating the distance as a function of tunneling current.

**6.**

**ACKNOWLEDGEMENTS**

**HOPG**

P. Rerkkumpsup, M. Aketagawa, K. Takada, T. Watanabe, S. Sadakata “Direct measurement instrument for lattice spacing on regular crystalline surfaces using a scanning tunneling microscope and laser interferometry”,

*Rev. Sci. Instrum.,*March 2003 Vol. 74, 1205-1210.

**Graphene**

R. Zan, C. Muryn, U. Bangert, P. Mattocks, P. Wincott, D. Vaughan, X. Li, L. Colombo, R. S. Ruoff, B. Hamilton, K. S. Novoselov “Scanning tunnelling microscopy of suspended graphene”,

*Nanoscale*, 2012, Vol. 4, 3065-3068.

**Silicon and Silicon Reconstructed**

M. Harashima, K. Yasui, T. Akahane “The characterization of an Si(001)-c(4x4) structure formed using monomethylsilane”,

*Nanotechnology*, 2004 Vol. 15, S406-S409

P. R. Watson, M. A. Van Hove and K. Hermann, NIST Surface Structure Database - Ver. 5.0 National Institute of Standards and Technology, Gaithersburg, MD (2004). The pictures have been prepared from NIST SSD output and processed with BALSAC by K. Hermann. SSD is the NIST Standard Reference Database no. 42 by P. R. Watson, M. A. Van Hove, and K. Hermann. <http://www.fhi-berlin.mpg.de/~hermann/Balsac/img_title.cgi?var1=./ BalsacPictures/ SSDfig94.gif&var2=Si(100)-(2x1)>

**2.**

K. Fukuda, M. Nishizawa, T. Tada, L. Bolotov, K. Suzuki, S. Satah, H. Arimoto and T. Kanayama “Three-dimensional simulation of scanning tunneling microscopy for semiconductor carrier and impurity profiling”,

*J. Appl. Phys*. 2014, Vol. 116 023701.

M.J. Hagmann and T.E. Henage “Simplified calculations of the lateral distribution for the current in tunneling junctions having general shapes”,

*Electron. Lett.*March 3, 2016, Vol. 52 pp. 395-397.

C. Hellenthal, R. Heimbuch, K. Sotthewes, E.S. Kooij and H.J.W. Zandvliet “Deterkmining the local density of states in the constant current STM mode”,

*Phys. Rev*. B. 2013, Vol. 88, 035425.

R. Zhang, Z. Hu, B. Li and J. Yang “Efficient method for fast simulation of scanning tunneling microscopy with a tip effect”,

*J. Phys. Chem*. A. 2014, Vol. 118, 8953-8959.

This program was developed in National Instruments™ LabVIEW™ and tested on three systems:

System 1

Windows 10 x64

Intel® Core™ i7 CPU 870 @ 2.93GHz

8.00 GB RAM

System 2

Windows 10 x64

Intel® Core™ i5-2400 CPU @ 3.1GHz

4.00 GB RAM

System 3

Windows 7 x64

Intel® Core™ i3 CPU M330 @2.13GHz

4.00 GB RAM

Version 1.6.11

We gratefully acknowledge the National Science Foundation for making this program possible.

System 1

Windows 10 x64

Intel® Core™ i7 CPU 870 @ 2.93GHz

8.00 GB RAM

System 2

Windows 10 x64

Intel® Core™ i5-2400 CPU @ 3.1GHz

4.00 GB RAM

System 3

Windows 7 x64

Intel® Core™ i3 CPU M330 @2.13GHz

4.00 GB RAM

Version 1.6.11

We gratefully acknowledge the National Science Foundation for making this program possible.