From 962219a446b3e78c636a694f40f2938bbdf076ff Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 14 Apr 2024 18:20:19 -0400 Subject: [PATCH] make PyLammps mass property compatible with per-atom masses. --- python/lammps/pylammps.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/python/lammps/pylammps.py b/python/lammps/pylammps.py index 05d6d577b9..b959cf7d65 100644 --- a/python/lammps/pylammps.py +++ b/python/lammps/pylammps.py @@ -192,11 +192,23 @@ class Atom(object): @property def mass(self): """ - Return the atom mass + Return the atom mass as a per-atom property. + This returns either the per-type mass or the per-atom + mass (AKA 'rmass') depending on what is available with + preference for the per-atom mass. + + .. versionchanged:: TBD + + Support both per-type and per-atom masses. With + per-type return "mass[type[i]]" else return "rmass[i]". + Per-atom mass is preferred if available. :type: float """ - return self.get("mass", self.type) + if self._pylmp.lmp.extract_setting('rmass_flag'): + return self.get("rmass", self.index) + else: + return self.get("mass", self.type) @property def radius(self):