24小时热门版块排行榜    

CyRhmU.jpeg
查看: 3312  |  回复: 8

c_chi

木虫 (正式写手)

[求助] pwscf的AIMD参数已有1人参与

我刚接触pwscf,需要用来做AIMD的计算,参数如下,但总是报错
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     Error in routine  read_namelists (17):
      reading namelist control
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
我知道是&system中参数有问题,但仔细检查和调整仍然不行,有没有人火眼金睛帮我检查一下,谢谢了!!

&control
    calculation='md'
    restart_mode='from_scratch',
    pseudo_dir = ./,
    outdir= ./,
    prefix='Gra'
    tprnfor = .true.
    tstress = .true.
    etot_conv_thr = 1.0D-4    !Default: 1.0D-4  (a.u)
    forc_conv_thr = 1.0D-3    !Default: 1.0D-3  (a.u)
    dt=20,        !time step for molecular dynamics, in Rydberg atomic units;1 a.u.=4.8378 * 10^-17 s
    nstep = 100   !number of ionic + electronic steps
    verbosity = 'high'
/
&system
    ibrav = 0,
    nat = 2, ntyp=1,
    ecutwfc = 30.0,              ! kinetic energy cutoff (Ry) for wavefunctions
    ecutrho = 150.0,             ! kinetic energy cutoff (Ry) for charge density and potential;Default:4 * ecutwfc
    occupations='smearing',      ! 'tetrahedra' especially suited for calculation of DOS,Not suitable for force/optimization/dynamics calculations
    smearing='mp', degauss=0.03  ! 'fermi-dirac'
    nspin=1,                     !1:non-polarized calculation ;2:spin-polarized calculation, LSDA;4,spin-polarized calculation, noncollinear
    tot_charge=0                 !tot_charge=+1 means one electron missing from the system
/
&electrons
    electron_maxstep=100
    diagonalization = 'david'  ! cg
    mixing_mode     = 'plain'  ! TF
    mixing_beta     = 0.5
    conv_thr        = 1.D-6
/
&ions
    ion_dynamics = 'verlet'
    pot_extrapolation = 'second_order'
    wfc_extrapolation = 'second_order'
    ion_temperature = 'rescale-v'
    tempw = 293.0             !Starting temperature (Kelvin)
    nraise=1
    tolp=100                  !Tolerance for velocity rescaling
   #delta_t = 1
/
ATOMIC_SPECIES
C   12.0107   C.pbe-rrkjus.UPF
ATOMIC_POSITIONS crystal    !alat | bohr | angstrom | crystal ; 0, fixed
C    0.00000   0.00000   0.5   0 0 0
C    0.33333   0.66667   0.5   1 1 1
K_POINTS automatic
8 8 1 0 0 0
CELL_PARAMETERS   angstrom    ! alat | bohr | angstrom ; needed only if ibrav = 0 is specified, ignored otherwise
   2.13042   -1.23 0
   0.000    2.46  0
  0   0  18
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

goldenfisher

金虫 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
c_chi: 金币+5, ★★★很有帮助 2014-04-19 14:00:59
看提示应该是Control中的问题。试试pseudo和out的目录打上引号
2楼2014-04-18 21:03:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

c_chi

木虫 (正式写手)

引用回帖:
2楼: Originally posted by goldenfisher at 2014-04-18 21:03:32
看提示应该是Control中的问题。试试pseudo和out的目录打上引号

谢谢,确实是这个问题!
但是又遇到一个新问题:计算的每次MD的前两部步scf都会出现很多
     c_bands:  4 eigenvalues not converged
最后在4~5个MD后就出现下面的错误提示跳出计算。我尝试修改晶格参数,截断能都不能解决。我想问的是下面的错误是我的什么参数有问题才会使计算进行不下去吗?谢谢了。。

在论坛上也看到别人提到“c_bands:  4 eigenvalues not converged
”的警告可以忽略,只要在随后scf收敛就行。这个警告是和模型有关吗?是不是想其他人说的这个警告不能通过修改参数解决?

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     Error in routine c_bands (1):
     too many bands are not converged
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

     stopping ...
3楼2014-04-19 14:00:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

c_chi

木虫 (正式写手)

引用回帖:
2楼: Originally posted by goldenfisher at 2014-04-18 21:03:32
看提示应该是Control中的问题。试试pseudo和out的目录打上引号

