Add and use lammps_flush_buffers() in Python interface

This commit is contained in:
Richard Berger
2022-02-04 10:42:22 -05:00
parent 293d529ee9
commit 0ff3ee0227
2 changed files with 13 additions and 0 deletions

View File

@ -164,6 +164,7 @@ class lammps(object):
self.lib.lammps_open.restype = c_void_p
self.lib.lammps_open_no_mpi.restype = c_void_p
self.lib.lammps_close.argtypes = [c_void_p]
self.lib.lammps_flush_buffers.argtypes = [c_void_p]
self.lib.lammps_free.argtypes = [c_void_p]
self.lib.lammps_file.argtypes = [c_void_p, c_char_p]
@ -1118,6 +1119,16 @@ class lammps(object):
# -------------------------------------------------------------------------
def flush_buffers(self):
"""Flush output buffers
This is a wrapper around the :cpp:func:`lammps_flush_buffers`
function of the C-library interface.
"""
self.lib.lammps_flush_buffers(self.lmp)
# -------------------------------------------------------------------------
def set_variable(self,name,value):
"""Set a new value for a LAMMPS string style variable

View File

@ -857,10 +857,12 @@ class PyLammps(object):
"""
def handler(*args, **kwargs):
cmd_args = [name] + [str(x) for x in args]
self.lmp.flush_buffers()
with OutputCapture() as capture:
cmd = ' '.join(cmd_args)
self.command(cmd)
self.lmp.flush_buffers()
output = capture.output
comm = self.lmp.get_mpi_comm()