计算化学公社

标题: vasp6.4.3/vasp6.4.2+vtstcode6.4编译报错 [打印本页]

作者
Author:
zhangwenyue22    时间: 2024-9-4 16:56
标题: vasp6.4.3/vasp6.4.2+vtstcode6.4编译报错
使用intel oneapi 正常编译,测试发现vasp6.4.3和vasp6.4.2版本,vtstcode199、197编译均会出现undefined reference to `chain_stress_'问题。使用vasp641+vtst197可以成功编译
(, 下载次数 Times of downloads: 1)

作者
Author:
zhangwenyue22    时间: 2024-9-4 16:57

作者
Author:
zikuzi    时间: 2024-9-4 18:17
6.4.2我编译没问题,建议检查一下这里
作者
Author:
zhangwenyue22    时间: 2024-9-9 10:00
老师好,我怀疑是系统问题,我再centos7.9中可以正常编译,在rocky8.9中会出现报错。
作者
Author:
heyi87    时间: 2024-10-12 09:51
由于VTST中chain.F移除了SUBROUTINE chain_stress这部分。解决方式:在VASP官方的chain.F中复制过来,加在 END SUBROUTINE chain_force后面。并在55行PUBLIC :: chain_force后面加入chain_stress。

这是官方源文件的子函数:
  1.     SUBROUTINE chain_stress( stress )

  2.        implicit none
  3.        REAL(q),intent( inout ) :: stress(3,3)
  4.        REAL(q)                 :: stress_all(3,3,2)
  5.        INTEGER                 :: node

  6.        IF ( images == 0 ) RETURN
  7.        IF ( spring == -1000 ) RETURN

  8. #if defined(MPI) || defined (MPI_CHAIN)
  9.        node = comm_chain%node_me

  10. !======================================================================
  11. ! Parallel tempering return
  12. !======================================================================
  13.        IF ( LTEMPER ) THEN
  14.           RETURN
  15. !======================================================================
  16. ! VCA average stresses over two images
  17. !======================================================================
  18.        ELSE IF ( LVCAIMAGES ) THEN
  19.           stress_all(:,:,1:2)  = 0
  20.           stress_all(:,:,node) = stress
  21. #ifndef old_vca
  22.           ! first core in image merges the data
  23.           IF ( comm%node_me == 1 ) THEN
  24.              !! 3x3 stress components and two molecular dynamics streams
  25.              CALLMPI_C( M_sum_d( comm_chain, stress_all(1,1,1), 3*3*2))
  26.              stress(:,:)=stress_all(:,:,1)*VCAIMAGES+stress_all(:,:,2)*(1-VCAIMAGES)
  27.           ELSE
  28.              stress=0
  29.           ENDIF
  30.           ! now sum over all cores in one image
  31.           CALLMPI_C( M_sum_d( comm, stress( 1, 1 ), 3*3 ) )
  32. #else
  33.           !! 3x3 stress components and two molecular dynamics streams
  34.           CALLMPI_C( M_sum_d( comm_chain, stress_all( 1, 1, 1 ), 3*3*2 ) )
  35.           stress = 0
  36.           stress( : , : ) = stress_all( :, :, 1 ) * VCAIMAGES + stress_all( :, :, 2 ) * ( 1 - VCAIMAGES )
  37.           RETURN
  38. #endif
  39.        END IF
  40. #endif
  41.     END SUBROUTINE chain_stress
复制代码

作者
Author:
love_yy    时间: 2024-11-13 23:48
看了论坛里面也还是没有修复bug.
https://theory.cm.utexas.edu/hen ... ewtopic.php?t=16161
作者
Author:
love_yy    时间: 2024-11-14 00:25
love_yy 发表于 2024-11-13 23:48
看了论坛里面也还是没有修复bug.
https://theory.cm.utexas.edu/henkelman/forum/viewtopic.php?t=16161

亲测 5楼有效,http://bbs.keinsci.com/thread-46112-1-1.html这个贴也可以参考乐平老师的方法




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3