手机版

vmd教程 forces-tutorial(17)

发布时间:2021-06-05   来源:未知    
字号:

vmd教程 forces-tutorial

1TCLFORCES173Nowopenthescriptrot-c.tcl.The rstdi erencesstartatline58.We rstsetupaforceslist,whichisavariabletoholdthevaluesoftheforceswewillapplytotheatoms.Wealsosetupsomecountervariables:forcecountandprintcountarebothincrementedeachtimestep.WhenforcecountequalsforcesRecalcFreq,theforcesarerecalculated,andforcecountisresettozero,asseenbelow.

setforces{}

foreachindex$atoms{

lappendforces"0.00.00.0"

}

setforcecount$forcesRecalcFreq

setprintcount0

4Nowwebeginthecalcforcescommand.First,asusual,wedeclareourglobalvariables.Wethenapplytheforcesthataresavedintheforceslist.

proccalcforces{}{

globalatomsnumatomsforcemultmassesavgmassforces

globalforcesRecalcFreq

globalforcecountprintcount

foreachatom$atomsforce$forces{

addforce$atom$force

}

5Next,wetestwhethertheforceswillberecalculatednexttimestep,andifso,tellNAMDthatwewillwantatomiccoordinatesforthetargetatomsbycallingaddatom:

if{$forcecount==[expr$forcesRecalcFreq-1]}{

print"Addingatomspriortoreconfiguringforcesat\

$printcount"

foreachatom$atoms{

addatom$atom

}

}

Aswewillseeshortly,wecallclearconfigaftertheforcesarerecalcu-lated.Thiscallerasesalladdatomrecords;withoutit,thecoordinatesoftheatomsaddedwillbeavailableeverytimestep,independentlyofwhetherwecallloadcoords,andthereforemuchofthepotentialspeedgainwillbelost.However,thismeansthataddatommustbecalledagaineachtimewewanttorecalculateforces,andbecauseoftechnicaldetailsithastobedoneatleastonestepbeforethecoordinateswillbeused.

6Nextwehavethecodethatrecalculatestheforce.Asalludedtoabove,therecalculationhappenswhenforcecountequalsforcesRecalcFreq.

vmd教程 forces-tutorial(17).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)