计算化学公社

标题: MOKIT做CASSCF计算出错:*_uhf_uno.fch未正常产生 [打印本页]

作者
Author:
Kalinite    时间: 2022-12-21 00:01
标题: MOKIT做CASSCF计算出错:*_uhf_uno.fch未正常产生
本帖最后由 Kalinite 于 2022-12-21 00:02 编辑

请问大家,MOKIT做CASSCF force计算出现以下报错应该如何解决:
ERROR in subroutine require_file_exist: file does not exist!
Filename=fe3oxy-casscf_uhf_uno.fch
以上缺少的文件未能正常产生。

输入文件:
  1. %mem=96GB
  2. %nprocshared=32
  3. #p CASSCF/6-31G(d)

  4. mokit{force}

  5. -1 3
  6. 坐标略
复制代码

临时文件uno.out的内容如下:
  1. nbf=  518
  2. nif=  518
  3. ON_criteria=  0.0000100
  4. uno_thres=  0.0000100

  5. The orthonormality of initial Alpha MO:
  6. maxv=    0.0000000000
  7. abs_mean=    0.0000000000

  8. The orthonormality of initial Beta MO:
  9. maxv=    0.0000000000
  10. abs_mean=    0.0000000000

  11. ndb  =  107
  12. nact =   24
  13. nact0=   22
  14. idx  =  108  154    2

  15. The orthonormality of final Alpha MO:
  16. maxv=    0.0000000001
  17. abs_mean=    0.0000000000

  18. ndb  =  107
  19. nact =   24
  20. nact0=   22
  21. idx  =  108  154    2
复制代码



作者
Author:
Kalinite    时间: 2022-12-21 02:09
已解决。
邹神:是fch_u2r的问题,部分用户出现过。

对于开壳层体系,手动调用fch_u2r:
  1. $MOKIT_ROOT/bin/fch_u2r *_uhf.fch
  2. mv *_uhf_r.fch *_uhf_uno.fch
复制代码
然后续算。

或将$MOKIT_ROOT/src/automr.f90调用fch_u2r的代码修改:
  1. write(fid1,'(A)') "with os.popen('fch_u2r "//TRIM(hf_fch)//' '//TRIM(uno_fch)//"') as run:"
  2. write(fid1,'(A)') '  null=run.read()'
复制代码
然后make automr即可。
原因应该是python以os.system/popen等方式调用子进程时,子进程并未结束,但主进程会继续运行。当源代码中sleep(1)的时间不够完成fch_u2r时就会出错。




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