小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

lammps的restart重啟動相關(guān)命令使用詳解

 Secelia 2012-11-20

 

-

restart作用

restart命令是lammps提供的重啟動命令,用于重啟lammps計算。這樣可以省去一些共有的計算,從而節(jié)省計算時間,特別是對于比較大的體系。

比如原子弛豫一般是各種計算都必須要做的,那么就可以先單獨弛豫一下,生成restart文件,供其他計算直接調(diào)用,從而避免每一個計算都進(jìn)行弛豫。

 

restart原理

重啟動的原理很簡單,就是寫一個中間restart文件,在這個文件中記錄某個狀態(tài)的絕大部分信息,在重啟動時,只需要讀入這個文件,接著完成剩下的計算即可。restart文件是二進(jìn)制文件。

 

restart命令

restart相關(guān)的命令有三個:restart, write_restart, read_restart。還有一個相關(guān)的腳本在lammps的tools目錄下restart2data,可以用來將二進(jìn)制的restart文件轉(zhuǎn)換成可識別的文文文件,即data file文件,可以由read_data讀入。

restart命令和write_restart命令是用來寫重啟動文件的,區(qū)別是前者用來周期性地將系統(tǒng)狀態(tài)寫入不同的restart文件,而后者則是寫出該命令使用前的系統(tǒng)狀態(tài)。

read_restart命名是用來讀入restart文件,開始新的計算。

tools目錄下的restart2data工具提供的是cpp源文件,需要編譯后才可使用。

下面以lammps/bench目錄下的輸入文件為例進(jìn)行簡要介紹。

寫restart文件

# FENE beadspring benchmark

units lj
atom_style bond
special_bonds fene

read_data data.chain

neighbor 0.4 bin
neigh_modify every 1 delay 1

bond_style fene
bond_coeff 1 30.0 1.5 1.0 1.0

pair_style lj/cut 1.12
pair_modify shift yes
pair_coeff 1 1 1.0 1.0 1.12

fix 1 all nve
fix 2 all langevin 1.0 1.0 10.0 904297

thermo 100
timestep 0.012

restart 50 tmp.restart # write restart file periodiclly
run 100
#write_restart tmp*.restart # write restart file of the current state

注意restart和write_restart命令的使用位置是不同的。這里使用restart命令,會產(chǎn)生兩個文件tmp.restart.50, tmp.restart.100.

轉(zhuǎn)換restart文件

首先編譯restar2data.cpp,如下:

$ g++ restart2data.cpp -o restart2data

這時就會在當(dāng)前目錄下產(chǎn)生可執(zhí)行的restart2data文件,cp到bench目錄下,轉(zhuǎn)換上面例子產(chǎn)生的tmp50.restart文件。

restart2data tmp50.restart data.tmp50

這時就會在bench目錄下產(chǎn)生data.tmp50文件,它是可直接辨識的文本文件。

讀入restart文件

把in.chain文件拷貝成in.chain.restart文件,用來測試restart。由于restart文件中包含了很多的命令,所以需要重新設(shè)置的命令不多,這里如下:

read_restart    tmp.restart.50

neighbor        0.4 bin
neigh_modify    every 1 delay 1

fix             1 all nve
fix             2 all langevin 1.0 1.0 10.0 904297

timestep        0.012

run             50

這里實際就是接著timestep等于50的那個狀態(tài)重啟計算的。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多