vmd教程 forces-tutorial(10)

发布时间:2021-06-05

vmd教程 forces-tutorial

1TCLFORCES

setcomsum"000"

settotalmass0

foreachatom$atoms{

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

setcomsum[vecadd$comsum$tmp

settotalmass[expr$totalmass+$masses($atom)]

}

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

print"Centerofmass=$com"

5Thelastpartofthescriptiswheretherealdi erenceslie:

foreachatom$atoms{

setlinforce[vecscale$masses($atom)$linaccelsetr[vecsub$coords($atom)$com]

setx[lindex$r0]

sety[lindex$r1]

setrho[exprsqrt($x*$x+$y*$y)]

setphi[expratan2($y,$x)+$MPI/2]

if{$atom==1}{

print"atom$atom:

}phi=$phi"10

setangdir"[exprcos($phi)][exprsin($phi)]0.0"

setangmag[expr$masses($atom)*$angaccelnamd*$rho]

setangforce[vecscale$angmag$angdir]

setforce[vecadd$linforce$angforce]

addforce$atom$force

}

}

The rstsectionabovecalculatesthedistancefromtherotationaxis,rho,andtheanglefromthexaxisatwhichtheforceshouldbeapplied,phi(90 fromtheangleofthepositionvector,hencetheadditionofπ/2radians.)Fig.3showshowthesevariablesarerelated.

Afterprintingtheforceangleassociatedwithoneatomsowecanmonitortherotation,we ndaunitvector(i.e.avectorwithlengthone)pointinginthephidirection.Wethenmultiplythisbythemassoftheatomanditsdistancefromourrotationaxis,givingusthecorrectangularforcefortheangularaccelerationrequestedintheNAMDcon guration le.Finally,weaddthelinearandangularforcestogetthetotalforce.

精彩图片

热门精选

大家正在看