lampps手冊(cè)范本_第1頁(yè)
lampps手冊(cè)范本_第2頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、一、各種文件的介紹:1 infile:建立該文件以便程序的寫入2 logfile:寫入狀態(tài)信息(iftheswitchisused?)3 screenfile決定結(jié)果的是否進(jìn)行屏幕輸出4 varnamefile定義一個(gè)變量,name指變量名,可為字母也可為字符串,形式$x/$abc二、屏幕輸出:結(jié)果顯示在屏幕上,同時(shí)在logfile中。開始前LAMMPS計(jì)算出所需的存儲(chǔ)空間,運(yùn)行中每隔幾個(gè)時(shí)步顯示一次熱力學(xué)狀態(tài),直至輸出最終狀態(tài)。Looptimeof49.002on2procsfor2004atoms該部分顯示了幾個(gè)大類的計(jì)算時(shí)間Pairtime(%)=35.0495(71.5267)Bond

2、time(%)=0.092046(0.187841)Kspcetime(%)=6.42073(13.103)Neightime(%)=2.73485(5.5811)Commtime(%)=1.50291(3.06703)Outpttime(%)=0.013799(0.0281601)Othertime(%)=2.13669(4.36041)Nlocal:1002ave,1015max,989min每個(gè)處理器中特定原子的數(shù)目Histogram:1000000001Nghost:8720ave,8724max,8716minHistogram:1000000001Neighs:354141ave,

3、361422max,346860minHistogram:1000000001Total#ofneighbors=708282Aveneighs/atom二353.434Avespecialneighs/atom二2.34032Numberofreneighborings=42Dangerousreneighborings=2當(dāng)運(yùn)用了能量最小化命令進(jìn)行能量最小化時(shí),還將出現(xiàn)如下所示語(yǔ)句:Minimizationstats:Einitial,next-to-last,final=-0.895962-2.94193-2.94342(顯示初終能量以及next-to-last循環(huán)的能量)Gradien

4、t2-norminit/final=1920.7820.9992(給出能量梯度,即所有原子的受力)Gradientinf-norminit/final二304.2839.612162-form是力向量的長(zhǎng)度,inf-form是最大構(gòu)成?Iterations=36循環(huán)次數(shù)Forceevaluations=177對(duì)力進(jìn)行評(píng)定的次數(shù)當(dāng)程序中有kspace_stylelong-rangeCoulombicssolve,將會(huì)顯示以下語(yǔ)句:FFTtime(%ofKspce)=0.200313(8.34477)完成3dFFT計(jì)算的時(shí)間及在總時(shí)間中占的百分比FFTGflps3d1donly=2.310749.

5、19989每秒執(zhí)行的浮點(diǎn)指令次數(shù)(flops)為5N*log(2N),N為3維晶體中的節(jié)點(diǎn)數(shù)The3drateiswithcommunication;the1drateiswithout(justthe1dFFTs).在GPU(圖形處理單元)上的運(yùn)行三、指令系統(tǒng)介紹(*)一般來(lái)說(shuō)指令的順序并不重要,膽在以下幾種情況中必須注意:1 LAMMPS并不是全部讀完所有指令才執(zhí)行,而是讀一行執(zhí)行一次,因此下面的兩組語(yǔ)句是不同的:timestep0.5run100run100以下的兩個(gè)模擬其步長(zhǎng)均為0.5fmsecrun100第一個(gè)模擬采用缺省值步長(zhǎng)為1fmsectimestep0.5run100第二個(gè)采

6、用步長(zhǎng)為0.5fmsec2 某些指令只在其他指令之后才生效,如要得到系統(tǒng)溫度必須先進(jìn)行各種定義3 若A指令在B之前,B可以引用A定義的變量四、語(yǔ)法規(guī)則在LAMMPS中要區(qū)分大小寫,一般指令名稱用小寫字母,文件及用戶定義IDStrings用大寫。LAMMPS對(duì)每行語(yǔ)句的語(yǔ)法要求如下:1 當(dāng)語(yǔ)句太長(zhǎng)一行放不下時(shí),在語(yǔ)句一行結(jié)束的時(shí)候輸入字符“”表示下一行的語(yǔ)句接著上一行繼續(xù)。2 在#之后輸入的字符認(rèn)為是評(píng)論語(yǔ)句,是無(wú)用的,但有例外3 緊跟在$后定義變量(之前講過(guò))4 單詞間用空格隔開5 第一個(gè)詞為指令名,接下來(lái)的字母全都為自變量(arguments)6 Ifyouwanttextwithspace

7、stobetreatedasasingleargument,itcanbeenclosedindoublequotes五、輸入的語(yǔ)句結(jié)構(gòu)一個(gè)普通的LAMMPS程序通常由以下四部分組成:1初始化2原子定義3設(shè)定4進(jìn)行模擬初始化階段:設(shè)定所需參數(shù),相關(guān)各項(xiàng)命令,引入所需的力場(chǎng)參數(shù)相關(guān)命令介紹:1 unitscommand語(yǔ)句形式:unitsstyle style=ljorrealormetalorsiorcgsorelectronExamples:unitsmetalunitslj該語(yǔ)句定義了單元類型,除了LJ類型,其他物理常量來(lái)自于某網(wǎng),定義實(shí)際單元的熱能=4.184J。而在LJ類型中,所有變量

8、都是無(wú)單位的(參考義龍的論文)實(shí)際量換算成簡(jiǎn)化單位量有系列公式。以下列出了換算關(guān)系及其它各種類型中所使用的標(biāo)準(zhǔn)單位。Thiscommandcannotbeusedafterthesimulationboxisdefinedbyaread_dataorcreate_boxcommand.缺省狀態(tài)默認(rèn)為L(zhǎng)J類型2 語(yǔ)句形式:dimensionN N=2or3例如:dimension2一般缺省為3d模擬,2d模擬的話要在建立simulationbox之前進(jìn)行設(shè)定(其余省略)COMMANDSLISTEDBYCATEGORY以下列出的LAMMPS命令以按類分好,其分類情況如下:初始化指令:atom_mo

9、dify,atom_style,boundary,dimension,newton,processors,units原子定義指令:create_atoms,create_box,lattice,read_data,read_restart,region,replicate力場(chǎng)指令:angle_coeff,angle_style,bond_coeff,bond_style,dielectric,dihedral_coeff,dihedral_style,improper_coeff,improper_style,kspace_modify,kspace_style,pair_coeff,pair

10、_modify,pair_style,pair_write,special_bonds設(shè)定指令:communicate,dipole,group,mass,min_modify,min_style,neigh_modify,neighbor,reset_timestep,run_style,set,shape,timestep,velocityFIXESfix,fix_modify,unfixComputes:compute,compute_modify,uncomputeOutput:dump,dump_modify,restart,thermo,thermo_modify,thermo_s

11、tyle,undump,write_restartActions:delete_atoms,delete_bonds,displace_atoms,displace_box,minimize,prd,run,temperMiscellaneous:clear,echo,if,include,jump,label,log,next,print,shell,variable六howtodiscussions。重啟一個(gè)模擬。有3種方法繼續(xù)長(zhǎng)的LAMMPS程序。在同一個(gè)程序中可多次使用運(yùn)行命令。每次運(yùn)行都會(huì)接著上一條運(yùn)行指令(runcommand)進(jìn)行。Binaryfile使用restartcomma

12、nd將binaryfiles存入硬盤中,之后用read-restart命令可將binaryfile讀出。或者可轉(zhuǎn)為textdatafiles,經(jīng)read-data命令讀出。restart2data涉及到的命令:1runcommandsyntaxrunNkeywordvalues(N=#oftimesteps;zeroormorekeyword/valuepairsmaybeappended;keyword=uptoorstartorstoporpreorpostorevery)Examples:run10000#運(yùn)行10000步;N=0意味著直接把現(xiàn)系統(tǒng)的熱力學(xué)值輸出run1000000upt

13、o#從當(dāng)前開始一直運(yùn)行至upto所指定的數(shù)值(該語(yǔ)句意為運(yùn)行至10000000步止)run100start0stop1000run1000prenopostyesrun100000start0stop1000000every1000"printProteinRg=$r"run100000every1000NULL(補(bǔ)充說(shuō)明fix指令:Syntax:fixIDgroup-IDstyleargs ID=user-assignednameforthefixID是用戶自己定義的名字,便于通過(guò)fix定義 group-ID=IDofthegroupofatomstoapplythefi

14、xto style=oneofalonglistofpossiblestylenames(seebelow) args=argumentsusedbyaparticularstyleExamples:fix1allnvefix3allnvttemp300.0300.00.01fixminetopsetforce0.0NULL0.0fix指令的用途是對(duì)一組原子進(jìn)行定義,可以用于更新原子的位置、速度、控制溫度、加常力、施加邊界條件等。當(dāng)兩個(gè)或更多fix在同一過(guò)程中作用時(shí),根據(jù)程序中的先后順序執(zhí)行fix指令。Fix指令可通過(guò)unfix指令來(lái)消除,形式為unfixfix-ID)對(duì)于run100star

15、t0stop1000這個(gè)語(yǔ)句來(lái)說(shuō),主要與fix語(yǔ)句配合使用。fix1allnvt200.0300.01.0這兩個(gè)指令的功能是在接下來(lái)的1000步運(yùn)行中,每run1000步的溫度都要從200度升到300度f(wàn)ix1allnvt200.0300.01.0對(duì)于左側(cè)的一組指令,溫度隨著從0到10000步的執(zhí)行run1000start0stop10000逐漸升至300.0度,是一個(gè)發(fā)生在整個(gè)過(guò)程的漸變行為run1000start0stop10000run1000start0stop10000(共10個(gè))至于preandpost大概是這樣的,preno的意思是跳過(guò)初始設(shè)定階段,如果以下的計(jì)算是承接之前運(yùn)行命

16、令的話(意思是采用之前的參數(shù))但是如果該run指令是第一個(gè)指令是,該設(shè)定會(huì)被忽略。注意:當(dāng)兩次運(yùn)行指令之間使用了修改設(shè)定值的命令時(shí)(比如fix等),preno是不允許的,必須重新設(shè)定,否則報(bào)錯(cuò)若是postno,則跳過(guò)fulltimingsummary,輸出onelinesummarytimingEvery的作用是將一個(gè)run分成一系列較短的runsvariableqequalxrun6000every2000"printCoord=$q"每運(yùn)行2000步輸出一次某原子的x坐標(biāo)值Default:Theoptiondefaultsarestart二thecurrenttimes

17、tep,stop=currenttimestep+N,pre=yes,andpost二yes.在run語(yǔ)句中的缺省值2restartcommand(將binaryfiles存入硬盤)restart文件是lammps的一種輸出文件形式Syntax:restart0N二writearestartfileeverythismanytimestepsrestartNrootroot二filenametowhichtimestep#isappendedrestartNfile1filefile1,file2=twofullfilenames,togglebetweenthemwhenwritingfil

18、eExamples:restart0restart1000poly.restartrestart1000restart.*.equilrestart10000poly.%.1poly.%.2restart0意味著不輸出restartfiles。與dump文件一樣,restart不能包含兩個(gè)wildcardcharacters(即通配符)。若filename中含有*號(hào),則它會(huì)被目前的值所代替(該情況只在僅有一個(gè)filename的情況下成立)1之后這些binaryfiles可通過(guò)指令read-restart來(lái)讀出在此我們給出2條程序,用于讀出binaryrestartfile或者是converte

