User Tools

Site Tools


how_to_prepare_the_new_tip_and_sample_for_stm_simulations

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
how_to_prepare_the_new_tip_and_sample_for_stm_simulations [2009/11/25 14:26]
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 11: Line 11:
  
 __&​OPTION__ part __&​OPTION__ part
 +
 ‐ basisfile = <​filename>​ \\ ‐ basisfile = <​filename>​ \\
 ‐ lvsfile = <​filename>​ \\ ‐ lvsfile = <​filename>​ \\
Line 22: Line 23:
  
  
-==== II. The files we need ====+==== The files we need ====
  
  
Line 39: Line 40:
  
 __&​OPTION__ part __&​OPTION__ part
 +
 ‐ nstepf = 1 \\ ‐ nstepf = 1 \\
 ‐ ifixcharge = 1 \\ ‐ ifixcharge = 1 \\
  
 __&​OUTPUT__ part __&​OUTPUT__ part
 +
 ‐ iwrtatom = 1 ‐ iwrtatom = 1
  
Line 93: Line 96:
  
 __&​OPTION__ part \\ __&​OPTION__ part \\
 +
 ‐ ifixcharges = 1 \\ ‐ ifixcharges = 1 \\
-‐ nstepf = 1 +‐ nstepf = 1 \\ 
  
 __&​OUTPUT__ part \\ __&​OUTPUT__ part \\
 +
 ‐ iwrthop = 1 ‐ iwrthop = 1
  
Line 102: Line 107:
 modify in dependence what output format you expect (read the “README” file of modify in dependence what output format you expect (read the “README” file of
 this script). this script).
-The “run_hops.com” script: + 
-#​!/​bin/​bash +== II.II.I. ​The “run_hops.com” script: ​== 
-#mv -f interactions.dat interactions.dat.old + 
-echo 1 > lockfile +#​!/​bin/​bash ​\\ 
-tipo1="​`cat lista`"​ +#mv -f interactions.dat interactions.dat.old ​\\ 
-for i in $tipo1; do +echo 1 > lockfile ​\\ 
-tipo2="​`cat lockfile`"​ +tipo1="​`cat lista`" ​\\ 
-if [ $tipo2 == "​2"​ ]; then +for i in $tipo1; ​\\  
-echo 1 > lockfile +do \\ 
-name2="​`echo $i`";​ +tipo2="​`cat lockfile`" ​\\ 
-sed "​s/​AAAAAAA/​$name2/​g"​ tip_sample_aux >> +if [ $tipo2 == "​2"​ ]; \\  
-interactions.dat;​ +then \\ 
-echo $i +echo 1 > lockfile\\ 
-else +name2="​`echo $i`"; ​\\ 
-echo 2 > lockfile +sed "​s/​AAAAAAA/​$name2/​g"​ tip_sample_aux >> interactions.dat; ​\\ 
-name1="​`echo $i`";​ +echo $i \\ 
-sed "​s/​AAAAAAA/​$name1/​g"​ model.bas > tmp.bas; +else \\ 
-./​fireball.k.x > out_tmp; +echo 2 > lockfile ​\\ 
-fi +name1="​`echo $i`"; ​\\ 
-done +sed "​s/​AAAAAAA/​$name1/​g"​ model.bas > tmp.bas; ​\\ 
-cat header.dat > interaction_X_Y.dat +./​fireball.k.x > out_tmp; ​\\ 
-cat interactions.dat >> interaction_X_Y.dat +fi \\ 
-rm -f lockfile +done \\ 
-rm -f inter_aux.dat+cat header.dat > interaction_X_Y.dat ​\\ 
 +cat interactions.dat >> interaction_X_Y.dat ​\\ 
 +rm -f lockfile ​\\ 
 +rm -f inter_aux.dat ​\\
 rm -f tip_sample_aux rm -f tip_sample_aux
-The “README” file: + 
-************a short description how to generate hopping data +== II.II.II. ​The “README” file: == 
-files we need: + 
-fireball.in +a short description how to generate hopping data \\ 
-model.bas +files we need: \\ 
-lista +fireball.in ​\\ 
-header.dat +model.bas ​\\ 
-=======A. edit: +lista \\ 
-CHARGES +header.dat ​\\ 
-model.bas + 
-=======B. edit run_hops.com +=======A. edit: \\ 
-if you need the fireball output format, than to the +CHARGES ​\\ 
-interactions.dat you have to write +model.bas ​\\ 
-the inter_aux.dat + 
-if you need the STM code output format, than to the +=======B. edit run_hops.com ​\\ 
-interactions.dat you have to write +If you need the **fireball output format**, than to the 
-the tip_sample_aux +"interactions.dat" ​you have to write 
-*****The difference is amount of some writen informations at +the inter_aux.dat ​\\ 
-the header of interaction (hopping) file,***** +If you need the **STM code output format**, than to the 
-*****number of interactions and even the length units. For +"interactions.dat" ​you have to write 
-STM format it is a.u. when for the fireball***** +the tip_sample_aux. \\ 
-*****format it is Angstroms. + 
-***** +The difference is amount of some writen informations at 
-=======C. launch +the header of interaction (hopping) file, number of interactions and even the length units. For 
-./​run_hop.com +STM format it is a.u. when for the fireball format it is Angstroms. 
-=======D. modify header of interacti_X_Y.dat file + 
-***************** Interactions for W(spd)-C(sp) using +=======C. launch ​\\ 
-FIREBALL program ******* +./​run_hop.com ​\\ 
-57 !number of distances + 
-2.00000 30.00000 !dist_min dist_max +=======D. modify header of interacti_X_Y.dat file \\ 
-10 !number of interactions +!*Interactions for W(spd)-C(sp) using FIREBALL program*! \\ 
-in the case you choose the STM output format, don't forget+57 !number of distances ​\\ 
 +2.00000 30.00000 !dist_mindist_max ​\\ 
 +10 !number of interactions ​\\ 
 + 
 +//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 + 
-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_mindist_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.// \\ 
-* Interactions for W‐Tid using FIREBALL program * +Look at the header: 
-57 + 
-2.000000 30.00000 +!*Interactions for W‐Tid using FIREBALL program*! \\ 
-3 3 14 +57 \\ 
-0 0 0 ‐21.0000 1.0000 0.5738 1 1 14.5000 +2.000000 30.00000 ​\\ 
-0 1 0 95.0000 1.0000 0.5738 1 1 16.5000 +3 3 14 \\ 
-.+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 ​\\ 
 +. \\ 
 +. \\ 
 +\\
 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 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. ​\\ 
-II.III. tip_g_str.inp+The last value is the cut‐off radius. 
 + 
 +Here you can download : \\  
 +========================. \\ 
 +="​run_hops.com"​ script ​ \\ 
 +="​README"​ file \\ 
 +========================. 
 + 
 +\\ 
 + 
 +=== 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)//
how_to_prepare_the_new_tip_and_sample_for_stm_simulations.1259155587.txt.gz · Last modified: 2011/02/18 13:14 (external edit)