====== Class methods for JOB control ====== ===== calculate ===== calculate(self) run a calculation. you have to be a little careful with code in here. Use the calculation_required function to tell if a calculation is required. It is assumed here that if you call this, you mean it. ===== calculation_required ===== calculation_required(self, atoms=None, quantities=None) determines if a calculation is needed. return True if a calculation is needed to get up to date data. return False if no calculation is needed. quantities is here because of the ase interface. ===== execute_external_dynamics ===== execute_external_dynamics(self, nc=None, txt=None, stoppfile='stop', stopprogram=None) Implementation of the stay alive functionality with socket communication between dacapo and python. Known limitations: It is not possible to start 2 independent Dacapo calculators from the same python process, since the python PID is used as identifier for the script[PID].py file. ===== execute_parent_calculation ===== execute_parent_calculation(self) Implementation of an extra level of parallelization, where one jacapo calculator spawns several dacapo.run processes. This is used for NEBs parallelized over images. ===== get_ascii_debug ===== get_ascii_debug(self) Return the debug settings in Dacapo get_debug(self) Return the python logging level set_ascii_debug(self, level) set the debug level for Dacapo :Parameters: level : string one of 'Off', 'MediumLevel', 'HighLevel' set_debug(self, debug) set debug level for python logging debug should be an integer from 0-100 or one of the logging constants like logging.DEBUG, logging.WARN, etc...