Changing box shape based on lattice vectors


I was wondering if there was a command to change the size/shape of the simulation box based on the lattice vectors.

The change_box command only allows x,y,z,xy,xz,yz to be changed, but I’d like to change the shape of the box based on the lattice vectors for the box.

Say my lattice vectors are of the form:

a1 = <x, xy, xz>

a2 = <yx, y, yz>

a2 = <zx, zy, z>

so that we can construct the “box size” matrix:

x xy xz

yx y yz

zx zy z

The change_box command assume xy=yz, xz = zx, and zy = yz.

My “box”, however, does not have this symmetry.

I’m aware that I can use the lattice custom command, but I need to change the size and shape of the box and not create a new lattice.

Is there a command for this?

Thanks for your time.

LAMMPs allows you to define a simulation cell with any shape you like, as long as:

  1. It is a parallepiped, with edges a1, a2, a3
  2. The first edge a1 is along x
  3. The second edge a2 is in the xy plane
  4. The third edge a3 is right-handed: (a1 X a2).a3 > 0

There are multiple ways (sequences of LAMMPS commands) to specify a1, a2, and a3. See:

for more info.