Commit cb0b20f5 authored by Peter Eastman's avatar Peter Eastman
Browse files

Set units correctly on Numpy arrays

parent c9d7d1e9
......@@ -32,7 +32,7 @@ __author__ = "Peter Eastman"
__version__ = "1.0"
from simtk.openmm.app.internal import amber_file_parser
from simtk.unit import nanometers, picoseconds
from simtk.unit import Quantity, nanometers, picoseconds
try:
import numpy
except:
......@@ -84,7 +84,7 @@ class AmberInpcrdFile(object):
"""
if asNumpy:
if self._numpyPositions is None:
self._numpyPositions = numpy.array(self.positions.value_in_unit(nanometers))*nanometers
self._numpyPositions = Quantity(numpy.array(self.positions.value_in_unit(nanometers)), nanometers)
return self._numpyPositions
return self.positions
......@@ -96,7 +96,7 @@ class AmberInpcrdFile(object):
"""
if asNumpy:
if self._numpyVelocities is None:
self._numpyVelocities = numpy.array(self.velocities.value_in_unit(nanometers/picoseconds))*nanometers/picoseconds
self._numpyVelocities = Quantity(numpy.array(self.velocities.value_in_unit(nanometers/picoseconds)), nanometers/picoseconds)
return self._numpyVelocities
return self.velocities
......@@ -109,9 +109,9 @@ class AmberInpcrdFile(object):
if asNumpy:
if self._numpyBoxVectors is None:
self._numpyBoxVectors = []
self._numpyBoxVectors.append(numpy.array(self.boxVectors[0].value_in_unit(nanometers))*nanometers)
self._numpyBoxVectors.append(numpy.array(self.boxVectors[1].value_in_unit(nanometers))*nanometers)
self._numpyBoxVectors.append(numpy.array(self.boxVectors[2].value_in_unit(nanometers))*nanometers)
self._numpyBoxVectors.append(Quantity(numpy.array(self.boxVectors[0].value_in_unit(nanometers)), nanometers))
self._numpyBoxVectors.append(Quantity(numpy.array(self.boxVectors[1].value_in_unit(nanometers)), nanometers))
self._numpyBoxVectors.append(Quantity(numpy.array(self.boxVectors[2].value_in_unit(nanometers)), nanometers))
return self._numpyBoxVectors
return self.boxVectors
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment