| ²é¿´: 2107 | »Ø¸´: 9 | |||||
yjcmwgk½û³æ (ÎÄ̳¾«Ó¢)
Ãܶȷºº¯¡¤Ð¡×ä
|
[ÇóÖú]
ÓÃPython¶ÁGaussianµÄcubeÎļþ£¬ËٶȺÜÂý£¬ÔõÃ´ÆÆ£¿Ð»Ð»£¡£¡£¡ ÒÑÓÐ4È˲ÎÓë
|
|
Ïò¸÷λpython´óÏÀÇó½ÌÒ»¸öÎÊÌ⣬лл¸÷λ£¡ ÎÒÕýÔÚÓÃpython¶ÁÒ»¸öÓÉGaussianÉú³ÉµÄcubeÎļþ¡£µ«ÊǶÁÎļþ¶ÁµÃ·Ç³£Âý£¬¶ÁÒ»¸ö6M¶àµÄcubeÎļþ£¬¾ÓÈ»ÓÃÁË3·ÖÖÓ£¡ ¾ßÌåÎÊÌâÈçÏ£º ÓÃcubefileÀ´´ò¿ªÄ³¸öcubeÎļþ¡£È»ºó¼ÌÐø ÎÒ»³ÒÉtmpline = tmplines[i-1]Õâ¾ä»°ÍÏÀÛµÄËÙ¶È£¿Ó¦¸ÃÈçºÎÐ޸ģ¿·Ç³£¸Ðл¸ßÊÖ°ïÖú£¡£¡ ¸Ðл£¡£¡ |
» ÊÕ¼±¾ÌûµÄÌÔÌûר¼ÍƼö
SOB ¼¯½õ | ¾Ñé | ÔÓÊé |
» ²ÂÄãϲ»¶
ÉîÛÚÐÅÏ¢Ö°Òµ¼¼ÊõѧԺ2026Äê½ÌʦÕÐÆ¸¹«¸æ£¨×îУ©
ÒѾÓÐ0È˻ظ´
È«½±²©Ê¿ Ó¢¹úÀûÎïÆÖ´óѧ ¡Á ̨ÍåÇ廪´óѧ ÁªºÏÅàÑø
ÒѾÓÐ0È˻ظ´
ÎïÀí»¯Ñ§ÂÛÎÄÈóÉ«/·ÒëÔõôÊÕ·Ñ?
ÒѾÓÐ120È˻ظ´
Ѱ²©µ¼
ÒѾÓÐ13È˻ظ´
»ù½ðÕýÎÄ30Ò³Ö¸µÄÊDZ¨¸æÕýÎÄ»¹ÊÇÕû¸öÉêÇëÊé
ÒѾÓÐ9È˻ظ´
Ñо¿ÉúÕÐÉú
ÒѾÓÐ0È˻ظ´
¹þ¶û±õ¹¤Òµ´óѧ£¨ÉîÛÚ£©ÂÌÉ«»¯Ñ§ÍŶÓÕÐÊÕ2026ÄêÇï¼¾Èëѧ²©Ê¿Éú
ÒѾÓÐ11È˻ظ´
°Ä´óÀûÑÇÀ¥Ê¿À¼¿Æ¼¼´óѧPhD²©Ê¿½±Ñ§½ð
ÒѾÓÐ0È˻ظ´
ɽÎ÷´óѧ×ÊÔ´Óë»·¾³¹¤³ÌÑо¿Ëù»¯¹¤·ÖÀë/»·¾³¹¦ÄܲÄÁÏС×éÕÐÊÕ2026Ä격ʿÉú
ÒѾÓÐ0È˻ظ´
» ±¾Ö÷ÌâÏà¹Ø¼ÛÖµÌùÍÆ¼ö£¬¶ÔÄúͬÑùÓаïÖú:
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













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