19、ddatafile,之后發(fā)出一條新的運(yùn)行指令,這條指令從上次運(yùn)行結(jié)束的地方開始執(zhí)行。這些闡釋了在新程序中必須進(jìn)行哪些設(shè)定。細(xì)節(jié)請(qǐng)參照之后對(duì)read-start和read-data命令的講解。當(dāng)程序中附有如下這行語(yǔ)句時(shí):restart50tmp.restart它在運(yùn)行過(guò)程中會(huì)產(chǎn)生兩個(gè)binaryfiles,即tmp.restart.50和tmp.restart.100該程序可以被用于讀出第一個(gè)restartfile以及重新運(yùn)行最后50個(gè)步長(zhǎng)。read_restarttmp.restart.50neighbor0.4binneigh_modifyevery1delay1fix1allnvefix2

20、alllangevin1.01.010.0904297timestep0.012run50在此需指出以下這些指令不需再重復(fù)使用,因?yàn)樵趓estart-file中已經(jīng)進(jìn)行了必要的設(shè)定,這樣的指令包括:units,atom_style,special_bonds,pair_style,bond_style,但是必須使用如下的指令,因?yàn)檫@些指令的參數(shù)并未在restartfile中進(jìn)行設(shè)定,這樣的指令有neighbor,fix,timestep.如果你真的用該程序運(yùn)行restartedrun,你會(huì)注意到在第50步時(shí)與熱力學(xué)數(shù)據(jù)相符(如果你在原程序中寫入了thermo50命令),但是在第100步時(shí)兩者并

21、不相符。這是因?yàn)閒ixlangevin命令使用隨機(jī)數(shù)的原因。除了上面提到的這個(gè)方法,還可用以下工具將restartfile轉(zhuǎn)換為datafile:restart2datatmp.restart.50tmp.restart.data之后該程序可用于重新運(yùn)行最后50步:unitsljatom_stylebondpair_stylelj/cut1.12pair_modifyshiftyesbond_stylefenespecial_bonds0.01.01.0read_datatmp.restart.dataneighbor0.4binneigh_modifyevery1delay1fix1alln

22、vefix2alllangevin1.01.010.0904297timestep0.012reset_timestep50run50需要注意的是幾乎所有在最初的in.chain程序中進(jìn)行的設(shè)定必須在被重新設(shè)定,除了pair-coeff與bond-coeff,因?yàn)樾碌膁atafile列出了力場(chǎng)系數(shù)。另外,reset_timestep命令用于告知LAMMPS當(dāng)前的工步,該值被儲(chǔ)存在restartfiles中,不在datafiles中。4.22d模擬運(yùn)用dimmension命令定義一個(gè)2d模擬過(guò)程。運(yùn)用boundary命令建立一個(gè)Z方向的周期性的長(zhǎng)方體,這是缺省值。如果使用createbox來(lái)定義

23、一個(gè)模擬的長(zhǎng)方體,將z方向的尺寸設(shè)定為有限值,這樣create-atoms命令可以可將長(zhǎng)方體的原子在z平面上平鋪顯示(即將三維原子顯示在二維平面上)。Createbox1-1010-1010-0.250.25如果使用readcommand命令來(lái)讀出文件中的原子坐標(biāo),將“zlozhi”的值設(shè)為finitebutnarrow,與create-box命令的設(shè)定類似。對(duì)于file中的每個(gè)原子,都為其確定一個(gè)z坐標(biāo)值,這樣一來(lái)便可確保其落在所設(shè)定的z方向的邊界。(該處如何為每個(gè)原子的z坐標(biāo)賦值?)在最終進(jìn)行fix定義得時(shí)候使用fixenforce2d命令,以此來(lái)保證在每步執(zhí)行完畢后能將速度、力等z方向的

