MacでLammps

分子動力学のフリーソフト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が実行できるいい時代だ。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です