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