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

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

【lammps】ファイルを実行してみよう!

はじめに

皆さんこんにちは!

今回はlammpsでシミュレーションをしてみたいと思います!

扱うのはバネモデルです!さっそくやってみましょう。

 用意するファイル

今回のシミュレーションでは『IN』『CONFIG』『Param』のファイルをまず用意します。以下にそれらのファイルに書くべきコード簡単な役割を説明します。

・IN

コードは以下のようになっています。

このファイルはlammpsでシミュレーションをする際の条件を指定しています。

 

##/bin/sh

units       real
atom_style  molecular

boundary p p p
read_data   CONFIG

include Param


neighbor  10.0 bin
neigh_modify  delay 0  every 1  check yes
neigh_modify  page 2000000  one 50000 


variable  dt    equal   10
variable  Nstep equal   40000
variable  dNcfg equal   ${Nstep}/100
variable  dNout equal   ${Nstep}/100
variable  Tini  equal   323
variable  Tend  equal   323
variable  Tmass equal   ${dt}*100
variable  Pini  equal   1.0
variable  Pend  equal   1.0
variable  Pmass equal   ${dt}*1000

thermo_style  multi
thermo  ${dNout}

timestep  ${dt}

velocity all create ${Tini} 1 rot yes dist gaussian

fix 1 all nvt  temp ${Tini} ${Tend} ${Tmass}


fix engout all print ${dNout} "$(step) $(ke) $(pe)"                   screen no file energy.d
fix strout all print ${dNout} "$(step) $(pxx) $(pyy) $(pzz)"          screen no file stress.d
fix cllout all print ${dNout} "$(step) $(vol) $(lx) $(ly) $(lz)"   screen no file cell.d
dump 3 all cfg    ${dNcfg}   *.cfge mass type xs ys zs mol fx fy fz
#dump 4 all custom ${dNcfg}   *.atom id mol type id xu yu zu fx fy fz
dump_modify 3 element C

run    ${Nstep}

write_data CONFIG.OUT nocoeff

 

・CONFIG

コードは以下のようになっています。

この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
 

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
6 1 1 50.0 5.0 50 0 0 0
7 1 1 50.0 6.0 50 0 0 0
8 1 1 50.0 7.0 50 0 0 0
9 1 1 50.0 8.0 50 0 0 0
10 1 1 50.0 9.0 50 0 0 0
11 1 1 50.0 10.0 50 0 0 0
12 1 1 50.0 11.0 50 0 0 0
13 1 1 50.0 12.0 50 0 0 0
14 1 1 50.0 13.0 50 0 0 0
15 1 1 50.0 14.0 50 0 0 0
16 1 1 50.0 15.0 50 0 0 0
17 1 1 50.0 16.0 50 0 0 0
18 1 1 50.0 17.0 50 0 0 0
19 1 1 50.0 18.0 50 0 0 0
20 1 1 50.0 19.0 50 0 0 0
21 1 1 50.0 20.0 50 0 0 0
22 1 1 50.0 21.0 50 0 0 0
23 1 1 50.0 22.0 50 0 0 0
24 1 1 50.0 23.0 50 0 0 0
25 1 1 50.0 24.0 50 0 0 0
26 1 1 50.0 25.0 50 0 0 0
27 1 1 50.0 26.0 50 0 0 0
28 1 1 50.0 27.0 50 0 0 0
29 1 1 50.0 28.0 50 0 0 0
30 1 1 50.0 29.0 50 0 0 0
31 1 1 50.0 30.0 50 0 0 0
32 1 1 50.0 31.0 50 0 0 0
33 1 1 50.0 32.0 50 0 0 0
34 1 1 50.0 33.0 50 0 0 0
35 1 1 50.0 34.0 50 0 0 0
36 1 1 50.0 35.0 50 0 0 0
37 1 1 50.0 36.0 50 0 0 0
38 1 1 50.0 37.0 50 0 0 0
39 1 1 50.0 38.0 50 0 0 0
40 1 1 50.0 39.0 50 0 0 0
41 1 1 50.0 40.0 50 0 0 0
42 1 1 50.0 41.0 50 0 0 0
43 1 1 50.0 42.0 50 0 0 0
44 1 1 50.0 43.0 50 0 0 0
45 1 1 50.0 44.0 50 0 0 0
46 1 1 50.0 45.0 50 0 0 0
47 1 1 50.0 46.0 50 0 0 0
48 1 1 50.0 47.0 50 0 0 0
49 1 1 50.0 48.0 50 0 0 0
50 1 1 50.0 49.0 50 0 0 0
51 1 1 50.0 50.0 50 0 0 0
52 1 1 50.0 51.0 50 0 0 0
53 1 1 50.0 52.0 50 0 0 0
54 1 1 50.0 53.0 50 0 0 0
55 1 1 50.0 54.0 50 0 0 0
56 1 1 50.0 55.0 50 0 0 0
57 1 1 50.0 56.0 50 0 0 0
58 1 1 50.0 57.0 50 0 0 0
59 1 1 50.0 58.0 50 0 0 0
60 1 1 50.0 59.0 50 0 0 0
61 1 1 50.0 60.0 50 0 0 0
62 1 1 50.0 61.0 50 0 0 0
63 1 1 50.0 62.0 50 0 0 0
64 1 1 50.0 63.0 50 0 0 0
65 1 1 50.0 64.0 50 0 0 0
66 1 1 50.0 65.0 50 0 0 0
67 1 1 50.0 66.0 50 0 0 0
68 1 1 50.0 67.0 50 0 0 0
69 1 1 50.0 68.0 50 0 0 0
70 1 1 50.0 69.0 50 0 0 0
71 1 1 50.0 70.0 50 0 0 0
72 1 1 50.0 71.0 50 0 0 0
73 1 1 50.0 72.0 50 0 0 0
74 1 1 50.0 73.0 50 0 0 0
75 1 1 50.0 74.0 50 0 0 0
76 1 1 50.0 75.0 50 0 0 0
77 1 1 50.0 76.0 50 0 0 0
78 1 1 50.0 77.0 50 0 0 0
79 1 1 50.0 78.0 50 0 0 0
80 1 1 50.0 79.0 50 0 0 0
81 1 1 50.0 80.0 50 0 0 0
82 1 1 50.0 81.0 50 0 0 0
83 1 1 50.0 82.0 50 0 0 0
84 1 1 50.0 83.0 50 0 0 0
85 1 1 50.0 84.0 50 0 0 0
86 1 1 50.0 85.0 50 0 0 0
87 1 1 50.0 86.0 50 0 0 0
88 1 1 50.0 87.0 50 0 0 0
89 1 1 50.0 88.0 50 0 0 0
90 1 1 50.0 89.0 50 0 0 0
91 1 1 50.0 90.0 50 0 0 0
92 1 1 50.0 91.0 50 0 0 0
93 1 1 50.0 92.0 50 0 0 0
94 1 1 50.0 93.0 50 0 0 0
95 1 1 50.0 94.0 50 0 0 0
96 1 1 50.0 95.0 50 0 0 0
97 1 1 50.0 96.0 50 0 0 0
98 1 1 50.0 97.0 50 0 0 0
99 1 1 50.0 98.0 50 0 0 0
100 1 1 50.0 99.0 50 0 0 0
 

Bonds

1 1 1 2
2 1 2 3
3 1 3 4
4 1 4 5
5 1 5 6
6 1 6 7
7 1 7 8
8 1 8 9
9 1 9 10
10 1 10 11
11 1 11 12
12 1 12 13
13 1 13 14
14 1 14 15
15 1 15 16
16 1 16 17
17 1 17 18
18 1 18 19
19 1 19 20
20 1 20 21
21 1 21 22
22 1 22 23
23 1 23 24
24 1 24 25
25 1 25 26
26 1 26 27
27 1 27 28
28 1 28 29
29 1 29 30
30 1 30 31
31 1 31 32
32 1 32 33
33 1 33 34
34 1 34 35
35 1 35 36
36 1 36 37
37 1 37 38
38 1 38 39
39 1 39 40
40 1 40 41
41 1 41 42
42 1 42 43
43 1 43 44
44 1 44 45
45 1 45 46
46 1 46 47
47 1 47 48
48 1 48 49
49 1 49 50
50 1 50 51
51 1 51 52
52 1 52 53
53 1 53 54
54 1 54 55
55 1 55 56
56 1 56 57
57 1 57 58
58 1 58 59
59 1 59 60
60 1 60 61
61 1 61 62
62 1 62 63
63 1 63 64
64 1 64 65
65 1 65 66
66 1 66 67
67 1 67 68
68 1 68 69
69 1 69 70
70 1 70 71
71 1 71 72
72 1 72 73
73 1 73 74
74 1 74 75
75 1 75 76
76 1 76 77
77 1 77 78
78 1 78 79
79 1 79 80
80 1 80 81
81 1 81 82
82 1 82 83
83 1 83 84
84 1 84 85
85 1 85 86
86 1 86 87
87 1 87 88
88 1 88 89
89 1 89 90
90 1 90 91
91 1 91 92
92 1 92 93
93 1 93 94
94 1 94 95
95 1 95 96
96 1 96 97
97 1 97 98
98 1 98 99
99 1 99 100
 

Angles

1 1 1 2 3
2 1 2 3 4
3 1 3 4 5
4 1 4 5 6
5 1 5 6 7
6 1 6 7 8
7 1 7 8 9
8 1 8 9 10
9 1 9 10 11
10 1 10 11 12
11 1 11 12 13
12 1 12 13 14
13 1 13 14 15
14 1 14 15 16
15 1 15 16 17
16 1 16 17 18
17 1 17 18 19
18 1 18 19 20
19 1 19 20 21
20 1 20 21 22
21 1 21 22 23
22 1 22 23 24
23 1 23 24 25
24 1 24 25 26
25 1 25 26 27
26 1 26 27 28
27 1 27 28 29
28 1 28 29 30
29 1 29 30 31
30 1 30 31 32
31 1 31 32 33
32 1 32 33 34
33 1 33 34 35
34 1 34 35 36
35 1 35 36 37
36 1 36 37 38
37 1 37 38 39
38 1 38 39 40
39 1 39 40 41
40 1 40 41 42
41 1 41 42 43
42 1 42 43 44
43 1 43 44 45
44 1 44 45 46
45 1 45 46 47
46 1 46 47 48
47 1 47 48 49
48 1 48 49 50
49 1 49 50 51
50 1 50 51 52
51 1 51 52 53
52 1 52 53 54
53 1 53 54 55
54 1 54 55 56
55 1 55 56 57
56 1 56 57 58
57 1 57 58 59
58 1 58 59 60
59 1 59 60 61
60 1 60 61 62
61 1 61 62 63
62 1 62 63 64
63 1 63 64 65
64 1 64 65 66
65 1 65 66 67
66 1 66 67 68
67 1 67 68 69
68 1 68 69 70
69 1 69 70 71
70 1 70 71 72
71 1 71 72 73
72 1 72 73 74
73 1 73 74 75
74 1 74 75 76
75 1 75 76 77
76 1 76 77 78
77 1 77 78 79
78 1 78 79 80
79 1 79 80 81
80 1 80 81 82
81 1 81 82 83
82 1 82 83 84
83 1 83 84 85
84 1 84 85 86
85 1 85 86 87
86 1 86 87 88
87 1 87 88 89
88 1 88 89 90
89 1 89 90 91
90 1 90 91 92
91 1 91 92 93
92 1 92 93 94
93 1 93 94 95
94 1 94 95 96
95 1 95 96 97
96 1 96 97 98
97 1 97 98 99
98 1 98 99 100
 

Dihedrals

1 1 1 2 3 4
2 1 2 3 4 5
3 1 3 4 5 6
4 1 4 5 6 7
5 1 5 6 7 8
6 1 6 7 8 9
7 1 7 8 9 10
8 1 8 9 10 11
9 1 9 10 11 12
10 1 10 11 12 13
11 1 11 12 13 14
12 1 12 13 14 15
13 1 13 14 15 16
14 1 14 15 16 17
15 1 15 16 17 18
16 1 16 17 18 19
17 1 17 18 19 20
18 1 18 19 20 21
19 1 19 20 21 22
20 1 20 21 22 23
21 1 21 22 23 24
22 1 22 23 24 25
23 1 23 24 25 26
24 1 24 25 26 27
25 1 25 26 27 28
26 1 26 27 28 29
27 1 27 28 29 30
28 1 28 29 30 31
29 1 29 30 31 32
30 1 30 31 32 33
31 1 31 32 33 34
32 1 32 33 34 35
33 1 33 34 35 36
34 1 34 35 36 37
35 1 35 36 37 38
36 1 36 37 38 39
37 1 37 38 39 40
38 1 38 39 40 41
39 1 39 40 41 42
40 1 40 41 42 43
41 1 41 42 43 44
42 1 42 43 44 45
43 1 43 44 45 46
44 1 44 45 46 47
45 1 45 46 47 48
46 1 46 47 48 49
47 1 47 48 49 50
48 1 48 49 50 51
49 1 49 50 51 52
50 1 50 51 52 53
51 1 51 52 53 54
52 1 52 53 54 55
53 1 53 54 55 56
54 1 54 55 56 57
55 1 55 56 57 58
56 1 56 57 58 59
57 1 57 58 59 60
58 1 58 59 60 61
59 1 59 60 61 62
60 1 60 61 62 63
61 1 61 62 63 64
62 1 62 63 64 65
63 1 63 64 65 66
64 1 64 65 66 67
65 1 65 66 67 68
66 1 66 67 68 69
67 1 67 68 69 70
68 1 68 69 70 71
69 1 69 70 71 72
70 1 70 71 72 73
71 1 71 72 73 74
72 1 72 73 74 75
73 1 73 74 75 76
74 1 74 75 76 77
75 1 75 76 77 78
76 1 76 77 78 79
77 1 77 78 79 80
78 1 78 79 80 81
79 1 79 80 81 82
80 1 80 81 82 83
81 1 81 82 83 84
82 1 82 83 84 85
83 1 83 84 85 86
84 1 84 85 86 87
85 1 85 86 87 88
86 1 86 87 88 89
87 1 87 88 89 90
88 1 88 89 90 91
89 1 89 90 91 92
90 1 90 91 92 93
91 1 91 92 93 94
92 1 92 93 94 95
93 1 93 94 95 96
94 1 94 95 96 97
95 1 95 96 97 98
96 1 96 97 98 99
97 1 97 98 99 100

 

・Param

以下がコードです。

この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

 シミュレーションの実行

①ファイルを準備する

先ほどのコードが書かれたファイルを3つ準備する。

Windowsの場合は新規テキストにベタ張りした後にファイル名を変更すればよい。

(※拡張子はナシです。Windowsなどの場合は省略される場合があるので設定を変更しておきましょう。)

 

②lammpsを実行

それらのファイルがある場所でターミナルを開き、lammpsを実行する。

(1)単コアの場合

lmp_serial < IN

を入力する。

 

(2)MPIの場合

mpirun -np (使用するコア数) lmp_mpi < IN

を入力する。

 

(3)OPTパッケージでMPIを実行する

mpirun -np (使用するコア数) lmp_mpi -sf opt < IN

を入力する。

 

どれを実行しても5秒くらいで計算が終わると思います。

 

さいごに

今回のシミュレーションが上手くいくと以下のような結果が得られます!


【lammps】ファイルを実行してみよう!

 

次の記事でこのような動画の作成の仕方を紹介したいと思います!!

それでは!