From 33a87a470a2bdd9791c742be20810b7193e4db3b Mon Sep 17 00:00:00 2001 From: Richard Berger <richard.berger@temple.edu> Date: Tue, 9 Aug 2016 04:11:05 -0400 Subject: [PATCH] Return 2D vectors in 2D cases --- python/lammps.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/python/lammps.py b/python/lammps.py index 9f7e02e8e4..285596caa6 100644 --- a/python/lammps.py +++ b/python/lammps.py @@ -348,8 +348,11 @@ class AtomList(object): def __init__(self, lammps_wrapper_instance): self.lmp = lammps_wrapper_instance self.natoms = self.lmp.system.natoms + self.dimensions = self.lmp.system.dimensions def __getitem__(self, index): + if self.dimensions == 2: + return Atom2D(self.lmp, index + 1) return Atom(self.lmp, index + 1) @@ -397,6 +400,26 @@ class Atom(object): return self.lmp.eval("q[%d]" % self.index) +class Atom2D(Atom): + def __init__(self, lammps_wrapper_instance, index): + super(Atom2D, self).__init__(lammps_wrapper_instance, index) + + @property + def position(self): + return (self.lmp.eval("x[%d]" % self.index), + self.lmp.eval("y[%d]" % self.index)) + + @property + def velocity(self): + return (self.lmp.eval("vx[%d]" % self.index), + self.lmp.eval("vy[%d]" % self.index)) + + @property + def force(self): + return (self.lmp.eval("fx[%d]" % self.index), + self.lmp.eval("fy[%d]" % self.index)) + + class PyLammps(object): """ More Python-like wrapper for LAMMPS (e.g., for iPython) -- GitLab