24、值清零。(用法:fix5allenforce2d,將速度、力等z方向的值清零的目的是保證在2d模擬中原子保持在其最初設(shè)定的z坐標(biāo)值出不變)將該fix作為最后一個(gè)fix命令的原因是將其它fix命令引起的力的變化均清零。LAMMPS中給出的許多程序?qū)嵗际轻槍?duì)二維模擬的。需要注意的是:LAMMPS中的一些模型將粒子看做延展的球體,而不是單純得一個(gè)點(diǎn)。在二維模擬中,粒子仍被看做球體而不是盤狀物,這意味著它們的慣性的處理與三維模型是相同的。4.3CHARMMandAMBER力場(chǎng)AMBER力場(chǎng)主要適用于較小的蛋白質(zhì),核酸,多糖等生化分子,此力場(chǎng)的標(biāo)準(zhǔn)形式CHARM力場(chǎng),此力場(chǎng)可應(yīng)用于研究許多分子系統(tǒng),通

25、常皆可得到與實(shí)驗(yàn)值相近的結(jié)構(gòu)。該立場(chǎng)的的作用形式為:有許多分子動(dòng)力學(xué)的方法可以計(jì)算CHARMM與AMBER力場(chǎng),其中只有部分能夠用于LAMMPS。一個(gè)力場(chǎng)由兩部分組成:一個(gè)是用于定義該力場(chǎng)的公式,另一個(gè)是用于特殊系統(tǒng)的參數(shù)(特殊系統(tǒng)值得是什么?)這里我們只討論應(yīng)用于LAMMPS的公式。利用read-data指令或者在輸入程序中利用pair-coeff或者bond-coeff在輸入數(shù)據(jù)文件中進(jìn)行系數(shù)的設(shè)定。后文對(duì)該類工具進(jìn)行了詳述,這些工具可用于CHARMM或是AMBER力場(chǎng)中用于力場(chǎng)系數(shù)的值以及將它們的輸出值轉(zhuǎn)換為L(zhǎng)AMMPS的輸入值。4.4通過(guò)一個(gè)程序運(yùn)行多個(gè)模擬這點(diǎn)可通過(guò)多種方式來(lái)實(shí)現(xiàn),具

26、體請(qǐng)看對(duì)于各個(gè)命令的程序說(shuō)明書。如果說(shuō)“多次模擬“意味著繼續(xù)運(yùn)行之前的某個(gè)模擬,那么你只需要多次使用run這個(gè)命令,例如以下的程序片段:UnitsljAtom-styleatomicRead-datadata.ljRun10000Run10000Run10000Run10000Run10000以上這段程序?qū)?huì)對(duì)同一個(gè)系統(tǒng)進(jìn)行連續(xù)的50000步模擬。如果你想要一個(gè)接一個(gè)的運(yùn)行完全不同的模擬,可在這些模擬之間使用clear命令以此來(lái)重新初始化LAMMPS,例如下面的一個(gè)程序段:unitsljatom-styleatomicread-datadata.ljrun10000clearunitsljat

27、om-styleatomicread-datadata.lj.newrun10000以上這個(gè)程序段將順序地運(yùn)行兩個(gè)完全獨(dú)立的模擬。對(duì)于多個(gè)獨(dú)立的模擬而言,可以使用variables以及next和jump命令多次循環(huán)運(yùn)行同一個(gè)程序段,在運(yùn)行過(guò)程中改變程序的設(shè)定值。例如以下這個(gè)程序段,以in.polymer命名Variabledindexrun1run2run3run4run5run6run7run8Shellcd$dRead-datadata.polymerRun10000Shellcd.ClearNextdJumpin.polymer以上這段程序?qū)⑦\(yùn)行不同目錄下的8個(gè)模擬,在每個(gè)目錄中都運(yùn)用了

