どぼるざーくとゆく、高分子シミュレーション

lammpsやOCTAなどの高分子シミュレーターについて四苦八苦しながら学んでいくブログです。Twitterアカウント@lammps_octa

【lammps】入力ファイルの解説!!_2

はじめに

前回紹介できなかったCONFIGファイルとParamファイルの解説を行います!!

 

 

解説

②CONFIGファイル

#各種結合の設定
100 atoms
1 atom types
99 bonds
1 bond types
98 angles
1 angle types
97 dihedrals
1 dihedral types

 ここではシミュレーションで使用する粒子の数や結合数などを明示しています。

ここで数を間違えるとエラーが起きます。めんどくさいと最初は思っていましたが、原子の位置をプログラミングとかで出力するときに間違いがあるとここで分かります。ありがたいです(笑)

#cell initial size
0 150 xlo xhi
0 150 ylo yhi
0 150 zlo zhi

ここではセルのサイズを定義しています。ここでエラーを吐くことはあまりないですが、セルに粒子を詰めすぎると周期境界条件の時なんかはゼロ距離になって発散するので注意!!

Masses

1 44.0

 ここでは原子の重さを定義しています。最初についている『1』はインデックスです。

Atoms

1 1 1 50.0 0.0 50 0 0 0
2 1 1 50.0 1.0 50 0 0 0
3 1 1 50.0 2.0 50 0 0 0
4 1 1 50.0 3.0 50 0 0 0
5 1 1 50.0 4.0 50 0 0 0
~

 ここでは粒子の位置と粒子の種類を明示しています。

一列目が各粒子のインデックスです。物理量の指定やbondやangleの指定の時に使います。

二列目が分子のインデックスです。今回は高分子が1本しかないので1しかないです。

三列目は粒子の種類です。Massesのところで指定した番号の重さが適用されます。

四列目、五列目、六列目が粒子のxyz軸上の位置を示しています。

それ以降は今回は使わないので無視します。(今回の説明はマニュアルの『compute property』に書かれています)

Bonds

1 1 1 2
2 1 2 3
3 1 3 4
4 1 4 5
5 1 5 6

 ここでは結合している粒子を定義しています。

一列目はBondのインデックスです。

二列目はBondの種類です。Paramファイルで指定したポテンシャルが適用されます。

三列目と四列目が繋がっている粒子のインデックスです。

AnglesとDihedralsの部分も同じように書かれているので省略します!

③Paramファイル

#### References ################################################
pair_style lj/gromacs 9.0 12.0
bond_style harmonic
angle_style cosine/squared
dihedral_style fourier

 ここではシミュレーションで利用するポテンシャル関数を指定しています。自分が使いたいポテンシャルをマニュアルから探して適用します。(各関数の説明は理論の記事で取り上げたいです)

#### PAIR ######################################################
pair_coeff   1 1 0.8066 4.3
#### BOND ######################################################
bond_coeff 1 20.32 3.30
#### ANGLE ######################################################
angle_coeff 1 10.16 130
#### DIHEDRAL ######################################################
dihedral_coeff 1 4 0.4685 1 180 0.04302 2 0 0.07887 3 0 0.02868 4 0

 ここではポテンシャルの関数で使用する係数を指定しています。

ここの係数は論文の書き方やマニュアルによって違うので気を付けましょう。

 

さいごに

いかがでしたか?

ファイルの解説はここで終了です!次回以降の記事は、シミュレーションの基礎知識について書いていきたいと思います(=゚ω゚)ノ