vmd教程 forces-tutorial(15)

发布时间:2021-06-05

vmd教程 forces-tutorial

1TCLFORCES

if{($typeeq"ATOM"||$typeeq"HETATM")\

&&$beta==$targetMark}{

lappendtargets"$segname$resid$name"

lappendmasses$occupancy

}

}

close$inStream15

10Thenextstepistousetheatomtriplesto nditsindex,andformalist

ofthese,usingtheatomindexcommand.addatomisthencalledforeachoftheseatoms:

setatoms{}

foreachtarget$targets{

lassign$targetsegnameresidatom

setatomindex[atomid$segname$resid$atom]

lappendatoms$atomindex

addatom$atomindex

}

11Nextwe ndthenumberoftargetatoms:

setnumatoms[llength$atoms]

setlinaccel[vecscale[expr1.0/418.68]$linaccel]

setangaccel[expr$angaccel/418.68]

print"Linearacceleration:($linaccel)Ang*ps^-2"

print"Angularacceleration:(00$angaccel)Rad*ps^-2"

12Nowwegettothemainpartofthescript,thecalcforcesde nition.It

isessentiallyidenticaltothelastexample:

proccalcforces{}{

globalatomsnumatomsmasseslinaccelangaccelnamd

loadcoordscoords

setcomsum"000"

settotalmass0

foreachatom$atomsmass$masses{

settmp[vecscale$mass$coords($atom)]

setcomsum[vecadd$comsum$tmp]

settotalmass[expr$totalmass+$mass]

}

setcom[vecscale[expr1.0/$totalmass]$coordsum]

print"Center=$com"

精彩图片

热门精选

大家正在看