add support for lammps_map_atom() in python module

This commit is contained in:
Axel Kohlmeyer
2024-05-24 23:50:11 -04:00
parent 0ec86181f2
commit 9f0816c3ba

View File

@ -269,6 +269,9 @@ class lammps(object):
self.lib.lammps_extract_global_datatype.restype = c_int self.lib.lammps_extract_global_datatype.restype = c_int
self.lib.lammps_extract_compute.argtypes = [c_void_p, c_char_p, c_int, c_int] self.lib.lammps_extract_compute.argtypes = [c_void_p, c_char_p, c_int, c_int]
self.lib.lammps_map_atom.argtypes = [c_void_p, c_void_p]
self.lib.lammps_map_atom.restype = c_int
self.lib.lammps_get_thermo.argtypes = [c_void_p, c_char_p] self.lib.lammps_get_thermo.argtypes = [c_void_p, c_char_p]
self.lib.lammps_get_thermo.restype = c_double self.lib.lammps_get_thermo.restype = c_double
@ -928,6 +931,24 @@ class lammps(object):
else: return target_type(ptr[0]) else: return target_type(ptr[0])
return None return None
# -------------------------------------------------------------------------
# map global atom ID to local atom index
def map_atom(self, id):
"""Map a global atom ID (aka tag) to the local atom indx
This is a wrapper around the :cpp:func:`lammps_map_atom`
function of the C-library interface.
:param id: atom ID
:type id: int
:return: local index
:rtype: int
"""
tag = self.c_tagint(id)
return self.lib.lammps_map_atom(self.lmp, pointer(tag))
# ------------------------------------------------------------------------- # -------------------------------------------------------------------------
# extract per-atom info datatype # extract per-atom info datatype