| 24小時(shí)熱門(mén)版塊排行榜 |
| 5 | 1/1 | 返回列表 |
| 查看: 3418 | 回復(fù): 17 | |||
| 當(dāng)前只顯示滿(mǎn)足指定條件的回帖,點(diǎn)擊這里查看本話(huà)題的所有回帖 | |||
風(fēng)雨同周113金蟲(chóng) (初入文壇)
|
[交流]
【求助】求產(chǎn)生變形后POSCAR的 defvector.f 程序的源文件
|
||
| 最近剛學(xué)習(xí)使用VASP軟件,看侯博的說(shuō)明書(shū)中提到計(jì)算彈性常數(shù)要用到defvector.f,請(qǐng)問(wèn)這個(gè)程序在哪里可以找到呢?望大家給指導(dǎo)指導(dǎo),不勝感激啊 |
» 搶金幣啦!回帖就可以得到:
+5/840
+1/87
+1/80
+2/40
+1/37
+1/35
+1/35
+1/28
+2/26
+1/25
+2/18
+1/16
+1/14
+1/8
+1/7
+1/7
+1/6
+1/4
+1/2
+1/2
木蟲(chóng) (文壇精英)
木蟲(chóng) (正式寫(xiě)手)
金蟲(chóng) (小有名氣)
|
C%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% C >this simple program to get the primitive vectors after C $\delta$ strain, in order to calculate the independent C elastic constants of solids. C usage: C!!!!! Please first prepare the undeformed POSCAR in OLDPOS C >defvector.x C >type defvector.x > create new POSCAR in file fort.3 C%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% program defvector real*8 privect,strvect,delta,strten,strain,pos, alat dimension privect(3,3),strvect(3,3),strten(3,3),strain(6) dimension pos(50,3) character*10 bravlat, title, direct integer i,j,k,ntype, natomi, nn dimension natomi(10) C%%%%%%%%% Read the undeformed primitive vector and atomic postion %%%%%%% open(7,file='OLDPOS') C%% In first line of OLDPOS, please add the number C%% of the type of atoms after the title read(7,*) title, ntype read(7,*) alat do i=1,3 read(7,*) (privect(i,j),j=1,3) write(*,*) (privect(i,j),j=1,3) enddo read(7,*) (natomi(i),i=1,ntype) nn=0 do i =1, ntype nn=nn+natomi(i) enddo read(7,*) direct do i=1, nn read(7,*) (pos(i,j),j=1,3) enddo C%%%%%%%%% Read the amti of strain %%%%%%%%%%%%%%% read(*,*) delta C%%%%%%%%% Define the strain %%%%%%%%%%%%%% strain(1)=0.0 strain(2)=delta strain(3)=delta strain(4)=0.0 strain(5)=0.0 strain(6)=0.0 C%%%%%%%%% Define the strain tensor %%%%%%%%%%%%%%%%%%%%%%%% strten(1,1)=strain(1)+1.0 strten(1,2)=0.5*strain(6) strten(1,3)=0.5*strain(5) strten(2,1)=0.5*strain(6) strten(2,2)=strain(2)+1.0 strten(2,3)=0.5*strain(4) strten(3,1)=0.5*strain(5) strten(3,2)=0.5*strain(4) strten(3,3)=strain(3)+1.0 C%%%%%%%%% Transform the primitive vector to the new vector under strain%%%%% C strvect(i,j)=privect(i,j)*(I+strten(i,j)) do k=1,3 do i=1,3 strvect(i,k)=0.0 do j=1,3 strvect(i,k)=strvect(i,k)+privect(i,j)*strten(j,k) enddo enddo enddo C%%%%%%%% Write the new vector under strain%%%%%%%%%%%% do i=1,3 write(*,100)(strvect(i,j),j=1,3) enddo 100 format(3f20.15) C%%%%%%%%% Create the POSCAR for total energy calculation %%%%%%%%%%%%%%5 write(3,'(A10)') title write(3,'(f15.10)') alat do i=1,3 write(3,100)(strvect(i,j),j=1,3) enddo write(3,'(10I4)') (natomi(i), i=1,ntype) write(3,'(A6)') Direct do i=1, nn write(3,100) (pos(i,j),j=1,3) enddo C%%%%%%% end |
鐵蟲(chóng) (正式寫(xiě)手)
|
為何我編譯能通過(guò),運(yùn)行的時(shí)候出現(xiàn)invalid number:incomprehensible list input apparent state: unit 7 named OLDPOS last format: list io lately reading direct formatted external IO 或者apparent state: unit 5 (unnamed) last format: list io lately reading direct formatted external IO list in: end of file 的問(wèn)題呢? |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|