Source code for pylammps.Analyzer

"""
Analyzer class: the Analyzer of LAMMPS Systems
"""

[docs]class Analyzer(object): """ The analyzer class. Has to be instantiated for each simulation, with the computes that we want to calculate """ def __init__(self, computes): """ Constructor: Instantiate an analyzer with a compute list Parameters ---------- computes : dict A dict of computes that will be used to analyze. The key is the identifier and the value is a compute instance """ self.__computes = computes @property def computes(self): """ Computes for the analyzer """ return self.__computes @computes.setter def computes(self, value): """ Set computes for the analyzer """ self.__computes = value
[docs] def analyze(self, system): """ Main method, that performs all the analysis on the system given Parameters ---------- system : System instance The system that we will use to calculate the computes """ for key in self.computes: self.computes[key].compute(system)
[docs] def update(self, system): """ Perform the computes and update all the tallies Parameters ---------- system : System instance The system that we will update """ for key in self.computes: value = self.computes[key].compute(system) self.computes[key].tally(value)
[docs] def zero(self): """ Zero out all the computes """ for key in self.computes: self.computes[key].zero()
[docs] def log(self, path): """ Log all the computes Parameters ---------- path : str Path where to write the log """ for key in self.computes: self.computes[key].log('{0}/{1}.dat'.format(path, key))
[docs] def plot(self, path): """ Plot all the computes Parameters ---------- path : str Path where to save the plots """ for key in self.computes: self.computes[key].plot('{0}/{1}'.format(path, key))