"serialization/tests/TestSerializeCustomBondForce.cpp" did not exist on "85da5e0f9018719e95350c76b483a2160c84d9d3"
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" ...@@ -32,7 +32,7 @@ __author__ = "Peter Eastman"
__version__ = "1.0" __version__ = "1.0"
from simtk.openmm.app.internal import amber_file_parser from simtk.openmm.app.internal import amber_file_parser
from simtk.unit import nanometers, picoseconds from simtk.unit import Quantity, nanometers, picoseconds
try: try:
import numpy import numpy
except: except:
...@@ -84,7 +84,7 @@ class AmberInpcrdFile(object): ...@@ -84,7 +84,7 @@ class AmberInpcrdFile(object):
""" """
if asNumpy: if asNumpy:
if self._numpyPositions is None: 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._numpyPositions
return self.positions return self.positions
...@@ -96,7 +96,7 @@ class AmberInpcrdFile(object): ...@@ -96,7 +96,7 @@ class AmberInpcrdFile(object):
""" """
if asNumpy: if asNumpy:
if self._numpyVelocities is None: 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._numpyVelocities
return self.velocities return self.velocities
...@@ -109,9 +109,9 @@ class AmberInpcrdFile(object): ...@@ -109,9 +109,9 @@ class AmberInpcrdFile(object):
if asNumpy: if asNumpy:
if self._numpyBoxVectors is None: if self._numpyBoxVectors is None:
self._numpyBoxVectors = [] self._numpyBoxVectors = []
self._numpyBoxVectors.append(numpy.array(self.boxVectors[0].value_in_unit(nanometers))*nanometers) self._numpyBoxVectors.append(Quantity(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(Quantity(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[2].value_in_unit(nanometers)), nanometers))
return self._numpyBoxVectors return self._numpyBoxVectors
return self.boxVectors 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