28、一個(gè)data.polymer文檔。運(yùn)用相同的概念可以對(duì)位于8個(gè)不同溫度值條件下的系統(tǒng)進(jìn)行模擬,只需運(yùn)用一個(gè)溫度變量并且將輸出的結(jié)果儲(chǔ)存在不同的log及dump文檔中,例如:Variablealoop8Variabletindex0.80.850.90.951.01.051.11.15Loglog.$aRead-dat.polymerVelocityallcreate$t352839Fix1allnvt$t$t100.0Dump1allatom1000dump.$aRun100000NexttNextaJumpin.polymer不論是在單個(gè)還是多個(gè)處理器中運(yùn)行以上這些例子都是有效的,但是假定你

29、在一個(gè)單一處理器的單一分區(qū)中運(yùn)行LAMMPS軟件,LAMMPS可以通過(guò)''-partition”命令在多個(gè)分區(qū)上運(yùn)行。在最后兩個(gè)例子中,如果LAMMPS在三個(gè)分區(qū)上運(yùn)行,同樣的程序仍然可以使用,只需把其中的index以及l(fā)oop變量替換為universe-style變量,詳情請(qǐng)參照variable命令的講解。同時(shí)程序中的“nextt”“nexta”命令需要替換為”nextat”命令。有了這些限定,8個(gè)模擬便可一個(gè)接一個(gè)地在3個(gè)分區(qū)中運(yùn)行直至全部運(yùn)行結(jié)束。起初3個(gè)模擬在3個(gè)分區(qū)中同時(shí)開始運(yùn)行,當(dāng)一個(gè)分區(qū)中的運(yùn)行結(jié)束時(shí),第四個(gè)模擬便會(huì)接著運(yùn)行,以此類推直至8個(gè)模擬全部完成。4.5

30、Paralleltempering(?)Temper命令可以用于進(jìn)行Paralleltempering或者是replica-exchange模擬,使用場(chǎng)合為同一個(gè)模擬在不同溫度下運(yùn)行于不同處理器且在不同對(duì)間使用蒙特卡洛溫度轉(zhuǎn)換法的場(chǎng)合下。具體的temper命令的用法:temperNMtempfixTDseedlseed2index在該語(yǔ)句中N表示總共要運(yùn)行的步數(shù),M指每經(jīng)過(guò)M步就試著進(jìn)行一次tempering(what'sthistempering?)Temp指的是最初的溫度值,fix-ID指的是在運(yùn)行過(guò)程中控制溫度的fix的ID,seed1是隨機(jī)的(隨機(jī)值?如何確定?)用于確定參與模

31、擬的相鄰的溫度,seed2也是隨機(jī)值,在Metropolis交換中用于充當(dāng)波爾茲曼因數(shù),index表示正在進(jìn)行的模擬對(duì)應(yīng)的溫度值?)示例:temper100000100$ttempfix058728Temper40000100$ttempfix032285$w使用-procs及-incommand-lineswitches在多個(gè)分區(qū)上進(jìn)行LAMMPS的運(yùn)行(在多分區(qū)上運(yùn)行具體是什么意思?相當(dāng)于并行處理否?)在輸入的程序中進(jìn)行一系列溫度的設(shè)定,每個(gè)處理器都對(duì)應(yīng)一個(gè)溫度值,通過(guò)variablecommand來(lái)實(shí)現(xiàn):Variabletworld300.0310.0320.0330.0(在該語(yǔ)句中,t

32、表示變量名,world表示為處理器的每個(gè)分區(qū)分配一次字符串,該指令具體執(zhí)行什么操作)定義一個(gè)nvt或者langevin類型的fix,用以控制模擬的溫度。Fixmyfixallnvt$t$t100.0(該語(yǔ)句為什么用到兩個(gè)變量$t)在需要對(duì)溫度值進(jìn)行改變時(shí),用temper命令代替本該使用run命令的地方,示例:Temper100000100$tmyfix384758382(該語(yǔ)句具體如何控制模擬中溫度的改變?)4.6 顆粒狀模型(granularmodels)組成顆粒狀模型的是有一定直徑的球狀粒子而不是點(diǎn)狀顆粒。這就意味著它們自身具有角速度,當(dāng)給其施加一個(gè)力偶時(shí)會(huì)引起粒子的轉(zhuǎn)動(dòng)。進(jìn)行粒狀模型的模

