SMASS 是在vasp的DFTMD中决定着系综的类型,在手册中给出的该参数具体信息如下:
SMASS = -3 | -2 | -1 | [real] ≥ 0 Default: SMASS = -3 Description: SMASS controls the velocities during an ab-initio molecular dynamics run. -------------------------------------------------------------------------------- SMASS=-3 For SMASS=-3 a micro canonical ensemble is simulated (constant energy molecular dynamics). The calculated Hellmann-Feynman forces serve as an acceleration acting onto the ions. The total free energy (i.e. free electronic energy + Madelung energy of ions + kinetic energy of ions) is conserved. SMASS=-2 For SMASS=-2 the initial velocities are kept constant. This allows to calculate the energy for a set of different linear dependent positions (for instance frozen phonons, or dimers with varying bond-length). Mind: if SMASS=-2 the actual steps taken are POTIM×(velocities-read-from-the-POSCAR-file). To avoid ambiguities, set POTIM=1. SMASS=-1 In this case the velocities are scaled each NBLOCK step (starting at the first step i.e. MOD(NSTEP,NBLOCK)=1) to the temperature: T=TEBEG+(TEEND-TEBEG)×NSTEP/NSW, where NSTEP is the current step (starting from 1). This allows a continuous increase or decrease of the kinetic energy. In the intermediate period a micro-canonical ensemble is simulated. SMASS≥0 For SMASS≥0, a canonical ensemble is simulated using the algorithm of Nosé. The Nosé mass controls the frequency of the temperature oscillations during the simulation.[1][2][3] For SMASS=0, a Nosé-mass corresponding to period of 40 time steps will be chosen. The Nosé-mass should be set such that the induced temperature fluctuation show approximately the same frequencies as the typical ‘phonon‘-frequencies for the specific system. For liquids something like ‘phonon‘-frequencies might be obtained from the spectrum of the velocity auto-correlation function. If the ionic frequencies differ by an order of magnitude from the frequencies of the induced temperature fluctuations, Nosé thermostat and ionic movement might decouple leading to a non canonical ensemble. The frequency of the approximate temperature fluctuations induced by the Nosé-thermostat is written to the OUTCAR file.
在 “SMASS≥0” 这个标签中,允许小数出现,这在手册中有相应的例子:
If you are a slightly advanced user you can also use the damped MD algorithm, which is usually more efficient than the CG one: IBRION = 1 SMASS = 0.4 # damped MD POTIM = 0.4 # time step needs to chosen with care In this case, a too large POTIM will result in divergence.
这个参数的原理在手册的6.22.5节也作了详细的解释:
If a damping factor is supplied in the INCAR file by means of the SMASS tag, a damped second order equation of motion is used for the update of the ionic degrees of freedom:
where SMASS supplies the damping factor , and POTIM controls . In fact, a simple velocity Verlet algorithm is used to integrate the equation, the discretised equation reads:
It is immediately recognized, that is equivalent to a simple steepest descent algorithm (of course without line optimization). Hence, corresponds to maximal damping, corresponds to no damping. The optimal damping factor depends on the Hessian matrix (matrix of the second derivatives of the energy with respect to the atomic positions). A reasonable first guess for is usually 0.4. Mind that our implementation is particular user-friendly, since changing usually does not require to re-adjust the time step (POTIM). To choose an optimal time step and damping factor, we recommend the following two step procedure: First fix (for instance to 1) and adjust POTIM. POTIM should be chosen as large as possible without getting divergence in the total energy. Then decrease and keep POTIM fixed. If POTIM and SMASS are chosen correctly, the damped molecular dynamics mode usually outperforms the conjugate gradient method by a factor of two.
If SMASS is not set in the INCAR file (respectively SMASS0), a velocity quench algorithm is used. In this case ions are updated according using the following algorithm: Here are the current forces, and corresponds to POTIM. This equation implies that, if the forces are antiparallel to the velocities, the velocities are quenched to zero. Otherwise the velocities are made parallel to the present forces, and they are increased by an amount that is proportional to the forces.Mind: For IBRION=3, a reasonable time step must be supplied by the POTIM parameter. Too large time steps will result in divergence, too small ones will slow down the convergence. The stable time step is usually twice the smallest line minimization step in the conjugate gradient algorithm.
参考链接:
[1] http://cms.mpi.univie.ac.at/vasp/guide/node118.html
[2] http://cms.mpi.univie.ac.at/vasp/vasp/Efficient_relaxation_from_unreasonable_starting_guess.html
[3] http://cms.mpi.univie.ac.at/vasp/vasp/IBRION_3.html