| 34 | 1/1 | 返回列表 |
| 查看: 11630 | 回復(fù): 33 | |||||||||||
| 【獎(jiǎng)勵(lì)】 本帖被評(píng)價(jià)19次,作者順?biāo)黾咏饚?17.5 個(gè) | |||||||||||
順?biāo)?/a>金蟲 (小有名氣)
|
[資源]
【轉(zhuǎn)帖】關(guān)于從vasp4.5、4.6計(jì)算光學(xué)性質(zhì)(組合帖)
|
||||||||||
|
一、關(guān)于VASP中光學(xué)optics.F程序的編譯(ifort+mkl) 原帖地址http://new.quantumchemistry.net/ ... ion/200512/187.html 從VASP 4.4.4和VASP.4.4.5開始,VASP支持簡(jiǎn)單的光學(xué)性質(zhì)的計(jì)算。其具體實(shí)現(xiàn)程序是optics.F。其中一些必需的后處理程序,可以向Jürgen Furthmüller發(fā)信要。 此程序可以使用ifort和mkl編譯出來,用pgi編譯它說optics.f語(yǔ)法錯(cuò),不知道為什么。然后用編譯成功的程序處理已經(jīng)得出OPTIC文件的一個(gè)目錄,滿心歡喜,結(jié)果給我了這些東西: 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 貌似段錯(cuò)誤。 具體編譯方法是先編譯optics上一級(jí)目錄中的文件,得到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的版本無關(guān),我4.5.5到4.6.25都可以編譯的過去。因?yàn)樗黮ink時(shí),需要的 只是vasp.4.lib中的文件,而vasp.4.lib中的文件基本是不升級(jí)或更新的。 [ Last edited by wuli8 on 2009-8-12 at 18:00 ] |
仿真建模與計(jì)算 | 第一性原理計(jì)算資源總匯 | VASP | Optical |
計(jì)算-vasp | first principle | vasp光學(xué) | 模擬計(jì)算課題的學(xué)習(xí) |
光學(xué)性質(zhì)計(jì)算 |
金蟲 (小有名氣)
|
OPTIC 編譯2 編譯出了optics,問題已經(jīng)不大了 首先到http://www.freeware.vasp.de/VASP/ 去下載最新版的optics和其他的一些東西。注意,其中的一些F程序似乎有語(yǔ)法錯(cuò)誤,起碼在pgf90編譯的情況下提示出錯(cuò),它們是: smear.F的第29行,SUBROUTINE中的S寫到了第6列,同一行的換行符應(yīng)該寫在第30行第7列。 error.F的第8行還有下面一個(gè)類似的地方,&字符越界,應(yīng)該換到下一行做換行符用。 symlib.F缺少了sym_prec模塊,添加進(jìn)去。 MODULE sym_prec USE prec REAL(q) :: TINY=1.E-5_q END MODULE 然后我很順利地用pgf90加上pgf90自己的blas和lapack編譯出了vasp。然后手動(dòng)編譯error.F,prec.F,smear.F,就用pgf90 -c smear.F這樣的格式即可,產(chǎn)生相應(yīng)的.o文件。然后進(jìn)入optics目錄,make clean一下后,修改makefile,用和編譯vasp一樣的blas和lapack來編譯optics,成功。但是此時(shí)的vasp.4.6目錄下的 vasp是有問題的,執(zhí)行起來沒有任何輸出,讓我傷透了腦筋。用原先存著的ifort編譯的vasp計(jì)算后得到的OPTIC二進(jìn)制文件optics程序執(zhí)行后介電函數(shù)實(shí)部很多nan。還是用以前pgf90編譯的vasp運(yùn)行,這才沒有了問題。 optics程序需要用paw的勢(shì),可以用USPP計(jì)算其他的東西,當(dāng)要計(jì)算光學(xué)性質(zhì)的時(shí)候改用pgf90編譯的vasp和paw勢(shì)即可。 OPTIC計(jì)算出來后,一定要記得cp IBZKPT KPOINTS。 程序規(guī)定要將ISMEAR設(shè)為采用Tetrahedron k mesh。因此,k點(diǎn)數(shù)起碼要超過4個(gè)。我計(jì)算Se supercell用的1*1*2就不行。真正要計(jì)算的時(shí)候要將K點(diǎn)取大。 目前來看得到的結(jié)果和CASTEP的結(jié)果類似。 |
金蟲 (小有名氣)
|
optics程序incompatible number of kpoints錯(cuò)誤 轉(zhuǎn)自:http://new.quantumchemistry.net/ ... .asp?ArticleID=1143 運(yùn)行vasp的計(jì)算光學(xué)性質(zhì)的程序optics的時(shí)候,雖然K點(diǎn)是用的ismear=4之后生成的IBZKPT里面的list,也生成了OPTIC文件。但是運(yùn)行optics程序時(shí)有時(shí)候會(huì)出現(xiàn)以下的錯(cuò)誤:incompatible number of kpoints in file KPOINTS and OPTIC。OPTCTR也有。 出現(xiàn)此錯(cuò)誤的原因是vasp和optics程序的big-endian/little-endian模式不同。所謂的big/little endian是一種存儲(chǔ)模式,代表高位字節(jié)存在高位地址或低位地址里面。在optics和 vasp的 makefile 里面都有這樣的編譯選項(xiàng) -byteswapio。 所以解決方法就是只需在vasp和optics兩個(gè)makefile里面指定相同的模式即可。具體方法為在optics的makefile里面加上或去掉 -byteswapio 選項(xiàng)。要么都有-byteswapio,要么都沒有,總之要保持一致。 [ Last edited by 順?biāo)?on 2009-8-9 at 13:15 ] |
金蟲 (小有名氣)
|
VASP光學(xué)計(jì)算輸入文件 先用ISMEAR=-4 or -5,INCAR里面設(shè)置LOPTICS=.TRUE.即可。注意要用paw的勢(shì)才行。 然后cp IBZKPT KPOINTS,建立一個(gè)叫OPTCTR的文件,里面寫一些控制參數(shù),一個(gè)很簡(jiǎn)單的例子是: OMMIN = 0 OMMAX = 20 NEDOS = 1000 ISYMM = 1 LJDOS = .TRUE. LDOS = .FALSE. LKRAMERS = .TRUE. GAMMA = 0.2 最后運(yùn)行那個(gè)optics程序即可。 |
金蟲 (小有名氣)
金蟲 (小有名氣)
榮譽(yù)版主 (知名作家)
金蟲 (小有名氣)
榮譽(yù)版主 (著名寫手)
|
請(qǐng)問如何編譯出optics呀 我在http://www.freeware.vasp.de/VASP/ 下載。F的程序,先make一下 出了許多.o文件 ,考到optics的文件夾下 make clean一下 然后make 出現(xiàn)(cd .. ; /usr/bin/make ; cd optics) make[1]: 進(jìn)入目錄“/root/VASP計(jì)算/vasp” make[1]: *** 沒有指明目標(biāo)并且找不到 makefile。 停止。 make[1]: 離開目錄“/root/VASP計(jì)算/vasp” /usr/bin/make optics make[1]: 進(jìn)入目錄“/root/VASP計(jì)算/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]: *** 請(qǐng)問我改怎么辦 |
榮譽(yù)版主 (文壇精英)
木蟲 (職業(yè)作家)
木蟲 (職業(yè)作家)
木蟲 (正式寫手)
|
我用ifort在vasp4.6上成功編譯了optics,也用Vasp4.6成功獲得了OPTIC文件,但是 ./optics 執(zhí)行的時(shí)候出現(xiàn)報(bào)錯(cuò): 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文件中加了幾個(gè)write ,發(fā)現(xiàn)能夠從OPTIC中讀出總的能帶數(shù),價(jià)帶數(shù),導(dǎo)帶數(shù)以及K點(diǎn)數(shù)目,這證明OPTIC文件是可以讀取的,不知道為什么還會(huì)出現(xiàn)forrtl: severe (36): attempt to access non-existent record呢?期待樓主幫助 |













