當前位置:
首頁 > 最新 > 《跟隨霄,LAMMPS源碼學習06》Atom:grow

《跟隨霄,LAMMPS源碼學習06》Atom:grow

(儘管我們都喜歡看科普爽文,但我會把這個系列堅持更新完,直到講完所有核心代碼,相比科普,硬知識更重要。)

04期推文調用grow()的方式為:

偽代碼如下[atom.cpp]:

該函數接受一個參數,即增長的原子數目nmax。然後利用memory-grow()實現每個原子屬性的增長。總共有7個原子屬性,存儲在atom指針指向的Atom實例中。7個原子屬性詳解如下:

tag為原子標記,目前功能未知,之後遇到再說

type為原子類型

mask為掩碼,方便計算某些性質時除去某些原子

image為使用周期性邊界時,該原子的鏡像原子所在的周期標號,例如box的x方向長度為20,某個原子向x方向移動了46,則image[0]=2,x[0]=6。

x為原子的位置,有三個分量分別為x,y,z方向的位置,因此相比上面的標量,memory->grow()多接受了一個參數3(函數重載)

v為原子的速度,有三個分量

f為原子的受力,有三個分量

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 玩玩分子動力學 的精彩文章:

Ubuntu Linux環境下shadowsocks-qt5的安裝與配置

TAG:玩玩分子動力學 |