This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
how_to_prepare_the_new_tip_and_sample_for_stm_simulations [2009/11/25 14:53] vroz |
how_to_prepare_the_new_tip_and_sample_for_stm_simulations [2011/02/18 13:13] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
\\ | \\ | ||
- | ==== I. The geometry ==== | + | ==== The geometry ==== |
First of all we need the “*.bas” file of the tip and sample geometry | First of all we need the “*.bas” file of the tip and sample geometry | ||
Line 23: | Line 23: | ||
- | ==== II. The files we need ==== | + | ==== The files we need ==== |
Line 108: | Line 108: | ||
this script). | this script). | ||
- | The “run_hops.com” script: \\ | + | == II.II.I. The “run_hops.com” script: == |
#!/bin/bash \\ | #!/bin/bash \\ | ||
Line 134: | Line 134: | ||
rm -f lockfile \\ | rm -f lockfile \\ | ||
rm -f inter_aux.dat \\ | rm -f inter_aux.dat \\ | ||
- | rm -f tip_sample_aux \\ | + | rm -f tip_sample_aux |
- | The “README” file: \\ | + | == II.II.II. The “README” file: == |
- | ************a short description how to generate hopping data \\ | + | |
+ | a short description how to generate hopping data \\ | ||
files we need: \\ | files we need: \\ | ||
fireball.in \\ | fireball.in \\ | ||
Line 149: | Line 150: | ||
=======B. edit run_hops.com \\ | =======B. edit run_hops.com \\ | ||
- | if you need the **fireball output format**, than to the | + | If you need the **fireball output format**, than to the |
- | interactions.dat you have to write | + | "interactions.dat" you have to write |
the inter_aux.dat \\ | the inter_aux.dat \\ | ||
- | if you need the **STM code output format**, than to the | + | If you need the **STM code output format**, than to the |
- | interactions.dat you have to write | + | "interactions.dat" you have to write |
- | the tip_sample_aux \\ | + | the tip_sample_aux. \\ |
- | *****The difference is amount of some writen informations at | + | |
- | the header of interaction (hopping) file,***** \\ | + | The difference is amount of some writen informations at |
- | *****number of interactions and even the length units. For | + | the header of interaction (hopping) file, number of interactions and even the length units. For |
- | STM format it is a.u. when for the fireball***** \\ | + | STM format it is a.u. when for the fireball format it is Angstroms. |
- | *****format it is Angstroms.***** | + | |
=======C. launch \\ | =======C. launch \\ | ||
Line 165: | Line 165: | ||
=======D. modify header of interacti_X_Y.dat file \\ | =======D. modify header of interacti_X_Y.dat file \\ | ||
- | + | !*Interactions for W(spd)-C(sp) using FIREBALL program*! \\ | |
- | ***************** Interactions for W(spd)-C(sp) using FIREBALL program ******* \\ | + | |
57 !number of distances \\ | 57 !number of distances \\ | ||
2.00000 30.00000 !dist_min, dist_max \\ | 2.00000 30.00000 !dist_min, dist_max \\ | ||
10 !number of interactions \\ | 10 !number of interactions \\ | ||
+ | |||
//In the case you choose the STM output format, don't forget | //In the case you choose the STM output format, don't forget | ||
to remove duplicate (symmetric) interactions | to remove duplicate (symmetric) interactions | ||
- | from the interactions_X_Y.inp file. You have to write there | + | from the "interactions_X_Y.inp" file. You have to write there |
even the line of 3 more numbers (2 3 10) | even the line of 3 more numbers (2 3 10) | ||
which gives us the number of the shells of the tip and | which gives us the number of the shells of the tip and | ||
sample respectively.// | sample respectively.// | ||
- | ***************** Interactions for W(spd)-C(sp) using | + | !*Interactions for W(spd)-C(sp) using FIREBALL program*! \\ |
- | FIREBALL program ******* \\ | + | |
57 !number of distances \\ | 57 !number of distances \\ | ||
2.00000 30.00000 !dist_min, dist_max \\ | 2.00000 30.00000 !dist_min, dist_max \\ | ||
2 3 10 !number of shells of the tip, of the | 2 3 10 !number of shells of the tip, of the | ||
sample, number of interactions \\ | sample, number of interactions \\ | ||
- | If we put the hoppings for all the distances in a file, we will have the basis | + | |
- | for the tip_sample_i_j.inp (or interaction_i_j.dat) files (see the example in the STM | + | //If we put the hoppings for all the distances in a file, we will have the basis |
+ | for the "tip_sample_i_j.inp" (or "interaction_i_j.dat") files (see the example in the **STM** | ||
code). Then we have to complete the file with the parameters for the long | code). Then we have to complete the file with the parameters for the long | ||
- | distances approximation. See the header: | + | distances approximation.// \\ |
+ | Look at the header: | ||
- | * Interactions for W‐Tid using FIREBALL program * \\ | + | !*Interactions for W‐Tid using FIREBALL program*! \\ |
57 \\ | 57 \\ | ||
2.000000 30.00000 \\ | 2.000000 30.00000 \\ | ||
Line 194: | Line 195: | ||
0 0 0 ‐21.0000 1.0000 0.5738 1 1 14.5000 \\ | 0 0 0 ‐21.0000 1.0000 0.5738 1 1 14.5000 \\ | ||
0 1 0 95.0000 1.0000 0.5738 1 1 16.5000 \\ | 0 1 0 95.0000 1.0000 0.5738 1 1 16.5000 \\ | ||
- | . | + | . \\ |
- | . | + | . \\ |
- | . | + | . \\ |
where 57 is the number of distance steps, from 2 au to 30 ua. 3 and 3 are | where 57 is the number of distance steps, from 2 au to 30 ua. 3 and 3 are | ||
the number of shells for each kind of atom on the tip and the sample respectively. | the number of shells for each kind of atom on the tip and the sample respectively. | ||
14 is the total number of interactions for each distance. Finally, the 14 next rows | 14 is the total number of interactions for each distance. Finally, the 14 next rows | ||
are related with the long‐range approximation. 0,0,0 means orbital s (0)in the tip | are related with the long‐range approximation. 0,0,0 means orbital s (0)in the tip | ||
- | and orbital s (0) in the sample and a interaction sigma (0). Orbitals p will be 1 | + | and orbital s (0) in the sample and an interaction sigma (0). Orbitals p will be 1 |
- | and d 2, the interaction pi will be 1 and delta 2. | + | and d 2, the interaction pi will be 1 and delta 2. \\ |
For long distances, we do the parallel planes approximation using | For long distances, we do the parallel planes approximation using | ||
- | the expression: . The A (4th value in the row) is the independent value we | + | the expression: \\ |
- | have to find. α (5th value) depends on the orbitals you have in the hoppings, the | + | |
+ | A.e<sup>-W.r</sup> | ||
+ | |||
+ | The "A" (4th value in the row) is the independent value we | ||
+ | have to find. "α" (5th value) depends on the orbitals you have in the hoppings, the | ||
expression used is: α=l1+l2+1, but sometimes it could be changed depending on | expression used is: α=l1+l2+1, but sometimes it could be changed depending on | ||
- | the fix conditions. Finally, the W (6th) is related with the work function of the | + | the fix conditions. The "W" (6th) is related with the work function of the |
- | materials in the hopping: where ω’s are the work function for | + | materials in the hopping: |
- | each kind of atom. There is no function as BEGIN or CREATE to calculate these | + | |
- | long‐distance parameters, but there is a tool in the XEO program made by Daniel | + | W = ((ω<sub>T</sub> + ω<sub>S</sub>) / 2)<sup>1/2</sup> |
- | Gonzalez. Here you have to change by hand the values of A till you “see” (with the | + | |
+ | where ω’s are the work function for | ||
+ | each kind of atom. There is no function as **BEGIN** or **CREATE** to calculate these | ||
+ | long‐distance parameters, but there is a tool in the **XEO** program made by Daniel | ||
+ | Gonzalez. Here you have to change by hand the values of "A" till you “see” (with the | ||
eyes) a coincidence in the value and the derivative. Finally, let’s mention that the | eyes) a coincidence in the value and the derivative. Finally, let’s mention that the | ||
7th and 8th values in the row are related with the simple basis or double basis | 7th and 8th values in the row are related with the simple basis or double basis | ||
case. When you have a double basis you need an extra parameter to differentiate | case. When you have a double basis you need an extra parameter to differentiate | ||
- | from the simple basis orbital. The last value is the cut‐off radius. | + | from the simple basis orbital. \\ |
+ | The last value is the cut‐off radius. | ||
- | \\ | + | Here you can download : \\ |
+ | ========================. \\ | ||
+ | ="run_hops.com" script \\ | ||
+ | ="README" file \\ | ||
+ | ========================. | ||
- | ==== II.III. tip_g_str.inp ==== | + | \\ |
+ | |||
+ | === II.III. tip_g_str.inp === | ||
Last thing which we have to do is to write the “tip_g_str.inp” file. This file | Last thing which we have to do is to write the “tip_g_str.inp” file. This file | ||
contains the geometrical structure of the tip. The xyz atom coordinates should be | contains the geometrical structure of the tip. The xyz atom coordinates should be | ||
written there at the same order as we used for the “tip_e_str.inp” file, with the | written there at the same order as we used for the “tip_e_str.inp” file, with the | ||
- | apex atom at first position. The file could looks like this: | + | apex atom at first position. The file could looks like this: \\ |
- | 1 5 ! natoms_tip_contributing, natoms_tip | + | |
- | 0.000000 0.000000 0.400000 1 9 ! x, y, z, atomic type, # of orbitals | + | 1 5 ! natoms_tip_contributing, natoms_tip \\ |
- | 1.590800 1.590800 1.590800 1 9 ! x, y, z, atomic type, # of orbitals | + | 0.000000 0.000000 0.400000 1 9 ! x, y, z, atomic type, # of orbitals \\ |
- | 1.590800 ‐1.59080 1.59080 1 9 ! x, y, z, atomic type, # of orbitals | + | 1.590800 1.590800 1.590800 1 9 ! x, y, z, atomic type, # of orbitals \\ |
- | ‐1.590800 1.59080 1.59080 1 9 ! x, y, z, atomic type, # of orbitals | + | 1.590800 ‐1.59080 1.59080 1 9 ! x, y, z, atomic type, # of orbitals \\ |
- | ‐1.590800 ‐1.59080 1.59080 1 9 ! x, y, z, atomic type, # of orbitals | + | ‐1.590800 1.59080 1.59080 1 9 ! x, y, z, atomic type, # of orbitals \\ |
- | 3 ! number of shells in each type of atom | + | ‐1.590800 ‐1.59080 1.59080 1 9 ! x, y, z, atomic type, # of orbitals \\ |
- | 0 1 2 ! l for each shell in atom type=1 | + | 3 ! number of shells in each type of atom \\ |
- | ‐2.0 4.0 81 ! energy initial, range and steps in dos file | + | 0 1 2 ! l for each shell in atom type=1 \\ |
+ | ‐2.0 4.0 81 ! energy initial, range and steps in dos file \\ | ||
+ | |||
+ | // But be carefull, the energy in the STM code is related to the Fermi level. When Fermi level is -2 eV from FIREBALL in the "tip_g_str.inp" in it's last line the first value has to be 0.0 (energy initial - Fermi level)// |