Lattice Orient Spacing

General LAMMPS snippet for producing oriented lattices.

variable latparam equal 4


# X<100>, Y<010>, Z<001>

variable 1x1 equal 1

variable 1x2 equal 0

variable 1x3 equal 0


variable 1y1 equal 0

variable 1y2 equal 1

variable 1y3 equal 0


variable 1z1 equal 0

variable 1z2 equal 0

variable 1z3 equal 1


variable xsize1 equal "sqrt(v_1x1^2 + v_1x2^2 + v_1x3^2)"

variable ysize1 equal "sqrt(v_1y1^2 + v_1y2^2 + v_1y3^2)"

variable zsize1 equal "sqrt(v_1z1^2 + v_1z2^2 + v_1z3^2)"


lattice fcc ${latparam} &

orient x ${1x1} ${1x2} ${1x3} &

orient y ${1y1} ${1y2} ${1y3} &

orient z ${1z1} ${1z2} ${1z3} &

spacing ${xsize1} ${ysize1} ${zsize1}

Z <110>

variable 1x1 equal 1

variable 1x2 equal -1

variable 1x3 equal 2


variable 1y1 equal 1

variable 1y2 equal -1

variable 1y3 equal -1


variable 1z1 equal 1

variable 1z2 equal 1

variable 1z3 equal 0

Z <111>

variable 1x1 equal 1

variable 1x2 equal -1

variable 1x3 equal 0


variable 1y1 equal 1

variable 1y2 equal 1

variable 1y3 equal -2


variable 1z1 equal 1

variable 1z2 equal 1

variable 1z3 equal 1