模拟心得MATERIAL STUDIO 中SORPTION(6)

2019-02-17 17:16

* *

if(dis2.lt.3.0)then goto 1022 endif endif

if(dis1.gt.minlbond.and.dis1.lt.maxlbond)then dis2=sqrt((targetx-xc(im))**2+

* do 1032 im=1,Tatom

* & (targety-yc(im))**2+ * & (targetz-zc(im))**2) * * *

1032 continue goto 1042 endif 1022 continue 1012 continue 1002 continue

1042 xfinal=targetx yfinal=targety

endsubroutine

*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

endif zfinal=targetz

if(im.ne.Temp_SN.and.dis2.lt.3.0)then goto 1022 endif

*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

* Random Number Generator

*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

INTEGER idum,IM1,IM2,IMM1,IA1,IA2,IQ1,IQ2,IR1,IR2,NTAB,NDIV REAL ran2,AM,EPS,RNMX

PARAMETER (IM1=2147483563,IM2=2147483399,AM=1./IM1,IMM1=IM1-1, *IA1=40014,IA2=40692,IQ1=53668,IQ2=52774,IR1=12211,IR2=3791, *NTAB=32,NDIV=1+IMM1/NTAB,EPS=1.2e-7,RNMX=1.-EPS)

INTEGER idum2,j,k,iv(NTAB),iy SAVE iv,iy,idum2

DATA idum2/123456789/, iv/NTAB*0/, iy/0/ if (idum.le.0) then idum=max(-idum,1) idum2=idum do 11 j=NTAB+8,1,-1 k=idum/IQ1

idum=IA1*(idum-k*IQ1)-k*IR1 if (idum.lt.0) idum=idum+IM1 if (j.le.NTAB) iv(j)=idum 11 continue iy=iv(1) endif k=idum/IQ1

idum=IA1*(idum-k*IQ1)-k*IR1 if (idum.lt.0) idum=idum+IM1 k=idum2/IQ2

idum2=IA2*(idum2-k*IQ2)-k*IR2 if (idum2.lt.0) idum2=idum2+IM2 j=1+iy/NDIV

FUNCTION RAN2(IDUM)

iy=iv(j)-idum2 iv(j)=idum

if(iy.lt.1)iy=iy+IMM1 ran2=min(AM*iy,RNMX) return END

*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

各段程序大概信息已经在程序内部给出,调用添加原子的子程序3次,得到的CAR文件输入MS就可以自动加氢了。这个程序中使用的MCM-41模型还是单个晶胞4孔模型(由3*7*2超晶胞挖出来的),对于单孔模型的MCM-41需要自己改写,在CENTER.TXT那里修改,后面的搜索步骤也要相应的修改。其他种类的沸石例如MFI,LTA等等加胺基也是按照这样做的。对于怎么计算孔径分布,需要到处CAR文件中所有的H原子,其源程序是这样的:

integer hno

open(10,file='H.car',status='old')

do 20 i=1,hno

read(10,*)a(i),xc(i),yc(i),zc(i),fx(i),occupation(i),fft(i), character a(hno)*5,fx(hno)*4,fft(hno)*5,natom(hno)*1 double precision xc(hno),yc(hno),zc(hno) integer occupation(hno) real charge(hno) parameter(hno=2356)

& natom(i),charge(i) 20 continue close(10)

jmm=0

open(30,file='output.car',access='append') *40 amm=RAN2(IDUM) 40 imm=int(RAN2(IDUM)*hno)

if(charge(imm).lt.1.0)then jmm=jmm+1

write(30,888)a(imm),xc(imm),yc(imm),zc(imm),fx(imm), charge(imm)=2.0 endif

& occupation(imm),fft(imm),natom(imm),charge(imm)

888 format(A5,3X,F12.9,2X,F13.9,3X,F12.9,1X,A4,1X,I1,6X,A5,3X,A1,F8.3)

end

if(jmm.lt.415)then else goto 50 endif goto 40

if(jmm.eq.50.or.jmm.eq.100.or.jmm.eq.150.or.jmm.eq.200.or.

jmm.eq.250.or.jmm.eq.300.or.jmm.eq.350.or.jmm.eq.400)then

write(30,*)'********************',jmm,'**************************' write(30,*)'********************',jmm,'**************************' endif &

50 close(30)

*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

* Random Number Generator

*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

INTEGER idum,IM1,IM2,IMM1,IA1,IA2,IQ1,IQ2,IR1,IR2,NTAB,NDIV REAL ran2,AM,EPS,RNMX

PARAMETER (IM1=2147483563,IM2=2147483399,AM=1./IM1,IMM1=IM1-1, *IA1=40014,IA2=40692,IQ1=53668,IQ2=52774,IR1=12211,IR2=3791, *NTAB=32,NDIV=1+IMM1/NTAB,EPS=1.2e-7,RNMX=1.-EPS)

INTEGER idum2,j,k,iv(NTAB),iy SAVE iv,iy,idum2

DATA idum2/123456789/, iv/NTAB*0/, iy/0/ if (idum.le.0) then idum=max(-idum,1) idum2=idum do 11 j=NTAB+8,1,-1 k=idum/IQ1

idum=IA1*(idum-k*IQ1)-k*IR1 if (idum.lt.0) idum=idum+IM1 if (j.le.NTAB) iv(j)=idum 11 continue

FUNCTION RAN2(IDUM)

iy=iv(1) endif k=idum/IQ1

idum=IA1*(idum-k*IQ1)-k*IR1 if (idum.lt.0) idum=idum+IM1 k=idum2/IQ2

idum2=IA2*(idum2-k*IQ2)-k*IR2 if (idum2.lt.0) idum2=idum2+IM2 j=1+iy/NDIV iy=iv(j)-idum2 iv(j)=idum

if(iy.lt.1)iy=iy+IMM1 ran2=min(AM*iy,RNMX) return END

*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

导出的氢原子的坐标需要按照孔径分布的函数关系式,输入孔径分布的自编程序,自编程序是这样的:

Towhee的安装:

首先要保证机器中有gfortran编译器,没有的话,我用的是FEDORA12,可以使用yum install gcc-gfortran下载一个,安装好了后,下载towhee的源代码,就可以开始编译了。 ln -s /home/zyj/zhuomian/towhee-6.2.7 /towheebase(这个必须得cd到最上层才行) cd /home/zyj/zhuomian/towhee-6.2.7 ./configure --enable-fix-GNU cd Source

make towhee

然后把里面do_test拷贝到任何一个例子里面,然后就运行./do_test,例子就可以开始跑了。Towhee能够做GBMC,并且input文件里面,主要是分子的构型信息。

GCMC程序MUSIC的编译以及使用过程

要使用Music,首先就得安装,不过安装过程肯定不想Windows操作系统下面那么方便,点点鼠标就OK了,在这里需要使用命令行。由于music使用了Fortran 90编写,因而不能和towhee一样,采用Linux自带的gcc就能编译,也许有人会问了,我把gcc更新或者采用最新的gcc也不行吗,答曰不行,因为据我了解,gcc强大在于对C语言的编译,而对于Fortran,只能支持F77,对于F90只能爱莫能助。因此我们在编译music之前,需要安装一个F90编译器。Music网页上推荐了几款,这里我们推荐使用intel Fortran compiler(以下简称ifort),因为它有非商业版本下载免费使用,只要你不是用于商业用途,就可以,但是你也不会得到


模拟心得MATERIAL STUDIO 中SORPTION(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2013年肛肠科医护人员三基考试

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: