code: def get_shear_distance(a):
      
      cx, cy, cz = a.cell
      if 'shear_dx' in a.info:
          assert abs(cx[1]) < 1e-12, 'cx[1] = {0}'.format(cx[1])
          assert abs(cx[2]) < 1e-12, 'cx[2] = {0}'.format(cx[2])
          assert abs(cy[0]) < 1e-12, 'cx[0] = {0}'.format(cy[0])
          assert abs(cy[2]) < 1e-12, 'cy[2] = {0}'.format(cy[2])
          assert abs(cz[0]) < 1e-12, 'cz[0] = {0}'.format(cz[0])
          assert abs(cz[1]) < 1e-12, 'cz[1] = {0}'.format(cz[1])
          dx, dy, dz = a.info['shear_dx']
      else:
          assert abs(cx[1]) < 1e-12, 'cx[1] = {0}'.format(cx[1])
          assert abs(cx[2]) < 1e-12, 'cx[2] = {0}'.format(cx[2])
          assert abs(cy[0]) < 1e-12, 'cy[0] = {0}'.format(cy[0])
          assert abs(cy[2]) < 1e-12, 'cy[2] = {0}'.format(cy[2])
          dx, dy, sz = cz
      return dx, dy
docs: Returns the distance a volume has moved during simple shear. Considers
      either Lees-Edwards boundary conditions or sheared cells.