computer/programing/Python
の編集
http://siti.dip.jp/wiki/index.php?computer/programing/Python
[
トップ
] [
編集
|
差分
|
バックアップ
|
添付
|
リロード
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
|
ログイン
]
-- 雛形とするページ --
bikefriday
books
BracketName
chemical
computer
computer/equation
computer/gromacs
computer/linux
computer/linux/apache2
computer/linux/cluster
computer/linux/emacs
computer/linux/FreeNAS
computer/linux/iptables
computer/linux/networking
computer/linux/ProFTPD
computer/linux/pukiwiki
computer/linux/RaspberryPi
computer/linux/service
computer/linux/torque
computer/programing
computer/programing/Eclipse
computer/programing/Python
computer/programing/python
computer/programing/Python/matplotlib
computer/programing/regular expression
computer/programing/vba
computer/programing/vmd
computer/windows
computer/windows/command prompt
computer/windows/ffmpeg
computer/windows/ImageJ
computer/windows/Inkscape
computer/windows/service
computer/windows/VBA
computer/windows/WebExpression
english
english/mail
english/P.R. response
english/あ
english/か
english/さ
FormattingRules
FrontPage
gnuplot
Help
InterWiki
InterWikiName
InterWikiSandBox
memo
memo/201902
memo/201903
memo/201904
memo/201905
memo/201907
memo/201911
memo/ai
memo/descri
memo/document
memo/life
memo/message
memo/procedure
memo/record
memo/work
memo/引っ越し
MenuBar
microserver
Notebook
PHP
PukiWiki
PukiWiki/1.4
PukiWiki/1.4/Manual
PukiWiki/1.4/Manual/Plugin
PukiWiki/1.4/Manual/Plugin/A-D
PukiWiki/1.4/Manual/Plugin/E-G
PukiWiki/1.4/Manual/Plugin/H-K
PukiWiki/1.4/Manual/Plugin/L-N
PukiWiki/1.4/Manual/Plugin/O-R
PukiWiki/1.4/Manual/Plugin/S-U
PukiWiki/1.4/Manual/Plugin/V-Z
RecentDeleted
SandBox
ST
testable
WikiEngines
WikiName
WikiWikiWeb
work
YukiWiki
[[computer/programing]] #contents *環境構築 [#h8f18bb4] python -V *エポック [#i79884ec] #highlighter(python){{ # coding=utf-8 import time from datetime import datetime def datetime_to_epoch(d): return int(time.mktime(d.timetuple())) def epoch_to_datetime(epoch): return datetime(*time.localtime(epoch)[:6]) now = datetime.now() epoch = datetime_to_epoch(now) epoch_to_datetime(epoch) # => 2012-10-10 21:12:17 }} #highlighter(python){{ #! /usr/bin/env python # -*- coding: utf-8 -*- #コンパイルスクリプト # var0.1 09/11/06 by ono # var0.1.1 09/12/11 by ono # var0.1.2 10/01/14 by ono # var0.2 11/04/26 by ono # translation into python 15/07/07 by hora #LISTの作り方 #title tem tem pre den tot.mol com nma nmb 識別番号 #wm0054 350 623.15 25 0.62528 2048 0.00 2048 0 scf102 #wm0055 350 623.15 25 0.59254 2048 0.06 1923 125 scf102 #wm0056 350 623.15 25 0.56426 2048 0.10 1843 205 scf103 #wm0057 350 623.15 25 0.48128 2048 0.19 1658 390 scf103 #wm0058 350 623.15 25 0.38857 2048 0.29 1462 586 scf105 import shutil import os import glob import time #getting epoch import sys import multiprocessing import numpy as np import scflib start = time.time() #---------------------------------------------------------------------------------------------- def workpara(datas): #def->definision of function for x in datas: files=na.replace('work','')+str(id[x-1].replace('\r',''))+'/' nc=str(files.replace('\r',''))+str(names[x-1]) os.chdir( nc ) tempfile = os.listdir(nc) if ('win' in sys.platform): os.system('ip') os.system('iv') os.system(names[x-1]) else: os.system('./ip') os.system('./iv') os.system('./'+names[x-1]) if __name__ == '__main__': pn=[] for pathn in open('PATH').readlines(): #作業フォルダのパス取得 pnx=pathn[:-1].split('\t') pn.append(str(pnx[0])) na=os.getcwd() os.chdir( na ) #------------------------------------------------------------------ count=0 a,b,c,d,e,f,g,h,i,j,k,l,m,jobs=[],[],[],[],[],[],[],[],[],[],[],[],[],[] names,id=[],[] SPC='SPC.mTR' OPLS3P='OPLS3P.mTR' for line in open('LIST').readlines(): #LIST読み込み condition=line[:-1].split('\t') names.append(str(condition[0])) id.append(str(condition[9])) file = str(condition[0]) nma = float(condition[7]) density = float(condition[4]) temp = float(condition[1]) nmb = float(condition[8]) pressure = float(condition[3]) comp = float(condition[6]) count=count+1 print ("%10s"%file) print ("%10.4f"%temp) print ("%10.4f"%pressure) print ("%10.5f"%density) print ("%10.2f"%comp) print ("%10d"%nma) print ("%10d\n"%nmb) files = na.replace('work','') + str(condition[9].replace('\r',''))+'/' nc=str(files)+file models=na+'/src/mainMD/' os.mkdir(nc) #データ出力フォルダ作成 os.chdir(nc) shutil.copy( models+SPC , nc+'/' ) shutil.copy( models+OPLS3P , nc+'/' ) if(nma == 0): scflib.make_aqmd(nmb,density,temp,nma,pressure,OPLS3P,SPC) scflib.make_msconf(nmb,nma) else: scflib.make_aqmd(nma,density,temp,nmb,pressure,SPC,OPLS3P) scflib.make_msconf(nma,nmb) for MDfile in glob.glob(models+pn[3]+'/*.f'): shutil.copy( MDfile , nc+'/' ) #コンパイル if os.uname()[1] == "scf020": scflib.mdifort(models,nc,pn[3],file) else: option = "main "+models+" "+nc+" "+pn[3]+" "+file os.system("sshpass -p hora ssh hora@10.34.83.20 work/scflib.py "+option) #並列処理 #-------------------------------------- if count%12 == 1: a+=[count] if count%12 == 2: b+=[count] if count%12 == 3: c+=[count] if count%12 == 4: d+=[count] if count%12 == 5: e+=[count] if count%12 == 6: f+=[count] if count%12 == 7: g+=[count] if count%12 == 8: h+=[count] if count%12 == 9: i+=[count] if count%12 == 10: j+=[count] if count%12 == 11: k+=[count] if count%12 == 0: l+=[count] m=[a,b,c,d,e,f,g,h,i,j,k,l] print m os.chdir( na ) for datas in m: job = multiprocessing.Process(target=workpara, args=(datas, )) jobs.append(job) job.start() [job.join() for job in jobs] #-------------------------------------- # os.system("./calc-para.py") print('Finish!!') elapsed_time = time.time() - start print("time:"+'%8.2f'%elapsed_time+'s') #計算時間 os.system('./finishmail.py mainMD.py '+models) }} #highlighter(python){{ #! /usr/bin/env python # -*- coding: utf-8 -*- import os import sys import glob import shutil import numpy as np import time #-------------------------------------------------------------------------------- def calcifort(nc,models): print(models) if ("ani" in models) == True: nd="gfortran -O3 -o rdf "+models+"/*.f" else: nd="ifort -fast -diag-disable 8291 -o rdf "+models+"/*.f" os.chdir( nc ) os.system( nd +" 2> log" ) os.system( nd +" 2> log" ) #-------------------------------------------------------------------------------- #-------------------------------------------------------------------------------- def kbiifort(nc,models): print(models) nd="ifort -fast -diag-disable 8291 -o kbi "+models+"/*.f" #nd="gfortran -O3 -o rdf "+models+"/*.f" os.chdir( nc ) os.system( nd +" 2> log" ) os.system( nd +" 2> log" ) #-------------------------------------------------------------------------------- def mdifort(models,nc,pn,file): os.chdir(nc) os.system("gfortran -o ip "+models+"ip/*.f") os.system("gfortran -o iv "+models+"iv/*.f") for MDfile in glob.glob(models+"fix-flex-"+pn+'/*.f'): shutil.copy( MDfile , nc+'/' ) os.system("ifort -fast -o "+file+" -diag-disable 8291 "+nc+"/*.f") #os.system("gfortran -O3 -o "+file+" "+nc+"/*.f") #-------------------------------------------------------------------------------- def sshopen(): print(" ----------------------------------------------------------") print(" SSH�ڑ�������PC��I����Ă�������. ") print(" ----------------------------------------------------------") print(" 2. scf022(hora) ") print(" 3. scf023(hora) ") print(" 4. scf024(hora) ") print(" 5. scf025(hora) ") print(" 8. scf028(hora) ") print(" 0. scf020(hora) ") print(" etc. exit ") print(" -------------------------------------------------------- ") print(" �� �����ȊO�̓G���[��Ԃ��܂��D ") print(" -------------------------------------------------------- ") input_data = int( raw_input(">>>")) keys = " -o StrictHostKeyChecking=no" if input_data == 0 : os.system("sshpass -p hora ssh hora@10.34.83.20"+keys) elif input_data == 2 : os.system("sshpass -p hora ssh hora@10.34.83.22"+keys) elif input_data == 3 : os.system("sshpass -p hora ssh hora@10.34.83.23"+keys) elif input_data == 4 : os.system("sshpass -p hora ssh hora@10.34.83.24"+keys) elif input_data == 5 : os.system("sshpass -p hora ssh hora@10.34.83.25"+keys) elif input_data == 8 : os.system("sshpass -p hora ssh hora@10.34.83.28"+keys) else: print "�ڑ��I���I�����܂��D" #-------------------------------------------------------------------------------- def eraser(): pn=[] for pathn in open('PATH').readlines(): pnx=pathn[:-1].split('\t') pn.append(str(pnx[0])) na=os.getcwd()+"/" workdir='src/'+pn[1] readname=pn[2] os.chdir( na ) list,name,compo,tempre,press =[],[],[],[],[] for lines in open('LIST').readlines(): item = lines[:-1].split('\t') file=na.replace('work/','')+str(item[9])+'/'+str(item[0])+'/'+readname os.remove(file) print( str(item[0]) +'/' + str(readname)) print('The files indicated in LIST&PATH were removed!!') #-------------------------------------------------------------------------------- def boxl(): na=os.getcwd()+"/" os.chdir( na ) list,name,compo,tempre,press,AVE,SD,id=[],[],[],[],[],[],[],[] count=0 for lines in open('LIST').readlines(): item = lines[:-1].split('\t') name.append(str(item[0])) compo.append(float(item[6])) tempre.append(float(item[1])) press.append(float(item[3])) count=count+1 id.append(str(item[9].replace('\r',''))) # print count print('BOXL calculating!') for y in xrange (0,count): files=na.replace('work/','')+str(id[y])+'/' file=str(files)+str(name[y])+'/'+'qfin.xyz' data = open(file).readline() datas = data[:-1].split(' ') AVE.append(np.float32(datas[1])) data=[] f=open('BOXL-'+str(name[0])+'-'+str(name[count-1])+'.dat', 'w') f.write('BOXL \n') f.write('%6s'%'name\t' ) f.write('%5s'%'�g��\t') f.write('%10s'%'���x[C]\t') f.write('%10s'%'����[MPa]\t') f.write('%10s'%'BOXL[A]\n') for x in xrange (0,count): f.write(str('%6s'%name[x])+'\t') f.write(str('%5.3f'%compo[x])+'\t') f.write(str('%10.3f'%tempre[x])+'\t') f.write(str('%10.3f'%press[x])+'\t') f.write(str('%10.5f'%AVE[x])+'\n') f.close() print('Finish!!') #-------------------------------------------------------------------------------- def sumkbi(): na=os.getcwd() os.chdir( na ) list,name,compo,tempre,press =[],[],[],[],[] aa,ab,ba,bb = [],[],[],[] count=0 for lines in open('LIST').readlines(): item = lines[:-1].split('\t') name.append(str(item[0])) compo.append(float(item[6])) tempre.append(float(item[1])) press.append(float(item[3])) count=count+1 files=na.replace('work','')+str(item[9].replace('\r',''))+'/' file=files+str(name[count-1])+'/'+'KBI.dat' data = np.loadtxt(file) aa.append(data[0]) ab.append(data[1]) ba.append(data[2]) bb.append(data[3]) os.chdir( na +"/dat/") f=open('KBI_Bulk-'+str(name[0])+'-'+str(name[count-1])+'.dat', 'w') f.write('KBI_Bulk.\n') f.write('%6s'%'name\t' ) f.write('%5s'%'�g��\t') f.write('%10s'%'���x[C]\t') f.write('%10s'%'����[MPa]\t') f.write('%10s'%' Gww \t') f.write('%10s'%' Gwm \t') f.write('%10s'%' Gmw \t') f.write('%10s'%' Gmm \n') for x in xrange (0,count): f.write(str('%6s'%name[x])+'\t') f.write(str('%5.3f'%compo[x])+'\t') f.write(str('%10.3f'%tempre[x])+'\t') f.write(str('%10.3f'%press[x])+'\t') if compo[x] == 1.0 : f.write(str('%10.5f'%bb[x])+'\t') f.write(str('%10.5f'%ab[x])+'\t') f.write(str('%10.5f'%ba[x])+'\t') f.write(str('%10.5f'%aa[x])+'\n') else: f.write(str('%10.5f'%aa[x])+'\t') f.write(str('%10.5f'%ab[x])+'\t') f.write(str('%10.5f'%ba[x])+'\t') f.write(str('%10.5f'%bb[x])+'\n') f.close() print('Finish!!') #-------------------------------------------------------------------------------- if __name__ == '__main__': param = sys.argv if len(param) == 1: os.system("clear") print("\n �O���ڑ��v���O������N�����܂��D") sshopen() elif ("boxl" in param[1] ) == True: boxl() elif ("eraser" in param[1] ) == True: eraser() elif ("sumkbi" in param[1] ) == True: sumkbi() else: calc = param[1] models = param[2] nc = param[3] pn = param[4] file = param[5] if calc == "main": mdifort(models,nc,pn,file) elif calc == "kbi": kbiifort(nc,models) else: calcifort(nc,models) #AQMD.JOB MSCONF�̍쐬 #---------------------------------------------------------------------------------------------- def test_make_aqmd(a0,a1,a2,a3,a4,a5,a6): AQMD=open("AQMD.JOB",'w') AQMD.write (' ion-water: NVT at T='+str(a2)+'C at '+str(a4)+'M\n') AQMD.write ("-----------*-----------*-----------*-----------*-----------*-----------*\n") AQMD.write (" NW DEN[g/cc] TEMP[C] NMB MDL_FILE_A\n") AQMD.write ('%11d'%a0+'%12.5f'%a1+'%12.4f'%a2+'%12d'%a3+'%12s'%a5+'\n') AQMD.write (" DTL[fs] NF_INTRA MDL_FILE_B\n") AQMD.write ('%11.3f'%1.000+'%12d'%5+'%12s'%a6+'\n') AQMD.write (" OPTRC RLIST[A] RCCM[A] RCSS[A]\n") AQMD.write (" 3 0.997 0.995 0.800\n") AQMD.write ("-----------*-----------*-----------*-----------*-----------*-----------*\n") AQMD.write (" No_MODE NS_Backup NF_ACM[50] NF_TCOR NF_GR\n") AQMD.write (" 5 50 50 50 50\n") AQMD.write (" NSTEP_CTRL RUN_/CT_/CP_MODE(OPT) CPR_1 CPR_2 CPR_3\n") AQMD.write (" 0 0 1 0 0 0.000d0 0.000d0 1.000d0\n") AQMD.write (" 1 1 1 0 0 0.000d0 0.000d0 1.000d0\n") AQMD.write (" 60000 2 3 0 0 0.317d3 0.237d3 0.418d3\n") AQMD.write (" 100000 3 3 0 0 0.317d3 0.237d3 0.418d3\n") AQMD.write (" 150000 4 3 0 0 0.317d3 0.237d3 0.418d3\n") AQMD.write ("-----------*-----*-----*-----*-----*-----------*-----------*-----------*\n") AQMD.write (" NRUN OPT(0-3)\n") AQMD.write (" 1 0\n") AQMD.write (" T[C] P[Mpa] DTL[fs] OPT1 OPT2 OPT3\n") AQMD.write ('%11.4f'%a2+'%12.4f'%a4+'%12s'%'1.000d0'+'%12s'%'0.70000d0'+'%12s'%'1.10000d0'+'%12s'%'1.10000d0'+'\n') AQMD.write ("-----------*-----*-----*-----*-----*-----------*-----------*-----------*\n") AQMD.write ("-----------*-----*-----*-----*-----*-----------*-----------*-----------*\n") AQMD.close() return def make_aqmd(a0,a1,a2,a3,a4,a5,a6): AQMD=open("AQMD.JOB",'w') AQMD.write (' ion-water: NVT at T='+str(a2)+'C at '+str(a4)+'M\n') AQMD.write ("-----------*-----------*-----------*-----------*-----------*-----------*\n") AQMD.write (" NW DEN[g/cc] TEMP[C] NMB MDL_FILE_A\n") AQMD.write ('%11d'%a0+'%12.5f'%a1+'%12.4f'%a2+'%12d'%a3+'%12s'%a5+'\n') AQMD.write (" DTL[fs] NF_INTRA MDL_FILE_B\n") AQMD.write ('%11.3f'%1.000+'%12d'%5+'%12s'%a6+'\n') AQMD.write (" OPTRC RLIST[A] RCCM[A] RCSS[A]\n") AQMD.write (" 3 0.997 0.995 0.800\n") AQMD.write ("-----------*-----------*-----------*-----------*-----------*-----------*\n") AQMD.write (" No_MODE NS_Backup NF_ACM[50] NF_TCOR NF_GR\n") AQMD.write (" 5 5 50 50 50\n") AQMD.write (" NSTEP_CTRL RUN_/CT_/CP_MODE(OPT) CPR_1 CPR_2 CPR_3\n") AQMD.write (" 0 0 1 0 0 0.000d0 0.000d0 1.000d0\n") AQMD.write (" 1 1 1 0 0 0.000d0 0.000d0 1.000d0\n") AQMD.write (" 60000 2 3 0 0 0.317d3 0.237d3 0.418d3\n") AQMD.write (" 100000 3 3 0 0 0.317d3 0.237d3 0.418d3\n") AQMD.write (" 600000 4 3 0 0 0.317d3 0.237d3 0.418d3\n") AQMD.write ("-----------*-----*-----*-----*-----*-----------*-----------*-----------*\n") AQMD.write (" NRUN OPT(0-3)\n") AQMD.write (" 1 0\n") AQMD.write (" T[C] P[Mpa] DTL[fs] OPT1 OPT2 OPT3\n") AQMD.write ('%11.4f'%a2+'%12.4f'%a4+'%12s'%'1.000d0'+'%12s'%'0.70000d0'+'%12s'%'1.10000d0'+'%12s'%'1.10000d0'+'\n') AQMD.write ("-----------*-----*-----*-----*-----*-----------*-----------*-----------*\n") AQMD.write ("-----------*-----*-----*-----*-----*-----------*-----------*-----------*\n") AQMD.close() return def make_msconf(b0,b1): MSC=open("MSCONF",'w') MSC.write ("C ------------------------------------------------------------------\n") MSC.write ("C SIZE PARAMETER for SIMULATION ( Ver.:087c)\n") MSC.write ("C ------------------------------------------------------------------\n") MSC.write (" MODULE MSSIZE\n") MSC.write (" integer,PARAMETER :: NMOLCA = "+str(b0)+"\n") MSC.write (" integer,PARAMETER :: NSITEA = 3\n") MSC.write (" integer,PARAMETER :: MAXPAIR= NMOLCA*10000\n") MSC.write (" integer,PARAMETER :: NMOLCB = "+str(b1)+"\n") MSC.write (" integer,PARAMETER :: NSITEB = 3\n") MSC.write (" integer,PARAMETER :: MAXNT = 501\n") MSC.write (" integer,PARAMETER :: MNTOR = 80000\n") MSC.write (" integer,PARAMETER :: MAXRUN = 2\n") MSC.write (" integer,PARAMETER :: MAXMODE= 6\n") MSC.write (" integer,PARAMETER :: MPROP = 10\n") MSC.write (" integer,PARAMETER :: MAXACM = 200\n") MSC.write (" integer,PARAMETER :: MDATA = 50\n") MSC.write (" integer,PARAMETER :: DEBUNIT=6\n") MSC.write (" END MODULE MSSIZE\n") MSC.write ("C ------------------------------------------------------------------\n") MSC.write (" MODULE MA\n") MSC.write (" use MSSIZE\n") MSC.write (" real*8,DIMENSION(NSITEA,NMOLCA) :: rxa,rya,rza,\n") MSC.write (" & vrxa,vrya,vrza, vxa,vya,vza,\n") MSC.write (" & fxai,fyai,fzai, frxa,frya,frza, fxa,fya,fza \n") MSC.write (" real*8,DIMENSION(NMOLCA) :: rxam,ryam,rzam,dpmx,dpmy,dpmz,\n") MSC.write (" & vxam,vyam,vzam,fxam,fyam,fzam,dxam,dyam,dzam,APOINT\n") MSC.write (" real*8,DIMENSION(NSITEA,NSITEA) :: CA1,CA2,CA3\n") MSC.write (" real*8,DIMENSION(NSITEA) :: SAQ,SAMASS\n") MSC.write (" real*8,DIMENSION(MAXPAIR) :: ALIST\n") MSC.write (" real*8 :: TAMASS,XMA\n") MSC.write (" integer :: NMA\n") MSC.write (" END MODULE MA\n") MSC.write ("C ------------------------------------------------------------------\n") MSC.write (" MODULE MA_INTRA\n") MSC.write (" use MSSIZE\n") MSC.write (" real*8,DIMENSION(NSITEA) :: Akr,AKro,AA,AB\n") MSC.write (" real*8 :: re12,re13,re23,ANG, AKo,AKrr,ADD\n") MSC.write (" END MODULE MA_INTRA\n") MSC.write ("C ------------------------------------------------------------------\n") MSC.write (" MODULE MB\n") MSC.write (" use MSSIZE\n") MSC.write (" real*8,DIMENSION(NSITEB,NMOLCB) :: rxb,ryb,rzb,\n") MSC.write (" & vrxb,vryb,vrzb, vxb,vyb,vzb,\n") MSC.write (" & fxbi,fybi,fzbi, frxb,fryb,frzb, fxb,fyb,fzb \n") MSC.write (" real*8,DIMENSION(NMOLCB) :: rxbm,rybm,rzbm,dpmxb,dpmyb,dpmzb,\n") MSC.write (" & vxbm,vybm,vzbm,fxbm,fybm,fzbm,dxbm,dybm,dzbm,BPOINT\n") MSC.write (" real*8,DIMENSION(NSITEB,NSITEB) :: CB1,CB2,CB3\n") MSC.write (" real*8,DIMENSION(NSITEB) :: SBQ,SBMASS\n") MSC.write (" real*8,DIMENSION(NMOLCB*NMOLCB) :: BLIST\n") MSC.write (" real*8 :: TBMASS,XMB\n") MSC.write (" integer :: NMB\n") MSC.write ("C - - - - - - - - - - - - - - - - - - - - for B and A\n") MSC.write (" real*8,DIMENSION(NMOLCB+1) :: ABPOINT\n") MSC.write (" real*8,DIMENSION(NMOLCA*NMOLCB) :: ABLIST\n") MSC.write (" real*8,DIMENSION(NSITEA,NSITEB) :: SIGMAB,EPSIAB,CAB1,CAB2,CAB3\n") MSC.write (" END MODULE MB\n") MSC.write ("C ------------------------------------------------------------------\n") MSC.write (" MODULE MB_INTRA\n") MSC.write (" use MSSIZE\n") MSC.write (" real*8,DIMENSION(NSITEB) :: Bkr,BKro,BA,BB\n") MSC.write (" real*8 :: Bre12,Bre13,Bre23,BANG, BKo,BKrr,BDD\n") MSC.write (" END MODULE MB_INTRA\n") MSC.write ("C ------------------------------------------------------------------\n") MSC.write ("C ----------------------------------------------------------\n") MSC.write ("C MODCONF : configuration for simulation\n") MSC.write ("C ----------------------------------------------------------\n") MSC.write (" module PROP\n") MSC.write (" use MSSIZE\n") MSC.write (" real*8,DIMENSION(MPROP) :: APROP,BPROP,CPROP,DPROP,EPROP\n") MSC.write (" end module\n") MSC.write ("C -----------------------------------------------------------\n") MSC.write (" module PROP_A\n") MSC.write (" real*8 :: POTLJ, POTC, POTIN, PPLJ, PPC, PPIN\n") MSC.write (" end module\n") MSC.write ("C -----------------------------------------------------------\n") MSC.write (" module PROP_B\n") MSC.write (" real*8 :: POTLJB, POTCB, POTINB, PPLJB, PPCB, PPINB\n") MSC.write (" real*8 :: POTLJAB,POTCAB, PPLJAB,PPCAB\n") MSC.write (" end module\n") MSC.write ("C -----------------------------------------------------------\n") MSC.write (" module TC\n") MSC.write (" use MSSIZE\n") MSC.write (" real*8 :: etacm,etar,epsi,Detar,Detacm,Depsi,\n") MSC.write (" & Getar,Gepsi,Getacm\n") MSC.write (" real*8 :: TAUT,TAUP,QTcm,QTr,QP, SCMint\n") MSC.write (" real*8,DIMENSION(NSITEA) :: va_avg, bath_ma\n") MSC.write (" real*8,DIMENSION(NSITEB) :: vb_avg, bath_mb\n") MSC.write (" end module\n") MSC.write ("C -----------------------------------------------------------\n") MSC.write (" module SIMconf\n") MSC.write (" use MSSIZE\n") MSC.write (" real*8 :: DTL,DEN,TEMP,TSIM,PSIM,EKTOT,PPTOT,TTRANS\n") MSC.write (" real*8 :: BOXL,BOXLIV\n") MSC.write (" real*8 :: RLISTSQ,RCUTSQ,RCLJSQ,RCENV,RCC\n") MSC.write (" real*8 :: RRLIST,RRCUT,RRCLJ\n") MSC.write (" integer :: NSTEP,NSEQ,NFACM,NFSAVE,NFGR,NBACK\n") MSC.write (" integer :: NCRUN,MODECR,MODECT,MODECP,MODECO\n") MSC.write (" end module\n") MSC.write ("C -----------------------------------------------------------\n") MSC.write (" module SIMopt\n") MSC.write (" use MSSIZE\n") MSC.write (" integer,DIMENSION(MAXMODE) :: MCR,MCT,MCP,MCO,NSCR\n") MSC.write (" real*8 ,DIMENSION(MAXMODE) :: CPR1,CPR2,CPR3\n") MSC.write (" real*8 ,DIMENSION(MAXRUN) :: RSET1,RSET2,RSET3\n") MSC.write (" real*8 ,DIMENSION(MAXRUN,NSITEA) :: OPT1,OPT2,OPT3\n") MSC.write (" integer :: OPT\n") MSC.write (" end module\n") MSC.write ("C -----------------------------------------------------------\n") MSC.write (" module CONSTs\n") MSC.write (" real*8,PARAMETER :: LA = 6.022136736d+23 \n") MSC.write (" real*8,PARAMETER :: EP = 1.6021773349d-19 \n") MSC.write (" real*8,PARAMETER :: Pi = 3.14159265358979d0\n") MSC.write (" real*8,PARAMETER :: CC = 2.99792458d+8\n") MSC.write (" real*8,PARAMETER :: KB = 1.38065812d-23 \n") MSC.write (" real*8,PARAMETER :: AM = 1.660540210D-27\n") MSC.write (" real*8,PARAMETER :: FR = 9.648670d+4\n") MSC.write (" real*8,PARAMETER :: A4M = 1.0d+10\n") MSC.write (" real*8,PARAMETER :: Q4J = 1.0d-7\n") MSC.write (" real*8,PARAMETER :: Q4KJ= 1.0d-4\n") MSC.write (" real*8,PARAMETER :: J4Q = 1.0d+7\n") MSC.write (" real*8,PARAMETER :: KJ4Q= 1.0d+4\n") MSC.write (" real*8,PARAMETER :: GC = LA*KB\n") MSC.write (" real*8,PARAMETER :: UO = 4.0d0*Pi*1.0d-7\n") MSC.write (" real*8,PARAMETER :: EO = 1.0d0/(CC*CC*UO)\n") MSC.write (" real*8,PARAMETER :: EC = Q4J*(A4M*LA*EP*EP)/(4.0d0*Pi*EO)\n") MSC.write (" real*8,PARAMETER :: KC = FR*FR/(EO*GC)\n") MSC.write (" end module CONSTs\n") MSC.write ("C ----------------------------------------------------------------\n") MSC.write (" module ModRand\n") MSC.write (" integer :: MTSC,SCM\n") MSC.write (" end module\n") MSC.close() return #---------------------------------------------------------------------------------------------- }}
タイムスタンプを変更しない
[[computer/programing]] #contents *環境構築 [#h8f18bb4] python -V *エポック [#i79884ec] #highlighter(python){{ # coding=utf-8 import time from datetime import datetime def datetime_to_epoch(d): return int(time.mktime(d.timetuple())) def epoch_to_datetime(epoch): return datetime(*time.localtime(epoch)[:6]) now = datetime.now() epoch = datetime_to_epoch(now) epoch_to_datetime(epoch) # => 2012-10-10 21:12:17 }} #highlighter(python){{ #! /usr/bin/env python # -*- coding: utf-8 -*- #コンパイルスクリプト # var0.1 09/11/06 by ono # var0.1.1 09/12/11 by ono # var0.1.2 10/01/14 by ono # var0.2 11/04/26 by ono # translation into python 15/07/07 by hora #LISTの作り方 #title tem tem pre den tot.mol com nma nmb 識別番号 #wm0054 350 623.15 25 0.62528 2048 0.00 2048 0 scf102 #wm0055 350 623.15 25 0.59254 2048 0.06 1923 125 scf102 #wm0056 350 623.15 25 0.56426 2048 0.10 1843 205 scf103 #wm0057 350 623.15 25 0.48128 2048 0.19 1658 390 scf103 #wm0058 350 623.15 25 0.38857 2048 0.29 1462 586 scf105 import shutil import os import glob import time #getting epoch import sys import multiprocessing import numpy as np import scflib start = time.time() #---------------------------------------------------------------------------------------------- def workpara(datas): #def->definision of function for x in datas: files=na.replace('work','')+str(id[x-1].replace('\r',''))+'/' nc=str(files.replace('\r',''))+str(names[x-1]) os.chdir( nc ) tempfile = os.listdir(nc) if ('win' in sys.platform): os.system('ip') os.system('iv') os.system(names[x-1]) else: os.system('./ip') os.system('./iv') os.system('./'+names[x-1]) if __name__ == '__main__': pn=[] for pathn in open('PATH').readlines(): #作業フォルダのパス取得 pnx=pathn[:-1].split('\t') pn.append(str(pnx[0])) na=os.getcwd() os.chdir( na ) #------------------------------------------------------------------ count=0 a,b,c,d,e,f,g,h,i,j,k,l,m,jobs=[],[],[],[],[],[],[],[],[],[],[],[],[],[] names,id=[],[] SPC='SPC.mTR' OPLS3P='OPLS3P.mTR' for line in open('LIST').readlines(): #LIST読み込み condition=line[:-1].split('\t') names.append(str(condition[0])) id.append(str(condition[9])) file = str(condition[0]) nma = float(condition[7]) density = float(condition[4]) temp = float(condition[1]) nmb = float(condition[8]) pressure = float(condition[3]) comp = float(condition[6]) count=count+1 print ("%10s"%file) print ("%10.4f"%temp) print ("%10.4f"%pressure) print ("%10.5f"%density) print ("%10.2f"%comp) print ("%10d"%nma) print ("%10d\n"%nmb) files = na.replace('work','') + str(condition[9].replace('\r',''))+'/' nc=str(files)+file models=na+'/src/mainMD/' os.mkdir(nc) #データ出力フォルダ作成 os.chdir(nc) shutil.copy( models+SPC , nc+'/' ) shutil.copy( models+OPLS3P , nc+'/' ) if(nma == 0): scflib.make_aqmd(nmb,density,temp,nma,pressure,OPLS3P,SPC) scflib.make_msconf(nmb,nma) else: scflib.make_aqmd(nma,density,temp,nmb,pressure,SPC,OPLS3P) scflib.make_msconf(nma,nmb) for MDfile in glob.glob(models+pn[3]+'/*.f'): shutil.copy( MDfile , nc+'/' ) #コンパイル if os.uname()[1] == "scf020": scflib.mdifort(models,nc,pn[3],file) else: option = "main "+models+" "+nc+" "+pn[3]+" "+file os.system("sshpass -p hora ssh hora@10.34.83.20 work/scflib.py "+option) #並列処理 #-------------------------------------- if count%12 == 1: a+=[count] if count%12 == 2: b+=[count] if count%12 == 3: c+=[count] if count%12 == 4: d+=[count] if count%12 == 5: e+=[count] if count%12 == 6: f+=[count] if count%12 == 7: g+=[count] if count%12 == 8: h+=[count] if count%12 == 9: i+=[count] if count%12 == 10: j+=[count] if count%12 == 11: k+=[count] if count%12 == 0: l+=[count] m=[a,b,c,d,e,f,g,h,i,j,k,l] print m os.chdir( na ) for datas in m: job = multiprocessing.Process(target=workpara, args=(datas, )) jobs.append(job) job.start() [job.join() for job in jobs] #-------------------------------------- # os.system("./calc-para.py") print('Finish!!') elapsed_time = time.time() - start print("time:"+'%8.2f'%elapsed_time+'s') #計算時間 os.system('./finishmail.py mainMD.py '+models) }} #highlighter(python){{ #! /usr/bin/env python # -*- coding: utf-8 -*- import os import sys import glob import shutil import numpy as np import time #-------------------------------------------------------------------------------- def calcifort(nc,models): print(models) if ("ani" in models) == True: nd="gfortran -O3 -o rdf "+models+"/*.f" else: nd="ifort -fast -diag-disable 8291 -o rdf "+models+"/*.f" os.chdir( nc ) os.system( nd +" 2> log" ) os.system( nd +" 2> log" ) #-------------------------------------------------------------------------------- #-------------------------------------------------------------------------------- def kbiifort(nc,models): print(models) nd="ifort -fast -diag-disable 8291 -o kbi "+models+"/*.f" #nd="gfortran -O3 -o rdf "+models+"/*.f" os.chdir( nc ) os.system( nd +" 2> log" ) os.system( nd +" 2> log" ) #-------------------------------------------------------------------------------- def mdifort(models,nc,pn,file): os.chdir(nc) os.system("gfortran -o ip "+models+"ip/*.f") os.system("gfortran -o iv "+models+"iv/*.f") for MDfile in glob.glob(models+"fix-flex-"+pn+'/*.f'): shutil.copy( MDfile , nc+'/' ) os.system("ifort -fast -o "+file+" -diag-disable 8291 "+nc+"/*.f") #os.system("gfortran -O3 -o "+file+" "+nc+"/*.f") #-------------------------------------------------------------------------------- def sshopen(): print(" ----------------------------------------------------------") print(" SSH�ڑ�������PC��I����Ă�������. ") print(" ----------------------------------------------------------") print(" 2. scf022(hora) ") print(" 3. scf023(hora) ") print(" 4. scf024(hora) ") print(" 5. scf025(hora) ") print(" 8. scf028(hora) ") print(" 0. scf020(hora) ") print(" etc. exit ") print(" -------------------------------------------------------- ") print(" �� �����ȊO�̓G���[��Ԃ��܂��D ") print(" -------------------------------------------------------- ") input_data = int( raw_input(">>>")) keys = " -o StrictHostKeyChecking=no" if input_data == 0 : os.system("sshpass -p hora ssh hora@10.34.83.20"+keys) elif input_data == 2 : os.system("sshpass -p hora ssh hora@10.34.83.22"+keys) elif input_data == 3 : os.system("sshpass -p hora ssh hora@10.34.83.23"+keys) elif input_data == 4 : os.system("sshpass -p hora ssh hora@10.34.83.24"+keys) elif input_data == 5 : os.system("sshpass -p hora ssh hora@10.34.83.25"+keys) elif input_data == 8 : os.system("sshpass -p hora ssh hora@10.34.83.28"+keys) else: print "�ڑ��I���I�����܂��D" #-------------------------------------------------------------------------------- def eraser(): pn=[] for pathn in open('PATH').readlines(): pnx=pathn[:-1].split('\t') pn.append(str(pnx[0])) na=os.getcwd()+"/" workdir='src/'+pn[1] readname=pn[2] os.chdir( na ) list,name,compo,tempre,press =[],[],[],[],[] for lines in open('LIST').readlines(): item = lines[:-1].split('\t') file=na.replace('work/','')+str(item[9])+'/'+str(item[0])+'/'+readname os.remove(file) print( str(item[0]) +'/' + str(readname)) print('The files indicated in LIST&PATH were removed!!') #-------------------------------------------------------------------------------- def boxl(): na=os.getcwd()+"/" os.chdir( na ) list,name,compo,tempre,press,AVE,SD,id=[],[],[],[],[],[],[],[] count=0 for lines in open('LIST').readlines(): item = lines[:-1].split('\t') name.append(str(item[0])) compo.append(float(item[6])) tempre.append(float(item[1])) press.append(float(item[3])) count=count+1 id.append(str(item[9].replace('\r',''))) # print count print('BOXL calculating!') for y in xrange (0,count): files=na.replace('work/','')+str(id[y])+'/' file=str(files)+str(name[y])+'/'+'qfin.xyz' data = open(file).readline() datas = data[:-1].split(' ') AVE.append(np.float32(datas[1])) data=[] f=open('BOXL-'+str(name[0])+'-'+str(name[count-1])+'.dat', 'w') f.write('BOXL \n') f.write('%6s'%'name\t' ) f.write('%5s'%'�g��\t') f.write('%10s'%'���x[C]\t') f.write('%10s'%'����[MPa]\t') f.write('%10s'%'BOXL[A]\n') for x in xrange (0,count): f.write(str('%6s'%name[x])+'\t') f.write(str('%5.3f'%compo[x])+'\t') f.write(str('%10.3f'%tempre[x])+'\t') f.write(str('%10.3f'%press[x])+'\t') f.write(str('%10.5f'%AVE[x])+'\n') f.close() print('Finish!!') #-------------------------------------------------------------------------------- def sumkbi(): na=os.getcwd() os.chdir( na ) list,name,compo,tempre,press =[],[],[],[],[] aa,ab,ba,bb = [],[],[],[] count=0 for lines in open('LIST').readlines(): item = lines[:-1].split('\t') name.append(str(item[0])) compo.append(float(item[6])) tempre.append(float(item[1])) press.append(float(item[3])) count=count+1 files=na.replace('work','')+str(item[9].replace('\r',''))+'/' file=files+str(name[count-1])+'/'+'KBI.dat' data = np.loadtxt(file) aa.append(data[0]) ab.append(data[1]) ba.append(data[2]) bb.append(data[3]) os.chdir( na +"/dat/") f=open('KBI_Bulk-'+str(name[0])+'-'+str(name[count-1])+'.dat', 'w') f.write('KBI_Bulk.\n') f.write('%6s'%'name\t' ) f.write('%5s'%'�g��\t') f.write('%10s'%'���x[C]\t') f.write('%10s'%'����[MPa]\t') f.write('%10s'%' Gww \t') f.write('%10s'%' Gwm \t') f.write('%10s'%' Gmw \t') f.write('%10s'%' Gmm \n') for x in xrange (0,count): f.write(str('%6s'%name[x])+'\t') f.write(str('%5.3f'%compo[x])+'\t') f.write(str('%10.3f'%tempre[x])+'\t') f.write(str('%10.3f'%press[x])+'\t') if compo[x] == 1.0 : f.write(str('%10.5f'%bb[x])+'\t') f.write(str('%10.5f'%ab[x])+'\t') f.write(str('%10.5f'%ba[x])+'\t') f.write(str('%10.5f'%aa[x])+'\n') else: f.write(str('%10.5f'%aa[x])+'\t') f.write(str('%10.5f'%ab[x])+'\t') f.write(str('%10.5f'%ba[x])+'\t') f.write(str('%10.5f'%bb[x])+'\n') f.close() print('Finish!!') #-------------------------------------------------------------------------------- if __name__ == '__main__': param = sys.argv if len(param) == 1: os.system("clear") print("\n �O���ڑ��v���O������N�����܂��D") sshopen() elif ("boxl" in param[1] ) == True: boxl() elif ("eraser" in param[1] ) == True: eraser() elif ("sumkbi" in param[1] ) == True: sumkbi() else: calc = param[1] models = param[2] nc = param[3] pn = param[4] file = param[5] if calc == "main": mdifort(models,nc,pn,file) elif calc == "kbi": kbiifort(nc,models) else: calcifort(nc,models) #AQMD.JOB MSCONF�̍쐬 #---------------------------------------------------------------------------------------------- def test_make_aqmd(a0,a1,a2,a3,a4,a5,a6): AQMD=open("AQMD.JOB",'w') AQMD.write (' ion-water: NVT at T='+str(a2)+'C at '+str(a4)+'M\n') AQMD.write ("-----------*-----------*-----------*-----------*-----------*-----------*\n") AQMD.write (" NW DEN[g/cc] TEMP[C] NMB MDL_FILE_A\n") AQMD.write ('%11d'%a0+'%12.5f'%a1+'%12.4f'%a2+'%12d'%a3+'%12s'%a5+'\n') AQMD.write (" DTL[fs] NF_INTRA MDL_FILE_B\n") AQMD.write ('%11.3f'%1.000+'%12d'%5+'%12s'%a6+'\n') AQMD.write (" OPTRC RLIST[A] RCCM[A] RCSS[A]\n") AQMD.write (" 3 0.997 0.995 0.800\n") AQMD.write ("-----------*-----------*-----------*-----------*-----------*-----------*\n") AQMD.write (" No_MODE NS_Backup NF_ACM[50] NF_TCOR NF_GR\n") AQMD.write (" 5 50 50 50 50\n") AQMD.write (" NSTEP_CTRL RUN_/CT_/CP_MODE(OPT) CPR_1 CPR_2 CPR_3\n") AQMD.write (" 0 0 1 0 0 0.000d0 0.000d0 1.000d0\n") AQMD.write (" 1 1 1 0 0 0.000d0 0.000d0 1.000d0\n") AQMD.write (" 60000 2 3 0 0 0.317d3 0.237d3 0.418d3\n") AQMD.write (" 100000 3 3 0 0 0.317d3 0.237d3 0.418d3\n") AQMD.write (" 150000 4 3 0 0 0.317d3 0.237d3 0.418d3\n") AQMD.write ("-----------*-----*-----*-----*-----*-----------*-----------*-----------*\n") AQMD.write (" NRUN OPT(0-3)\n") AQMD.write (" 1 0\n") AQMD.write (" T[C] P[Mpa] DTL[fs] OPT1 OPT2 OPT3\n") AQMD.write ('%11.4f'%a2+'%12.4f'%a4+'%12s'%'1.000d0'+'%12s'%'0.70000d0'+'%12s'%'1.10000d0'+'%12s'%'1.10000d0'+'\n') AQMD.write ("-----------*-----*-----*-----*-----*-----------*-----------*-----------*\n") AQMD.write ("-----------*-----*-----*-----*-----*-----------*-----------*-----------*\n") AQMD.close() return def make_aqmd(a0,a1,a2,a3,a4,a5,a6): AQMD=open("AQMD.JOB",'w') AQMD.write (' ion-water: NVT at T='+str(a2)+'C at '+str(a4)+'M\n') AQMD.write ("-----------*-----------*-----------*-----------*-----------*-----------*\n") AQMD.write (" NW DEN[g/cc] TEMP[C] NMB MDL_FILE_A\n") AQMD.write ('%11d'%a0+'%12.5f'%a1+'%12.4f'%a2+'%12d'%a3+'%12s'%a5+'\n') AQMD.write (" DTL[fs] NF_INTRA MDL_FILE_B\n") AQMD.write ('%11.3f'%1.000+'%12d'%5+'%12s'%a6+'\n') AQMD.write (" OPTRC RLIST[A] RCCM[A] RCSS[A]\n") AQMD.write (" 3 0.997 0.995 0.800\n") AQMD.write ("-----------*-----------*-----------*-----------*-----------*-----------*\n") AQMD.write (" No_MODE NS_Backup NF_ACM[50] NF_TCOR NF_GR\n") AQMD.write (" 5 5 50 50 50\n") AQMD.write (" NSTEP_CTRL RUN_/CT_/CP_MODE(OPT) CPR_1 CPR_2 CPR_3\n") AQMD.write (" 0 0 1 0 0 0.000d0 0.000d0 1.000d0\n") AQMD.write (" 1 1 1 0 0 0.000d0 0.000d0 1.000d0\n") AQMD.write (" 60000 2 3 0 0 0.317d3 0.237d3 0.418d3\n") AQMD.write (" 100000 3 3 0 0 0.317d3 0.237d3 0.418d3\n") AQMD.write (" 600000 4 3 0 0 0.317d3 0.237d3 0.418d3\n") AQMD.write ("-----------*-----*-----*-----*-----*-----------*-----------*-----------*\n") AQMD.write (" NRUN OPT(0-3)\n") AQMD.write (" 1 0\n") AQMD.write (" T[C] P[Mpa] DTL[fs] OPT1 OPT2 OPT3\n") AQMD.write ('%11.4f'%a2+'%12.4f'%a4+'%12s'%'1.000d0'+'%12s'%'0.70000d0'+'%12s'%'1.10000d0'+'%12s'%'1.10000d0'+'\n') AQMD.write ("-----------*-----*-----*-----*-----*-----------*-----------*-----------*\n") AQMD.write ("-----------*-----*-----*-----*-----*-----------*-----------*-----------*\n") AQMD.close() return def make_msconf(b0,b1): MSC=open("MSCONF",'w') MSC.write ("C ------------------------------------------------------------------\n") MSC.write ("C SIZE PARAMETER for SIMULATION ( Ver.:087c)\n") MSC.write ("C ------------------------------------------------------------------\n") MSC.write (" MODULE MSSIZE\n") MSC.write (" integer,PARAMETER :: NMOLCA = "+str(b0)+"\n") MSC.write (" integer,PARAMETER :: NSITEA = 3\n") MSC.write (" integer,PARAMETER :: MAXPAIR= NMOLCA*10000\n") MSC.write (" integer,PARAMETER :: NMOLCB = "+str(b1)+"\n") MSC.write (" integer,PARAMETER :: NSITEB = 3\n") MSC.write (" integer,PARAMETER :: MAXNT = 501\n") MSC.write (" integer,PARAMETER :: MNTOR = 80000\n") MSC.write (" integer,PARAMETER :: MAXRUN = 2\n") MSC.write (" integer,PARAMETER :: MAXMODE= 6\n") MSC.write (" integer,PARAMETER :: MPROP = 10\n") MSC.write (" integer,PARAMETER :: MAXACM = 200\n") MSC.write (" integer,PARAMETER :: MDATA = 50\n") MSC.write (" integer,PARAMETER :: DEBUNIT=6\n") MSC.write (" END MODULE MSSIZE\n") MSC.write ("C ------------------------------------------------------------------\n") MSC.write (" MODULE MA\n") MSC.write (" use MSSIZE\n") MSC.write (" real*8,DIMENSION(NSITEA,NMOLCA) :: rxa,rya,rza,\n") MSC.write (" & vrxa,vrya,vrza, vxa,vya,vza,\n") MSC.write (" & fxai,fyai,fzai, frxa,frya,frza, fxa,fya,fza \n") MSC.write (" real*8,DIMENSION(NMOLCA) :: rxam,ryam,rzam,dpmx,dpmy,dpmz,\n") MSC.write (" & vxam,vyam,vzam,fxam,fyam,fzam,dxam,dyam,dzam,APOINT\n") MSC.write (" real*8,DIMENSION(NSITEA,NSITEA) :: CA1,CA2,CA3\n") MSC.write (" real*8,DIMENSION(NSITEA) :: SAQ,SAMASS\n") MSC.write (" real*8,DIMENSION(MAXPAIR) :: ALIST\n") MSC.write (" real*8 :: TAMASS,XMA\n") MSC.write (" integer :: NMA\n") MSC.write (" END MODULE MA\n") MSC.write ("C ------------------------------------------------------------------\n") MSC.write (" MODULE MA_INTRA\n") MSC.write (" use MSSIZE\n") MSC.write (" real*8,DIMENSION(NSITEA) :: Akr,AKro,AA,AB\n") MSC.write (" real*8 :: re12,re13,re23,ANG, AKo,AKrr,ADD\n") MSC.write (" END MODULE MA_INTRA\n") MSC.write ("C ------------------------------------------------------------------\n") MSC.write (" MODULE MB\n") MSC.write (" use MSSIZE\n") MSC.write (" real*8,DIMENSION(NSITEB,NMOLCB) :: rxb,ryb,rzb,\n") MSC.write (" & vrxb,vryb,vrzb, vxb,vyb,vzb,\n") MSC.write (" & fxbi,fybi,fzbi, frxb,fryb,frzb, fxb,fyb,fzb \n") MSC.write (" real*8,DIMENSION(NMOLCB) :: rxbm,rybm,rzbm,dpmxb,dpmyb,dpmzb,\n") MSC.write (" & vxbm,vybm,vzbm,fxbm,fybm,fzbm,dxbm,dybm,dzbm,BPOINT\n") MSC.write (" real*8,DIMENSION(NSITEB,NSITEB) :: CB1,CB2,CB3\n") MSC.write (" real*8,DIMENSION(NSITEB) :: SBQ,SBMASS\n") MSC.write (" real*8,DIMENSION(NMOLCB*NMOLCB) :: BLIST\n") MSC.write (" real*8 :: TBMASS,XMB\n") MSC.write (" integer :: NMB\n") MSC.write ("C - - - - - - - - - - - - - - - - - - - - for B and A\n") MSC.write (" real*8,DIMENSION(NMOLCB+1) :: ABPOINT\n") MSC.write (" real*8,DIMENSION(NMOLCA*NMOLCB) :: ABLIST\n") MSC.write (" real*8,DIMENSION(NSITEA,NSITEB) :: SIGMAB,EPSIAB,CAB1,CAB2,CAB3\n") MSC.write (" END MODULE MB\n") MSC.write ("C ------------------------------------------------------------------\n") MSC.write (" MODULE MB_INTRA\n") MSC.write (" use MSSIZE\n") MSC.write (" real*8,DIMENSION(NSITEB) :: Bkr,BKro,BA,BB\n") MSC.write (" real*8 :: Bre12,Bre13,Bre23,BANG, BKo,BKrr,BDD\n") MSC.write (" END MODULE MB_INTRA\n") MSC.write ("C ------------------------------------------------------------------\n") MSC.write ("C ----------------------------------------------------------\n") MSC.write ("C MODCONF : configuration for simulation\n") MSC.write ("C ----------------------------------------------------------\n") MSC.write (" module PROP\n") MSC.write (" use MSSIZE\n") MSC.write (" real*8,DIMENSION(MPROP) :: APROP,BPROP,CPROP,DPROP,EPROP\n") MSC.write (" end module\n") MSC.write ("C -----------------------------------------------------------\n") MSC.write (" module PROP_A\n") MSC.write (" real*8 :: POTLJ, POTC, POTIN, PPLJ, PPC, PPIN\n") MSC.write (" end module\n") MSC.write ("C -----------------------------------------------------------\n") MSC.write (" module PROP_B\n") MSC.write (" real*8 :: POTLJB, POTCB, POTINB, PPLJB, PPCB, PPINB\n") MSC.write (" real*8 :: POTLJAB,POTCAB, PPLJAB,PPCAB\n") MSC.write (" end module\n") MSC.write ("C -----------------------------------------------------------\n") MSC.write (" module TC\n") MSC.write (" use MSSIZE\n") MSC.write (" real*8 :: etacm,etar,epsi,Detar,Detacm,Depsi,\n") MSC.write (" & Getar,Gepsi,Getacm\n") MSC.write (" real*8 :: TAUT,TAUP,QTcm,QTr,QP, SCMint\n") MSC.write (" real*8,DIMENSION(NSITEA) :: va_avg, bath_ma\n") MSC.write (" real*8,DIMENSION(NSITEB) :: vb_avg, bath_mb\n") MSC.write (" end module\n") MSC.write ("C -----------------------------------------------------------\n") MSC.write (" module SIMconf\n") MSC.write (" use MSSIZE\n") MSC.write (" real*8 :: DTL,DEN,TEMP,TSIM,PSIM,EKTOT,PPTOT,TTRANS\n") MSC.write (" real*8 :: BOXL,BOXLIV\n") MSC.write (" real*8 :: RLISTSQ,RCUTSQ,RCLJSQ,RCENV,RCC\n") MSC.write (" real*8 :: RRLIST,RRCUT,RRCLJ\n") MSC.write (" integer :: NSTEP,NSEQ,NFACM,NFSAVE,NFGR,NBACK\n") MSC.write (" integer :: NCRUN,MODECR,MODECT,MODECP,MODECO\n") MSC.write (" end module\n") MSC.write ("C -----------------------------------------------------------\n") MSC.write (" module SIMopt\n") MSC.write (" use MSSIZE\n") MSC.write (" integer,DIMENSION(MAXMODE) :: MCR,MCT,MCP,MCO,NSCR\n") MSC.write (" real*8 ,DIMENSION(MAXMODE) :: CPR1,CPR2,CPR3\n") MSC.write (" real*8 ,DIMENSION(MAXRUN) :: RSET1,RSET2,RSET3\n") MSC.write (" real*8 ,DIMENSION(MAXRUN,NSITEA) :: OPT1,OPT2,OPT3\n") MSC.write (" integer :: OPT\n") MSC.write (" end module\n") MSC.write ("C -----------------------------------------------------------\n") MSC.write (" module CONSTs\n") MSC.write (" real*8,PARAMETER :: LA = 6.022136736d+23 \n") MSC.write (" real*8,PARAMETER :: EP = 1.6021773349d-19 \n") MSC.write (" real*8,PARAMETER :: Pi = 3.14159265358979d0\n") MSC.write (" real*8,PARAMETER :: CC = 2.99792458d+8\n") MSC.write (" real*8,PARAMETER :: KB = 1.38065812d-23 \n") MSC.write (" real*8,PARAMETER :: AM = 1.660540210D-27\n") MSC.write (" real*8,PARAMETER :: FR = 9.648670d+4\n") MSC.write (" real*8,PARAMETER :: A4M = 1.0d+10\n") MSC.write (" real*8,PARAMETER :: Q4J = 1.0d-7\n") MSC.write (" real*8,PARAMETER :: Q4KJ= 1.0d-4\n") MSC.write (" real*8,PARAMETER :: J4Q = 1.0d+7\n") MSC.write (" real*8,PARAMETER :: KJ4Q= 1.0d+4\n") MSC.write (" real*8,PARAMETER :: GC = LA*KB\n") MSC.write (" real*8,PARAMETER :: UO = 4.0d0*Pi*1.0d-7\n") MSC.write (" real*8,PARAMETER :: EO = 1.0d0/(CC*CC*UO)\n") MSC.write (" real*8,PARAMETER :: EC = Q4J*(A4M*LA*EP*EP)/(4.0d0*Pi*EO)\n") MSC.write (" real*8,PARAMETER :: KC = FR*FR/(EO*GC)\n") MSC.write (" end module CONSTs\n") MSC.write ("C ----------------------------------------------------------------\n") MSC.write (" module ModRand\n") MSC.write (" integer :: MTSC,SCM\n") MSC.write (" end module\n") MSC.close() return #---------------------------------------------------------------------------------------------- }}
テキスト整形のルールを表示する