Next: Appendix B Up: TBMD user guide Previous: Examples

Appendix : the keywords in INTBMD

  The appendix gives a complete description of all the keywords that may be given in the INTBMD input file. List of all the keywords in alphabetical order :

  • calc_elocal
  • calc_forces
  • calc_stress
  • debug
  • dt
  • elec_charge_tol
  • elec_energy_tol
  • elec_gs_algo and elec_md_algo
  • elec_start
  • emass
  • eta
  • ionic_algo
  • ionic_eom_algo
  • ionic_friction
  • ionic_thermostat
  • ions_delta_e
  • ions_max_force
  • mass
  • max_elec_iter
  • min_elec_iter
  • non_orth
  • number_of_electrons
  • number_of_ionic_steps
  • number_of_moments
  • n_h_dup
  • number_of_states
  • output_level
  • pair_pot_used
  • q_nose_ions
  • r_cut
  • save_freq
  • save_to_file
  • save_wfs
  • scc_used
  • sigma
  • start
  • temperature
  • veloc_start

    calc_elocal

    calc_elocal = T | F

    Default : T

    When this switch in T the code will compute the local energy on each ions. In TB it is possible to define such a quantity because of the implicit atomic basis set.



    calc_forces

    calc_forces = T | F

    Default : T

    Indicates if forces should be calculated or not. If this flag is set to F and elec_gs_algo or elec_md_algo = 2 (i.e. diagonalization of the Hamiltonian matrix is performed) then the eigenvectors will not be calculated, only the eigenvalues. If you are only interested in the energy you may use this flag, this will substantially speed up calculations.



    calc_stress

    calc_stress = T | F

    Default : calc_forces

    Indicates if the stress tensor should be calculated or not.




    debug

    debug = 0|1|2|3

    Default : 0

    The keyword controls the amount of diagnostic information that is printed by the program. If debug is set to 1, you will get a tracing of all the main routines that are executed, which may be useful to locate a bug.

    NOTE : The amount of output generated for debug > 1 is not yet tuned properly, so it might be pretty large depending on the number of atoms in the system. This will be fixed in the beta version.




    dt

    dt = time step in fs

    Default: 1.0 fs.

    dt supplies the time step for integrating the equations of motion of the system during a molecular dynamics simulation. Given in fs.




    elec_charge_tol

    elec_charge_tol = charge tolerance in frcation of the number of electrons.

    Default: 10-8

    With unconstrained CG minimization the total charge is not constrained to be equal to the number of electrons (hence the name!). The energy functional that is used in the algorithme guarantees that at the minimum the system will have the right the number of electrons. This parameter controls the precision to which the minimization will converge the total charge.




    elec_energy_tol

    elec_evergy_tol = energy tolerance in eV.

    Default: 10-6 eV.

    Precision to which the iterative CG minimization of the electronic energy will be done. This value is critical to obtain well converged forces and hence a good conservation of the total energy.




    elec_gs_algo and elec_md_algo

    elec_gs_algo = 0 (CP), 1 (CG), 2/3 (diagonalization) or 4 (KPM).

    Default : 2

    Algorithm used to find the electronic ground state, for the first MD and subsequent steps. For the moment the possibles choices are:




    elec_start

    elec_start = 0 (random) | 1 (read from file)

    Default: 0

    This parameter controls how the wavefunctions are initialized at the start of the simulation:




    emass

    emass = fictitious mass of the electrons for CP dynamics

    Default: 10.0

    This specifies the fictitious mass of the electrons used for doing Car-Parinello type molecular-dynamics.




    eta

    eta = some real value.

    Default: 50 eV

    Value of the parameter chemical potential used in unconstrained CG minimization.

    NOTE : make sure to use a large enough value, if too small the unconstrained minimization will give unpredictable results. The default of 50.0 was found to be large enough for most cases.



    ionic_algo

    ionic_algo = 0 (MD), 1 (CG) or 3 (fixed velocities).

    Default : 0 (MD)

    Algorithm used to move the ions. The possible choices are:

    Molecular dynamics, ionic_algo=0
    This the default type of simulation when number_of_ionic_steps > 0. By default the simulation is performed in the microcanonical ensemble. Simulations in the canonical ensemble are also possible by using a thermostat. The initial velocities are either read from POSTBMD or randomly drawn from a Maxwellian distribution for a temperature specified with the temperature keyword.

    Conjugate-gradient minimization, ionic_algo=1
    In this mode the total energy of the systems is minimized using the CG algorithm. The minimization is stopped when one of the following is true: (i) the maximum number of steps (as specified by the number_of_ionic_steps keyword) has been reached, (ii) the change in total energy is smaller than the tolerance given by the ions_delta_e keyword or (iii) when the components of all forces are smaller than the tolerance given by the ions_max_force keyword.

    Fixed velocities, ionic_algo=3
    This mode is mostly used to do frozen phonon calculations. In this mode the at each time step the velocities times the time step are added to the positions. It is recommended to fix the velocities with a magnitude of 1.0 and adjust the time step (see keyword dt).




    ionic_eom_algo

    ionic_eom_algo = 1 (Verlet) or 2 (Velocity-Verlet)

    Default : 1

    Algorithm used to integrate the ionic equations of motions.




    ionic_friction

    ionic_friction = friction coefficient for the ions.

    Default is 0.0.

    This keyword gives the friction coefficient used to damp the motion of the ions. It is required when you use Langevin dynamics.



    ionic_thermostat

    ionic_thermostat = 0 (none) | 1 ( Nosé-Hoover) | 2 (Langevin)

    Default : 0 (none)

    Indicates if and what kind of thermostat should be used for the ions when doing molecular dynamics.

    The temperature of the system will fluctuate around the value supplied with the keyword temperature.

    The default is to have no thermostat, in which case the simulation will be done in the micro-canonical ensemble.

    If you choose a Nosé-Hoover thermostat (ionic_thermostat = 1) then you will have to choose an appropriate ``mass'' for it as specified by the q_nose_ions keyword. For large enough systems and a correct choice of the mass of the thermostat the MD will sample the canonical ensemble. The Nosé-Hoover thermostat allows to define a new constant of motion which is monitored in the ENE.OUT file.

    If you choose to use a Langevin ``thermostat'' you will be required to give a friction coefficient by setting the keyword ionic_friction. Since the Langevin dynamics is a stochastic method the total energy of the system is not conserved, this fact may be exploited to use a larger time step for the MD.



    ions_delta_e

    ions_delta_e = total energy tolerance in eV.

    Default: 1E-10 eV.

    This keyword is used to specify the tolerance in the total energy that is used during conjugate-gradient minimization of the ionic coordinates. If the change in total energy from one CG step to the next is smaller than the tolerance the minimization is considered converged and the minimization is stopped. Since the change in energy during minimization is not monotonous we recommend that you rather use a convergence criterion based on the ionic forces (see ions_max_force).




    ions_max_force

    ions_max_force = tolerence for the maximum force component in eV/Ang.

    Default: 1E-4 eV/Ang.

    This keyword is used to specify the tolerance in the maximum force component that is used during conjugate-gradient minimization of the ionic coordinates. If the maximum force component on any atom is smaller than the tolerance the minimization is considered converged and the minimization is stopped.



    mass

    mass = atomic mass in amu

    Default: as read from the TBPARAM file.

    Specifies the mass of the ions. Should be given in atomic mass units.



    max_elec_iter

    max_elec_iter = Maximum number of CG iteration to find the electronic ground state.

    Default: 10



    min_elec_iter

    max_elec_iter = Minimum number of CG iterations done at every MD step.

    Default = 3




    non_orth

    non_orth = T | F

    Default : set internally depending on the TB model used.

    Flag used to indicate if the TB model used is orthogonal or not. It is not recommended to change this flag, since this is set by defaults depending on which TB model you are using.




    number_of_electrons

    number_of_electrons = number of electrons in the system.

    Default : values calculated from the number of electrons/atoms found in TBPARAM.

    You can change the number of electrons in the system if you want simulate charged systems, but the resulting Coulomb interaction due to the periodic boundary conditions is not taken into account.




    number_of_ionic_steps

    number_of_ionic_steps = number of ionic steps (sic).

    Default : 0 (i.e. the ions remain fixed).

    Indicates the number of ionic MD or relaxation steps.




    number_of_moments

    number_of_moments = number of moments used in the KPM.

    Default : 100.

    Sepcifies the number of Chebyshev moments that are used in the kernel polynomial method. The more moments the more accurate the calculation of the energy and of the forces will be. The number of moments needed for a given accuracy depends on the systems, so it is recommended to do careful convergence tests.




    n_h_dup

    n_h_dup = number of replicas for the Hamiltonian

    Default : number of processors

    Determines how many times the Hamiltonian is replicated in a parallel job. The default is the number of processors, which means that the Hamiltonian is split over all the processors in the run. In the memory on the each nodes is large enough, you may want to set n_h_dup to the number of precessors, this will minimize communications among processors while using the KPM.




    number_of_states

    number_of_states = number of states included in the calculation

    Default : number_of_electrons/2 for insulators (i.e. sigma = 0) plus some extra states for metals (i.e. sigma > 0).

    The number of extra states included for metals is a guess, so if the occupation of the highest state is not negligible you may need to increase this number by hand. Also for insulators you may want to include a few unoccupied states to determine the band gap.




    pair_pot_used

    pair_pot_used = T | F

    Default : set internally depending on the TB model used.

    Some tight-binding models use a pair potential in addition to the band-structure energy to calculate the total electronic energy. You can switch this part of the code on/off with this flag. But be aware that if the TB model uses a pair-potential setting this switch to F may have unpredictable consequences.




    output_level

    output_level = 0 ... 3

    Default: 1

    Controls the amount of output written to OUTTBMD. This only affects the output from the iterative CG minimization routine.



    q_nose_ions

    q_nose_ions = Mass associated with the Nosé thermostat for the ions.



    r_cut

    r_cut = Cut-off radius in Angstroms.

    Default : taken from the parameter file TBPARAM.

    Cut-off radius used to define nearest-neighbor lists.



    save_freq

    save_freq = integer value.

    Default : 1

    Frequency at which the system status is printed to OUTTBMD, ionic positions to save to POS, energies to ENE or the current restart information is save to POSCONT, etc, ...



    save_to_file

    save_to_file = <physical_property> [file_name],
    where <physical_property> is one of the keywords described below.

    Default : None

    This keyword is used to choose which information is saved every save_freq ionic steps. The physical quantities that can be saved are given in the table below together with their respective keywords (only the first three letters count) and default file names.

    Property Keyword Default filename
    positions pos POS
    energies ene ENE
    velocities vel VEL
    forces for FOR
    eigenvalues eig EIG



    save_wfs

    save_wfs = 0 | 1 | 2

    Default : 0

    Parameter that controls whether or not and when the wavefunctions are saved to the WFS file:



    scc_used

    scc_used = T | F

    Default : F

    Parameter that controls whether or not a self-consistent (SC) calculation is performed. For the moment this only possible in conjuction with CG minimization. The SC is done using a simple Hubbard U model.



    sigma

    sigma = width of the Fermi broadening ( tex2html_wrap_inline2008 ) in eV

    Default : 0.01 eV

    This variable indicated the width of the Fermi broadening function used for calculated the occupation of the states close to the Fermi level. If you want to do calculations without fractional occupancies set sigma to zero.



    start

    start = 0 | 1

    Default : 0

    Switch that indicates whether or not to read the restart information from the POSTBMD file. This KW is usually used in conjuction with the POSCONT file to continue a stopped/crashed simulation.




    temperature

    temperature = Temperature of system in Kelvin.

    Default : 300 K

    If the initial velocities are not provided in POSTBMD then this value is used to initialize the velocities. Furthermore if you use a thermostat, this specifies the target temperature.



    veloc_start

    start = 0 | 1 | 2

    Default : 1

    Switch that indicates how the velocites are initialized:

    This parameter is ignored if start=1.




    Florian Kirchhoff
    Tue Jun 9 16:34:36 EDT 1998