33、擬時(shí),你會(huì)用到如下的命令:Atom-stylegranularFixnve/sphereFixgravityComputeerotate/sphere計(jì)算所得的轉(zhuǎn)動(dòng)動(dòng)能可以熱力學(xué)數(shù)據(jù)的形式輸出(以哪些參數(shù)為參考值?)用以下三對(duì)勢(shì)能可以計(jì)算出相互作用粒子間的力與力矩: pair_stylegran/history pair_stylegran/no_history pair_stylegran/hertzian以下列出的fix命令都是專門用于顆粒系統(tǒng)中的:Fixfreeze;fixpour;fixviscous;fixwall/gran其中的fixfreeze指令能夠?qū)⒈粌鼋Y(jié)原子的力與力矩都清零

34、,代替在其他模型中所使用的fixsetforce指令。為了提髙計(jì)算效率,可以通過(guò)neigh-modifyexclude指令忽略凍結(jié)原子兩兩間的計(jì)算。4.7 tip3pwatermodel(應(yīng)該如何選取模擬所涉及的模型,具體應(yīng)用?)在CHARMN中使用的TIP3Pwater模型定義了一個(gè)3-site的剛性水分子以及水分子的三個(gè)原子各自所帶的電量與LJ勢(shì)能參數(shù)。在LAMMPS中fixshake命令可用來(lái)保持兩個(gè)0-H鍵及H-O-H的鍵角,在此過(guò)程中還應(yīng)使用harmonic類型的鍵及harmonic與charmm類型的鍵角。fixshake命令主要是用于在模擬中對(duì)特定的鍵及鍵角進(jìn)行約束,每運(yùn)行一個(gè)步

35、長(zhǎng)都將運(yùn)用SHAKE算法將特定的化學(xué)鍵重新設(shè)定為平衡狀態(tài)的長(zhǎng)度,同時(shí)將特定鍵角設(shè)定為平衡值。具體實(shí)施過(guò)程為施加一個(gè)附加的力,由此原子便可保持為我們想要的狀態(tài)oFixshake命令的使用方法如下:fix1subshake0.00012010b419a352(1是ID,sub為groupID,shake:fixcommand的類型名,tol:SHAKE解的精確度,iter:每個(gè)SHAKE解中的最大值?,N:每隔N個(gè)步長(zhǎng)就輸出一次SHAKE數(shù)據(jù),可以附加多個(gè)keyword,包括b,a,t,m)用cutoff對(duì)剛性TIP3P-CHARMM模型進(jìn)行模擬時(shí)還需對(duì)0及H原子進(jìn)行以下參數(shù)的設(shè)定。如果需要柔性的

36、TIP3P模型(不使用fixshake)則可以使用K值。如果HH與0H的LJ的£及。值被設(shè)定為0.0,則它與最初1983的TIP3P命令相一致。以下省略對(duì)TIP3P長(zhǎng)程庫(kù)倫求解儀的參數(shù)設(shè)定。4.8 TIP4Pwatermodel四點(diǎn)的TIP4P剛性水分子的模型通過(guò)增加一個(gè)位置對(duì)傳統(tǒng)的三點(diǎn)的TIP3P模型進(jìn)行的擴(kuò)展,新增的該點(diǎn)無(wú)質(zhì)量,在該點(diǎn)處放置一個(gè)與氧原子相關(guān)的電荷。這個(gè)記作M的點(diǎn)位于H0H鍵角角平分線上某點(diǎn)上,該點(diǎn)與氧原子的距離為一設(shè)定值。鍵及鍵角類型同TIP3P。目前通過(guò)LAMMPSpairstylelj/cut/coul/long/tip4p僅能夠建立長(zhǎng)程庫(kù)倫力的四點(diǎn)模型。未來(lái)

