模拟心得MATERIAL STUDIO 中SORPTION(2)

2019-02-17 17:16

N 7.87110000 17.86280000 44.83600000 .....

271

272 274 1.5 273 1.0 273 274 276 1.5 275 276 278 1.0 277 278 1.0 280 1.0 278 279 1.0 279 281 1.0 280 281

Zn 0 LANL2DZ **** C O H 0 6-31G(d) ****

Zn 0 LANL2DZ

Zn 1.35

具体的各参数解释,请看GAUSSIAN使用手册。

对于如何在分子筛的骨架添加CH2CH2NH2这样的基团,因为分子筛是无定形结构,在MS里面肯定是不能自动全部添加好,只能使用编程语言添加。可以把MCM-41的结构保存为 CAR格式文件(为什么非要保存为CAR文件,因为CAR文件里面有原子的电荷),然后利用随机数发生器,在内部随机生成位置,只要次位置与原来骨架之间的距离小于C-SI键长的话,那么就认为这个位置是可以接受的,并且把此位置命名为C原子,剩下来的C和N照样按照这个添加,可以写一个添加原子的子程序,调用三次就好。然后把得到的CAR文件导入到MS中,自动加氢就好。在MCM-41中添加胺基的源程序是这样的:

integer natom,natom0,nho,namino

************************************************************ * Number of atoms in the original structure is 9992.

* But the parameter natom should include the number of atoms added subsequently. * So here the value of natom is set to 15000

************************************************************ parameter (natom=15000,natom0=9992,nho=2319,namino=435)

* *

****************************************************************** * define global variables

******************************************************************

****************************************************************** * Read the input file

******************************************************************

open(10,file='MCM41-final.car',status='old') do 20 i=1,natom0

read(10,*)a(i),xc(i),yc(i),zc(i),fx(i),occupation(i),fft(i), common charge common xc,yc,zc

real distance,search_step,dis1,dis2,dis3,lbond,charge(natom) character a(natom)*5,fx(natom)*4,fft(natom)*5,atomname(natom)*2 integer occupation(natom),kjishu,ron,nOtemp,kstop,natom_add,Tatom integer Ohydroxy_SN(nho),Temp_SN

double precision xc(natom),yc(natom),zc(natom)

double precision rox,roy,roz,Ohydroxy(nho,4),Otemp(nho,4) double precision OTa(4),OTb(4),temp(3),list3(nho*3,12) integer templist3(nho*3,3),Nra

double precision xtemp,ytemp,ztemp,xfinal,yfinal,zfinal

integer NSiT,NSi_S,NSi_C,NCT,NC_S,NC_C,NNT,NN_S,NN_C character NSi_CC*1,NC_CC*1,NN_CC*1

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

******************************************************************* * write the initial file to check whether the initial structure is read correctly. *******************************************************************

open(30,file='output.car',access='append') do 40 i=1,natom0

write(30,888)a(i),xc(i),yc(i),zc(i),fx(i),occupation(i),fft(i),

& atomname(i),charge(i) 40 continue close(30) * * * * * * * * *

do 45 itt=1,namino

********************************************************* * add Si to the chosen Oxygen atom

*********************************************************

call HO_list(Ohydroxy,Ohydroxy_SN,kjishu) Nra=int(RAN2(IDUM)*kjishu)

Temp_SN=Ohydroxy_SN(Nra) xtemp=Ohydroxy(Nra,2) ytemp=Ohydroxy(Nra,3) ztemp=Ohydroxy(Nra,4)

call addatom(xtemp,ytemp,ztemp,lbond,Tatom,Temp_SN,

NNT=0 NN_S=0 NN_C=0 NCT=0 NC_S=0 NC_C=0 NSiT=0 NSi_S=0 NSi_C=0 natom_add=0

Tatom=natom0+natom_add

lbond=1.90

& xfinal,yfinal,zfinal) * * * * * *

if(NSi_C.eq.0)NSi_CC='T' if(NSi_C.eq.1)NSi_CC='U' NSiT=NSiT+1

NSi_C=INT((NSiT+60)/99) NSi_S=NSiT+60-99*NSi_C natom_add=natom_add+1

Tatom=natom0+natom_add

* * * * * *

if(NSi_C.eq.2)NSi_CC='V' if(NSi_C.eq.3)NSi_CC='W' if(NSi_C.eq.4)NSi_CC='X' if(NSi_C.eq.5)NSi_CC='Y' if(NSi_C.eq.6)NSi_CC='Z' a(Tatom)='Si'//'NSi_S'//'NSi_CC' xc(Tatom)=xfinal yc(Tatom)=yfinal zc(Tatom)=zfinal fx(Tatom)='XXXX' occupation(Tatom)=1 fft(Tatom)='Si3' charge(Tatom)=5.000

open(140,file='amino.car',access='append') write(140,888)a(Tatom),xc(Tatom),

a(Tatom)='Si'

atomname(Tatom)='Si'

& yc(Tatom),zc(Tatom), & fx(Tatom),occupation(Tatom), & fft(Tatom),atomname(Tatom), & charge(Tatom)

* do 2060 i=1,nho-2 * * * * * * * * * *

do 2075 ix=-2,kjishu+2

if(Ohydroxy(j,1).gt.templist(ix)-0.1.and. do 2065 ix=-2,kjishu+2

if(Ohydroxy(i,1).gt.templist(ix)-0.1.and.

goto 2060 endif close(140)

* & Ohydroxy(i,1).lt.templist(ix)+0.1)then

*2065 continue

do 2070 j=i+1,nho-1

* & Ohydroxy(j,1).lt.templist(ix)+0.1)then

* * * * * * * * * * *

goto 2070 endif

*2075 continue

do 2080 k=j+1,nho do 2085 ix=-2,kjishu+2

if(Ohydroxy(k,1).gt.templist(ix)-0.1.and.

goto 2080 endif

* & Ohydroxy(k,1).lt.templist(ix)+0.1)then

*2085 continue

dis1=sqrt((Ohydroxy(i,2)-Ohydroxy(j,2))**2+

(Ohydroxy(i,3)-Ohydroxy(j,3))**2+

* & * *

* & (Ohydroxy(i,4)-Ohydroxy(j,4))**2)

dis2=sqrt((Ohydroxy(i,2)-Ohydroxy(k,2))**2+

(Ohydroxy(i,3)-Ohydroxy(k,3))**2+

* & *

* & (Ohydroxy(i,4)-Ohydroxy(k,4))**2)

dis3=sqrt((Ohydroxy(j,2)-Ohydroxy(k,2))**2+

(Ohydroxy(j,3)-Ohydroxy(k,3))**2+

* &

* & (Ohydroxy(j,4)-Ohydroxy(k,4))**2) * if (dis1.gt.1.8.and.dis1.lt.2.6.and. * & dis2.gt.1.8.and.dis1.lt.2.6.and. * & dis3.gt.1.8.and.dis1.lt.2.6)then * *

do 2090 imm=1,4

* list3(kjishu,imm)=Ohydroxy(i,imm) *2090 continue

* templist3(kjishu,1)=int(Ohydroxy(i,1)) * charge(Ohydroxy_SN(i))=2.0 *

do 2100 imm=1,4

* list3(kjishu,imm+4)=Ohydroxy(j,imm) *2100 continue

* templist3(kjishu,2)=int(Ohydroxy(j,1)) * charge(Ohydroxy_SN(j))=2.0 *

do 2110 imm=1,4 kjishu=kjishu+1


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

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

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

马上注册会员

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