In [1]:
import numpy as np
origin = np.array((0,0,0))
counts = np.array((50,50,120))
spacing = np.array((0.5,0.5,0.5))

grid = {}
grid['x'] = np.zeros(shape=tuple(counts), dtype=float)
grid['y'] = np.zeros(shape=tuple(counts), dtype=float)
grid['z'] = np.zeros(shape=tuple(counts), dtype=float)
for i in range(counts[0]):
  for j in range(counts[1]):
    for k in range(counts[2]):
      grid['x'][i,j,k] = i*spacing[0]
      grid['y'][i,j,k] = j*spacing[1]
      grid['z'][i,j,k] = k*spacing[2]

grid['LJr'] = np.zeros(shape=tuple(counts), dtype=float)
mid_xy = (origin[0] + counts[0]*spacing[0]/2, origin[1] + counts[1]*spacing[1]/2)
grid['LJr'][np.logical_and(((grid['x']-mid_xy[0])**2 + (grid['y']-mid_xy[1])**2) > 9,\
                           np.logical_and(grid['z']>28, grid['z']<32))] = 10.

import AlGDock.IO
IO_Grid = AlGDock.IO.Grid()
data = {'origin':origin, 'spacing':spacing, 'counts':counts, 'vals':grid['LJr'].flatten()}
IO_Grid.write('LJr.dx', data)
IO_Grid.write('LJr.nc', data)

In [ ]: