| ²é¿´: 2138 | »Ø¸´: 9 | ||||||
yjcmwgk½û³æ (ÎÄ̳¾«Ó¢)
Ãܶȷºº¯¡¤Ð¡×ä
|
[ÇóÖú]
ÓÃPython¶ÁGaussianµÄcubeÎļþ£¬ËٶȺÜÂý£¬ÔõÃ´ÆÆ£¿Ð»Ð»£¡£¡£¡ ÒÑÓÐ4È˲ÎÓë
|
|
Ïò¸÷λpython´óÏÀÇó½ÌÒ»¸öÎÊÌ⣬лл¸÷λ£¡ ÎÒÕýÔÚÓÃpython¶ÁÒ»¸öÓÉGaussianÉú³ÉµÄcubeÎļþ¡£µ«ÊǶÁÎļþ¶ÁµÃ·Ç³£Âý£¬¶ÁÒ»¸ö6M¶àµÄcubeÎļþ£¬¾ÓÈ»ÓÃÁË3·ÖÖÓ£¡ ¾ßÌåÎÊÌâÈçÏ£º ÓÃcubefileÀ´´ò¿ªÄ³¸öcubeÎļþ¡£È»ºó¼ÌÐø ÎÒ»³ÒÉtmpline = tmplines[i-1]Õâ¾ä»°ÍÏÀÛµÄËÙ¶È£¿Ó¦¸ÃÈçºÎÐ޸ģ¿·Ç³£¸Ðл¸ßÊÖ°ïÖú£¡£¡ ¸Ðл£¡£¡ |
» ÊÕ¼±¾ÌûµÄÌÔÌûר¼ÍƼö
SOB ¼¯½õ | ¾Ñé | ÔÓÊé |
» ²ÂÄãϲ»¶
2026ºþ±±Ê¦·¶´óѧ»¯Ñ§»¯¹¤Ñ§ÔºÕÐÊÕ˶ʿÑо¿Éúµ÷¼Á
ÒѾÓÐ0È˻ظ´
2026ºþ±±Ê¦·¶´óѧ»¯Ñ§»¯¹¤Ñ§ÔºÕÐÊÕÑо¿Éúµ÷¼Á
ÒѾÓÐ0È˻ظ´
ÎïÀí»¯Ñ§ÂÛÎÄÈóÉ«/·ÒëÔõôÊÕ·Ñ?
ÒѾÓÐ253È˻ظ´
26Äê²ÄÁÏ/»¯Ñ§Ïà¹Ø×¨Òµ²©Ê¿Ñо¿ÉúÕÐÉú ÎÂÖÝ´óѧ»¯Ñ§Óë²ÄÁϹ¤³ÌѧԺ(26ÄêÇï¼¾Èëѧ)
ÒѾÓÐ0È˻ظ´
0703µ÷¼Á
ÒѾÓÐ2È˻ظ´
2026Ä격ʿÑо¿ÉúÕÐÉú
ÒѾÓÐ1È˻ظ´
304Çóµ÷¼Á
ÒѾÓÐ6È˻ظ´
ÕÐÉú²ÄÁÏÓ뻯¹¤¡¢»·¾³¿ÆÑ§µ÷¼ÁÑо¿Éú
ÒѾÓÐ5È˻ظ´
¹ØÓÚÑо¿Éúµ÷¼ÁµÄЩÐí½¨Òé
ÒѾÓÐ1È˻ظ´
» ±¾Ö÷ÌâÏà¹Ø¼ÛÖµÌùÍÆ¼ö£¬¶ÔÄúͬÑùÓаïÖú:
AIMÈçºÎʹÓÃ(¼±£¡£¡£¡£©
ÒѾÓÐ18È˻ظ´
ûÓÐGaussian°æÈ¨ÓÃʲô¿´cubeÎļþÀïµÄ¹ìµÀ
ÒѾÓÐ6È˻ظ´
ʹÓÃAdNDP·½·¨ÒÔ¼°ELF/LOL¡¢¶àÖÐÐļü¼¶Ñо¿¶àÖÐÐļü
ÒѾÓÐ14È˻ظ´
ÓÃMultiwfn¡¢Gaussview¡¢Molekel¡¢VMD¹Û¿´ÁúϺ¡¢Åè¾°¡¢¹ÇÅè¡¢´óÄÔ
ÒѾÓÐ16È˻ظ´
¡¾ÇóÖú¡¿ÓÃgaussian¼ÆËãµÃµ½outÎļþºÍchkÎļþ£¬ÔõôµÃµ½fchÎļþ£¿
ÒѾÓÐ4È˻ظ´
¡¾neweroica¸öÈËÎ¿×ª»»VASPµÄCHGCARΪcubeÎļþµÄ³ÌÐòchgcar2cube£¨v0.0£©
ÒѾÓÐ45È˻ظ´
yjcmwgk
½û³æ (ÎÄ̳¾«Ó¢)
Ãܶȷºº¯¡¤Ð¡×ä
- QCÇ¿Ìû: 38
- Ó¦Öú: 165 (¸ßÖÐÉú)
- ¹ó±ö: 16.999
- ½ð±Ò: 554.6
- É¢½ð: 39880
- ºì»¨: 395
- ɳ·¢: 2
- Ìû×Ó: 10406
- ÔÚÏß: 1528.1Сʱ
- ³æºÅ: 448368
- ×¢²á: 2007-11-01
- רҵ: ÀíÂۺͼÆË㻯ѧ
- ¹ÜϽ: ¿ÆÑй¤¾ß×ÊÔ´
2Â¥2014-10-04 11:08:58
frk2008
ľ³æ (ÕýʽдÊÖ)
- Ó¦Öú: 7 (Ó×¶ùÔ°)
- ½ð±Ò: 3434.4
- ºì»¨: 1
- Ìû×Ó: 489
- ÔÚÏß: 440.9Сʱ
- ³æºÅ: 841330
- ×¢²á: 2009-09-05
- רҵ: µç»¯Ñ§
¡¾´ð°¸¡¿Ó¦Öú»ØÌû
¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï
¸Ðл²ÎÓ룬ӦÖúÖ¸Êý +1
yjcmwgk: ½ð±Ò+20, ¡ïÓаïÖú, ·Ç³£¸Ðл£¬ÎÒºóÀ´ÓÃtmpp = ((' '.join(cubefile.readlines())).replace("/n"," ")).split()½â¾öÁË 2014-10-05 16:10:10
gmy1990: ½ð±Ò+3 2014-10-05 18:49:03
¸Ðл²ÎÓ룬ӦÖúÖ¸Êý +1
yjcmwgk: ½ð±Ò+20, ¡ïÓаïÖú, ·Ç³£¸Ðл£¬ÎÒºóÀ´ÓÃtmpp = ((' '.join(cubefile.readlines())).replace("/n"," ")).split()½â¾öÁË 2014-10-05 16:10:10
gmy1990: ½ð±Ò+3 2014-10-05 18:49:03
|
ÊÔÊÔÕâ¸ö£¬¿´¿´Ð§¹ûÈçºÎ£º [ code] tmplines = cubefile.readlines() tempstr = "".join(tmplines) #°Ñlistת»¯Îªstr£¬ÐÎʽӦ¸ÃÊÇ'num num ...num\nnum ...' tempstr = tempstr.replace('\n',' ') #°ÑstrÖеÄ'\n'Ìæ»»Îª' ' tmpcubedata = tempstr.split(' ') #°ÑstrתΪlist n=0 numcount=len(tmpcubedata) #listµÄÊý¾Ý×ÜÊý for i in tmpcubedata: n+=1 if i%60000==0: print "Converting", cubefilename, "...... ", int(100.0*float(i)/float(numcount)), "%" #if i=="": #tmpcubedata.remove(i) #Èç¹ûcubefile ÎļþÖÐÖмäÓпÕÐУ¬ÔòÐèÒªÕâ¸ö¹¦ÄÜ if tmpcubedata[-1]=="": del tmpcubedata[-1] #Èç¹ûcubefile ÎļþÒÔ¡®num\n¡®½áβ print "Converting", cubefilename, "...... ", "100 %" [ /code] |
3Â¥2014-10-04 15:23:36
rh1127
¾èÖú¹ó±ö (ÖøÃûдÊÖ)
Ò»Ãû¹¤³Ìʦ@ÉϺ£
- Ó¦Öú: 2 (Ó×¶ùÔ°)
- ½ð±Ò: 21406.7
- ºì»¨: 5
- Ìû×Ó: 1616
- ÔÚÏß: 139.5Сʱ
- ³æºÅ: 116848
- ×¢²á: 2005-11-25
- ÐÔ±ð: GG
- רҵ: ½ºÌåÓë½çÃæ»¯Ñ§
¡¾´ð°¸¡¿Ó¦Öú»ØÌû
¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï
¸Ðл²ÎÓ룬ӦÖúÖ¸Êý +1
yjcmwgk: ½ð±Ò+20, ¡ïÓаïÖú, ·Ç³£¸Ðл£¬ÎÒºóÀ´ÓÃtmpp = ((' '.join(cubefile.readlines())).replace("/n"," ")).split()½â¾öÁË 2014-10-05 16:10:21
gmy1990: ½ð±Ò+2 2014-10-05 18:49:14
¸Ðл²ÎÓ룬ӦÖúÖ¸Êý +1
yjcmwgk: ½ð±Ò+20, ¡ïÓаïÖú, ·Ç³£¸Ðл£¬ÎÒºóÀ´ÓÃtmpp = ((' '.join(cubefile.readlines())).replace("/n"," ")).split()½â¾öÁË 2014-10-05 16:10:21
gmy1990: ½ð±Ò+2 2014-10-05 18:49:14
|
ÓÃnumpyºÍpandasÄ£¿é¶ùÀ´´¦Àí´óÐÍÊý×飬±ÈÖ»ÓÃforÑ»·Ëٶȿ켸ʮ±¶²»Ö¹¡£python×Ô´øµÄÑ»·Î´¾ÓÅ»¯£¬ºÜ¼É»äÀ´´¦Àí´óÐÍÊý×飡 Ï£Íû¶ÔÄãÓаïÖú¡£ |

4Â¥2014-10-05 09:21:10
magicmonk
ÖÁ×ðľ³æ (ÖøÃûдÊÖ)
- Ó¦Öú: 172 (¸ßÖÐÉú)
- ½ð±Ò: 11451.3
- ºì»¨: 24
- Ìû×Ó: 1124
- ÔÚÏß: 3108.8Сʱ
- ³æºÅ: 1191315
- ×¢²á: 2011-01-17
- רҵ: ÀíÂۺͼÆË㻯ѧ

5Â¥2014-10-05 09:50:45
rh1127
¾èÖú¹ó±ö (ÖøÃûдÊÖ)
Ò»Ãû¹¤³Ìʦ@ÉϺ£
- Ó¦Öú: 2 (Ó×¶ùÔ°)
- ½ð±Ò: 21406.7
- ºì»¨: 5
- Ìû×Ó: 1616
- ÔÚÏß: 139.5Сʱ
- ³æºÅ: 116848
- ×¢²á: 2005-11-25
- ÐÔ±ð: GG
- רҵ: ½ºÌåÓë½çÃæ»¯Ñ§
¡¾´ð°¸¡¿Ó¦Öú»ØÌû
|
Â¥Ö÷£¬ÎÒÇ××Ô¸øÄãcodeµÄ±ê×¼´ð°¸£º ¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª import numpy as np import string def readCube2Array(cubeFile): f=open(cubeFile,'r') lines=f.readlines() i=-1 for l in lines: i=i+1 if string.find(l,'E-')>0: break print i #ÕÒµ½µÚÒ»ÐÐÄãÐèÒª´æµÄÊý¾Ý s=(''.join(lines[i:])).replace(" "," " #½«ËùÓÐË«¿Õ¸ñ»»³ÉÒ»¸ö¿Õ¸ñs=s.replace("\n"," " #°ÑËùÓл»Ðзû»»³Éµ¥¸ö¿Õ¸ñdataArray=np.fromstring(s,dtype=double, sep=' ') #µ÷ÓÃnumpy°Ñ×Ö·û´®×ª³ÉdoubleÀàÐ͵ÄÊý×é return dataArray #·µ»ØÄãÒªµÄÊý×é filename='test677-ref.cube' #ÕâÊÇÎҵIJâÊÔÎļþ£¬ÊÇÒ»¸ö¸ß˹09×Ô´øµÄcubeÎļþ£¬ÓоÅÍò¶àÐÐÊý¾Ý dArray=readCube2Array(filename) #Õâ¾ÍÊÇÄãÏëÒªµÄ½á¹û£¬¸ù±¾²»Óÿ´½ø¶È£¬Ë²¼äÍê³É ¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ªÕâ¸ö³ÌÐòµÄÖ´ÐÐʱ¼äÎÒÒ²¿´ÁË¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª¡ª %timeit dArray=readCube2Array(filename) 30 30 30 30 1 loops, best of 3: 380 ms per loop ´ó¸ÅÊÇ380ms¾ÍÄÜÖ´ÐÐÍêÒ»¸öcubeÎļþµÄµ¼³ö£¬ÎÒ¾õµÃ¾ø¶Ô±ÈÄãµÄ³ÌÐò¿é²»Ö¹¼¸Ê®±¶¡£ ¸Ï½ô¸ø·ÖÁË£¬ÓÐÎÊÌâ¸øÎÒÁôÑÔ£¡ |

6Â¥2014-10-05 14:43:33
rh1127
¾èÖú¹ó±ö (ÖøÃûдÊÖ)
Ò»Ãû¹¤³Ìʦ@ÉϺ£
- Ó¦Öú: 2 (Ó×¶ùÔ°)
- ½ð±Ò: 21406.7
- ºì»¨: 5
- Ìû×Ó: 1616
- ÔÚÏß: 139.5Сʱ
- ³æºÅ: 116848
- ×¢²á: 2005-11-25
- ÐÔ±ð: GG
- רҵ: ½ºÌåÓë½çÃæ»¯Ñ§
¡¾´ð°¸¡¿Ó¦Öú»ØÌû
|
import numpy as np import string def readCube2Array(cubeFile): f=open(cubeFile,'r') lines=f.readlines() i=-1 for l in lines: i=i+1 if string.find(l,'E-')>0: break print i s=(''.join(lines[i:])).replace(" "," " ) s=s.replace("\n"," " ) dataArray=np.fromstring(s,dtype=double, sep=' ') return dataArray filename='test677-ref.cube' dArray=readCube2Array(filename) |

7Â¥2014-10-05 14:47:08
rh1127
¾èÖú¹ó±ö (ÖøÃûдÊÖ)
Ò»Ãû¹¤³Ìʦ@ÉϺ£
- Ó¦Öú: 2 (Ó×¶ùÔ°)
- ½ð±Ò: 21406.7
- ºì»¨: 5
- Ìû×Ó: 1616
- ÔÚÏß: 139.5Сʱ
- ³æºÅ: 116848
- ×¢²á: 2005-11-25
- ÐÔ±ð: GG
- רҵ: ½ºÌåÓë½çÃæ»¯Ñ§
¡¾´ð°¸¡¿Ó¦Öú»ØÌû
¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï
yjcmwgk: ½ð±Ò+50, ¡ï¡ï¡ï¡ï¡ï×î¼Ñ´ð°¸, ·Ç³£¸Ðл£¬ÎÒºóÀ´×Ô¼ºÓÃtmpp = ((' '.join(cubefile.readlines())).replace("/n"," ")).split()½â¾öÁË 2014-10-05 16:10:46
yjcmwgk: ½ð±Ò+50, ¡ï¡ï¡ï¡ï¡ï×î¼Ñ´ð°¸, ·Ç³£¸Ðл£¬ÎÒºóÀ´×Ô¼ºÓÃtmpp = ((' '.join(cubefile.readlines())).replace("/n"," ")).split()½â¾öÁË 2014-10-05 16:10:46
| µÚÒ»¸öÂÛ̳×Ô¶¯×ª³É±íÇéÁË£¬ÄãÓõڶþ¸ö°É£¬¶¼ÄÜÔËÐС£¸Ï½ô¸ø·ÖŶ£º£© |

8Â¥2014-10-05 14:47:46
Á½Á£Ò»Æð³Ô
½ð³æ (³õÈëÎÄ̳)
- Ó¦Öú: 4 (Ó×¶ùÔ°)
- ½ð±Ò: 788.9
- É¢½ð: 1042
- ºì»¨: 2
- Ìû×Ó: 28
- ÔÚÏß: 85.5Сʱ
- ³æºÅ: 2227721
- ×¢²á: 2013-01-07
- ÐÔ±ð: GG
- רҵ: ¼ÆËã»úÍøÂç
¡¾´ð°¸¡¿Ó¦Öú»ØÌû
¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï ¡ï
¸Ðл²ÎÓ룬ӦÖúÖ¸Êý +1
yjcmwgk: ½ð±Ò+10, ¡ïÓаïÖú, ·Ç³£¸Ðл£¬ÎÒºóÀ´ÓÃtmpp = ((' '.join(cubefile.readlines())).replace("/n"," ")).split()½â¾öÁË 2014-10-05 16:10:53
gmy1990: ½ð±Ò+3 2014-10-05 18:50:03
¸Ðл²ÎÓ룬ӦÖúÖ¸Êý +1
yjcmwgk: ½ð±Ò+10, ¡ïÓаïÖú, ·Ç³£¸Ðл£¬ÎÒºóÀ´ÓÃtmpp = ((' '.join(cubefile.readlines())).replace("/n"," ")).split()½â¾öÁË 2014-10-05 16:10:53
gmy1990: ½ð±Ò+3 2014-10-05 18:50:03
|
ÄãµÄ´úÂë²»pythonic£¬²»Ò×¶ÁÒ²ºÜµÍЧ£¬ ÕâÀï¸ø¸öÀý×Ó£¬²»ÖªµÀÊDz»ÊÇÄãÒªµÄ¹¦ÄÜ def readcube(cubefile): cubedata = [] with open(cubefile) as f: lines = f.readlines() # if cubefile is large, read it in streaming or blocks # handle headers here for line in lines[2:]: for item in line.split(): cubedata.append(eval(item)) return cubedata if __name__ == '__main__': testfile = 'test.cube' data = readcube(testfile) print(len(data)) print(data[:10]) print(data[-10:]) |
9Â¥2014-10-05 15:29:16
rh1127
¾èÖú¹ó±ö (ÖøÃûдÊÖ)
Ò»Ãû¹¤³Ìʦ@ÉϺ£
- Ó¦Öú: 2 (Ó×¶ùÔ°)
- ½ð±Ò: 21406.7
- ºì»¨: 5
- Ìû×Ó: 1616
- ÔÚÏß: 139.5Сʱ
- ³æºÅ: 116848
- ×¢²á: 2005-11-25
- ÐÔ±ð: GG
- רҵ: ½ºÌåÓë½çÃæ»¯Ñ§

10Â¥2014-10-05 19:31:58














»Ø¸´´ËÂ¥
#½«ËùÓÐË«¿Õ¸ñ»»³ÉÒ»¸ö¿Õ¸ñ