| 34 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 求調(diào)劑一志愿武漢理工大學(xué)材料工程(085601) +6 | WW.' 2026-03-23 | 8/400 |
|
|---|---|---|---|---|
|
[考研] 085600 材料與化工 329分求調(diào)劑 +11 | Mr. Z 2026-03-25 | 11/550 |
|
|
[考研] 300求調(diào)劑,材料科學(xué)英一數(shù)二 +8 | leaflight 2026-03-24 | 8/400 |
|
|
[考研] 343求調(diào)劑 +5 | 愛羈絆 2026-03-28 | 5/250 |
|
|
[考研] 320分,材料與化工專業(yè),求調(diào)劑 +9 | 一定上岸aaa 2026-03-27 | 13/650 |
|
|
[考研] 求調(diào)劑 +6 | 蘆lty 2026-03-25 | 7/350 |
|
|
[考研] 311求調(diào)劑 +9 | lin0039 2026-03-26 | 9/450 |
|
|
[考研] 286求調(diào)劑 +4 | 丟掉懶惰 2026-03-27 | 7/350 |
|
|
[考研] 291求調(diào)劑 +7 | 孅華 2026-03-22 | 7/350 |
|
|
[考研] 一志愿上海理工能源動(dòng)力(085800)310分求調(diào)劑 +3 | zhangmingc 2026-03-27 | 4/200 |
|
|
[考研]
|
18419759900 2026-03-25 | 8/400 |
|
|
[考研] 279 分 求調(diào)劑 +4 | 睡個(gè)好覺_16 2026-03-24 | 4/200 |
|
|
[考研] 341求調(diào)劑 +7 | 青檸檬1 2026-03-26 | 7/350 |
|
|
[考研] 0703化學(xué)求調(diào)劑 +3 | 丹青奶蓋 2026-03-26 | 5/250 |
|
|
[考研]
材料調(diào)劑
5+4
|
想要一壺桃花水 2026-03-25 | 10/500 |
|
|
[考研] 0854電子信息求調(diào)劑 +7 | α____ 2026-03-22 | 9/450 |
|
|
[考研] 生物學(xué)學(xué)碩求調(diào)劑 +7 | 小羊睡著了? 2026-03-23 | 10/500 |
|
|
[考研] 300分,材料,求調(diào)劑,英一數(shù)二 +5 | 超贊的 2026-03-24 | 5/250 |
|
|
[考研] 080500求調(diào)劑 +3 | zzzzfan 2026-03-24 | 3/150 |
|
|
[考博] 26申博自薦 +3 | whh869393 2026-03-24 | 3/150 |
|