37、可能會(huì)增加cutoff版本。對(duì)于兩個(gè)模型,鍵長(zhǎng)及鍵角都應(yīng)用fixshake指令進(jìn)行設(shè)定。以下仍省略設(shè)定時(shí)所需的附加參數(shù),需要注意的是0M的距離在pair-style命令中進(jìn)行了特別的設(shè)定,這與其他一些參數(shù)有所不同。4.9 SPCwatermodelSPC模型定義了一個(gè)3點(diǎn)的剛性水分子模型,且對(duì)三個(gè)原子的電荷與LJ參數(shù)都進(jìn)行了分配。在LAMMPS中fixshake命令可用于保持兩個(gè)0-H鍵及H-0-H角的剛度。對(duì)其鍵型及鍵角類型的設(shè)定與之前相同。同樣省略對(duì)SPC模型中0、H參數(shù)的具體描述。4.10將LAMMPS與其它代碼聯(lián)系起來(lái)LAMMPS設(shè)計(jì)的目的就在于與其它代碼配合使用。例如一段量子力學(xué)的代

38、碼可能將一小團(tuán)原子的作用力計(jì)算出來(lái)后將其傳達(dá)給LAMMPSo或者一個(gè)連續(xù)有限元模擬可能在FE節(jié)點(diǎn)處利用原子位置作為邊界條件,并以此來(lái)計(jì)算一個(gè)有限元方程的解,并將插補(bǔ)力返還給MD原子。LAMMPS至少能夠通過(guò)3種方法與其它代碼配合。(1)定義一個(gè)新的fix命令用以調(diào)用其它代碼。在該方案中,LAMMPS是驅(qū)動(dòng)代碼。在運(yùn)行過(guò)程中,fix指令被調(diào)用,該指令可通過(guò)程序庫(kù)調(diào)用其它代碼,這些代碼與LAMMPS相互聯(lián)系形成程序這便是POEMSpackage在與LAMMPS相關(guān)的一組原子上施加受迫的剛體運(yùn)動(dòng)的方法。下面是fixpoems命令的用法:fixIDgroup-IDpoemskeywordvalues其

39、中keyword為group/molecule/file。將一個(gè)或更多組的原子看做相互關(guān)聯(lián)的剛體,這意味著每執(zhí)行一步便計(jì)算一次作用在剛體上的總的力與力矩,并對(duì)其坐標(biāo)與速度進(jìn)行更新。當(dāng)模擬較大的生物分子時(shí),可將其看做一組彼此關(guān)聯(lián)、表面粗糙的剛體。由于該fix運(yùn)用連續(xù)能量時(shí)間積分法對(duì)剛性原子的位置與速度進(jìn)行了更新,因此不應(yīng)再使用其它的fix指令對(duì)同樣的原子進(jìn)行更新,包括nve,nvt,npt,temp/rescale,langevin等。對(duì)于groupvalue,每個(gè)列出的group都被看做一個(gè)剛體,對(duì)于Moleculevalue,每組具有不同分子ID的原子被看做是剛體,對(duì)于file,原子組從指定的file中讀出,每一組原子都被看作一個(gè)剛體來(lái)處理。(2) 定義一個(gè)新的LAMMPS命令用來(lái)調(diào)用其它代碼。該法在理念上與(1)類似,但在該法中LAMMPS與其它代碼的地位更為平等。注意到此時(shí)不在LAMMPS運(yùn)行的時(shí)步間調(diào)用代碼,而是在run之間調(diào)用。LAMMPS輸入程序能通過(guò)調(diào)用其它程序改變LAMMPS的運(yùn)行,通過(guò)新的命令實(shí)現(xiàn)。Run命令通過(guò)其every選項(xiàng)來(lái)提供該項(xiàng)功能,這

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論