我后来测试发现没有定义celldm(1),于是我添加celldm(1)=1.8897269(bhor和angstrom的换算),上面的error没有了,但是有新的error:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     Error in routine cell_base_init (1):
     lattice vectors in Bohr or in a0 units?
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
我找到源程序cell_base.f90看了一下,但是没读懂,不知道这是因为什么?能不能指点一下,谢谢了!
      SELECT CASE ( TRIM( cell_units ) )
        CASE ( 'bohr' )
          IF( celldm( 1 ) /= 0.0_DP .OR. a /= 0.0_dp ) CALL errore &
              ('cell_base_init','lattice vectors in Bohr or in a0 units?',1)
          units = 1.0_DP
        CASE ( 'angstrom' )
          IF( celldm( 1 ) /= 0.0_DP .OR. a /= 0.0_dp ) CALL errore &
              ('cell_base_init','lattice vectors in A or in a0 units?',2)
          units = 1.0_DP / bohr_radius_angs
        CASE DEFAULT
          IF( celldm( 1 ) /= 0.0_DP ) THEN
             units = celldm( 1 )
          ELSE IF ( a /= 0.0_dp ) THEN
             units = a / bohr_radius_angs
          ELSE
             units = 1.0_DP
          END IF
     END SELECT
4楼2014-04-19 20:35:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

c_chi

木虫 (正式写手)

引用回帖:
2楼: Originally posted by goldenfisher at 2014-04-18 21:03:32
看提示应该是Control中的问题。试试pseudo和out的目录打上引号

这是源程序中关于第一个的报错:

  IF ( notconv > MAX( 5, nbnd / 4 ) ) THEN
     !
     CALL errore( 'c_bands', &
          & 'too many bands are not converged', 1 )
     !
  ELSE IF ( notconv > 0 ) THEN
     !
     WRITE( stdout, '(5X,"c_bands: ",I2, &
               &   " eigenvalues not converged"' ) notconv
     !
  END IF
5楼2014-04-19 20:43:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

goldenfisher

金虫 (著名写手)

【答案】应助回帖

貌似不需要定义celdm,把cell parameter改为加上一个cubic参数试试,具体怎么改看说明。我不得不说你没有仔细看说明文件

[ 发自手机版 http://muchong.com/3g ]
6楼2014-04-19 23:54:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

c_chi

木虫 (正式写手)

引用回帖:
6楼: Originally posted by goldenfisher at 2014-04-19 23:54:09
貌似不需要定义celdm,把cell parameter改为加上一个cubic参数试试,具体怎么改看说明。我不得不说你没有仔细看说明文件

我是仔细研究了一下说明文件的,里面关于cell parameter的参数描述只有alat | bohr | angstrom 。
我后来又测试了一下,发现是不用定义celdm,但必须cell parameter里面的晶格矢量必须是a.u.,而我这里是想以Ang为单位,于是设置参数为angstrom,但这样似乎不可行,输出的alat大小始终是a矢量的模,单位是a.u.;即使设置成CELL_PARAMETERS (alat=4.64873),但输出仍然是alat=2.46 a.u.。貌似加了参数Hexagonal 也不行。(另外我不知道出了说明文档以外的参数描述在哪里可以找到,这些参数我只是在其他人的例子里面看到过)

所以,解决办法有三个:
1. ibrav=0, 然后CELL_PARAMETERS 里面的矢量转换成a.u.单位
2. ibrav=4,a=2.46,c=14,就不用设置CELL_PARAMETERS
3.ibrav = 4,   celldm(1)=4.64873,  celldm(3)=6 ,也不用设置CELL_PARAMETERS

但是,这里有个问题,a和celldm(1)不应该是等价的吗?单位都是a.u.;但第二种里面的单位显然是Ang,这里有点迷糊。

还有就是,我如果想使用ibrav=0,并且使得CELL_PARAMETERS 里面的矢量以Ang为单位是不是不可行?
7楼2014-04-21 16:27:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

goldenfisher

金虫 (著名写手)

引用回帖:
7楼: Originally posted by c_chi at 2014-04-21 16:27:52
我是仔细研究了一下说明文件的,里面关于cell parameter的参数描述只有alat | bohr | angstrom 。
我后来又测试了一下,发现是不用定义celdm,但必须cell parameter里面的晶格矢量必须是a.u.,而我这里是想以Ang为 ...

以ang为单位肯定是可以的。如果你设置了celldm(1),那么就是以celldm(1)为单位,而celldm一般默认就是以bohr为单位。我就经常用ang单位。
celldm默认是bohr为单位,A,B,C默认是ang为单位,说明文件里有
8楼2014-04-21 19:59:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

c_chi

木虫 (正式写手)

引用回帖:
8楼: Originally posted by goldenfisher at 2014-04-21 19:59:45
以ang为单位肯定是可以的。如果你设置了celldm(1),那么就是以celldm(1)为单位,而celldm一般默认就是以bohr为单位。我就经常用ang单位。
celldm默认是bohr为单位,A,B,C默认是ang为单位,说明文件里有...

恩,谢谢你的耐心解释
9楼2014-04-21 20:49:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 c_chi 的主题更新
信息提示
请填处理意见