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 [ ]: