分子動力学のフリーソフトLammpsがMacだと一瞬で環境整えられる。
分子動力学法
分子動力学法(ぶんしどうりきがくほう、英: molecular dynamics、MD法)は、原子ならびに分子の物理的な動きのコンピューターシミュレーション手法である。
Wikipedia(https://ja.wikipedia.org/wiki/%E5%88%86%E5%AD%90%E5%8B%95%E5%8A%9B%E5%AD%A6%E6%B3%95)
Lammps
Large-scale Atomic/Molecular Massively Parallel Simulator (LAMMPS) は、サンディア国立研究所の分子動力学プログラムである[1]。並列計算にMessage Passing Interface (MPI) を利用し、GNU General Public Licenseの下で配布されるフリーかつオープンソースのソフトウェアである[1]。
Wikipedia(https://ja.wikipedia.org/wiki/LAMMPS)
MacにLammpsをインストール
Homebrewを使って簡単にインストールできる。
brew install lammps
サンプルを実行してみる
M1 MacとIntel MacでHomebrewのインストール先が違う。
M1 Macだと/opt/homebrew/share/lammps/examples/に(要確認)、Intel Macだと/usr/local/opt/lammps/share/lammps/examples/にサンプルが入っている。
好きなのを実行してみるといいが、ここではclackを使う。
cd /usr/local/opt/lammps/share/lammps/examples/crack
実行前にin.crackを編集しておく。67行目から始まるdumpの前の#を削除しておく。
# 2d LJ crack simulation
dimension 2
boundary s s p
atom_style atomic
neighbor 0.3 bin
neigh_modify delay 5
# create geometry
lattice hex 0.93
region box block 0 100 0 40 -0.25 0.25
create_box 5 box
create_atoms 1 box
mass 1 1.0
mass 2 1.0
mass 3 1.0
mass 4 1.0
mass 5 1.0
# LJ potentials
pair_style lj/cut 2.5
pair_coeff * * 1.0 1.0 2.5
# define groups
region 1 block INF INF INF 1.25 INF INF
group lower region 1
region 2 block INF INF 38.75 INF INF INF
group upper region 2
group boundary union lower upper
group mobile subtract all boundary
region leftupper block INF 20 20 INF INF INF
region leftlower block INF 20 INF 20 INF INF
group leftupper region leftupper
group leftlower region leftlower
set group leftupper type 2
set group leftlower type 3
set group lower type 4
set group upper type 5
# initial velocities
compute new mobile temp
velocity mobile create 0.01 887723 temp new
velocity upper set 0.0 0.3 0.0
velocity mobile ramp vy 0.0 0.3 y 1.25 38.75 sum yes
# fixes
fix 1 all nve
fix 2 boundary setforce NULL 0.0 0.0
# run
timestep 0.003
thermo 200
thermo_modify temp new
neigh_modify exclude type 2 3
dump 1 all atom 500 dump.crack
dump 2 all image 250 image.*.jpg type type &
zoom 1.6 adiam 1.5
dump_modify 2 pad 4
#dump 3 all movie 250 movie.mpg type type &
# zoom 1.6 adiam 1.5
#dump_modify 3 pad 4
run 5000
Lammpsを実行する。
lmp_serial -in in.crack
色々出力されて、終わったらファイルができてるはず。

簡単にMDが実行できるいい時代だ。