User Tools

Site Tools


creating_inputs

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
creating_inputs [2016/12/07 11:28]
krejcio
creating_inputs [2021/09/30 13:06] (current)
krejcio Updated FHI-aims output; no need for parallel recompilation any more
Line 1: Line 1:
 +//Note:// If you work with the **flexible-tip**=**PP-AFM** adjust the geometry into the necessary box for the force-field calculations. Don't forget to put the top-most atoms above ''​0.0'',​ but lower part of the box in the //z// direction.
 +
 At the moment the PP-STM code can read inputs from following DFT codes: At the moment the PP-STM code can read inputs from following DFT codes:
  
Line 4: Line 6:
 [[http://​www.fireball-dft.org]] [[http://​www.fireball-dft.org]]
  
-Unfortunately official ​version ​cannot ​write out input files.+Official ​version ​of //​FireballTG//​ can write out input files now.
  
-A working executable for creation of necessary input files is at: +A working executable for creation of necessary input files is also at: 
 /​storage/​praha1/​home/​krejcio/​bin_fireball_stable/​fireball.x /​storage/​praha1/​home/​krejcio/​bin_fireball_stable/​fireball.x
  
 Input files can computed with McWEDA functional as well as with computing XC on a grid. Cluster systems as well as systems with Periodic Boundary Conditions (PBC) can be computed. Input files can computed with McWEDA functional as well as with computing XC on a grid. Cluster systems as well as systems with Periodic Boundary Conditions (PBC) can be computed.
-fireball.in file for calculations with McWEDA:+__fireball.in__ file for calculations with McWEDA:
  
   &OPTION   &OPTION
Line 28: Line 30:
   &END   &END
  
-fireball.in file for calculations with XC on a grid computations:​+__fireball.in__ file for calculations with XC on a grid computations:​
  
   &OPTION   &OPTION
Line 51: Line 53:
   &END   &END
  
-In case of PBC calculations ​phik_0001_s.datphik_0001_py.dat, ... files are produced by the Fireball. In case of cluster calculations ​phik_s.datphik_py.dat, ... are outputs of the Fireball calculations. They serve as inputs for the PP-STM calculations. Inside they look like:+In case of PBC calculations ​__phik_0001_s.dat____phik_0001_py.dat__, ... files are produced by the Fireball. In case of cluster calculations ​__phik_s.dat____phik_py.dat__, ... are outputs of the //Fireball// calculations. They serve as inputs for the PP-STM calculations. Inside they look like:
  
         38     ​280 ​    ​-5.37896401 ​                                                         Number of atoms   ​Number of states (Molecular orbitals) ​  The Fermi Level         38     ​280 ​    ​-5.37896401 ​                                                         Number of atoms   ​Number of states (Molecular orbitals) ​  The Fermi Level
Line 61: Line 63:
 [[http://​wiki.fysik.dtu.dk/​gpaw/​]] [[http://​wiki.fysik.dtu.dk/​gpaw/​]]
  
-Even though the GPAW is mainly used for representing the wave-function on a grid it can work in LCAO mode as well. For the purpose of making inputs for the PP-STM calculations the LCAO mode is necessary. Both - default or double-zeta (basis='​dzp';​ for more information look at the GPAW web page) - basis sets can be used. The PP-STM code reads the stored *.gpw binary produced by the GPAW calculations. Here is an example of some GPAW script for the calculations of the input:+Even though the //GPAW// is mainly used for representing the wave-function on a grid it can work in LCAO mode as well. For the purpose of making inputs for the PP-STM calculations the LCAO mode is necessary. Both - default or double-zeta (basis='​dzp';​ for more information look at the //GPAW// web page http://​wiki.fysik.dtu.dk/​gpaw/​) - basis sets can be used. The PP-STM code reads the stored *.gpw binary produced by the //GPAW// calculations. Here is an example of some //GPAW// script for the calculations of the input:
  
   from ase import *   from ase import *
Line 72: Line 74:
   cell = npy.loadtxt('​input.lvs'​) ​                              # cell in which a sample is   cell = npy.loadtxt('​input.lvs'​) ​                              # cell in which a sample is
   mol.set_cell(cell)   mol.set_cell(cell)
-  mol.set_pbc(False) ​                                           # cluster calculation,​ but PBC can be used as well: mol.set_cell(cell)+  mol.set_pbc(False) ​                                           # cluster calculation,​ but PBC can be used as well: mol.set_pbc(True)
   mol.center()   mol.center()
   xc='​LDA' ​                                                     # other XC like PBE, RPBE, PW91, BLYP can be used, too.   xc='​LDA' ​                                                     # other XC like PBE, RPBE, PW91, BLYP can be used, too.
Line 81: Line 83:
   calc.write('​out_LCAO_'​+xc+'​.gpw',​mode='​all'​) ​                 # saves the calculation into binary '​out_LCAO_LDA.gpw'​ file   calc.write('​out_LCAO_'​+xc+'​.gpw',​mode='​all'​) ​                 # saves the calculation into binary '​out_LCAO_LDA.gpw'​ file
  
-The results of the GPAW calculations is stored in binary file 'out_LCAO_LDA.gpw'+The results of the //GPAW// calculations is stored in binary file '__out_LCAO_LDA.gpw__'
  
  
-== FHI-AIMS ==+== FHI-aims ==
 [[http://​aimsclub.fhi-berlin.mpg.de/​]] [[http://​aimsclub.fhi-berlin.mpg.de/​]]
  
-Works for PBC calculations, just add:+Works for PBC calculations ​serial or parallel (mpi.scalapack) version. Ideally with the final geometry run a single point calculation with the following outputs added to your __control.in__:
   output eigenvectors   output eigenvectors
-  output band 0 0 0 0.5 0.5 0.0 G K +  output band 0 0 0 0.5 0.5 0.0 G K 
-into control.in.+      ​KS_method lapack_fast ​ # for mpi-version (mpi.scalapack):​ The error message with HDF5 is not true in the aims output; use this keywords instead of recompilation # 
 +See the [[https://​github.com/​ondrejkrejci/​PPSTM/​blob/​master/​tests/​CuPc/​control.in|CuPc example]] 
 + 
 +In the case of hybrid functionals (B3LYP, PBE0, HSE) add also: 
 +  exx_band_structure_version 1 ## for hybrid functionals only; both options 1 and 2 are working (1 takes more memory) ## 
 +into your __control.in__ file. 
 + 
 +The calculations produces: __KS_eigenvectors.band_1.kpt_1.out__ for spin-restricted calculations or __KS_eigenvectors_dn.band_1.kpt_1.out__ & __KS_eigenvectors_up.band_1.kpt_1.out__ in the case of spin-polarized calculations. 
 +You will also need __geometry.in__ in the same directory. All of these files are supposed to be easily read by the __PPSTM_simple.py__ script or within __GUI.py__. 
 + 
 +Note: Under normal conditions, please use PBC calculations,​ Just adjust the __geometry.in__ with a suitable ''​lattice_vector''​s (for small molecules ''​30.0 30.0 30.0''​ box is enough). There is a possibility to run strict cluster calculations,​ but additional parsing through Mathematica scripts (and some additional outputs) have to be used for creating PP-STM inputs. 
 + 
 +== CP2K == 
 +[[http://​www.cp2k.org/]]
  
-The calculations producesKS_eigenvectors.band_1.kpt_1.out for spin-restricted calculations or KS_eigenvectors_dn.band_1.kpt_1.out & KS_eigenvectors_up.band_1.kpt_1.out in the case of spin-polarized calculations.+into your input file __YOUR_INPUT_FILE.inp__ into FORCE_EVAL → DFT → PRINT section add:
  
-Note: For cluster calculations Mathematica scripts have to be used for creating PP-STM inputs.+      &MO ON 
 +        EIGVECS 
 +        CARTESIAN 
 +        FILENAME cartesian-mos 
 +        &EACH 
 +          QS_SCF 0 
 +        &END EACH 
 +      &END MO
  
 +Examples of input (and output) files can be found in the code in __examples/​__ __4N-coronene/​__ __CuPc/__ and __TOAT/__ .
  
 +Note: CP2K reading procedure was mainly written by Ole Schütt, those days working at EMPA, Switzerland.
creating_inputs.1481106503.txt.gz · Last modified: 2016/12/07 11:28 (external edit)