我认为可能是按照任意一个atom上force的norm考虑的,(比如说第i个原子)也就是说|f_i|=sqrt(gx_i^2+gy_i^2+gz+i^2),手册上没说这件事,我的依据是main.F里面:
。。。。。(省略)
!-----forces on ions
REAL(q) ,ALLOCATABLE:: EWIFOR(:,, TIFOR(:, !TIFOR应该是每个原子的力,3xN的矩阵。
。。。。。(省略)
!-----------------------------------------------------------------------
! set DYN%D2C to forces in cartesian coordinates multiplied by FACT
! FACT is determined from timestep in a way, that a stable timestep
! gives a good trial step
!-----------------------------------------------------------------------
FACT=0
IF (DYN%ISIF<5) FACT=10*DYN%POTIM*EVTOJ/AMTOKG *1E-10_q
LSTOP2=.TRUE.
NI=1
DO NT=1,T_INFO%NTYP
DO NI=NI,T_INFO%NITYP(NT)+NI-1
。。。。。(省略)
IF (SQRT(TIFOR(1,NI)**2+TIFOR(2,NI)**2+TIFOR(3,NI)**2) & !每个原子的|f|作为判断,只要有任意原子的|f|>|EDIFFG|,就有LSTOP2=.FALSE
& >ABS(DYN%EDIFFG)) LSTOP2=.FALSE.
ENDDO
ENDDO
。。。。。(省略)
IF (DYN%EDIFFG<0) INFO%LSTOP=LSTOP2 !EDIFFF<0的时候以力收敛为标准,此时由逻辑变量LSTOP2赋值给INFO%LSTOP
。。。。。(省略)
! use forces as stopping criterion if EDIFFG<0
IF (INFO%LSTOP) THEN !当INFO%LSTOP为true的时候,打印“reached required accuracy - stopping”
。。。。(省略)
WRITE(TIU6,*) 'reached required accuracy - stopping ', &
'structural energy minimisation'
ENDIF
虚线下面应该对应的是整个系统的total force。
如下图,是在优化和静态计算完得到的OUTCAR里的原子受力情况,每一个原子在x,y,z方向的受力都得到了,但是文献中说:convergence of Hellmann- Feynman residual forces less than 0.01 eV/Å per atom was achieved。要求每一个原子的受力都小于0.01ev/A, 这个是理解为x,y,z方向的力都小于0.01,还是什么?
是 都要小
如果没有达到要求,继续优化又该怎么进行呢?
CONTCAR拷贝为POSCAR读入波函数继续
我的图片中有些原子受力是不是没有达到要求?
是