| 查看: 10983 | 回复: 33 | |||||||||||
| 【奖励】 本帖被评价19次,作者顺水增加金币 17.5 个 | |||||||||||
[资源]
【转帖】关于从vasp4.5、4.6计算光学性质(组合帖)
|
|||||||||||
|
一、关于VASP中光学optics.F程序的编译(ifort+mkl) 原帖地址http://new.quantumchemistry.net/ ... ion/200512/187.html 从VASP 4.4.4和VASP.4.4.5开始,VASP支持简单的光学性质的计算。其具体实现程序是optics.F。其中一些必需的后处理程序,可以向Jürgen Furthmüller发信要。 此程序可以使用ifort和mkl编译出来,用pgi编译它说optics.f语法错,不知道为什么。然后用编译成功的程序处理已经得出OPTIC文件的一个目录,满心欢喜,结果给我了这些东西: scanning POSCAR, KPOINTS and OPTIC reading KPOINTS and OPTIC set up transition energies and amplitudes DOS and joint DOS forrtl: severe (174): SIGSEGV, segmentation fault occurred Image PC Routine Line Source optics 0804A8DE Unknown Unknown Unknown optics 080502A7 Unknown Unknown Unknown optics 0804A594 Unknown Unknown Unknown libc.so.6 00314E33 Unknown Unknown Unknown optics 0804A4A1 Unknown Unknown Unknown forrtl: severe (174): SIGSEGV, segmentation fault occurred Image PC Routine Line Source libc.so.6 00360ECE Unknown Unknown Unknown libc.so.6 003614BA Unknown Unknown Unknown optics 08086FFD Unknown Unknown Unknown optics 0806A899 Unknown Unknown Unknown optics 0806C183 Unknown Unknown Unknown optics 0806B296 Unknown Unknown Unknown optics 0806D634 Unknown Unknown Unknown libpthread.so.0 0054A8A0 Unknown Unknown Unknown optics 080502A7 Unknown Unknown Unknown optics 0804A594 Unknown Unknown Unknown libc.so.6 00314E33 Unknown Unknown Unknown optics 0804A4A1 Unknown Unknown Unknown 貌似段错误。 具体编译方法是先编译optics上一级目录中的文件,得到prec.o constant.o error.o tet.o ,并把它们拷贝到optics目录下。 然后再到optics目录下编译optics 其中makefile的头几行修改成如下: # THIS IS AN EXAMPLE FOR INTEL-LINUX PLATFORMS RUNNING PGF COMPILERS. CUSTOMIZE! .SUFFIXES: .inc .f .F MAKE = /usr/bin/make CPP_ = /usr/bin/cpp -P -C CPP = $(CPP_) \ -Dkind8 -DNGXhalf -DCACHE_SIZE=1000 -DPGF90 -Davoidalloc <$*.F >$*.f FC = pgf90 -Mfree DEBUG = -g -O0 OFLAG = -O2 -tp p6 DOUBLE = -r8 SINGLE = TIMING = #TIMING = -pg # binding BIND = LIB = -L../../vasp.4.lib -ldmy -L/usr/local/lib -llapack -lblas ----------------------------------------------------------------------- optics.F与vasp的版本无关,我4.5.5到4.6.25都可以编译的过去。因为它link时,需要的 只是vasp.4.lib中的文件,而vasp.4.lib中的文件基本是不升级或更新的。 [ Last edited by wuli8 on 2009-8-12 at 18:00 ] |
» 收录本帖的淘帖专辑推荐
仿真建模与计算 | 第一性原理计算资源总汇 | VASP | Optical |
计算-vasp | first principle | vasp光学 | 模拟计算课题的学习 |
光学性质计算 |
» 猜你喜欢
请问哪里可以有青B申请的本子可以借鉴一下。
已经有4人回复
真诚求助:手里的省社科项目结项要求主持人一篇中文核心,有什么渠道能发核心吗
已经有6人回复
孩子确诊有中度注意力缺陷
已经有14人回复
三甲基碘化亚砜的氧化反应
已经有4人回复
请问下大家为什么这个铃木偶联几乎不反应呢
已经有5人回复
请问有评职称,把科研教学业绩算分排序的高校吗
已经有5人回复
2025冷门绝学什么时候出结果
已经有3人回复
天津工业大学郑柳春团队欢迎化学化工、高分子化学或有机合成方向的博士生和硕士生加入
已经有4人回复
康复大学泰山学者周祺惠团队招收博士研究生
已经有6人回复
AI论文写作工具:是科研加速器还是学术作弊器?
已经有3人回复
» 本主题相关价值贴推荐,对您同样有帮助:
VASP中如何查看正在运行程序的源文件
已经有3人回复
vasp5.2计算光学性质
已经有22人回复
介电常数计算方法
已经有13人回复
vasp5.2光学计算中怎么加入scissor operation?
已经有13人回复
vasp算出来的文件基本都是0字节的
已经有24人回复
同个任务同样的节点数VASP4.6能算,而VASP5.2不能
已经有9人回复
vasp编译通过,前台算ok,去qsub到后台,找不到libmkl_lapack.so
已经有19人回复
【求助】为什么vasp5.2版本用不了ave-mesh
已经有8人回复
【求助成功】vasp5.2并行安装不上
已经有18人回复
【求助】关于vasp5.2计算色散力
已经有5人回复
【求助】vasp5.2光学性质问题
已经有18人回复
【求助完毕】IBZKPT,KPOINTS与DOS计算
已经有4人回复
【求助】vasp5.2用B3LYP计算
已经有21人回复
【求助】PBE0 计算Si、Ge能带结构
已经有9人回复
【原创】用pgi10.0编译vasp5.2
已经有12人回复
【求助】vasp5.2异常退出的问题
已经有16人回复
|
OPTIC 编译2 编译出了optics,问题已经不大了 首先到http://www.freeware.vasp.de/VASP/ 去下载最新版的optics和其他的一些东西。注意,其中的一些F程序似乎有语法错误,起码在pgf90编译的情况下提示出错,它们是: smear.F的第29行,SUBROUTINE中的S写到了第6列,同一行的换行符应该写在第30行第7列。 error.F的第8行还有下面一个类似的地方,&字符越界,应该换到下一行做换行符用。 symlib.F缺少了sym_prec模块,添加进去。 MODULE sym_prec USE prec REAL(q) :: TINY=1.E-5_q END MODULE 然后我很顺利地用pgf90加上pgf90自己的blas和lapack编译出了vasp。然后手动编译error.F,prec.F,smear.F,就用pgf90 -c smear.F这样的格式即可,产生相应的.o文件。然后进入optics目录,make clean一下后,修改makefile,用和编译vasp一样的blas和lapack来编译optics,成功。但是此时的vasp.4.6目录下的 vasp是有问题的,执行起来没有任何输出,让我伤透了脑筋。用原先存着的ifort编译的vasp计算后得到的OPTIC二进制文件optics程序执行后介电函数实部很多nan。还是用以前pgf90编译的vasp运行,这才没有了问题。 optics程序需要用paw的势,可以用USPP计算其他的东西,当要计算光学性质的时候改用pgf90编译的vasp和paw势即可。 OPTIC计算出来后,一定要记得cp IBZKPT KPOINTS。 程序规定要将ISMEAR设为采用Tetrahedron k mesh。因此,k点数起码要超过4个。我计算Se supercell用的1*1*2就不行。真正要计算的时候要将K点取大。 目前来看得到的结果和CASTEP的结果类似。 |
2楼2009-08-09 13:10:11
|
optics程序incompatible number of kpoints错误 转自:http://new.quantumchemistry.net/ ... .asp?ArticleID=1143 运行vasp的计算光学性质的程序optics的时候,虽然K点是用的ismear=4之后生成的IBZKPT里面的list,也生成了OPTIC文件。但是运行optics程序时有时候会出现以下的错误:incompatible number of kpoints in file KPOINTS and OPTIC。OPTCTR也有。 出现此错误的原因是vasp和optics程序的big-endian/little-endian模式不同。所谓的big/little endian是一种存储模式,代表高位字节存在高位地址或低位地址里面。在optics和 vasp的 makefile 里面都有这样的编译选项 -byteswapio。 所以解决方法就是只需在vasp和optics两个makefile里面指定相同的模式即可。具体方法为在optics的makefile里面加上或去掉 -byteswapio 选项。要么都有-byteswapio,要么都没有,总之要保持一致。 [ Last edited by 顺水 on 2009-8-9 at 13:15 ] |
3楼2009-08-09 13:10:52
4楼2009-08-09 13:11:16
6楼2009-08-09 13:15:57
7楼2009-08-09 13:21:30
8楼2009-08-09 14:39:19
9楼2009-08-09 17:14:56
10楼2009-08-10 02:15:10
14楼2009-08-10 20:48:43
15楼2009-08-11 12:18:41
18楼2009-08-17 18:21:32
20楼2009-09-04 20:00:00
22楼2009-09-29 23:57:02
23楼2009-10-13 22:42:46
25楼2010-02-06 05:11:38
26楼2010-04-08 21:09:13
27楼2010-06-29 09:17:32
28楼2011-05-03 10:09:53
★★★ 三星级,支持鼓励
|
请问如何编译出optics呀 我在http://www.freeware.vasp.de/VASP/ 下载。F的程序,先make一下 出了许多.o文件 ,考到optics的文件夹下 make clean一下 然后make 出现(cd .. ; /usr/bin/make ; cd optics) make[1]: 进入目录“/root/VASP计算/vasp” make[1]: *** 没有指明目标并且找不到 makefile。 停止。 make[1]: 离开目录“/root/VASP计算/vasp” /usr/bin/make optics make[1]: 进入目录“/root/VASP计算/vasp/optics” /usr/bin/cpp -P -C -Dkind8 -DNGXhalf -DCACHE_SIZE=1000 -DPGF90 -Davoidalloc /opt/pgi/linux86/11.5/bin/pgf90 -Mfree -O2 -tp p6 -Minline=name:KRAMERS -c optics.f NOTE: your trial license will expire in 9 days, 4.44 hours. PGF90-F-0004-Unable to open MODULE file prec.mod (optics.f: 10) PGF90/x86 Linux 11.5-0: compilation aborted make[1]: *** 请问我改怎么办 |
29楼2011-05-17 19:42:08
30楼2011-08-31 16:09:00
31楼2013-11-22 17:30:46
32楼2013-11-22 18:21:57
★★★★★ 五星级,优秀推荐
|
我用ifort在vasp4.6上成功编译了optics,也用Vasp4.6成功获得了OPTIC文件,但是 ./optics 执行的时候出现报错: scanning POSCAR, KPOINTS and OPTIC reading KPOINTS and OPTIC forrtl: severe (36): attempt to access non-existent record, unit 20, file /hpc/wdd/jobs/ZnO-jdos/opt/OPTIC Image PC Routine Line Source optics 00000000004D747D Unknown Unknown Unknown optics 00000000004D5F85 Unknown Unknown Unknown optics 0000000000483690 Unknown Unknown Unknown optics 000000000043C13F Unknown Unknown Unknown optics 000000000043B972 Unknown Unknown Unknown optics 0000000000454EC7 Unknown Unknown Unknown optics 0000000000453118 Unknown Unknown Unknown optics 0000000000417EC6 Unknown Unknown Unknown optics 0000000000409D3C Unknown Unknown Unknown optics 00000000004036EC Unknown Unknown Unknown libc.so.6 00000038CB21D994 Unknown Unknown Unknown optics 00000000004035F9 Unknown Unknown Unknown 我在optics.f文件中加了几个write ,发现能够从OPTIC中读出总的能带数,价带数,导带数以及K点数目,这证明OPTIC文件是可以读取的,不知道为什么还会出现forrtl: severe (36): attempt to access non-existent record呢?期待楼主帮助 |
33楼2014-05-21 10:40:37
34楼2016-11-04 10:40:32
简单回复
wuli85楼
2009-08-09 13:12
回复
wonderflyer11楼
2009-08-10 08:20
回复


kjl840112楼
2009-08-10 09:10
回复


zhangyunli13楼
2009-08-10 13:48
回复


md94119416楼
2009-08-11 13:32
回复


zch20375517楼
2009-08-12 17:47
回复


28220679619楼
2009-08-18 21:08
回复


顺水21楼
2009-09-28 10:13
回复

freshgirl24楼
2009-10-15 16:06
回复













回复此楼