目次

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...