From f3303d08706f2462d131e76f64c70387a2fde63f Mon Sep 17 00:00:00 2001 From: Shyue Ping Ong Date: Mon, 5 Jun 2023 08:20:19 -0700 Subject: [PATCH] Update dev docs --- custodian/__init__.py | 2 +- docs/_modules/custodian/ansible/actions.html | 40 ++--- .../custodian/ansible/interpreter.html | 14 +- .../custodian/cli/converge_geometry.html | 10 +- .../custodian/cli/converge_kpoints.html | 12 +- docs/_modules/custodian/cli/cstdn.html | 10 +- docs/_modules/custodian/cli/run_nwchem.html | 8 +- docs/_modules/custodian/cli/run_vasp.html | 14 +- docs/_modules/custodian/cp2k/handlers.html | 78 ++++----- docs/_modules/custodian/cp2k/interpreter.html | 12 +- docs/_modules/custodian/cp2k/jobs.html | 22 +-- docs/_modules/custodian/cp2k/utils.html | 18 +-- docs/_modules/custodian/cp2k/validators.html | 26 +-- docs/_modules/custodian/custodian.html | 78 ++++----- docs/_modules/custodian/feff/handlers.html | 12 +- docs/_modules/custodian/feff/interpreter.html | 10 +- docs/_modules/custodian/feff/jobs.html | 14 +- docs/_modules/custodian/lobster/handlers.html | 22 +-- docs/_modules/custodian/lobster/jobs.html | 14 +- docs/_modules/custodian/nwchem/handlers.html | 12 +- docs/_modules/custodian/nwchem/jobs.html | 14 +- docs/_modules/custodian/qchem/utils.html | 8 +- docs/_modules/custodian/utils.html | 10 +- docs/_modules/custodian/vasp/handlers.html | 150 +++++++++--------- docs/_modules/custodian/vasp/interpreter.html | 10 +- docs/_modules/custodian/vasp/jobs.html | 96 ++++++----- docs/_modules/custodian/vasp/validators.html | 32 ++-- docs/_modules/index.html | 4 +- docs/_static/documentation_options.js | 2 +- docs/_themes/README.html | 4 +- docs/changelog.html | 13 +- docs/custodian.ansible.html | 4 +- docs/custodian.cli.html | 4 +- docs/custodian.cp2k.html | 4 +- docs/custodian.feff.html | 4 +- docs/custodian.html | 4 +- docs/custodian.lobster.html | 4 +- docs/custodian.nwchem.html | 4 +- docs/custodian.qchem.html | 4 +- docs/custodian.vasp.html | 15 +- docs/genindex.html | 4 +- docs/index.html | 4 +- docs/modules.html | 4 +- docs/objects.inv | Bin 2445 -> 2444 bytes docs/py-modindex.html | 4 +- docs/search.html | 4 +- docs/searchindex.js | 2 +- setup.py | 2 +- 48 files changed, 439 insertions(+), 403 deletions(-) diff --git a/custodian/__init__.py b/custodian/__init__.py index 3729a0136..2b52b2015 100644 --- a/custodian/__init__.py +++ b/custodian/__init__.py @@ -4,6 +4,6 @@ """ __author__ = "Shyue Ping Ong, William Davidson Richards, Stephen Dacek, Xiaohui Qu, Matthew Horton, Samuel M. Blau" -__version__ = "2023.5.12" +__version__ = "2023.6.5" from .custodian import Custodian diff --git a/docs/_modules/custodian/ansible/actions.html b/docs/_modules/custodian/ansible/actions.html index 5ce56fd59..1122caaaa 100644 --- a/docs/_modules/custodian/ansible/actions.html +++ b/docs/_modules/custodian/ansible/actions.html @@ -4,7 +4,7 @@ - custodian.ansible.actions — custodian 2023.5.12 documentation + custodian.ansible.actions — custodian 2023.6.5 documentation @@ -34,7 +34,7 @@

Navigation

  • modules |
  • - + @@ -57,7 +57,7 @@

    Source code for custodian.ansible.actions

     
     
     
    [docs]def get_nested_dict(input_dict, key): - """ + """ Helper function to interpret a nested dict input. """ current = input_dict @@ -73,7 +73,7 @@

    Source code for custodian.ansible.actions

     
     
     
    [docs]class DictActions: - """ + """ Class to implement the supported mongo-like modifications on a dict. Supported keywords include the following Mongo-based keywords, with the usual meanings (refer to Mongo documentation for information): @@ -97,7 +97,7 @@

    Source code for custodian.ansible.actions

     
     
    [docs] @staticmethod def set(input_dict, settings): - """ + """ Sets a value using MongoDB syntax. Args: @@ -110,7 +110,7 @@

    Source code for custodian.ansible.actions

     
     
    [docs] @staticmethod def unset(input_dict, settings): - """ + """ Unsets a value using MongoDB syntax. Args: @@ -123,7 +123,7 @@

    Source code for custodian.ansible.actions

     
     
    [docs] @staticmethod def push(input_dict, settings): - """ + """ Push to a list using MongoDB syntax. Args: @@ -139,7 +139,7 @@

    Source code for custodian.ansible.actions

     
     
    [docs] @staticmethod def push_all(input_dict, settings): - """ + """ Push multiple items to a list using MongoDB syntax. Args: @@ -155,7 +155,7 @@

    Source code for custodian.ansible.actions

     
     
    [docs] @staticmethod def inc(input_dict, settings): - """ + """ Increment a value using MongdoDB syntax. Args: @@ -171,7 +171,7 @@

    Source code for custodian.ansible.actions

     
     
    [docs] @staticmethod def rename(input_dict, settings): - """ + """ Rename a key using MongoDB syntax. Args: @@ -185,7 +185,7 @@

    Source code for custodian.ansible.actions

     
     
    [docs] @staticmethod def add_to_set(input_dict, settings): - """ + """ Add to set using MongoDB syntax. Args: @@ -203,7 +203,7 @@

    Source code for custodian.ansible.actions

     
     
    [docs] @staticmethod def pull(input_dict, settings): - """ + """ Pull an item using MongoDB syntax. Args: @@ -219,7 +219,7 @@

    Source code for custodian.ansible.actions

     
     
    [docs] @staticmethod def pull_all(input_dict, settings): - """ + """ Pull multiple items to a list using MongoDB syntax. Args: @@ -234,7 +234,7 @@

    Source code for custodian.ansible.actions

     
     
    [docs] @staticmethod def pop(input_dict, settings): - """ + """ Pop item from a list using MongoDB syntax. Args: @@ -252,7 +252,7 @@

    Source code for custodian.ansible.actions

     
     
     
    [docs]class FileActions: - """ + """ Class of supported file actions. For FileActions, the modder class takes in a filename as a string. The filename should preferably be a full path to avoid ambiguity. @@ -260,7 +260,7 @@

    Source code for custodian.ansible.actions

     
     
    [docs] @staticmethod def file_create(filename, settings): - """ + """ Creates a file. Args: @@ -276,7 +276,7 @@

    Source code for custodian.ansible.actions

     
     
    [docs] @staticmethod def file_move(filename, settings): - """ + """ Moves a file. {'_file_move': {'dest': 'new_file_name'}} Args: @@ -291,7 +291,7 @@

    Source code for custodian.ansible.actions

     
     
    [docs] @staticmethod def file_delete(filename, settings): - """ + """ Deletes a file. {'_file_delete': {'mode': "actual"}} Args: @@ -313,7 +313,7 @@

    Source code for custodian.ansible.actions

     
     
    [docs] @staticmethod def file_copy(filename, settings): - """ + """ Copies a file. {'_file_copy': {'dest': 'new_file_name'}} Args: @@ -326,7 +326,7 @@

    Source code for custodian.ansible.actions

     
     
    [docs] @staticmethod def file_modify(filename, settings): - """ + """ Modifies file access Args: diff --git a/docs/_modules/custodian/ansible/interpreter.html b/docs/_modules/custodian/ansible/interpreter.html index 0fd0f786d..4a9b74b30 100644 --- a/docs/_modules/custodian/ansible/interpreter.html +++ b/docs/_modules/custodian/ansible/interpreter.html @@ -4,7 +4,7 @@ - custodian.ansible.interpreter — custodian 2023.5.12 documentation + custodian.ansible.interpreter — custodian 2023.6.5 documentation @@ -34,7 +34,7 @@

    Navigation

  • modules |
  • - + @@ -57,7 +57,7 @@

    Source code for custodian.ansible.interpreter

    [docs]class Modder: - """ + """ Class to modify a dict/file/any object using a mongo-like language. Keywords are mostly adopted from mongo's syntax, but instead of $, an underscore precedes action keywords. This is so that the modification can @@ -79,7 +79,7 @@

    Source code for custodian.ansible.interpreter

    """ def __init__(self, actions=None, strict=True): - """ + """ Initializes a Modder from a list of supported actions. Args: @@ -95,12 +95,12 @@

    Source code for custodian.ansible.interpreter

    actions = actions if actions is not None else [DictActions] for action in actions: for i in dir(action): - if (not re.match(r"__\w+__", i)) and callable(getattr(action, i)): + if (not re.match(r"__\w+__", i)) and callable(getattr(action, i)): self.supported_actions["_" + i] = getattr(action, i) self.strict = strict
    [docs] def modify(self, modification, obj): - """ + """ Note that modify makes actual in-place modifications. It does not return a copy. @@ -119,7 +119,7 @@

    Source code for custodian.ansible.interpreter

    raise ValueError(f"{action} is not a supported action!")
    [docs] def modify_object(self, modification, obj): - """ + """ Modify an object that supports pymatgen's as_dict() and from_dict API. Args: diff --git a/docs/_modules/custodian/cli/converge_geometry.html b/docs/_modules/custodian/cli/converge_geometry.html index 4719698a4..3514eac68 100644 --- a/docs/_modules/custodian/cli/converge_geometry.html +++ b/docs/_modules/custodian/cli/converge_geometry.html @@ -4,7 +4,7 @@ - custodian.cli.converge_geometry — custodian 2023.5.12 documentation + custodian.cli.converge_geometry — custodian 2023.6.5 documentation @@ -34,7 +34,7 @@

    Navigation

  • modules |
  • - + @@ -71,7 +71,7 @@

    Source code for custodian.cli.converge_geometry

    <
    [docs]def get_runs(args): - """ + """ Get the runs. """ vasp_command = args.command.split() @@ -79,7 +79,7 @@

    Source code for custodian.cli.converge_geometry

    < job_number = 0 while (not converged) and (job_number < args.max_relax): - suffix = f".relax{job_number + 1}" + suffix = f".relax{job_number + 1}" if job_number == 0: backup = True @@ -119,7 +119,7 @@

    Source code for custodian.cli.converge_geometry

    <
    [docs]def do_run(args): - """ + """ Perform the run. """ handlers = [ diff --git a/docs/_modules/custodian/cli/converge_kpoints.html b/docs/_modules/custodian/cli/converge_kpoints.html index bdf2d1ebb..c3df5d80a 100644 --- a/docs/_modules/custodian/cli/converge_kpoints.html +++ b/docs/_modules/custodian/cli/converge_kpoints.html @@ -4,7 +4,7 @@ - custodian.cli.converge_kpoints — custodian 2023.5.12 documentation + custodian.cli.converge_kpoints — custodian 2023.6.5 documentation @@ -34,7 +34,7 @@

    Navigation

  • modules |
  • - + @@ -66,7 +66,7 @@

    Source code for custodian.cli.converge_kpoints

    [docs]def get_runs(vasp_command, target=1e-3, max_steps=10, mode="linear"): - """ + """ Generate the runs using a generator until convergence is achieved. """ energy = 0 @@ -101,13 +101,13 @@

    Source code for custodian.cli.converge_kpoints

    vasp_command, final=False, backup=backup, - suffix=f".kpoints.{'x'.join(map(str, m))}", + suffix=f".kpoints.{'x'.join(map(str, m))}", settings_override=settings, )

    [docs]def do_run(args): - """ + """ Perform the run. """ handlers = [VaspErrorHandler(), UnconvergedErrorHandler()] @@ -125,7 +125,7 @@

    Source code for custodian.cli.converge_kpoints

    [docs]def main(): - """ + """ Main method """ import argparse diff --git a/docs/_modules/custodian/cli/cstdn.html b/docs/_modules/custodian/cli/cstdn.html index b57b25a61..46e209438 100644 --- a/docs/_modules/custodian/cli/cstdn.html +++ b/docs/_modules/custodian/cli/cstdn.html @@ -4,7 +4,7 @@ - custodian.cli.cstdn — custodian 2023.5.12 documentation + custodian.cli.cstdn — custodian 2023.6.5 documentation @@ -34,7 +34,7 @@

    Navigation

  • modules |
  • - + @@ -125,7 +125,7 @@

    Source code for custodian.cli.cstdn

     
     
     
    [docs]def run(args): - """ + """ Perform a single run. """ FORMAT = "%(asctime)s %(message)s" @@ -137,14 +137,14 @@

    Source code for custodian.cli.cstdn

     
     
     
     
     
     
    [docs]def main(): - """ + """ Main method """ parser = argparse.ArgumentParser( diff --git a/docs/_modules/custodian/cli/run_nwchem.html b/docs/_modules/custodian/cli/run_nwchem.html index bf4481ae6..7c345b91d 100644 --- a/docs/_modules/custodian/cli/run_nwchem.html +++ b/docs/_modules/custodian/cli/run_nwchem.html @@ -4,7 +4,7 @@ - custodian.cli.run_nwchem — custodian 2023.5.12 documentation + custodian.cli.run_nwchem — custodian 2023.6.5 documentation @@ -34,7 +34,7 @@

    Navigation

  • modules |
  • - + @@ -60,7 +60,7 @@

    Source code for custodian.cli.run_nwchem

     
     
     
    [docs]def do_run(args): - """ + """ Do the run. """ logging.basicConfig(format="%(asctime)s %(message)s", level=logging.INFO, filename="run.log") @@ -81,7 +81,7 @@

    Source code for custodian.cli.run_nwchem

     
     
     
    [docs]def main(): - """ + """ Main method """ import argparse diff --git a/docs/_modules/custodian/cli/run_vasp.html b/docs/_modules/custodian/cli/run_vasp.html index 29adae419..254cb50e8 100644 --- a/docs/_modules/custodian/cli/run_vasp.html +++ b/docs/_modules/custodian/cli/run_vasp.html @@ -4,7 +4,7 @@ - custodian.cli.run_vasp — custodian 2023.5.12 documentation + custodian.cli.run_vasp — custodian 2023.6.5 documentation @@ -34,7 +34,7 @@

    Navigation

  • modules |
  • - + @@ -64,7 +64,7 @@

    Source code for custodian.cli.run_vasp

     
     
     
    [docs]def load_class(mod, name): - """ + """ Load the class from mod and name specification. """ toks = name.split("?") @@ -81,7 +81,7 @@

    Source code for custodian.cli.run_vasp

     
     
     
    [docs]def get_jobs(args): - """ + """ Returns a generator of jobs. Allows of "infinite" jobs. """ vasp_command = args.command.split() @@ -100,7 +100,7 @@

    Source code for custodian.cli.run_vasp

             if any(c.isdigit() for c in job):
                 suffix = "." + job
             else:
    -            suffix = f".{job}{i + 1}"
    +            suffix = f".{job}{i + 1}"
             settings = post_settings
             post_settings = []
             backup = i == 0
    @@ -262,7 +262,7 @@ 

    Source code for custodian.cli.run_vasp

     
     
     
    [docs]def do_run(args): - """ + """ Do the run. """ FORMAT = "%(asctime)s %(message)s" @@ -284,7 +284,7 @@

    Source code for custodian.cli.run_vasp

     
     
     
    [docs]def main(): - """ + """ Main method """ import argparse diff --git a/docs/_modules/custodian/cp2k/handlers.html b/docs/_modules/custodian/cp2k/handlers.html index 90d036749..d88d9f84e 100644 --- a/docs/_modules/custodian/cp2k/handlers.html +++ b/docs/_modules/custodian/cp2k/handlers.html @@ -4,7 +4,7 @@ - custodian.cp2k.handlers — custodian 2023.5.12 documentation + custodian.cp2k.handlers — custodian 2023.6.5 documentation @@ -34,7 +34,7 @@

    Navigation

  • modules |
  • - + @@ -89,7 +89,7 @@

    Source code for custodian.cp2k.handlers

     
     
     
    [docs]class StdErrHandler(ErrorHandler): - """ + """ Master StdErr class that handles a number of common errors that occur during Cp2k runs with error messages only in the standard error. @@ -107,7 +107,7 @@

    Source code for custodian.cp2k.handlers

         error_msgs = {"seg_fault": ["SIGSEGV"], "out_of_memory": ["insufficient virtual memory"], "abort": ["SIGABRT"]}
     
         def __init__(self, std_err="std_err.txt"):
    -        """
    +        """
             Initializes the handler with the output file to check.
     
             Args:
    @@ -120,7 +120,7 @@ 

    Source code for custodian.cp2k.handlers

             self.errors = set()
     
     
    [docs] def check(self): - """ + """ Check for error in std_err file. """ self.errors = set() @@ -134,14 +134,14 @@

    Source code for custodian.cp2k.handlers

             return len(self.errors) > 0
    [docs] def correct(self): - """ + """ Log error, perform no corrections. """ return {"errors": [f"System error(s): {self.errors}"], "actions": []}
    [docs]class UnconvergedScfErrorHandler(ErrorHandler): - """ + """ CP2K ErrorHandler class that addresses SCF non-convergence. SCF convergence can be broken into different categories, depending on the method @@ -187,7 +187,7 @@

    Source code for custodian.cp2k.handlers

         is_monitor = True
     
         def __init__(self, input_file="cp2k.inp", output_file="cp2k.out"):
    -        """
    +        """
             Initializes the error handler from a set of input and output files.
     
             Args:
    @@ -202,7 +202,7 @@ 

    Source code for custodian.cp2k.handlers

             self.restart = None
     
     
    [docs] def check(self): - """ + """ Check output file for failed SCF convergence """ # Checks output file for errors. @@ -221,7 +221,7 @@

    Source code for custodian.cp2k.handlers

             return False
    [docs] def correct(self): - """ + """ Apply corrections to aid convergence, if possible. """ ci = Cp2kInput.from_file(self.input_file) @@ -236,7 +236,7 @@

    Source code for custodian.cp2k.handlers

             return {"errors": ["Non-converging Job"], "actions": actions}
    def __correct_ot(self, ci): - """ + """ Apply corrections to OT calculation, if possible. """ @@ -286,7 +286,7 @@

    Source code for custodian.cp2k.handlers

                         }
                     )
     
    -        """
    +        """
             Switch to more robust OT framework.
             No strict orthogonality of MOs. Use iterative refinement polynomial expansion for orthogonality
             Allow for rotations (i.e., allowing for fractional occupations)
    @@ -320,7 +320,7 @@ 

    Source code for custodian.cp2k.handlers

                     }
                 )
     
    -        """
    +        """
             Beyond the method above, the only thing left to try is decreasing the stepsize a bit.
             Stepsize is 0.15 by default for all but the FSI preconditioner, which uses .08
             """
    @@ -347,7 +347,7 @@ 

    Source code for custodian.cp2k.handlers

             return actions
     
         def __correct_diag(self, ci):
    -        """
    +        """
             Apply corrections to diagonalization calculation, if possible
             """
     
    @@ -453,7 +453,7 @@ 

    Source code for custodian.cp2k.handlers

     
     
     
    [docs]class DivergingScfErrorHandler(ErrorHandler): - """ + """ CP2K ErrorHandler that detects if calculation is diverging. This is done by seeing if, on average, the last 10 convergence print outs were increasing rather than decreasing. @@ -469,7 +469,7 @@

    Source code for custodian.cp2k.handlers

         is_monitor = True
     
         def __init__(self, output_file="cp2k.out", input_file="cp2k.inp"):
    -        """
    +        """
             Initializes the error handler from an output files.
     
             Args:
    @@ -479,7 +479,7 @@ 

    Source code for custodian.cp2k.handlers

             self.input_file = input_file
     
     
    [docs] def check(self): - """ + """ Check for diverging SCF. """ conv = get_conv(self.output_file) @@ -489,7 +489,7 @@

    Source code for custodian.cp2k.handlers

             return False
    [docs] def correct(self): - """ + """ Correct issue if possible. """ ci = Cp2kInput.from_file(self.input_file) @@ -510,7 +510,7 @@

    Source code for custodian.cp2k.handlers

     
     
     
    [docs]class FrozenJobErrorHandler(ErrorHandler): - """ + """ Detects an error when the output file has not been updated in timeout seconds. @@ -537,7 +537,7 @@

    Source code for custodian.cp2k.handlers

         is_monitor = True
     
         def __init__(self, input_file="cp2k.inp", output_file="cp2k.out", timeout=3600):
    -        """
    +        """
             Initializes the handler with the output file to check.
     
             Args:
    @@ -556,7 +556,7 @@ 

    Source code for custodian.cp2k.handlers

             self.restart = None
     
     
    [docs] def check(self): - """ + """ Check for frozen jobs. """ st = os.stat(self.output_file) @@ -579,7 +579,7 @@

    Source code for custodian.cp2k.handlers

             return False
    [docs] def correct(self): - """ + """ Correct issue if possible. """ ci = Cp2kInput.from_file(self.input_file) @@ -665,7 +665,7 @@

    Source code for custodian.cp2k.handlers

     
     
     
    [docs]class AbortHandler(ErrorHandler): - """ + """ These are errors that cp2k recognizes internally, and causes a kill-signal, as opposed to things like slow scf convergence, which is an unwanted feature of optimization rather than an error per se. Currently this error handler recognizes @@ -683,7 +683,7 @@

    Source code for custodian.cp2k.handlers

         is_terminating = True
     
         def __init__(self, input_file="cp2k.inp", output_file="cp2k.out"):
    -        """
    +        """
             Initialize handler for CP2K abort messages.
     
             Args:
    @@ -700,7 +700,7 @@ 

    Source code for custodian.cp2k.handlers

             self.responses = []
     
     
    [docs] def check(self): - """ + """ Check for abort messages """ matches = regrep( @@ -712,7 +712,7 @@

    Source code for custodian.cp2k.handlers

             return False
    [docs] def correct(self): - """ + """ Correct issue if possible. """ ci = Cp2kInput.from_file(self.input_file) @@ -825,7 +825,7 @@

    Source code for custodian.cp2k.handlers

     
     
    [docs]class NumericalPrecisionHandler(ErrorHandler): - """ + """ CP2K offers lots of functionality for decreasing numerical precision in order to speed-up calculations. This can, unfortunately, lead to convergence cycles getting 'stuck'. While it can be hard to @@ -872,7 +872,7 @@

    Source code for custodian.cp2k.handlers

             eps_default_strict=1e-12,
             eps_gvg_strict=1e-10,
         ):
    -        """
    +        """
             Initialize the error handler.
     
             Args:
    @@ -900,7 +900,7 @@ 

    Source code for custodian.cp2k.handlers

             self.eps_gvg_strict = eps_gvg_strict
     
     
    [docs] def check(self): - """ + """ Check for stuck SCF convergence. """ conv = get_conv(self.output_file) @@ -910,7 +910,7 @@

    Source code for custodian.cp2k.handlers

             return False
    [docs] def correct(self): - """ + """ Correct issue if possible """ ci = Cp2kInput.from_file(self.input_file) @@ -1002,7 +1002,7 @@

    Source code for custodian.cp2k.handlers

             return {"errors": ["Unsufficient precision"], "actions": actions}
    def __set_pgf_orb(self): - """ + """ Helper function to set the PGF_ORB keyword """ return { @@ -1013,7 +1013,7 @@

    Source code for custodian.cp2k.handlers

     
     
    [docs]class UnconvergedRelaxationErrorHandler(ErrorHandler): - """ + """ This handler checks to see if geometry optimization has failed to converge, as signified by a line in the output file that says the maximum number of optimization steps were reached. @@ -1034,7 +1034,7 @@

    Source code for custodian.cp2k.handlers

             max_total_iter=200,
             optimizers=("BFGS", "CG", "BFGS", "CG"),
         ):
    -        """
    +        """
             Initialize the error handler.
     
             Args:
    @@ -1057,7 +1057,7 @@ 

    Source code for custodian.cp2k.handlers

             self.optimizer_id = 0
     
     
    [docs] def check(self): - """ + """ Check for unconverged geometry optimization """ o = Cp2kOutput(self.output_file) @@ -1067,7 +1067,7 @@

    Source code for custodian.cp2k.handlers

             return False
    [docs] def correct(self): - """ + """ Correct issue if possible. """ ci = Cp2kInput.from_file(self.input_file) @@ -1112,7 +1112,7 @@

    Source code for custodian.cp2k.handlers

     
     
    [docs]class WalltimeHandler(ErrorHandler): - """ + """ This walltime error handler, when enabled, will detect whether the CP2K internal walltime handler has been tripped. If walltime has been reached (plus some buffer), then the walltime handler will create a @@ -1126,7 +1126,7 @@

    Source code for custodian.cp2k.handlers

         is_terminating = False
     
         def __init__(self, output_file="cp2k.out", enable_checkpointing=True):
    -        """
    +        """
             Args:
                 output_file (str): name of the cp2k output file
                 enable_checkpointing (bool): whether or not to enable checkpointing when
    @@ -1136,7 +1136,7 @@ 

    Source code for custodian.cp2k.handlers

             self.enable_checkpointing = enable_checkpointing
     
     
    [docs] def check(self): - """ + """ Check if internal CP2K walltime handler was tripped. """ if regrep( @@ -1150,7 +1150,7 @@

    Source code for custodian.cp2k.handlers

             return False
    [docs] def correct(self): - """ + """ Dump checkpoint info if requested """ if self.enable_checkpointing: diff --git a/docs/_modules/custodian/cp2k/interpreter.html b/docs/_modules/custodian/cp2k/interpreter.html index 7748168aa..8a310d48c 100644 --- a/docs/_modules/custodian/cp2k/interpreter.html +++ b/docs/_modules/custodian/cp2k/interpreter.html @@ -4,7 +4,7 @@ - custodian.cp2k.interpreter — custodian 2023.5.12 documentation + custodian.cp2k.interpreter — custodian 2023.6.5 documentation @@ -34,7 +34,7 @@

    Navigation

  • modules |
  • - + @@ -63,13 +63,13 @@

    Source code for custodian.cp2k.interpreter

     
     
     
    [docs]class Cp2kModder(Modder): - """ + """ Cp2kModder is a lightweight class for applying modifications to cp2k input files. It also supports modifications that are file operations (e.g. copying). """ def __init__(self, filename="cp2k.inp", actions=None, strict=True, ci=None): - """ + """ Initializes a Modder for Cp2kInput sets Args: @@ -92,7 +92,7 @@

    Source code for custodian.cp2k.interpreter

             super().__init__(actions, strict)
     
     
    [docs] def apply_actions(self, actions): - """ + """ Applies a list of actions to the CP2K Input Set and rewrites modified files. Args: @@ -116,7 +116,7 @@

    Source code for custodian.cp2k.interpreter

     
         @staticmethod
         def _modify(modification, obj):
    -        """
    +        """
             Note that modify makes actual in-place modifications. It does not
             return a copy.
     
    diff --git a/docs/_modules/custodian/cp2k/jobs.html b/docs/_modules/custodian/cp2k/jobs.html
    index 84c8d2ab0..236b5672a 100644
    --- a/docs/_modules/custodian/cp2k/jobs.html
    +++ b/docs/_modules/custodian/cp2k/jobs.html
    @@ -4,7 +4,7 @@
       
         
         
    -    custodian.cp2k.jobs — custodian 2023.5.12 documentation
    +    custodian.cp2k.jobs — custodian 2023.6.5 documentation
         
         
         
    @@ -34,7 +34,7 @@ 

    Navigation

  • modules |
  • - + @@ -74,7 +74,7 @@

    Source code for custodian.cp2k.jobs

     
     
     
    [docs]class Cp2kJob(Job): - """ + """ A basic cp2k job. Just runs whatever is in the directory. But conceivably can be a complex processing of inputs etc. with initialization. """ @@ -91,7 +91,7 @@

    Source code for custodian.cp2k.jobs

             settings_override=None,
             restart=False,
         ):
    -        """
    +        """
             This constructor is necessarily complex due to the need for
             flexibility. For standard kinds of runs, it's often better to use one
             of the static constructors. The defaults are usually fine too.
    @@ -132,7 +132,7 @@ 

    Source code for custodian.cp2k.jobs

             self.restart = restart
     
     
    [docs] def setup(self): - """ + """ Performs initial setup for Cp2k in three stages. First, if custodian is running in restart mode, then the restart function will copy the restart file to self.input_file, and remove any previous WFN initialization if present. Second, any additional user specified settings will be applied. Lastly, a backup of the input @@ -159,7 +159,7 @@

    Source code for custodian.cp2k.jobs

                 shutil.copy(self.input_file, f"{self.input_file}.orig")
    [docs] def run(self): - """ + """ Perform the actual CP2K run. Returns: @@ -177,7 +177,7 @@

    Source code for custodian.cp2k.jobs

         # TODO double jobs, file manipulations, etc. should be done in atomate in the future
         # and custodian should only run the job itself
     
    [docs] def postprocess(self): - """ + """ Postprocessing includes renaming and gzipping where necessary. """ fs = os.listdir(".") @@ -199,7 +199,7 @@

    Source code for custodian.cp2k.jobs

                 os.remove("continue.json")
    [docs] def terminate(self): - """ + """ Terminate cp2k """ for k in self.cp2k_cmd: @@ -220,7 +220,7 @@

    Source code for custodian.cp2k.jobs

             settings_override_gga=None,
             settings_override_hybrid=None,
         ):
    -        """
    +        """
             A bare gga to hybrid calculation. Removes all unecessary features
             from the gga run, and making it only a ENERGY/ENERGY_FORCE
             depending on the hybrid run.
    @@ -297,7 +297,7 @@ 

    Source code for custodian.cp2k.jobs

         def double_job(
             cls, cp2k_cmd, input_file="cp2k.inp", output_file="cp2k.out", stderr_file="std_err.txt", backup=True
         ):
    -        """
    +        """
             This creates a sequence of two jobs. The first of which is an "initialization" of the
             wfn. Using this, the "restart" function can be exploited to determine if a diagonalization
             job can/would benefit from switching to OT scheme. If not, then the second job remains a
    @@ -339,7 +339,7 @@ 

    Source code for custodian.cp2k.jobs

         def pre_screen_hybrid(
             cls, cp2k_cmd, input_file="cp2k.inp", output_file="cp2k.out", stderr_file="std_err.txt", backup=True
         ):
    -        """
    +        """
             Build a job where the first job is an unscreened hybrid static calculation, then the second one
             uses the wfn from the first job as a restart to do a screened calculation.
             """
    diff --git a/docs/_modules/custodian/cp2k/utils.html b/docs/_modules/custodian/cp2k/utils.html
    index 7a7879f50..8f39a7646 100644
    --- a/docs/_modules/custodian/cp2k/utils.html
    +++ b/docs/_modules/custodian/cp2k/utils.html
    @@ -4,7 +4,7 @@
       
         
         
    -    custodian.cp2k.utils — custodian 2023.5.12 documentation
    +    custodian.cp2k.utils — custodian 2023.6.5 documentation
         
         
         
    @@ -34,7 +34,7 @@ 

    Navigation

  • modules |
  • - + @@ -59,7 +59,7 @@

    Source code for custodian.cp2k.utils

     
     
     
    [docs]def restart(actions, output_file, input_file, no_actions_needed=False): - """ + """ Helper function. To discard old restart if convergence is already good, and copy the restart file to the input file. Restart also supports switching back and forth between OT and diagonalization as needed based on convergence behavior. If OT is not @@ -104,7 +104,7 @@

    Source code for custodian.cp2k.utils

     
     # TODO Not sure I like this solution
     
    [docs]def cleanup_input(ci): - """ + """ Intention is to use this to remove problematic parts of the input file. (1) The "POTENTIAL" section within KIND cannot be empty, but the number @@ -120,7 +120,7 @@

    Source code for custodian.cp2k.utils

     
     
     
    [docs]def activate_ot(actions, ci): - """ + """ Activate OT scheme. actions (list): @@ -172,7 +172,7 @@

    Source code for custodian.cp2k.utils

     
     
     
    [docs]def activate_diag(actions): - """ + """ Activate diagonalization actions (list): @@ -207,7 +207,7 @@

    Source code for custodian.cp2k.utils

     
     
     
    [docs]def can_use_ot(output, ci, minimum_band_gap=0.1): - """ + """ Check whether OT can be used: OT should not already be activated The output should show that the system has a band gap that is greater than minimum_band_gap @@ -229,7 +229,7 @@

    Source code for custodian.cp2k.utils

     
     
     
    [docs]def tail(filename, n=10): - """ + """ Returns the last n lines of a file as a list (including empty lines) """ with open(filename) as f: @@ -240,7 +240,7 @@

    Source code for custodian.cp2k.utils

     
     
     
    [docs]def get_conv(outfile): - """ + """ Helper function to get the convergence info from SCF loops Args: diff --git a/docs/_modules/custodian/cp2k/validators.html b/docs/_modules/custodian/cp2k/validators.html index 0014f38dc..1267e1021 100644 --- a/docs/_modules/custodian/cp2k/validators.html +++ b/docs/_modules/custodian/cp2k/validators.html @@ -4,7 +4,7 @@ - custodian.cp2k.validators — custodian 2023.5.12 documentation + custodian.cp2k.validators — custodian 2023.6.5 documentation @@ -34,7 +34,7 @@

    Navigation

  • modules |
  • - + @@ -63,43 +63,43 @@

    Source code for custodian.cp2k.validators

     
     
     
    [docs]class Cp2kValidator(Validator): - """ + """ Base validator. """
    [docs] @abstractmethod def check(self): - """ + """ Check whether validation failed. Here, True means validation failed. """
    @abstractproperty def kill(self): - """ + """ Kill the job with raise error. """ @abstractproperty def exit(self): - """ + """ Don't raise error, but exit the job """ @abstractproperty def no_children(self): - """ + """ Job should not have children """
    [docs]class Cp2kOutputValidator(Cp2kValidator): - """ + """ Checks that a valid cp2k output file was generated """ def __init__(self, output_file="cp2k.out"): - """ + """ Args: output_file (str): cp2k output file to analyze """ @@ -107,7 +107,7 @@

    Source code for custodian.cp2k.validators

             self._check = False
     
     
    [docs] def check(self): - """ + """ Check for valid output. Checks that the end of the program was reached, and that convergence was achieved. @@ -132,21 +132,21 @@

    Source code for custodian.cp2k.validators

     
         @property
         def kill(self):
    -        """
    +        """
             Kill the job with raise error.
             """
             return True
     
         @property
         def exit(self):
    -        """
    +        """
             Don't raise error, but exit the job
             """
             return True
     
         @property
         def no_children(self):
    -        """
    +        """
             Job should not have children
             """
             return True
    diff --git a/docs/_modules/custodian/custodian.html b/docs/_modules/custodian/custodian.html index 9bcc33465..05fecd6d9 100644 --- a/docs/_modules/custodian/custodian.html +++ b/docs/_modules/custodian/custodian.html @@ -4,7 +4,7 @@ - custodian.custodian — custodian 2023.5.12 documentation + custodian.custodian — custodian 2023.6.5 documentation @@ -34,7 +34,7 @@

    Navigation

  • modules |
  • - + @@ -115,7 +115,7 @@

    Source code for custodian.custodian

     
     
     
    [docs]class Custodian: - """ + """ The Custodian class is the manager for a list of jobs given a list of error handlers. The way it works is as follows: @@ -175,7 +175,7 @@

    Source code for custodian.custodian

             terminate_on_nonzero_returncode=True,
             **kwargs,
         ):
    -        """
    +        """
             Initializes a Custodian from a list of jobs and error handlers.
     
             Args:
    @@ -305,7 +305,7 @@ 

    Source code for custodian.custodian

     
     
    [docs] @classmethod def from_spec(cls, spec): - """ + """ Load a Custodian instance where the jobs are specified from a structure and a spec dict. This allows simple custom job sequences to be constructed quickly via a YAML file. @@ -394,7 +394,7 @@

    Source code for custodian.custodian

             return cls(jobs=jobs, handlers=handlers, validators=validators, **custodian_params)
    [docs] def run(self): - """ + """ Runs all jobs. Returns: @@ -457,7 +457,7 @@

    Source code for custodian.custodian

             return self.run_log
    def _run_job(self, job_n, job): - """ + """ Runs a single job. Args: @@ -585,7 +585,7 @@

    Source code for custodian.custodian

             raise MaxCorrectionsError(msg, True, self.max_errors)
     
     
    [docs] def run_interrupted(self): - """ + """ Runs custodian in a interuppted mode, which sets up and validates jobs but doesn't run the executable @@ -687,7 +687,7 @@

    Source code for custodian.custodian

             return None
    def _do_check(self, handlers, terminate_func=None): - """ + """ checks the specified handlers. Returns True iff errors caught """ corrections = [] @@ -729,53 +729,53 @@

    Source code for custodian.custodian

     
     
     
    [docs]class Job(MSONable): - """ + """ Abstract base class defining the interface for a Job. """
    [docs] @abstractmethod def setup(self): - """ + """ This method is run before the start of a job. Allows for some pre-processing. """
    [docs] @abstractmethod def run(self): - """ + """ This method perform the actual work for the job. If parallel error checking (monitoring) is desired, this must return a Popen process. """
    [docs] @abstractmethod def postprocess(self): - """ + """ This method is called at the end of a job, *after* error detection. This allows post-processing, such as cleanup, analysis of results, etc. """
    [docs] def terminate(self): - """ + """ Implement termination function. """ return None
    @property def name(self): - """ + """ A nice string name for the job. """ return self.__class__.__name__
    [docs]class ErrorHandler(MSONable): - """ + """ Abstract base class defining the interface for an ErrorHandler. """ is_monitor = False - """ + """ This class property indicates whether the error handler is a monitor, i.e., a handler that monitors a job as it is running. If a monitor-type handler notices an error, the job will be sent a @@ -785,7 +785,7 @@

    Source code for custodian.custodian

         """
     
         is_terminating = True
    -    """
    +    """
         Whether this handler terminates a job upon error detection. By
         default, this is True, which means that the current Job will be
         terminated upon error detection, corrections applied,
    @@ -798,7 +798,7 @@ 

    Source code for custodian.custodian

         """
     
         raises_runtime_error = True
    -    """
    +    """
         Whether this handler causes custodian to raise a runtime error if it cannot
         handle the error (i.e. if correct returns a dict with "actions":None, or
         "actions":[])
    @@ -806,7 +806,7 @@ 

    Source code for custodian.custodian

     
         max_num_corrections = None
         raise_on_max = False
    -    """
    +    """
         Whether corrections from this specific handler should be applied only a
         fixed maximum number of times on a single job (i.e. the counter is reset
         at the beginning of each job). If the maximum number is reached the code
    @@ -819,7 +819,7 @@ 

    Source code for custodian.custodian

     
     
    [docs] @abstractmethod def check(self): - """ + """ This method is called during the job (for monitors) or at the end of the job to check for errors. @@ -829,7 +829,7 @@

    Source code for custodian.custodian

     
     
    [docs] @abstractmethod def correct(self): - """ + """ This method is called at the end of a job when an error is detected. It should perform any corrective measures relating to the detected error. @@ -843,7 +843,7 @@

    Source code for custodian.custodian

     
         @property
         def n_applied_corrections(self):
    -        """
    +        """
             The number of times the handler has given a correction and this
             has been applied.
     
    @@ -858,7 +858,7 @@ 

    Source code for custodian.custodian

     
         @n_applied_corrections.setter
         def n_applied_corrections(self, value):
    -        """
    +        """
             Setter for the number of corrections applied.
     
             Args:
    @@ -868,7 +868,7 @@ 

    Source code for custodian.custodian

     
     
     
    [docs]class Validator(MSONable): - """ + """ Abstract base class defining the interface for a Validator. A Validator differs from an ErrorHandler in that it does not correct a run and is run only at the end of a Job. If errors are detected by a Validator, a run is @@ -877,7 +877,7 @@

    Source code for custodian.custodian

     
     
    [docs] @abstractmethod def check(self): - """ + """ This method is called at the end of a job. Returns: @@ -886,12 +886,12 @@

    Source code for custodian.custodian

     
     
     
    [docs]class CustodianError(RuntimeError): - """ + """ Exception class for Custodian errors. """ def __init__(self, message, raises=False): - """ + """ Initializes the error with a message. Args: @@ -904,12 +904,12 @@

    Source code for custodian.custodian

     
     
     
    [docs]class ValidationError(CustodianError): - """ + """ Error raised when a validator does not pass the check """ def __init__(self, message, raises, validator): - """ + """ Args: message (str): Message passed to Exception raises (bool): Whether this should be raised outside custodian @@ -920,12 +920,12 @@

    Source code for custodian.custodian

     
     
     
    [docs]class NonRecoverableError(CustodianError): - """ + """ Error raised when a handler found an error but could not fix it """ def __init__(self, message, raises, handler): - """ + """ Args: message (str): Message passed to Exception raises (bool): Whether this should be raised outside custodian @@ -936,18 +936,18 @@

    Source code for custodian.custodian

     
     
     
    [docs]class ReturnCodeError(CustodianError): - """ + """ Error raised when the process gave non zero return code """
    [docs]class MaxCorrectionsError(CustodianError): - """ + """ Error raised when the maximum allowed number of errors is reached """ def __init__(self, message, raises, max_errors): - """ + """ Args: message (str): Message passed to Exception raises (bool): Whether this should be raised outside custodian @@ -958,12 +958,12 @@

    Source code for custodian.custodian

     
     
     
    [docs]class MaxCorrectionsPerJobError(CustodianError): - """ + """ Error raised when the maximum allowed number of errors per job is reached """ def __init__(self, message, raises, max_errors_per_job, job): - """ + """ Args: message (str): Message passed to Exception raises (bool): Whether this should be raised outside custodian @@ -976,12 +976,12 @@

    Source code for custodian.custodian

     
     
     
    [docs]class MaxCorrectionsPerHandlerError(CustodianError): - """ + """ Error raised when the maximum allowed number of errors per handler is reached """ def __init__(self, message, raises, max_errors_per_handler, handler): - """ + """ Args: message (str): Message passed to Exception raises (bool): Whether this should be raised outside custodian diff --git a/docs/_modules/custodian/feff/handlers.html b/docs/_modules/custodian/feff/handlers.html index 4d9a5c88c..559c47683 100644 --- a/docs/_modules/custodian/feff/handlers.html +++ b/docs/_modules/custodian/feff/handlers.html @@ -4,7 +4,7 @@ - custodian.feff.handlers — custodian 2023.5.12 documentation + custodian.feff.handlers — custodian 2023.6.5 documentation @@ -34,7 +34,7 @@

    Navigation

  • modules |
  • - + @@ -81,14 +81,14 @@

    Source code for custodian.feff.handlers

     
     
     
    [docs]class UnconvergedErrorHandler(ErrorHandler): - """ + """ Correct the unconverged error of FEFF's SCF calculation. """ is_monitor = False def __init__(self, output_filename="log1.dat"): - """ + """ Initializes the handler with the output file to check Args: @@ -99,7 +99,7 @@

    Source code for custodian.feff.handlers

             self.output_filename = output_filename
     
     
    [docs] def check(self): - """ + """ If the FEFF run does not converge, the check will return "TRUE" """ @@ -119,7 +119,7 @@

    Source code for custodian.feff.handlers

             return None
     
     
    [docs] def correct(self): - """ + """ Perform the corrections. """ backup(FEFF_BACKUP_FILES) diff --git a/docs/_modules/custodian/feff/interpreter.html b/docs/_modules/custodian/feff/interpreter.html index 66dafb595..c948c7ea6 100644 --- a/docs/_modules/custodian/feff/interpreter.html +++ b/docs/_modules/custodian/feff/interpreter.html @@ -4,7 +4,7 @@ - custodian.feff.interpreter — custodian 2023.5.12 documentation + custodian.feff.interpreter — custodian 2023.6.5 documentation @@ -34,7 +34,7 @@

    Navigation

  • modules |
  • - + @@ -59,12 +59,12 @@

    Source code for custodian.feff.interpreter

     
     
     
    [docs]class FeffModder(Modder): - """ + """ A Modder for FeffInput sets """ def __init__(self, actions=None, strict=True, feffinp=None): - """ + """ Args: actions ([Action]): A sequence of supported actions. See actions ([Action]): A sequence of supported actions. See @@ -84,7 +84,7 @@

    Source code for custodian.feff.interpreter

             super().__init__(actions, strict)
     
     
    [docs] def apply_actions(self, actions): - """ + """ Applies a list of actions to the FEFF Input Set and rewrites modified files. diff --git a/docs/_modules/custodian/feff/jobs.html b/docs/_modules/custodian/feff/jobs.html index 87171fad4..bf91d13d2 100644 --- a/docs/_modules/custodian/feff/jobs.html +++ b/docs/_modules/custodian/feff/jobs.html @@ -4,7 +4,7 @@ - custodian.feff.jobs — custodian 2023.5.12 documentation + custodian.feff.jobs — custodian 2023.6.5 documentation @@ -34,7 +34,7 @@

    Navigation

  • modules |
  • - + @@ -72,7 +72,7 @@

    Source code for custodian.feff.jobs

     
     
     
    [docs]class FeffJob(Job): - """ + """ A basic FEFF job, run whatever is in the directory. """ @@ -85,7 +85,7 @@

    Source code for custodian.feff.jobs

             gzipped=False,
             gzipped_prefix="feff_out",
         ):
    -        """
    +        """
             This constructor is used for a standard FEFF initialization
     
             Args:
    @@ -110,7 +110,7 @@ 

    Source code for custodian.feff.jobs

             self.gzipped_prefix = gzipped_prefix
     
     
    [docs] def setup(self): - """ + """ Performs initial setup for FeffJob, do backing up. Returns: @@ -126,7 +126,7 @@

    Source code for custodian.feff.jobs

                         shutil.copy(f, f"{f}.orig")
    [docs] def run(self): - """ + """ Performs the actual FEFF run Returns: (subprocess.Popen) Used for monitoring. @@ -137,7 +137,7 @@

    Source code for custodian.feff.jobs

                 return subprocess.Popen(self.feff_cmd, stdout=f_std, stderr=f_err, shell=True)  # pylint: disable=R1732
    [docs] def postprocess(self): - """ + """ Renaming or gzipping all the output as needed """ if self.gzipped: diff --git a/docs/_modules/custodian/lobster/handlers.html b/docs/_modules/custodian/lobster/handlers.html index 009348fcc..e6c99456f 100644 --- a/docs/_modules/custodian/lobster/handlers.html +++ b/docs/_modules/custodian/lobster/handlers.html @@ -4,7 +4,7 @@ - custodian.lobster.handlers — custodian 2023.5.12 documentation + custodian.lobster.handlers — custodian 2023.6.5 documentation @@ -34,7 +34,7 @@

    Navigation

  • modules |
  • - + @@ -63,12 +63,12 @@

    Source code for custodian.lobster.handlers

     
     
     
    [docs]class EnoughBandsValidator(Validator): - """ + """ validates if enough bands for COHP calculation are available """ def __init__(self, output_filename: str = "lobsterout"): - """ + """ Args: output_filename: filename of output file, usually lobsterout @@ -76,7 +76,7 @@

    Source code for custodian.lobster.handlers

             self.output_filename = output_filename
     
     
    [docs] def check(self) -> bool: - """ + """ checks if the VASP calculation had enough bands Returns: (bool) if True, too few bands have been applied @@ -91,19 +91,19 @@

    Source code for custodian.lobster.handlers

     
     
     
    [docs]class LobsterFilesValidator(Validator): - """ + """ Check for existence of some of the files that lobster normally create upon running. Check if lobster terminated normally by looking for finished """ def __init__(self): - """ + """ Dummy init """
    [docs] def check(self) -> bool: - """ + """ Check for errors. """ for vfile in ["lobsterout"]: @@ -115,12 +115,12 @@

    Source code for custodian.lobster.handlers

     
     
     
    [docs]class ChargeSpillingValidator(Validator): - """ + """ Check if spilling is below certain threshold! """ def __init__(self, output_filename: str = "lobsterout", charge_spilling_limit: float = 0.05): - """ + """ Args: output_filename: filename of the output file of lobter, usually lobsterout @@ -131,7 +131,7 @@

    Source code for custodian.lobster.handlers

             self.charge_spilling_limit = charge_spilling_limit
     
     
    [docs] def check(self) -> bool: - """open lobsterout and find charge spilling""" + """open lobsterout and find charge spilling""" if os.path.exists(self.output_filename): lobsterout = Lobsterout(self.output_filename) diff --git a/docs/_modules/custodian/lobster/jobs.html b/docs/_modules/custodian/lobster/jobs.html index 0f3333701..cd6ce5f3d 100644 --- a/docs/_modules/custodian/lobster/jobs.html +++ b/docs/_modules/custodian/lobster/jobs.html @@ -4,7 +4,7 @@ - custodian.lobster.jobs — custodian 2023.5.12 documentation + custodian.lobster.jobs — custodian 2023.6.5 documentation @@ -34,7 +34,7 @@

    Navigation

  • modules |
  • - + @@ -90,7 +90,7 @@

    Source code for custodian.lobster.jobs

     
     
     
    [docs]class LobsterJob(Job): - """ + """ Runs the Lobster Job """ @@ -103,7 +103,7 @@

    Source code for custodian.lobster.jobs

             add_files_to_gzip=[],
             backup: bool = True,
         ):
    -        """
    +        """
     
             Args:
                 lobster_cmd: command to run lobster
    @@ -121,7 +121,7 @@ 

    Source code for custodian.lobster.jobs

             self.backup = backup
     
     
    [docs] def setup(self): - """ + """ will backup lobster input files """ if self.backup: @@ -129,7 +129,7 @@

    Source code for custodian.lobster.jobs

                     shutil.copy(f, f"{f}.orig")
    [docs] def run(self): - """ + """ runs the job """ cmd = self.lobster_cmd @@ -141,7 +141,7 @@

    Source code for custodian.lobster.jobs

                 return subprocess.Popen(cmd, stdout=f_std, stderr=f_err)  # pylint: disable=R1732
    [docs] def postprocess(self): - """ + """ will gzip relevant files (won't gzip custodian.json and other output files from the cluster) """ if self.gzipped: diff --git a/docs/_modules/custodian/nwchem/handlers.html b/docs/_modules/custodian/nwchem/handlers.html index 6bdbc470d..5ae1282f4 100644 --- a/docs/_modules/custodian/nwchem/handlers.html +++ b/docs/_modules/custodian/nwchem/handlers.html @@ -4,7 +4,7 @@ - custodian.nwchem.handlers — custodian 2023.5.12 documentation + custodian.nwchem.handlers — custodian 2023.6.5 documentation @@ -34,7 +34,7 @@

    Navigation

  • modules |
  • - + @@ -59,13 +59,13 @@

    Source code for custodian.nwchem.handlers

     
     
     
    [docs]class NwchemErrorHandler(ErrorHandler): - """ + """ Error handler for Nwchem Jobs. Currently tested only for B3LYP DFT jobs generated by pymatgen. """ def __init__(self, output_filename="mol.nwout"): - """ + """ Initializes with an output file name. Args: @@ -78,7 +78,7 @@

    Source code for custodian.nwchem.handlers

             self.output_filename = output_filename
     
     
    [docs] def check(self): - """ + """ Check for errors. """ out = NwOutput(self.output_filename) @@ -103,7 +103,7 @@

    Source code for custodian.nwchem.handlers

                 fout.write("".join(lines))
     
     
    [docs] def correct(self): - """Correct errors""" + """Correct errors""" backup("*.nw*") actions = [] nwi = NwInput.from_file(self.input_file) diff --git a/docs/_modules/custodian/nwchem/jobs.html b/docs/_modules/custodian/nwchem/jobs.html index 99d2489a2..964bb900a 100644 --- a/docs/_modules/custodian/nwchem/jobs.html +++ b/docs/_modules/custodian/nwchem/jobs.html @@ -4,7 +4,7 @@ - custodian.nwchem.jobs — custodian 2023.5.12 documentation + custodian.nwchem.jobs — custodian 2023.6.5 documentation @@ -34,7 +34,7 @@

    Navigation

  • modules |
  • - + @@ -67,7 +67,7 @@

    Source code for custodian.nwchem.jobs

     
     
     
    [docs]class NwchemJob(Job): - """ + """ A basic Nwchem job. """ @@ -80,7 +80,7 @@

    Source code for custodian.nwchem.jobs

             backup=True,
             settings_override=None,
         ):
    -        """
    +        """
             Initializes a basic NwChem job.
     
             Args:
    @@ -106,21 +106,21 @@ 

    Source code for custodian.nwchem.jobs

             self.settings_override = settings_override
     
     
    [docs] def setup(self): - """ + """ Performs backup if necessary. """ if self.backup: shutil.copy(self.input_file, f"{self.input_file}.orig")
    [docs] def run(self): - """ + """ Performs actual nwchem run. """ with zopen(self.output_file, "w") as fout: return subprocess.Popen(self.nwchem_cmd + [self.input_file], stdout=fout) # pylint: disable=R1732
    [docs] def postprocess(self): - """ + """ Renaming or gzipping as needed. """ if self.gzipped: diff --git a/docs/_modules/custodian/qchem/utils.html b/docs/_modules/custodian/qchem/utils.html index 7ce9441fc..3f7e09f36 100644 --- a/docs/_modules/custodian/qchem/utils.html +++ b/docs/_modules/custodian/qchem/utils.html @@ -4,7 +4,7 @@ - custodian.qchem.utils — custodian 2023.5.12 documentation + custodian.qchem.utils — custodian 2023.6.5 documentation @@ -34,7 +34,7 @@

    Navigation

  • modules |
  • - + @@ -56,7 +56,7 @@

    Source code for custodian.qchem.utils

     
     
     
    [docs]def perturb_coordinates(old_coords, negative_freq_vecs, molecule_perturb_scale, reversed_direction): - """ + """ Perturbs a structure along the imaginary mode vibrational frequency vectors old_coords (np.ndarray): Initial molecule coordinates @@ -77,7 +77,7 @@

    Source code for custodian.qchem.utils

     
     
     
    [docs]def vector_list_diff(vecs1, vecs2): - """ + """ Calculates the summed difference of two vectors Typically this function is used to compare between the different atom-wise diff --git a/docs/_modules/custodian/utils.html b/docs/_modules/custodian/utils.html index fc0a557df..12a4131f5 100644 --- a/docs/_modules/custodian/utils.html +++ b/docs/_modules/custodian/utils.html @@ -4,7 +4,7 @@ - custodian.utils — custodian 2023.5.12 documentation + custodian.utils — custodian 2023.6.5 documentation @@ -34,7 +34,7 @@

    Navigation

  • modules |
  • - + @@ -57,7 +57,7 @@

    Source code for custodian.utils

     
     
     
    [docs]def backup(filenames, prefix="error"): - """ + """ Backup files to a tar.gz file. Used, for example, in backing up the files of an errored run before performing corrections. @@ -68,7 +68,7 @@

    Source code for custodian.utils

                 series of error.1.tar.gz, error.2.tar.gz, ... will be generated.
         """
         num = max([0] + [int(f.split(".")[1]) for f in glob(f"{prefix}.*.tar.gz")])
    -    filename = f"{prefix}.{num + 1}.tar.gz"
    +    filename = f"{prefix}.{num + 1}.tar.gz"
         logging.info(f"Backing up run to {filename}.")
         with tarfile.open(filename, "w:gz") as tar:
             for fname in filenames:
    @@ -77,7 +77,7 @@ 

    Source code for custodian.utils

     
     
     
    [docs]def get_execution_host_info(): - """ + """ Tries to return a tuple describing the execution host. Doesn't work for all queueing systems diff --git a/docs/_modules/custodian/vasp/handlers.html b/docs/_modules/custodian/vasp/handlers.html index 711679aed..6f8f2201e 100644 --- a/docs/_modules/custodian/vasp/handlers.html +++ b/docs/_modules/custodian/vasp/handlers.html @@ -4,7 +4,7 @@ - custodian.vasp.handlers — custodian 2023.5.12 documentation + custodian.vasp.handlers — custodian 2023.6.5 documentation @@ -34,7 +34,7 @@

    Navigation

  • modules |
  • - + @@ -100,7 +100,7 @@

    Source code for custodian.vasp.handlers

     
     
     
    [docs]class VaspErrorHandler(ErrorHandler): - """ + """ Master VaspErrorHandler class that handles a number of common errors that occur during VASP runs. """ @@ -150,8 +150,9 @@

    Source code for custodian.vasp.handlers

             "bravais": ["Inconsistent Bravais lattice"],
             "nbands_not_sufficient": ["number of bands is not sufficient"],
             "hnform": ["HNFORM: k-point generating"],
    -        "coef": ["while reading plane"],
    +        "coef": ["while reading plane", "while reading WAVECAR"],
             "set_core_wf": ["internal error in SET_CORE_WF"],
    +        "read_error": ["Error reading item", "Error code was IERR= 5"],
         }
     
         def __init__(
    @@ -161,7 +162,7 @@ 

    Source code for custodian.vasp.handlers

             vtst_fixes=False,
             **kwargs,
         ):
    -        """
    +        """
             Initializes the handler with the output file to check.
     
             Args:
    @@ -195,7 +196,7 @@ 

    Source code for custodian.vasp.handlers

             self.logger = logging.getLogger(self.__class__.__name__)
     
     
    [docs] def check(self): - """ + """ Check for error. """ incar = Incar.from_file("INCAR") @@ -221,7 +222,7 @@

    Source code for custodian.vasp.handlers

             return len(self.errors) > 0
    [docs] def correct(self): - """ + """ Perform corrections. """ backup(VASP_BACKUP_FILES | {self.output_filename}) @@ -653,6 +654,11 @@

    Source code for custodian.vasp.handlers

                 )
                 return {"errors": ["set_core_wf"], "actions": None}
     
    +        if "read_error" in self.errors:
    +            # Unfixable error --- the user made a mistake in the INCAR
    +            warnings.warn("Looks like you made a typo in the INCAR. Please double-check it.", UserWarning)
    +            return {"errors": ["read_error"], "actions": None}
    +
             if "hnform" in self.errors:
                 # The only solution is to change your k-point grid or disable symmetry
                 # For internal calculation compatibility's sake, we do the latter
    @@ -664,7 +670,7 @@ 

    Source code for custodian.vasp.handlers

     
     
     
    [docs]class LrfCommutatorHandler(ErrorHandler): - """ + """ Corrects LRF_COMMUTATOR errors by setting LPEAD=True if not already set. Note that switching LPEAD=T can slightly change results versus the default due to numerical evaluation of derivatives. @@ -675,7 +681,7 @@

    Source code for custodian.vasp.handlers

         error_msgs = {"lrf_comm": ["LRF_COMMUTATOR internal error"]}
     
         def __init__(self, output_filename="std_err.txt"):
    -        """
    +        """
             Initializes the handler with the output file to check.
     
             Args:
    @@ -689,7 +695,7 @@ 

    Source code for custodian.vasp.handlers

             self.error_count = Counter()
     
     
    [docs] def check(self): - """ + """ Check for error. """ self.errors = set() @@ -703,7 +709,7 @@

    Source code for custodian.vasp.handlers

             return len(self.errors) > 0
    [docs] def correct(self): - """ + """ Perform corrections. """ backup(VASP_BACKUP_FILES | {self.output_filename}) @@ -719,7 +725,7 @@

    Source code for custodian.vasp.handlers

     
     
     
    [docs]class StdErrHandler(ErrorHandler): - """ + """ Master StdErr class that handles a number of common errors that occur during VASP runs with error messages only in the standard error. @@ -733,7 +739,7 @@

    Source code for custodian.vasp.handlers

         }
     
         def __init__(self, output_filename="std_err.txt"):
    -        """
    +        """
             Initializes the handler with the output file to check.
     
             Args:
    @@ -747,7 +753,7 @@ 

    Source code for custodian.vasp.handlers

             self.error_count = Counter()
     
     
    [docs] def check(self): - """ + """ Check for error. """ self.errors = set() @@ -761,7 +767,7 @@

    Source code for custodian.vasp.handlers

             return len(self.errors) > 0
    [docs] def correct(self): - """ + """ Perform corrections. """ backup(VASP_BACKUP_FILES | {self.output_filename}) @@ -787,7 +793,7 @@

    Source code for custodian.vasp.handlers

     
     
     
    [docs]class AliasingErrorHandler(ErrorHandler): - """ + """ Master VaspErrorHandler class that handles a number of common errors that occur during VASP runs. """ @@ -800,7 +806,7 @@

    Source code for custodian.vasp.handlers

         }
     
         def __init__(self, output_filename="vasp.out"):
    -        """
    +        """
             Initializes the handler with the output file to check.
     
             Args:
    @@ -813,7 +819,7 @@ 

    Source code for custodian.vasp.handlers

             self.errors = set()
     
     
    [docs] def check(self): - """ + """ Check for error. """ incar = Incar.from_file("INCAR") @@ -834,7 +840,7 @@

    Source code for custodian.vasp.handlers

             return len(self.errors) > 0
    [docs] def correct(self): - """ + """ Perform corrections. """ backup(VASP_BACKUP_FILES | {self.output_filename}) @@ -894,12 +900,12 @@

    Source code for custodian.vasp.handlers

     
     
     
    [docs]class DriftErrorHandler(ErrorHandler): - """ + """ Corrects for total drift exceeding the force convergence criteria. """ def __init__(self, max_drift=None, to_average=3, enaug_multiply=2): - """ + """ Initializes the handler with max drift Args: max_drift (float): This defines the max drift. Leaving this at the default of None gets the max_drift from @@ -911,7 +917,7 @@

    Source code for custodian.vasp.handlers

             self.enaug_multiply = enaug_multiply
     
     
    [docs] def check(self): - """ + """ Check for error. """ incar = Incar.from_file("INCAR") @@ -938,7 +944,7 @@

    Source code for custodian.vasp.handlers

             return curr_drift > self.max_drift
    [docs] def correct(self): - """ + """ Perform corrections. """ backup(VASP_BACKUP_FILES) @@ -979,7 +985,7 @@

    Source code for custodian.vasp.handlers

     
     
     
    [docs]class MeshSymmetryErrorHandler(ErrorHandler): - """ + """ Corrects the mesh symmetry error in VASP. This error is sometimes non-fatal. So this error handler only checks at the end of the run, and if the run has converged, no error is recorded. @@ -988,7 +994,7 @@

    Source code for custodian.vasp.handlers

         is_monitor = False
     
         def __init__(self, output_filename="vasp.out", output_vasprun="vasprun.xml"):
    -        """
    +        """
             Initializes the handler with the output files to check.
     
             Args:
    @@ -1003,7 +1009,7 @@ 

    Source code for custodian.vasp.handlers

             self.output_vasprun = output_vasprun
     
     
    [docs] def check(self): - """ + """ Check for error. """ msg = "Reciprocal lattice and k-lattice belong to different class of lattices." @@ -1033,7 +1039,7 @@

    Source code for custodian.vasp.handlers

             return False
    [docs] def correct(self): - """ + """ Perform corrections. """ backup(VASP_BACKUP_FILES | {self.output_filename}) @@ -1048,14 +1054,14 @@

    Source code for custodian.vasp.handlers

     
     
     
    [docs]class UnconvergedErrorHandler(ErrorHandler): - """ + """ Check if a run is converged. """ is_monitor = False def __init__(self, output_filename="vasprun.xml"): - """ + """ Initializes the handler with the output file to check. Args: @@ -1065,7 +1071,7 @@

    Source code for custodian.vasp.handlers

             self.output_filename = output_filename
     
     
    [docs] def check(self): - """ + """ Check for error. """ try: @@ -1077,7 +1083,7 @@

    Source code for custodian.vasp.handlers

             return False
    [docs] def correct(self): - """ + """ Perform corrections. """ v = Vasprun(self.output_filename) @@ -1166,7 +1172,7 @@

    Source code for custodian.vasp.handlers

     
     
     
    [docs]class IncorrectSmearingHandler(ErrorHandler): - """ + """ Check if a calculation is a metal (zero bandgap), has been run with ISMEAR=-5, and is not a static calculation, which is only appropriate for semiconductors. If this occurs, this handler will rerun the calculation @@ -1176,7 +1182,7 @@

    Source code for custodian.vasp.handlers

         is_monitor = False
     
         def __init__(self, output_filename="vasprun.xml"):
    -        """
    +        """
             Initializes the handler with the output file to check.
     
             Args:
    @@ -1186,7 +1192,7 @@ 

    Source code for custodian.vasp.handlers

             self.output_filename = output_filename
     
     
    [docs] def check(self): - """ + """ Check for error. """ try: @@ -1200,7 +1206,7 @@

    Source code for custodian.vasp.handlers

             return False
    [docs] def correct(self): - """ + """ Perform corrections. """ backup(VASP_BACKUP_FILES | {self.output_filename}) @@ -1215,7 +1221,7 @@

    Source code for custodian.vasp.handlers

     
     
     
    [docs]class ScanMetalHandler(ErrorHandler): - """ + """ Check if a SCAN calculation is a metal (zero bandgap) but has been run with a KSPACING value appropriate for semiconductors. If this occurs, this handler will rerun the calculation using the KSPACING setting appropriate for metals @@ -1225,7 +1231,7 @@

    Source code for custodian.vasp.handlers

         is_monitor = False
     
         def __init__(self, output_filename="vasprun.xml"):
    -        """
    +        """
             Initializes the handler with the output file to check.
     
             Args:
    @@ -1235,7 +1241,7 @@ 

    Source code for custodian.vasp.handlers

             self.output_filename = output_filename
     
     
    [docs] def check(self): - """ + """ Check for error. """ try: @@ -1248,7 +1254,7 @@

    Source code for custodian.vasp.handlers

             return False
    [docs] def correct(self): - """ + """ Perform corrections. """ backup(VASP_BACKUP_FILES | {self.output_filename}) @@ -1269,7 +1275,7 @@

    Source code for custodian.vasp.handlers

     
     
     
    [docs]class LargeSigmaHandler(ErrorHandler): - """ + """ When ISMEAR > 0 (Methfessel-Paxton), monitor the magnitude of the entropy term T*S in the OUTCAR file. If the entropy term is larger than 1 meV/atom, reduce the value of SIGMA. See VASP documentation for ISMEAR. @@ -1278,12 +1284,12 @@

    Source code for custodian.vasp.handlers

         is_monitor = True
     
         def __init__(self):
    -        """
    +        """
             Initializes the handler with a buffer time.
             """
     
     
    [docs] def check(self): - """ + """ Check for error. """ incar = Incar.from_file("INCAR") @@ -1309,7 +1315,7 @@

    Source code for custodian.vasp.handlers

             return False
    [docs] def correct(self): - """ + """ Perform corrections. """ backup(VASP_BACKUP_FILES) @@ -1333,7 +1339,7 @@

    Source code for custodian.vasp.handlers

     
     
     
    [docs]class PotimErrorHandler(ErrorHandler): - """ + """ Check if a run has excessively large positive energy changes. This is typically caused by too large a POTIM. Runs typically end up crashing with some other error (e.g. BRMIX) as the geometry @@ -1343,7 +1349,7 @@

    Source code for custodian.vasp.handlers

         is_monitor = True
     
         def __init__(self, input_filename="POSCAR", output_filename="OSZICAR", dE_threshold=1):
    -        """
    +        """
             Initializes the handler with the input and output files to check.
     
             Args:
    @@ -1359,7 +1365,7 @@ 

    Source code for custodian.vasp.handlers

             self.dE_threshold = dE_threshold
     
     
    [docs] def check(self): - """ + """ Check for error. """ try: @@ -1373,7 +1379,7 @@

    Source code for custodian.vasp.handlers

             return None
    [docs] def correct(self): - """ + """ Perform corrections. """ backup(VASP_BACKUP_FILES) @@ -1392,7 +1398,7 @@

    Source code for custodian.vasp.handlers

     
     
     
    [docs]class FrozenJobErrorHandler(ErrorHandler): - """ + """ Detects an error when the output file has not been updated in timeout seconds. Changes ALGO to Normal from Fast """ @@ -1400,7 +1406,7 @@

    Source code for custodian.vasp.handlers

         is_monitor = True
     
         def __init__(self, output_filename="vasp.out", timeout=21600):
    -        """
    +        """
             Initializes the handler with the output file to check.
     
             Args:
    @@ -1416,7 +1422,7 @@ 

    Source code for custodian.vasp.handlers

             self.timeout = timeout
     
     
    [docs] def check(self): - """ + """ Check for error. """ st = os.stat(self.output_filename) @@ -1425,7 +1431,7 @@

    Source code for custodian.vasp.handlers

             return None
    [docs] def correct(self): - """ + """ Perform corrections. """ backup(VASP_BACKUP_FILES | {self.output_filename}) @@ -1443,7 +1449,7 @@

    Source code for custodian.vasp.handlers

     
     
     
    [docs]class NonConvergingErrorHandler(ErrorHandler): - """ + """ Check if a run is hitting the maximum number of electronic steps at the last nionic_steps ionic steps (default=10). If so, change ALGO using a multi-step ladder scheme or kill the job. @@ -1452,7 +1458,7 @@

    Source code for custodian.vasp.handlers

         is_monitor = True
     
         def __init__(self, output_filename="OSZICAR", nionic_steps=10):
    -        """
    +        """
             Initializes the handler with the output file to check.
     
             Args:
    @@ -1466,7 +1472,7 @@ 

    Source code for custodian.vasp.handlers

             self.nionic_steps = nionic_steps
     
     
    [docs] def check(self): - """ + """ Check for error. """ vi = VaspInput.from_directory(".") @@ -1481,7 +1487,7 @@

    Source code for custodian.vasp.handlers

             return False
    [docs] def correct(self): - """ + """ Perform corrections. """ vi = VaspInput.from_directory(".") @@ -1564,7 +1570,7 @@

    Source code for custodian.vasp.handlers

     
     
    [docs] @classmethod def from_dict(cls, d): - """ + """ Custom from_dict method to preserve backwards compatibility with older versions of Custodian. """ @@ -1577,7 +1583,7 @@

    Source code for custodian.vasp.handlers

     
     
     
    [docs]class WalltimeHandler(ErrorHandler): - """ + """ Check if a run is nearing the walltime. If so, write a STOPCAR with LSTOP or LABORT = .True.. You can specify the walltime either in the init ( which is unfortunately necessary for SGE and SLURM systems. If you happen @@ -1596,7 +1602,7 @@

    Source code for custodian.vasp.handlers

         raises_runtime_error = False
     
         def __init__(self, wall_time=None, buffer_time=300, electronic_step_stop=False):
    -        """
    +        """
             Initializes the handler with a buffer time.
     
             Args:
    @@ -1649,7 +1655,7 @@ 

    Source code for custodian.vasp.handlers

             self.prev_check_time = self.start_time
     
     
    [docs] def check(self): - """ + """ Check for error. """ if self.wall_time: @@ -1674,7 +1680,7 @@

    Source code for custodian.vasp.handlers

             return False
    [docs] def correct(self): - """ + """ Perform corrections. """ content = "LSTOP = .TRUE." if not self.electronic_step_stop else "LABORT = .TRUE." @@ -1688,7 +1694,7 @@

    Source code for custodian.vasp.handlers

     
     
     
    [docs]class CheckpointHandler(ErrorHandler): - """ + """ This is not an error handler per se, but rather a checkpointer. What this does is that every X seconds, a STOPCAR and CHKPT will be written. This forces VASP to stop at the end of the next ionic step. The files are then @@ -1706,7 +1712,7 @@

    Source code for custodian.vasp.handlers

         is_terminating = False
     
         def __init__(self, interval=3600):
    -        """
    +        """
             Initializes the handler with an interval.
     
             Args:
    @@ -1718,7 +1724,7 @@ 

    Source code for custodian.vasp.handlers

             self.chk_counter = 0
     
     
    [docs] def check(self): - """ + """ Check for error. """ run_time = datetime.datetime.now() - self.start_time @@ -1728,7 +1734,7 @@

    Source code for custodian.vasp.handlers

             return False
    [docs] def correct(self): - """ + """ Perform corrections. """ content = "LSTOP = .TRUE." @@ -1758,7 +1764,7 @@

    Source code for custodian.vasp.handlers

     
     
     
    [docs]class StoppedRunHandler(ErrorHandler): - """ + """ This is not an error handler per se, but rather a checkpointer. What this does is that every X seconds, a STOPCAR will be written. This forces VASP to stop at the end of the next ionic step. The files are then copied into a @@ -1776,18 +1782,18 @@

    Source code for custodian.vasp.handlers

         is_terminating = False
     
         def __init__(self):
    -        """
    +        """
             Dummy init.
             """
     
     
    [docs] def check(self): - """ + """ Check for error. """ return os.path.exists("chkpt.yaml")
    [docs] def correct(self): - """ + """ Perform corrections. """ d = loadfn("chkpt.yaml") @@ -1806,7 +1812,7 @@

    Source code for custodian.vasp.handlers

     
     
     
    [docs]class PositiveEnergyErrorHandler(ErrorHandler): - """ + """ Check if a run has positive absolute energy. If so, change ALGO from Fast to Normal or kill the job. """ @@ -1814,7 +1820,7 @@

    Source code for custodian.vasp.handlers

         is_monitor = True
     
         def __init__(self, output_filename="OSZICAR"):
    -        """
    +        """
             Initializes the handler with the output file to check.
     
             Args:
    @@ -1824,7 +1830,7 @@ 

    Source code for custodian.vasp.handlers

             self.output_filename = output_filename
     
     
    [docs] def check(self): - """ + """ Check for error. """ try: @@ -1836,7 +1842,7 @@

    Source code for custodian.vasp.handlers

             return False
    [docs] def correct(self): - """ + """ Perform corrections. """ # change ALGO = Fast to Normal if ALGO is !Normal diff --git a/docs/_modules/custodian/vasp/interpreter.html b/docs/_modules/custodian/vasp/interpreter.html index ed52770a6..d6bf14eee 100644 --- a/docs/_modules/custodian/vasp/interpreter.html +++ b/docs/_modules/custodian/vasp/interpreter.html @@ -4,7 +4,7 @@ - custodian.vasp.interpreter — custodian 2023.5.12 documentation + custodian.vasp.interpreter — custodian 2023.6.5 documentation @@ -34,7 +34,7 @@

    Navigation

  • modules |
  • - + @@ -57,12 +57,12 @@

    Source code for custodian.vasp.interpreter

     
     
     
    [docs]class VaspModder(Modder): - """ + """ A Modder for VaspInputSets. """ def __init__(self, actions=None, strict=True, vi=None): - """ + """ Initializes a Modder for VaspInput sets Args: @@ -82,7 +82,7 @@

    Source code for custodian.vasp.interpreter

             super().__init__(actions, strict)
     
     
    [docs] def apply_actions(self, actions): - """ + """ Applies a list of actions to the Vasp Input Set and rewrites modified files. Args: diff --git a/docs/_modules/custodian/vasp/jobs.html b/docs/_modules/custodian/vasp/jobs.html index 008960846..024301776 100644 --- a/docs/_modules/custodian/vasp/jobs.html +++ b/docs/_modules/custodian/vasp/jobs.html @@ -4,7 +4,7 @@ - custodian.vasp.jobs — custodian 2023.5.12 documentation + custodian.vasp.jobs — custodian 2023.6.5 documentation @@ -34,7 +34,7 @@

    Navigation

  • modules |
  • - + @@ -54,11 +54,11 @@

    Source code for custodian.vasp.jobs

     import math
     import os
     import shutil
    -import signal
     import subprocess
     from shutil import which
     
     import numpy as np
    +import psutil
     from monty.serialization import dumpfn, loadfn
     from monty.shutil import decompress_dir
     from pymatgen.core.structure import Structure
    @@ -115,7 +115,7 @@ 

    Source code for custodian.vasp.jobs

     
     
     
    [docs]class VaspJob(Job): - """ + """ A basic vasp job. Just runs whatever is in the directory. But conceivably can be a complex processing of inputs etc. with initialization. """ @@ -135,7 +135,7 @@

    Source code for custodian.vasp.jobs

             copy_magmom=False,
             auto_continue=False,
         ):
    -        """
    +        """
             This constructor is necessarily complex due to the need for
             flexibility. For standard kinds of runs, it's often better to use one
             of the static constructors. The defaults are usually fine too.
    @@ -199,7 +199,6 @@ 

    Source code for custodian.vasp.jobs

             self.gamma_vasp_cmd = gamma_vasp_cmd
             self.copy_magmom = copy_magmom
             self.auto_continue = auto_continue
    -        self.sbprcss = None
     
             if SENTRY_DSN:
                 # if using Sentry logging, add specific VASP executable to scope
    @@ -218,7 +217,7 @@ 

    Source code for custodian.vasp.jobs

                         scope.set_tag("vasp_cmd", vasp_cmd)
     
     
    [docs] def setup(self): - """ + """ Performs initial setup for VaspJob, including overriding any settings and backing up. """ @@ -283,7 +282,7 @@

    Source code for custodian.vasp.jobs

                 VaspModder().apply_actions(self.settings_override)
    [docs] def run(self): - """ + """ Perform the actual VASP run. Returns: @@ -302,13 +301,10 @@

    Source code for custodian.vasp.jobs

             logger.info(f"Running {' '.join(cmd)}")
             with open(self.output_file, "w") as f_std, open(self.stderr_file, "w", buffering=1) as f_err:
                 # use line buffering for stderr
    -            self.sbprcss = subprocess.Popen(
    -                cmd, stdout=f_std, stderr=f_err, start_new_session=True
    -            )  # pylint: disable=R1732
    -            return self.sbprcss
    + return subprocess.Popen(cmd, stdout=f_std, stderr=f_err, start_new_session=True) # pylint: disable=R1732
    [docs] def postprocess(self): - """ + """ Postprocessing includes renaming and gzipping where necessary. Also copies the magmom to the incar if necessary """ @@ -343,7 +339,7 @@

    Source code for custodian.vasp.jobs

             half_kpts_first_relax=False,
             auto_continue=False,
         ):
    -        """
    +        """
             Returns a list of two jobs corresponding to an AFLOW style double
             relaxation run.
     
    @@ -415,7 +411,7 @@ 

    Source code for custodian.vasp.jobs

             half_kpts_first_relax=False,
             auto_continue=False,
         ):
    -        """
    +        """
             Returns a list of thres jobs to perform an optimization for any
             metaGGA functional. There is an initial calculation of the
             GGA wavefunction which is fed into the initial metaGGA optimization
    @@ -482,7 +478,7 @@ 

    Source code for custodian.vasp.jobs

         def full_opt_run(
             cls, vasp_cmd, vol_change_tol=0.02, max_steps=10, ediffg=-0.05, half_kpts_first_relax=False, **vasp_job_kwargs
         ):
    -        r"""
    +        r"""
             Returns a generator of jobs for a full optimization run. Basically,
             this runs an infinite series of geometry optimization jobs until the
             % vol change in a particular optimization is less than vol_change_tol.
    @@ -538,12 +534,12 @@ 

    Source code for custodian.vasp.jobs

                     ]
                     if i == 1 and half_kpts_first_relax:
                         settings.append({"dict": "KPOINTS", "action": {"_set": orig_kpts_dict}})
    -            logger.info(f"Generating job = {i + 1}!")
    +            logger.info(f"Generating job = {i + 1}!")
                 yield VaspJob(
                     vasp_cmd,
                     final=False,
                     backup=backup,
    -                suffix=f".relax{i + 1}",
    +                suffix=f".relax{i + 1}",
                     settings_override=settings,
                     **vasp_job_kwargs,
                 )
    @@ -552,7 +548,7 @@

    Source code for custodian.vasp.jobs

         def constrained_opt_run(
             cls, vasp_cmd, lattice_direction, initial_strain, atom_relax=True, max_steps=20, algo="bfgs", **vasp_job_kwargs
         ):
    -        r"""
    +        r"""
             Returns a generator of jobs for a constrained optimization run. Typical
             use case is when you want to approximate a biaxial strain situation,
             e.g., you apply a defined strain to a and b directions of the lattice,
    @@ -700,7 +696,7 @@ 

    Source code for custodian.vasp.jobs

                         {"file": fname, "action": {"_file_copy": {"dest": "POSCAR"}}},
                     ]
     
    -            logger.info(f"Generating job = {i + 1} with parameter {x}!")
    +            logger.info(f"Generating job = {i + 1} with parameter {x}!")
                 yield VaspJob(
                     vasp_cmd,
                     final=False,
    @@ -716,18 +712,40 @@ 

    Source code for custodian.vasp.jobs

                     f.write(f"{k} {energies[k]}\n")
    [docs] def terminate(self): - """ + """ Kill all vasp processes associated with the current job. + This is done by looping over all processes and selecting the ones + that contain "vasp" as well as access files (CHGCAR in particular) + in the custodian working directory. + There is also a safety that kills all vasp processes if non of the + processes can be killed (This is bad if more than one vasp runs are + simultaneously executed on the same node). However, this should never + happen. """ - logger.info(f"Custodian terminating all VASP processes within process group {self.sbprcss.pid}") - try: - os.killpg(os.getpgid(self.sbprcss.pid), signal.SIGTERM) - except Exception: - pass
    + workdir = os.getcwd() + logger.info(f"kill vasp processes in work dir {workdir}") + is_killed = False + for proc in psutil.process_iter(): + try: + if "vasp" in proc.name().lower(): + for file in proc.open_files(): + if workdir + "/CHGCAR" == file.path and psutil.pid_exists(proc.pid): + proc.kill() + is_killed = True + except (psutil.NoSuchProcess, psutil.AccessDenied): + continue + if not is_killed: + logger.warning(f"killing vasp processes in work dir {workdir} failed. Resorting to 'killall'.") + cmds = self.vasp_cmd + if self.gamma_vasp_cmd: + cmds += self.gamma_vasp_cmd + for k in cmds: + if "vasp" in k: + subprocess.run(["killall", f"{k}"])
    [docs]class VaspNEBJob(VaspJob): - """ + """ A NEB vasp job, especially for CI-NEB running at PBS clusters. The class is added for the purpose of handling a different folder arrangement in NEB calculation. @@ -748,7 +766,7 @@

    Source code for custodian.vasp.jobs

             gamma_vasp_cmd=None,
             settings_override=None,
         ):
    -        """
    +        """
             This constructor is a simplified version of VaspJob, which satisfies
             the need for flexibility. For standard kinds of runs, it's often
             better to use one of the static constructors. The defaults are
    @@ -814,7 +832,6 @@ 

    Source code for custodian.vasp.jobs

             self.settings_override = settings_override
             self.neb_dirs = []  # 00, 01, etc.
             self.neb_sub = []  # 01, 02, etc.
    -        self.sbprcss = None
     
             for path in os.listdir("."):
                 if os.path.isdir(path) and path.isdigit():
    @@ -823,7 +840,7 @@ 

    Source code for custodian.vasp.jobs

             self.neb_sub = self.neb_dirs[1:-1]
     
     
    [docs] def setup(self): - """ + """ Performs initial setup for VaspNEBJob, including overriding any settings and backing up. """ @@ -881,7 +898,7 @@

    Source code for custodian.vasp.jobs

                 VaspModder().apply_actions(self.settings_override)
    [docs] def run(self): - """ + """ Perform the actual VASP run. Returns: @@ -902,13 +919,10 @@

    Source code for custodian.vasp.jobs

             logger.info(f"Running {' '.join(cmd)}")
             with open(self.output_file, "w") as f_std, open(self.stderr_file, "w", buffering=1) as f_err:
                 # Use line buffering for stderr
    -            self.sbprcss = subprocess.Popen(
    -                cmd, stdout=f_std, stderr=f_err, start_new_session=True
    -            )  # pylint: disable=R1732
    -            return self.sbprcss
    + return subprocess.Popen(cmd, stdout=f_std, stderr=f_err, start_new_session=True) # pylint: disable=R1732
    [docs] def postprocess(self): - """ + """ Postprocessing includes renaming and gzipping where necessary. """ # Add suffix to all sub_dir/{items} @@ -931,13 +945,13 @@

    Source code for custodian.vasp.jobs

     
     
     
    [docs]class GenerateVaspInputJob(Job): - """ + """ Generates a VASP input based on an existing directory. This is typically used to modify the VASP input files before the next VaspJob. """ def __init__(self, input_set, contcar_only=True, **kwargs): - """ + """ Args: input_set (str): Full path to the input set. E.g., "pymatgen.io.vasp.sets.MPNonSCFSet". @@ -949,12 +963,12 @@

    Source code for custodian.vasp.jobs

             self.kwargs = kwargs
     
     
    [docs] def setup(self): - """ + """ Dummy setup """
    [docs] def run(self): - """ + """ Run the calculation. """ if os.path.exists("CONTCAR"): @@ -969,7 +983,7 @@

    Source code for custodian.vasp.jobs

             vis.write_input(".")
    [docs] def postprocess(self): - """ + """ Dummy postprocess. """
    diff --git a/docs/_modules/custodian/vasp/validators.html b/docs/_modules/custodian/vasp/validators.html index cf25230ab..4fadd22b9 100644 --- a/docs/_modules/custodian/vasp/validators.html +++ b/docs/_modules/custodian/vasp/validators.html @@ -4,7 +4,7 @@ - custodian.vasp.validators — custodian 2023.5.12 documentation + custodian.vasp.validators — custodian 2023.6.5 documentation @@ -34,7 +34,7 @@

    Navigation

  • modules |
  • - + @@ -60,12 +60,12 @@

    Source code for custodian.vasp.validators

     
     
     
    [docs]class VasprunXMLValidator(Validator): - """ + """ Checks that a valid vasprun.xml was generated """ def __init__(self, output_file="vasp.out", stderr_file="std_err.txt"): - """ + """ Args: output_file (str): Name of file VASP standard output is directed to. Defaults to "vasp.out". @@ -77,7 +77,7 @@

    Source code for custodian.vasp.validators

             self.logger = logging.getLogger(self.__class__.__name__)
     
     
    [docs] def check(self): - """ + """ Check for error. """ try: @@ -113,18 +113,18 @@

    Source code for custodian.vasp.validators

     
     
     
    [docs]class VaspFilesValidator(Validator): - """ + """ Check for existence of some of the files that VASP normally create upon running. """ def __init__(self): - """ + """ Dummy init """
    [docs] def check(self): - """ + """ Check for error. """ for vfile in ["CONTCAR", "OSZICAR", "OUTCAR"]: @@ -134,18 +134,18 @@

    Source code for custodian.vasp.validators

     
     
     
    [docs]class VaspNpTMDValidator(Validator): - """ + """ Check NpT-AIMD settings is loaded by VASP compiled with -Dtbdyn. Currently, VASP only have Langevin thermostat (MDALGO = 3) for NpT ensemble. """ def __init__(self): - """ + """ Dummy init. """
    [docs] def check(self): - """ + """ Check for error. """ incar = Incar.from_file("INCAR") @@ -162,17 +162,17 @@

    Source code for custodian.vasp.validators

     
     
     
    [docs]class VaspAECCARValidator(Validator): - """ + """ Check if the data in the AECCAR is corrupted """ def __init__(self): - """ + """ Dummy init """
    [docs] def check(self): - """ + """ Check for error. """ aeccar0 = Chgcar.from_file("AECCAR0") @@ -182,7 +182,7 @@

    Source code for custodian.vasp.validators

     
     
     
    [docs]def check_broken_chgcar(chgcar, diff_thresh=None): - """ + """ Check if the charge density file is corrupt Args: chgcar (Chgcar): Chgcar-like object. @@ -195,7 +195,7 @@

    Source code for custodian.vasp.validators

             return True
     
         if diff_thresh:
    -        """
    +        """
             If any one diagonal difference accounts for more than a particular portion of
             the total difference between highest and lowest density.
             When we are looking at AECCAR data, since the charge density is so high near the core
    diff --git a/docs/_modules/index.html b/docs/_modules/index.html
    index a019f63b4..b80690f1d 100644
    --- a/docs/_modules/index.html
    +++ b/docs/_modules/index.html
    @@ -4,7 +4,7 @@
       
         
         
    -    Overview: module code — custodian 2023.5.12 documentation
    +    Overview: module code — custodian 2023.6.5 documentation
         
         
         
    @@ -34,7 +34,7 @@ 

    Navigation

  • modules |
  • - +
    diff --git a/docs/_static/documentation_options.js b/docs/_static/documentation_options.js index 7f61d2a1c..fedca7e58 100644 --- a/docs/_static/documentation_options.js +++ b/docs/_static/documentation_options.js @@ -1,6 +1,6 @@ var DOCUMENTATION_OPTIONS = { URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), - VERSION: '2023.5.12', + VERSION: '2023.6.5', LANGUAGE: 'en', COLLAPSE_INDEX: false, BUILDER: 'html', diff --git a/docs/_themes/README.html b/docs/_themes/README.html index dc41bc4b3..2f828bc49 100644 --- a/docs/_themes/README.html +++ b/docs/_themes/README.html @@ -5,7 +5,7 @@ - krTheme Sphinx Style — custodian 2023.5.12 documentation + krTheme Sphinx Style — custodian 2023.6.5 documentation @@ -35,7 +35,7 @@

    Navigation

  • modules |
  • - +
    diff --git a/docs/changelog.html b/docs/changelog.html index 4957ebe04..c374d8b16 100644 --- a/docs/changelog.html +++ b/docs/changelog.html @@ -5,7 +5,7 @@ - Change Log — custodian 2023.5.12 documentation + Change Log — custodian 2023.6.5 documentation @@ -35,7 +35,7 @@

    Navigation

  • modules |
  • - +
    @@ -47,6 +47,14 @@

    Navigation

    Change Log

    +
    +

    v2023.6.5

    +
      +
    • New VASP error handler for invalid INCAR parameter (@arosen93)

    • +
    • Change VASP terminate function to be sensitive to execution directory (@MichaelWolloch)

    • +
    • Add handler for invalid WAVECAR when going from vasp_gam to vasp_std (@arosen93)

    • +
    +

    v2023.5.12

    diff --git a/docs/custodian.cli.html b/docs/custodian.cli.html index ec4dcc68e..32c3d4c1e 100644 --- a/docs/custodian.cli.html +++ b/docs/custodian.cli.html @@ -5,7 +5,7 @@ - custodian.cli package — custodian 2023.5.12 documentation + custodian.cli package — custodian 2023.6.5 documentation @@ -35,7 +35,7 @@

    Navigation

  • modules |
  • - +
    diff --git a/docs/custodian.cp2k.html b/docs/custodian.cp2k.html index fb29ed21c..6a632c9ac 100644 --- a/docs/custodian.cp2k.html +++ b/docs/custodian.cp2k.html @@ -5,7 +5,7 @@ - custodian.cp2k package — custodian 2023.5.12 documentation + custodian.cp2k package — custodian 2023.6.5 documentation @@ -35,7 +35,7 @@

    Navigation

  • modules |
  • - +
    diff --git a/docs/custodian.feff.html b/docs/custodian.feff.html index 859bfc401..ad7759187 100644 --- a/docs/custodian.feff.html +++ b/docs/custodian.feff.html @@ -5,7 +5,7 @@ - custodian.feff package — custodian 2023.5.12 documentation + custodian.feff package — custodian 2023.6.5 documentation @@ -35,7 +35,7 @@

    Navigation

  • modules |
  • - +
    diff --git a/docs/custodian.html b/docs/custodian.html index 12e5c3760..d91a0a47f 100644 --- a/docs/custodian.html +++ b/docs/custodian.html @@ -5,7 +5,7 @@ - custodian package — custodian 2023.5.12 documentation + custodian package — custodian 2023.6.5 documentation @@ -35,7 +35,7 @@

    Navigation

  • modules |
  • - +
    diff --git a/docs/custodian.lobster.html b/docs/custodian.lobster.html index 5f5de5281..2c54a678e 100644 --- a/docs/custodian.lobster.html +++ b/docs/custodian.lobster.html @@ -5,7 +5,7 @@ - custodian.lobster package — custodian 2023.5.12 documentation + custodian.lobster package — custodian 2023.6.5 documentation @@ -35,7 +35,7 @@

    Navigation

  • modules |
  • - +
    diff --git a/docs/custodian.nwchem.html b/docs/custodian.nwchem.html index 692a00ec0..64b3f7162 100644 --- a/docs/custodian.nwchem.html +++ b/docs/custodian.nwchem.html @@ -5,7 +5,7 @@ - custodian.nwchem package — custodian 2023.5.12 documentation + custodian.nwchem package — custodian 2023.6.5 documentation @@ -35,7 +35,7 @@

    Navigation

  • modules |
  • - +
    diff --git a/docs/custodian.qchem.html b/docs/custodian.qchem.html index a6d73b777..7857182f7 100644 --- a/docs/custodian.qchem.html +++ b/docs/custodian.qchem.html @@ -5,7 +5,7 @@ - custodian.qchem package — custodian 2023.5.12 documentation + custodian.qchem package — custodian 2023.6.5 documentation @@ -35,7 +35,7 @@

    Navigation

  • modules |
  • - +
    diff --git a/docs/custodian.vasp.html b/docs/custodian.vasp.html index 8965f0f72..9b15aef92 100644 --- a/docs/custodian.vasp.html +++ b/docs/custodian.vasp.html @@ -5,7 +5,7 @@ - custodian.vasp package — custodian 2023.5.12 documentation + custodian.vasp package — custodian 2023.6.5 documentation @@ -35,7 +35,7 @@

    Navigation

  • modules |
  • - +
    @@ -757,7 +757,7 @@

    Submodules
    -error_msgs = {'algo_tet': ['ALGO=A and IALGO=5X tend to fail'], 'amin': ['One of the lattice vectors is very long (>50 A), but AMIN'], 'bravais': ['Inconsistent Bravais lattice'], 'brions': ['BRIONS problems: POTIM should be increased'], 'brmix': ['BRMIX: very serious problems'], 'coef': ['while reading plane'], 'dentet': ['DENTET'], 'dfpt_ncore': ['PEAD routines do not work for NCORE', 'remove the tag NPAR from the INCAR file'], 'edddav': ['Error EDDDAV: Call to ZHEGV failed'], 'eddrmm': ['WARNING in EDDRMM: call to ZHEGV failed'], 'elf_kpar': ['ELF: KPAR>1 not implemented'], 'elf_ncl': ['WARNING: ELF not implemented for non collinear case'], 'grad_not_orth': ['EDWAV: internal error, the gradient is not orthogonal'], 'hnform': ['HNFORM: k-point generating'], 'incorrect_shift': ['Could not get correct shifts'], 'inv_rot_mat': ['rotation matrix was not found (increase SYMPREC)'], 'nbands_not_sufficient': ['number of bands is not sufficient'], 'nicht_konv': ['ERROR: SBESSELITER : nicht konvergent'], 'point_group': ['group operation missing'], 'posmap': ['POSMAP'], 'pricel': ['internal error in subroutine PRICEL'], 'pssyevx': ['ERROR in subspace rotation PSSYEVX'], 'real_optlay': ['REAL_OPTLAY: internal error', 'REAL_OPT: internal ERROR'], 'rhosyg': ['RHOSYG'], 'rot_matrix': ['Found some non-integer element in rotation matrix', 'SGRCON'], 'rspher': ['ERROR RSPHER'], 'set_core_wf': ['internal error in SET_CORE_WF'], 'subspacematrix': ['WARNING: Sub-Space-Matrix is not hermitian in DAV'], 'symprec_noise': ['determination of the symmetry of your systems shows a strong'], 'tet': ['Tetrahedron method fails', 'tetrahedron method fails', 'Fatal error detecting k-mesh', 'Fatal error: unable to match k-point', 'Routine TETIRR needs special values', 'Tetrahedron method fails (number of k-points < 4)', 'BZINTS'], 'tetirr': ['Routine TETIRR needs special values'], 'too_few_bands': ['TOO FEW BANDS'], 'triple_product': ['ERROR: the triple product of the basis vectors'], 'zbrent': ['ZBRENT: fatal internal in', 'ZBRENT: fatal error in bracketing'], 'zheev': ['ERROR EDDIAG: Call to routine ZHEEV failed!'], 'zpotrf': ['LAPACK: Routine ZPOTRF failed', 'Routine ZPOTRF ZTRTRI']}
    +error_msgs = {'algo_tet': ['ALGO=A and IALGO=5X tend to fail'], 'amin': ['One of the lattice vectors is very long (>50 A), but AMIN'], 'bravais': ['Inconsistent Bravais lattice'], 'brions': ['BRIONS problems: POTIM should be increased'], 'brmix': ['BRMIX: very serious problems'], 'coef': ['while reading plane', 'while reading WAVECAR'], 'dentet': ['DENTET'], 'dfpt_ncore': ['PEAD routines do not work for NCORE', 'remove the tag NPAR from the INCAR file'], 'edddav': ['Error EDDDAV: Call to ZHEGV failed'], 'eddrmm': ['WARNING in EDDRMM: call to ZHEGV failed'], 'elf_kpar': ['ELF: KPAR>1 not implemented'], 'elf_ncl': ['WARNING: ELF not implemented for non collinear case'], 'grad_not_orth': ['EDWAV: internal error, the gradient is not orthogonal'], 'hnform': ['HNFORM: k-point generating'], 'incorrect_shift': ['Could not get correct shifts'], 'inv_rot_mat': ['rotation matrix was not found (increase SYMPREC)'], 'nbands_not_sufficient': ['number of bands is not sufficient'], 'nicht_konv': ['ERROR: SBESSELITER : nicht konvergent'], 'point_group': ['group operation missing'], 'posmap': ['POSMAP'], 'pricel': ['internal error in subroutine PRICEL'], 'pssyevx': ['ERROR in subspace rotation PSSYEVX'], 'read_error': ['Error reading item', 'Error code was IERR= 5'], 'real_optlay': ['REAL_OPTLAY: internal error', 'REAL_OPT: internal ERROR'], 'rhosyg': ['RHOSYG'], 'rot_matrix': ['Found some non-integer element in rotation matrix', 'SGRCON'], 'rspher': ['ERROR RSPHER'], 'set_core_wf': ['internal error in SET_CORE_WF'], 'subspacematrix': ['WARNING: Sub-Space-Matrix is not hermitian in DAV'], 'symprec_noise': ['determination of the symmetry of your systems shows a strong'], 'tet': ['Tetrahedron method fails', 'tetrahedron method fails', 'Fatal error detecting k-mesh', 'Fatal error: unable to match k-point', 'Routine TETIRR needs special values', 'Tetrahedron method fails (number of k-points < 4)', 'BZINTS'], 'tetirr': ['Routine TETIRR needs special values'], 'too_few_bands': ['TOO FEW BANDS'], 'triple_product': ['ERROR: the triple product of the basis vectors'], 'zbrent': ['ZBRENT: fatal internal in', 'ZBRENT: fatal error in bracketing'], 'zheev': ['ERROR EDDIAG: Call to routine ZHEEV failed!'], 'zpotrf': ['LAPACK: Routine ZPOTRF failed', 'Routine ZPOTRF ZTRTRI']}
    @@ -1152,7 +1152,14 @@

    Submodules
    terminate()[source]
    -

    Kill all vasp processes associated with the current job.

    +

    Kill all vasp processes associated with the current job. +This is done by looping over all processes and selecting the ones +that contain “vasp” as well as access files (CHGCAR in particular) +in the custodian working directory. +There is also a safety that kills all vasp processes if non of the +processes can be killed (This is bad if more than one vasp runs are +simultaneously executed on the same node). However, this should never +happen.

    diff --git a/docs/genindex.html b/docs/genindex.html index 55b8a4c54..57d6744c5 100644 --- a/docs/genindex.html +++ b/docs/genindex.html @@ -4,7 +4,7 @@ - Index — custodian 2023.5.12 documentation + Index — custodian 2023.6.5 documentation @@ -34,7 +34,7 @@

    Navigation

  • modules |
  • - +
    diff --git a/docs/index.html b/docs/index.html index 971021a4c..0a462c9d0 100644 --- a/docs/index.html +++ b/docs/index.html @@ -5,7 +5,7 @@ - Custodian — custodian 2023.5.12 documentation + Custodian — custodian 2023.6.5 documentation @@ -35,7 +35,7 @@

    Navigation

  • modules |
  • - +
    diff --git a/docs/modules.html b/docs/modules.html index 6a76ab308..ef52cbbbe 100644 --- a/docs/modules.html +++ b/docs/modules.html @@ -5,7 +5,7 @@ - custodian — custodian 2023.5.12 documentation + custodian — custodian 2023.6.5 documentation @@ -35,7 +35,7 @@

    Navigation

  • modules |
  • - +
    diff --git a/docs/objects.inv b/docs/objects.inv index 0e455bb6541e0ca66f026696697689dc6bdbf071..e3870e2be08b8e7561ac73be7c9d28e789969462 100644 GIT binary patch delta 14 VcmeAb?h&5g#B8Q#y3x&@696CT1N8s^ delta 15 WcmeAX?iHTk#A2#vXtdGQof7~fb_5~- diff --git a/docs/py-modindex.html b/docs/py-modindex.html index 6641819c0..03dcd8b0c 100644 --- a/docs/py-modindex.html +++ b/docs/py-modindex.html @@ -4,7 +4,7 @@ - Python Module Index — custodian 2023.5.12 documentation + Python Module Index — custodian 2023.6.5 documentation @@ -37,7 +37,7 @@

    Navigation

  • modules |
  • - +
    diff --git a/docs/search.html b/docs/search.html index 02163c523..d6fafb097 100644 --- a/docs/search.html +++ b/docs/search.html @@ -4,7 +4,7 @@ - Search — custodian 2023.5.12 documentation + Search — custodian 2023.6.5 documentation @@ -40,7 +40,7 @@

    Navigation

  • modules |
  • - +
    diff --git a/docs/searchindex.js b/docs/searchindex.js index 9b4006a40..7f00f6bd1 100644 --- a/docs/searchindex.js +++ b/docs/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["_themes/README", "changelog", "custodian", "custodian.ansible", "custodian.cli", "custodian.cp2k", "custodian.feff", "custodian.lobster", "custodian.nwchem", "custodian.qchem", "custodian.vasp", "index", "modules"], "filenames": ["_themes/README.rst", "changelog.rst", "custodian.rst", "custodian.ansible.rst", "custodian.cli.rst", "custodian.cp2k.rst", "custodian.feff.rst", "custodian.lobster.rst", "custodian.nwchem.rst", "custodian.qchem.rst", "custodian.vasp.rst", "index.rst", "modules.rst"], "titles": ["krTheme Sphinx Style", "Change Log", "custodian package", "custodian.ansible package", "custodian.cli package", "custodian.cp2k package", "custodian.feff package", "custodian.lobster package", "custodian.nwchem package", "custodian.qchem package", "custodian.vasp package", "Custodian", "custodian"], "terms": {"thi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], "repositori": 0, "contain": [0, 6, 9, 11], "kenneth": 0, "reitz": 0, "us": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11], "most": [0, 5, 11], "hi": 0, "project": [0, 11], "It": [0, 2, 3, 5, 10, 11], "i": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], "driv": 0, "mitsuhiko": 0, "": [0, 2, 3, 5, 6, 8, 10, 11], "theme": 0, "flask": 0, "relat": [0, 2], "To": [0, 2, 5, 10, 11], "your": [0, 10, 11], "document": [0, 1, 3, 10, 11], "follow": [0, 2, 3, 5, 10, 11], "guid": 0, "put": [0, 11], "folder": [0, 1, 10], "_theme": 0, "doc": [0, 1, 5], "altern": [0, 10], "you": [0, 2, 5, 10, 11], "can": [0, 1, 2, 3, 5, 10, 11], "also": [0, 5, 10, 11], "git": 0, "submodul": [0, 12], "check": [0, 1, 2, 5, 6, 7, 8, 10, 11, 12], "out": [0, 5, 6, 8, 10, 11], "content": [0, 11, 12], "add": [0, 1, 3, 11], "conf": 0, "py": [0, 1, 5, 11], "sy": 0, "path": [0, 2, 3, 10, 11], "append": [0, 5, 6, 8, 10], "o": 0, "abspath": 0, "html_theme_path": 0, "html_theme": 0, "kr": 0, "The": [0, 1, 2, 3, 5, 8, 9, 10, 11], "exist": [0, 5, 7, 10], "standard": [0, 5, 6, 7, 8, 10], "larg": [0, 5, 10, 11], "kr_small": 0, "small": [0, 1, 5, 10], "one": [0, 2, 5, 10, 11], "page": 0, "intend": 0, "veri": [0, 1, 5, 10, 11], "addon": 0, "librari": [0, 11], "back": [1, 2, 5, 6, 10], "kwarg": [1, 2, 10], "vasphandl": 1, "maintain": 1, "backward": [1, 10], "compat": [1, 10], "arosen93": 1, "vasp": [1, 2, 4, 5, 7, 11, 12], "handler": [1, 2, 11, 12], "better": [1, 5, 10], "error": [1, 2, 3, 5, 6, 7, 8, 9, 10, 11], "too_few_nband": 1, "gener": [1, 2, 4, 5, 6, 8, 10, 11], "clean": 1, "up": [1, 2, 5, 6, 10], "mitig": 1, "unnecessari": 1, "incar": [1, 10, 11], "swap": 1, "remov": [1, 5, 10], "deprec": [1, 8], "new": [1, 3, 11], "correct": [1, 2, 5, 6, 8, 10, 11, 12], "zpotrf": [1, 10], "ztrtri": [1, 10], "specif": [1, 2, 3, 4, 5, 6, 7, 10, 11], "structur": [1, 2, 9, 10], "set_core_wf": [1, 10], "onli": [1, 2, 3, 5, 6, 8, 10], "appli": [1, 2, 5, 6, 7, 10], "algo_tet": [1, 10], "scf": [1, 5, 6], "converg": [1, 4, 5, 6, 10, 11], "fail": [1, 2, 5, 10, 11], "amin": [1, 10], "should": [1, 2, 3, 5, 7, 10, 11], "do": [1, 2, 3, 4, 5, 6, 10, 11], "set": [1, 2, 3, 5, 6, 10, 11, 12], "addgrid": 1, "true": [1, 2, 3, 5, 6, 7, 8, 9, 10, 11], "updat": [1, 5, 10], "qchem6": 1, "support": [1, 2, 3, 5, 6, 10], "samblau": 1, "cp2k": [1, 2, 11, 12], "nwinner": 1, "pr": 1, "219": 1, "from": [1, 2, 3, 4, 5, 6, 7, 10, 11], "q": [1, 9], "chem": [1, 9], "nbo": 1, "geometri": [1, 4, 5, 10], "optim": [1, 5, 10], "revamp": 1, "handl": [1, 2, 5, 10, 11], "220": 1, "yuri": 1, "lysogorskii": 1, "fix": [1, 2, 10], "nband": 1, "when": [1, 2, 5, 10, 11], "211": 1, "read": [1, 10], "plane": [1, 10], "wave": 1, "coeff": 1, "214": 1, "zhegv": [1, 10], "reduc": [1, 5, 10], "number": [1, 2, 5, 10, 11], "core": [1, 10], "215": 1, "phrase": 1, "210": 1, "lobster": [1, 2, 11, 12], "naik": 1, "aakash": 1, "bug": [1, 11], "termin": [1, 2, 5, 6, 7, 10, 11, 12], "gamma": [1, 10], "run": [1, 2, 4, 5, 6, 7, 8, 10, 11, 12], "suffici": [1, 5, 10, 11], "hnform": [1, 10], "improv": [1, 2, 5], "zbrent": [1, 10], "try": [1, 5, 10], "get": [1, 4, 5, 10], "ibrion": 1, "succe": 1, "befor": [1, 2, 5, 10], "switch": [1, 5, 10], "algo": [1, 10], "grad_not_orth": [1, 10], "address": [1, 5], "vasp6": 1, "inconsist": [1, 10], "bravai": [1, 10], "lattic": [1, 10], "don": [1, 5], "t": [1, 2, 5, 7, 10], "drift": [1, 10], "nsw": [1, 11], "brion": [1, 10], "occur": [1, 2, 5, 6, 10], "more": [1, 2, 5, 10, 11], "than": [1, 5, 10], "onc": [1, 2, 5, 10], "finit": 1, "differ": [1, 2, 5, 6, 9, 10, 11], "ncore": [1, 10], "utf": 1, "robust": [1, 2, 5, 10, 11], "increas": [1, 5, 10], "posmap": [1, 10], "count": 1, "real_optlai": [1, 10], "logic": 1, "avoid": [1, 3, 5, 6, 10], "lreal": 1, "appropri": [1, 10], "adjust": 1, "ladder": [1, 10], "meta": 1, "gga": [1, 5, 10], "hybrid": [1, 5], "refactor": 1, "vasperrorhandl": [1, 2, 10, 11, 12], "janosh": 1, "tetrahedron": [1, 10], "method": [1, 2, 3, 4, 5, 10, 11], "allow": [1, 2, 3, 4, 5, 10, 11], "static": [1, 3, 5, 10, 11], "calcul": [1, 4, 5, 6, 7, 9, 10], "ismear": [1, 10, 11], "metal": [1, 10], "michaelwolloch": 1, "mkhorton": 1, "rkingsburi": 1, "scratch": [1, 2], "directori": [1, 2, 5, 6, 10, 11], "qchem": [1, 2, 11, 12], "cleanup": [1, 2], "codestyl": 1, "which": [1, 2, 3, 5, 6, 8, 10, 11], "now": [1, 11], "enforc": [1, 5], "py3k": 1, "line": [1, 4, 5, 10], "pymatgen": [1, 3, 8, 10, 11], "depend": [1, 3, 5, 10], "sentri": 1, "complet": [1, 2, 10, 11], "overhaul": 1, "frequenc": [1, 9], "flatten": [1, 5], "refin": [1, 5], "slow": [1, 5, 10], "shyamd": 1, "frozen": [1, 5, 10], "job": [1, 2, 4, 12], "potim": [1, 10], "exceptino": 1, "guido": 1, "petretto": 1, "cstdn": [1, 2, 12], "command": [1, 4, 5, 7, 8, 10, 11], "tool": 1, "offici": 1, "fine": [1, 5, 10, 11], "grain": [1, 11], "control": [1, 3], "possibl": [1, 2, 5], "errors_subset_to_catch": [1, 10], "date": 1, "base": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11], "custodian": 1, "like": [1, 3, 5, 10, 11], "drifterrorhandl": [1, 2, 10, 12], "shyam": 1, "non": [1, 2, 3, 5, 6, 10], "zero": [1, 2, 10], "return": [1, 2, 3, 4, 5, 6, 7, 10, 11], "code": [1, 2, 10, 11], "interrupt": 1, "featur": [1, 5, 11], "dwaraknath": 1, "releas": [1, 11], "come": [1, 5, 11], "script": [1, 4, 11], "enabl": [1, 5], "arbitrari": 1, "creation": [1, 2], "simpl": [1, 2, 5], "sequenc": [1, 2, 3, 5, 6, 10, 11], "yaml": [1, 2, 4], "file": [1, 2, 3, 5, 6, 7, 8, 10, 11], "setup": [1, 2, 5, 6, 7, 8, 10, 11, 12], "made": [1, 3, 5], "auto_npar": [1, 10], "option": [1, 2, 5, 8], "doubl": [1, 10, 11], "relax": [1, 10, 11], "misc": 1, "minor": [1, 11], "major": [1, 11], "introdc": 1, "valid": [1, 2, 7, 11, 12], "ar": [1, 2, 3, 5, 6, 7, 8, 9, 10, 11], "effect": [1, 10], "post": [1, 2], "mechan": [1, 2, 11], "perform": [1, 2, 3, 4, 5, 6, 8, 10, 11], "incompat": 1, "badvasprunxmlhandl": 1, "must": [1, 2, 3, 10], "separ": [1, 5], "import": [1, 11], "miscellan": 1, "python": [1, 2, 11], "latest": [1, 11], "monti": 1, "exit": [1, 2, 5, 12], "runtimeerror": [1, 2], "max_error": [1, 2, 10, 11], "unrecoverable_error": 1, "encount": [1, 2, 11], "ad": [1, 5, 10], "vaspjob": [1, 2, 10, 11, 12], "properli": [1, 10], "hessian": 1, "walltimehandl": [1, 2, 5, 10, 12], "electron": [1, 10], "step": [1, 2, 3, 4, 5, 10], "david": 1, "waroqui": 1, "brmix": [1, 10], "No": 1, "longer": 1, "catch": [1, 2, 5, 6, 10], "spuriou": 1, "messag": [1, 2, 5, 8, 10], "nelect": 1, "specifi": [1, 2, 5, 10, 11], "pricel": [1, 10], "rot_mat": 1, "symmetri": [1, 10], "precis": [1, 5], "center": 1, "kpoint": [1, 4, 10, 11], "instead": [1, 3, 8, 10], "xiaohui": 1, "qu": 1, "pbswalltimehandl": 1, "subset": [1, 10], "requir": [1, 2, 5, 10], "much": [1, 2, 5], "move": [1, 2, 3, 5], "commonli": 1, "util": [1, 4, 12], "function": [1, 2, 3, 5, 9, 10], "packag": [1, 11, 12], "deped": 1, "9": 1, "nwchem": [1, 2, 4, 11, 12], "converge_kpoint": [1, 2, 11, 12], "ha": [1, 2, 5, 10, 11], "increment": [1, 3, 11], "mode": [1, 2, 3, 4, 5, 6, 9, 10, 11], "errorhandl": [1, 2, 5, 6, 8, 10, 11, 12], "have": [1, 2, 5, 6, 7, 10, 11], "api": [1, 3], "where": [1, 2, 5, 8, 10, 11], "class": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11], "variabl": [1, 10, 11], "is_monitor": [1, 2, 5, 6, 10, 12], "is_termin": [1, 2, 5, 10, 12], "provid": [1, 2, 3, 5, 10, 11], "indic": [1, 2, 3, 5, 6, 10], "particular": [1, 2, 5, 10, 11], "background": 1, "dure": [1, 2, 5, 10, 11], "whether": [1, 2, 3, 5, 6, 8, 10, 11], "some": [1, 2, 5, 7, 10, 11], "mai": [1, 2, 5, 10, 11], "critic": 1, "need": [1, 2, 5, 6, 8, 10, 11], "wait": [1, 2, 5, 10], "other": [1, 2, 5, 7, 10, 11], "event": [1, 2, 5, 10, 11], "For": [1, 2, 3, 5, 8, 10, 11], "exampl": [1, 2, 3, 5, 8, 10], "flag": [1, 2, 5, 10], "request": [1, 2, 5, 10], "gracefulli": [1, 2, 5, 10, 11], "finish": [1, 2, 5, 7, 10], "its": [1, 2, 5, 10], "current": [1, 2, 5, 6, 8, 10, 11], "task": [1, 2, 5, 10], "buffer": [1, 5, 10], "time": [1, 2, 5, 10, 11], "vastli": 1, "sub": [1, 5, 10, 11], "dir": 1, "walltim": [1, 5, 10], "pbswalltimehand": 1, "issu": [1, 5, 11], "checkpoint": [1, 2, 5, 10, 11], "turn": 1, "off": 1, "default": [1, 2, 3, 5, 6, 8, 10], "implement": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], "all": [1, 2, 3, 5, 6, 10, 11], "work": [1, 2, 5, 10, 11], "after": [1, 2, 10, 11], "everi": [1, 2, 10], "success": [1, 2, 5], "If": [1, 2, 5, 6, 8, 9, 10, 11], "resubmit": 1, "restor": [1, 5], "start": [1, 2, 10, 11], "last": [1, 5, 10], "particularli": [1, 11], "multi": [1, 4, 10], "wall": [1, 10], "pb": [1, 10], "scratch_dir": [1, 2, 11], "well": [1, 3, 11], "run_vasp": [1, 2, 12], "run_nwchem": [1, 2, 12], "mani": [1, 5, 10, 11], "supercomput": 1, "cluster": [1, 7, 10], "space": [1, 2, 10], "significantli": 1, "faster": [1, 2], "io": [1, 2, 10, 11], "transpar": 1, "wai": [1, 2, 4, 5, 11], "especi": [1, 10, 11], "signific": [1, 10], "gzip": [1, 2, 5, 6, 7, 8, 10], "output": [1, 2, 5, 6, 7, 8, 10, 11], "consolid": 1, "backup": [1, 2, 5, 6, 7, 8, 10, 12], "rudimentari": 1, "shyue": [1, 11], "ping": [1, 11], "ong": [1, 11], "steve": 1, "dacek": 1, "Will": [1, 5], "richard": [1, 11], "hanld": 1, "speed": [1, 5, 10], "isym": 1, "singl": [1, 2, 4, 5], "includ": [1, 3, 5, 10, 11], "too": [1, 5, 7, 10], "few": [1, 7, 10], "band": [1, 5, 7, 10], "tripl": [1, 10], "product": [1, 10], "dentet": [1, 10], "auto_gamma": [1, 10], "automat": [1, 5, 6, 10], "npar": [1, 10], "sqrt": [1, 10], "per": [1, 2, 5, 10], "recommend": [1, 5, 10, 11], "dft": [1, 5, 8, 10], "tri": [1, 2], "search": 1, "compil": [1, 10], "1x1x1": [1, 10], "incorrect": 1, "shift": [1, 10], "unconverg": [1, 5, 6], "fast": [1, 5, 10], "normal": [1, 5, 7, 10], "expand": [1, 11], "monitor": [1, 2, 5, 6, 10], "progress": [1, 10], "necessari": [1, 5, 8, 10, 11], "caus": [1, 2, 5, 6, 10, 11], "immedi": [1, 2, 5, 6, 10], "failur": [1, 2, 5, 6, 10], "comprehens": [1, 11], "call": [1, 2, 5, 10], "json": [1, 2, 3, 5, 7, 11], "flexibl": [1, 2, 5, 10, 11], "system": [1, 2, 4, 5, 10, 11], "type": [1, 2, 5, 6, 10, 11], "first": [1, 2, 5, 10], "stabl": 1, "aflow": [1, 10], "style": [1, 8, 10], "assimil": 1, "ansibl": [2, 5, 6, 8, 10, 12], "action": [2, 5, 6, 10, 11, 12], "dictact": [2, 3, 5, 6, 10, 12], "add_to_set": [2, 3, 12], "inc": [2, 3, 12], "pop": [2, 3, 10, 12], "pull": [2, 3, 12], "pull_al": [2, 3, 12], "push": [2, 3, 12], "push_al": [2, 3, 12], "renam": [2, 3, 5, 6, 8, 10, 12], "unset": [2, 3, 12], "fileact": [2, 3, 5, 6, 10, 12], "file_copi": [2, 3, 12], "file_cr": [2, 3, 12], "file_delet": [2, 3, 12], "file_modifi": [2, 3, 12], "file_mov": [2, 3, 12], "get_nested_dict": [2, 3, 12], "interpret": [2, 12], "modder": [2, 3, 5, 6, 10, 12], "modifi": [2, 3, 5, 6, 10, 11, 12], "modify_object": [2, 3, 12], "cli": [2, 12], "converge_geometri": [2, 12], "do_run": [2, 4, 12], "get_run": [2, 4, 12], "main": [2, 3, 4, 11, 12], "print_exampl": [2, 4, 12], "get_job": [2, 4, 12], "load_class": [2, 4, 12], "aborthandl": [2, 5, 12], "divergingscferrorhandl": [2, 5, 12], "frozenjoberrorhandl": [2, 5, 10, 12], "numericalprecisionhandl": [2, 5, 12], "stderrhandl": [2, 5, 10, 12], "error_msg": [2, 5, 10, 12], "raises_runtime_error": [2, 5, 10, 12], "unconvergedrelaxationerrorhandl": [2, 5, 12], "unconvergedscferrorhandl": [2, 5, 12], "cp2kmodder": [2, 5, 12], "apply_act": [2, 5, 6, 10, 12], "cp2kjob": [2, 5, 12], "double_job": [2, 5, 12], "gga_static_to_hybrid": [2, 5, 12], "postprocess": [2, 5, 6, 7, 8, 10, 11, 12], "pre_screen_hybrid": [2, 5, 12], "activate_diag": [2, 5, 12], "activate_ot": [2, 5, 12], "can_use_ot": [2, 5, 12], "cleanup_input": [2, 5, 12], "get_conv": [2, 5, 12], "restart": [2, 5, 6, 10, 11, 12], "tail": [2, 5, 12], "cp2koutputvalid": [2, 5, 12], "kill": [2, 5, 10, 12], "no_children": [2, 5, 12], "cp2kvalid": [2, 5, 12], "feff": [2, 11, 12], "unconvergederrorhandl": [2, 6, 10, 11, 12], "feffmodd": [2, 6, 12], "feffjob": [2, 6, 12], "chargespillingvalid": [2, 7, 12], "enoughbandsvalid": [2, 7, 12], "lobsterfilesvalid": [2, 7, 12], "lobsterjob": [2, 7, 12], "nwchemerrorhandl": [2, 8, 12], "nwchemjob": [2, 8, 12], "perturb_coordin": [2, 9, 12], "vector_list_diff": [2, 9, 12], "aliasingerrorhandl": [2, 10, 11, 12], "checkpointhandl": [2, 10, 12], "incorrectsmearinghandl": [2, 10, 12], "largesigmahandl": [2, 10, 12], "lrfcommutatorhandl": [2, 10, 12], "meshsymmetryerrorhandl": [2, 10, 11, 12], "nonconvergingerrorhandl": [2, 10, 12], "from_dict": [2, 3, 10, 12], "positiveenergyerrorhandl": [2, 10, 12], "potimerrorhandl": [2, 10, 12], "scanmetalhandl": [2, 10, 12], "stoppedrunhandl": [2, 10, 12], "vaspmodd": [2, 10, 12], "generatevaspinputjob": [2, 10, 12], "constrained_opt_run": [2, 10, 12], "double_relaxation_run": [2, 10, 11, 12], "full_opt_run": [2, 10, 12], "metagga_opt_run": [2, 10, 12], "vaspnebjob": [2, 10, 12], "vaspaeccarvalid": [2, 10, 12], "vaspfilesvalid": [2, 10, 12], "vaspnptmdvalid": [2, 10, 12], "vasprunxmlvalid": [2, 10, 11, 12], "check_broken_chgcar": [2, 10, 12], "manag": [2, 11], "list": [2, 3, 5, 6, 7, 8, 9, 10, 11], "given": [2, 11], "abstract": [2, 5, 11], "none": [2, 3, 5, 6, 8, 10, 11], "max_errors_per_job": 2, "1": [2, 3, 5, 6, 10, 11], "polling_time_step": 2, "10": [2, 4, 5, 10, 11], "monitor_freq": 2, "30": 2, "skip_over_error": 2, "fals": [2, 5, 6, 8, 10, 11], "gzipped_output": [2, 8, 11], "terminate_func": 2, "terminate_on_nonzero_returncod": 2, "sourc": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11], "object": [2, 3, 5, 6, 10, 11], "let": [2, 11], "sai": [2, 5, 10], "defin": [2, 3, 10, 11], "job1": 2, "job2": 2, "job3": 2, "err1": 2, "err2": 2, "order": [2, 5, 11], "each": [2, 3, 5, 10, 11], "an": [2, 3, 5, 6, 8, 10, 11], "detect": [2, 5, 10, 11], "measur": 2, "taken": 2, "rerun": [2, 10, 11], "At": [2, 5, 10], "end": [2, 5, 10], "individu": 2, "through": [2, 11], "initi": [2, 3, 5, 6, 8, 9, 10, 11], "paramet": [2, 3, 5, 6, 7, 8, 10, 11], "In": [2, 3, 5, 6, 10, 11], "prioriti": 2, "note": [2, 3, 5, 10], "ani": [2, 3, 5, 6, 10, 11], "even": [2, 5, 11], "yield": 2, "ensur": 2, "int": [2, 5, 10], "maximum": [2, 5, 10], "mean": [2, 3, 5, 6, 10, 11], "equal": 2, "total": [2, 5, 10, 11], "length": 2, "second": [2, 5, 10], "between": [2, 5, 9, 10, 11], "sec": [2, 10], "poll": [2, 10], "x": [2, 9, 10], "300": [2, 10], "e": [2, 3, 5, 6, 10, 11], "5": [2, 5, 10, 11], "minut": 2, "bool": [2, 3, 5, 6, 7, 8, 9, 10], "skip": 2, "over": 2, "rais": [2, 3, 5, 6, 10], "except": 2, "sort": 2, "otherwis": [2, 11], "simpli": [2, 3, 5, 6, 10, 11], "unrecover": 2, "former": 2, "lead": [2, 5], "potenti": [2, 5, 11], "make": [2, 3, 5, 10], "difficult": [2, 10], "latter": 2, "bad": 2, "str": [2, 3, 5, 6, 7, 8, 10], "copi": [2, 3, 5, 6, 7, 8, 10, 11], "temporari": 2, "upon": [2, 5, 7, 10], "partit": 2, "root": 2, "want": [2, 10], "There": [2, 10, 11], "uniqu": 2, "name": [2, 4, 5, 6, 8, 10, 11, 12], "we": [2, 5, 10, 11], "tempfil": 2, "A": [2, 3, 4, 5, 6, 8, 10], "symbol": 2, "link": [2, 11], "creat": [2, 3, 5, 7, 10, 11], "cours": 2, "scratch_link": 2, "user": [2, 5], "sometim": [2, 5, 10], "final": [2, 5, 6, 10, 11], "save": [2, 5], "store": [2, 3, 10], "chk": [2, 5], "tar": [2, 5, 6], "gz": [2, 5, 6], "callabl": 2, "popen": [2, 5, 6, 10], "result": [2, 10], "log_fil": [2, 12], "classmethod": [2, 5, 10], "from_spec": [2, 12], "spec": 2, "load": [2, 4, 10], "instanc": [2, 5, 10], "dict": [2, 3, 5, 6, 8, 10, 11], "custom": [2, 10], "construct": 2, "quickli": 2, "via": [2, 10, 11], "sampl": [2, 11], "format": [2, 11], "usual": [2, 3, 5, 7, 10], "mp": 2, "workflow": [2, 11], "jb": [2, 11], "param": [2, 5, 10, 11], "suffix": [2, 5, 10, 11], "relax1": [2, 5, 10, 11], "relax2": [2, 11], "settings_overrid": [2, 5, 8, 10, 11], "contcar": [2, 10, 11], "_file_copi": [2, 3, 10, 11], "dest": [2, 3, 10, 11], "poscar": [2, 10, 11], "jobs_common_param": [2, 11], "vasp_cmd": [2, 10, 11], "opt": 2, "hdlr": [2, 11], "meshsymmetryhandl": 2, "vldr": [2, 11], "custodian_param": [2, 11], "tmp": [2, 11], "kei": [2, 3, 10, 11], "explicit": 2, "common_param": 2, "common": [2, 5, 10, 11], "pass": [2, 5, 6, 10, 11], "g": [2, 3, 5, 10, 11], "error_dict": 2, "2": [2, 5, 6, 10], "validationerror": [2, 12], "returncodeerror": [2, 12], "process": [2, 5, 10], "0": [2, 4, 5, 7, 10, 11], "nonrecoverableerror": [2, 12], "maxcorrectionsperjoberror": [2, 12], "reach": [2, 5, 10], "maxcorrectionserror": [2, 12], "maxcorrectionsperhandlererror": [2, 12], "max_errors_per_handl": 2, "run_interrupt": [2, 12], "interuppt": 2, "doesn": 2, "execut": [2, 5, 6, 10], "remain": [2, 5, 10], "custodianerror": [2, 12], "outsid": [2, 5], "msonabl": 2, "interfac": 2, "serializ": 2, "describ": 2, "list_of_error": 2, "list_of_actions_taken": 2, "unfix": 2, "properti": [2, 5, 6, 10, 11], "notic": [2, 5, 6, 10, 11], "sent": [2, 5, 6, 10], "signal": [2, 5, 6, 10], "earli": [2, 5, 6, 10], "By": [2, 5, 10], "classifi": [2, 5, 10], "max_num_correct": [2, 12], "n_applied_correct": [2, 12], "been": [2, 5, 7, 10, 11], "raise_on_max": [2, 12], "counter": 2, "reset": [2, 5], "begin": 2, "either": [2, 10], "stop": [2, 5, 10], "consid": [2, 5, 7, 10, 11], "These": [2, 5, 10], "overridden": 2, "attribut": 2, "subclass": [2, 11], "customiz": [2, 11], "__init__": [2, 11], "runtim": [2, 5, 10], "cannot": [2, 5, 10], "nice": [2, 5], "string": [2, 3], "analysi": [2, 11], "etc": [2, 5, 10], "actual": [2, 3, 5, 6, 8, 10], "parallel": 2, "desir": 2, "pre": 2, "wa": [2, 5, 10, 11], "found": [2, 5, 10], "could": [2, 5, 10], "gave": 2, "doe": [2, 3, 5, 6, 10], "filenam": [2, 3, 5, 6, 7, 10], "prefix": [2, 6], "wildcard": 2, "seri": [2, 5, 6, 10, 11], "get_execution_host_info": [2, 12], "tupl": 2, "host": 2, "queue": 2, "hostnam": 2, "cluster_nam": 2, "just": [2, 5, 10, 11], "jit": [2, 11], "framework": [2, 11], "written": [2, 10, 11], "variou": [3, 4, 5, 6, 8, 9, 10], "oppos": [3, 5], "so": [3, 5, 10, 11], "namespac": 3, "easili": 3, "mongo": 3, "modif": [3, 4, 5, 9, 11], "keyword": 3, "refer": [3, 5], "inform": [3, 6, 11], "_inc": 3, "_set": [3, 10, 11], "_unset": 3, "_push": 3, "_push_al": 3, "_add_to_set": 3, "_each": 3, "_pop": 3, "_pull": 3, "_pull_al": 3, "_renam": 3, "howev": [3, 5], "nest": 3, "b": [3, 10], "notat": 3, "becaus": [3, 5], "insert": 3, "special": [3, 10], "input_dict": 3, "mongodb": 3, "syntax": 3, "input": [3, 5, 6, 7, 8, 10, 11], "dictionari": 3, "valu": [3, 5, 10, 11], "mongdodb": 3, "item": 3, "multipl": 3, "take": [3, 5, 11], "prefer": 3, "full": [3, 6, 10, 11], "ambigu": 3, "new_file_nam": 3, "actual_cont": 3, "delet": [3, 10], "_file_delet": 3, "simul": [3, 11], "print": [3, 4, 5], "without": [3, 5, 6, 10, 11], "access": 3, "owner": 3, "_file_mov": 3, "helper": [3, 5], "strict": [3, 5, 6, 10], "languag": 3, "mostli": 3, "adopt": 3, "underscor": 3, "preced": 3, "db": 3, "suppli": [3, 5, 6, 10, 11], "argument": [3, 10, 11], "what": [3, 10], "pymatpro": 3, "d": [3, 10], "hello": 3, "world": [3, 11], "mod": [3, 4], "univers": 3, "bye": 3, "see": [3, 5, 6, 10, 11], "unsupport": [3, 5, 6, 10], "ignor": [3, 5, 6, 10], "valueerror": [3, 5, 6, 10], "obj": 3, "place": [3, 5], "action_keyword": 3, "pathnam": 3, "as_dict": 3, "itself": [3, 5], "chang": [3, 5, 6, 8, 10, 11], "databas": 3, "form": [3, 5, 6, 10], "version": [3, 10], "track": 3, "though": [3, 5, 11], "undo": 3, "capabl": 3, "unless": 3, "arg": [4, 5, 8, 10, 11], "master": [4, 5, 10], "vasp_command": 4, "target": [4, 11], "001": 4, "max_step": [4, 10], "linear": 4, "until": [4, 5, 10], "achiev": [4, 5], "runner": 4, "along": [4, 9], "example_yaml": 4, "basic": [4, 5, 6, 8, 10], "combin": [4, 10], "infinit": [4, 10], "enough": [5, 7], "thei": [5, 11], "bulki": 5, "keep": 5, "overhead": 5, "low": 5, "two": [5, 9, 10, 11], "alwai": [5, 11], "togeth": 5, "join": 5, "them": [5, 10], "rememb": 5, "tip": 5, "caught": 5, "ot": 5, "minim": 5, "Not": [5, 8], "thing": 5, "go": [5, 11], "wrong": 5, "aspect": [5, 11], "done": [5, 11], "nativ": 5, "benefit": [5, 10], "write": [5, 10, 11], "wavefunct": [5, 10], "quit": 5, "input_fil": [5, 8], "inp": [5, 6], "output_fil": [5, 6, 7, 8, 10], "recogn": 5, "intern": [5, 10], "unwant": 5, "rather": [5, 10], "se": [5, 10], "choleski": 5, "decomposit": 5, "precondition": 5, "full_al": 5, "full_single_invers": 5, "diagon": [5, 10], "algorithm": [5, 10], "invers": 5, "abort": 5, "nam": 5, "eof": 5, "diverg": 5, "averag": [5, 10], "were": 5, "decreas": 5, "scope": 5, "unphys": 5, "atom": [5, 9, 10], "coordin": [5, 9], "high": [5, 10, 11], "condit": [5, 11], "overlap": 5, "matrix": [5, 10], "force_ev": 5, "condition_overlap": 5, "bump": 5, "attempt": [5, 10], "remedi": 5, "problem": [5, 10], "timeout": [5, 10], "3600": [5, 10], "3": [5, 9, 10, 11], "rare": 5, "case": [5, 10, 11], "stuck": 5, "otheerwis": 5, "solver": 5, "direct": [5, 6, 8, 9, 10], "loop": 5, "reason": [5, 10], "determin": [5, 10], "sinc": 5, "easier": 5, "diagnos": 5, "least": 5, "4": [5, 10], "hang": 5, "unknown": 5, "experi": 5, "shown": 5, "hardwar": 5, "routin": [5, 10], "eth": 5, "hfx": 5, "long": [5, 10, 11], "activ": [5, 10], "hour": [5, 10], "stage": 5, "less": [5, 10], "account": 5, "hf": [5, 10], "forc": [5, 10], "sizabl": 5, "max_sam": 5, "pgf_orb_strict": 5, "1e": 5, "20": [5, 10], "eps_default_strict": 5, "12": 5, "eps_gvg_strict": 5, "offer": 5, "lot": 5, "numer": [5, 10], "unfortun": [5, 10], "cycl": 5, "while": [5, 10], "hard": 5, "choic": 5, "same": [5, 11], "row": 5, "oscil": 5, "littl": 5, "harder": 5, "assess": 5, "look": [5, 7, 10], "identifi": 5, "eps_default": 5, "overal": 5, "quickstep": 5, "eps_scf": 5, "almost": 5, "certainli": 5, "open": [5, 7, 11], "shell": 5, "defect": 5, "applic": [5, 11], "14": 5, "16": 5, "point": [5, 10], "probabl": [5, 10], "someth": [5, 10], "els": 5, "xc_grid": 5, "xc": 5, "grid": [5, 10], "strong": [5, 10], "correl": 5, "finer": 5, "screen": 5, "approxim": [5, 10], "imprecis": 5, "eps_schwarz": 5, "7": 5, "admm": 5, "basi": [5, 10, 11], "polar": 5, "term": [5, 10, 11], "being": [5, 8, 10], "neglect": 5, "fake": 5, "due": [5, 10, 11], "dii": 5, "hope": 5, "around": [5, 10], "minimum": [5, 10], "report": 5, "give": [5, 10], "impress": 5, "nefari": 5, "present": [5, 8, 10, 11], "best": 5, "solut": 5, "cg": 5, "allevi": 5, "decid": 5, "consecut": 5, "0001": 5, "won": [5, 7, 10], "n": [5, 9], "outer": 5, "std_err": [5, 10], "txt": [5, 6, 7, 10], "stderr": [5, 10], "slurm": [5, 10], "memori": [5, 10], "recover": 5, "redirect": [5, 8, 10], "log": [5, 11], "sigabrt": 5, "out_of_memori": [5, 10], "insuffici": [5, 11], "virtual": 5, "seg_fault": 5, "sigsegv": 5, "max_it": 5, "max_total_it": 5, "200": 5, "bfg": [5, 10], "signifi": 5, "jump": 5, "forth": 5, "unstabl": 5, "far": 5, "grow": 5, "slower": 5, "approach": 5, "acceler": 5, "max": [5, 10], "iter": 5, "inner": 5, "anoth": 5, "again": [5, 11], "broken": 5, "categori": 5, "solv": 5, "sever": [5, 11], "orbit": 5, "transform": 5, "scheme": [5, 10], "flagshop": 5, "easiest": [5, 11], "conjug": 5, "gradient": [5, 10], "beyond": 5, "stepsiz": 5, "good": 5, "aid": 5, "although": 5, "perfectli": 5, "wide": 5, "varieti": 5, "theoret": 5, "perspect": 5, "occup": 5, "fd": 5, "smear": [5, 10], "rotat": [5, 10], "constraint": 5, "orthogon": [5, 10], "congruenc": 5, "occupi": 5, "subspac": [5, 10], "fraction": 5, "As": [5, 11], "octob": 5, "2021": 5, "tradit": 5, "procedur": 5, "densiti": [5, 10], "roughli": 5, "origin": 5, "charg": [5, 7, 10, 11], "mix": 5, "alpha": 5, "beta": 5, "broyden": 5, "damp": 5, "suppress": 5, "slosh": 5, "todo": [5, 8], "pseudo": 5, "purif": 5, "enable_checkpoint": 5, "trip": 5, "plu": 5, "continu": [5, 10], "dump": 5, "info": 5, "adapt": 5, "ci": [5, 10], "lightweight": 5, "oper": [5, 10], "cp2kinput": 5, "overwritten": 5, "repars": [5, 6, 10], "rewrit": [5, 6, 10], "moddermodif": [5, 6, 10], "cp2k_kei": 5, "kind": [5, 6, 8, 10, 11], "cp2k_cmd": 5, "stderr_fil": [5, 6, 7, 10], "whatev": [5, 6, 10], "But": [5, 10], "conceiv": [5, 10], "complex": [5, 10, 11], "constructor": [5, 6, 10], "necessarili": [5, 10], "often": [5, 10, 11], "mpirun": [5, 10, 11], "popt": 5, "orig": [5, 6, 7, 8, 10], "previou": 5, "wfn": 5, "exploit": 5, "would": [5, 10, 11], "settings_override_gga": 5, "settings_override_hybrid": 5, "bare": 5, "unecessari": 5, "energi": [5, 10, 11], "energy_forc": 5, "build": 5, "unscreen": 5, "subprocess": [5, 6, 10], "three": [5, 11], "self": [5, 11], "addit": [5, 11], "lastli": 5, "hold": 5, "mainli": 5, "minimum_band_gap": 5, "alreadi": [5, 10], "show": [5, 10], "gap": 5, "greater": 5, "cp2koutput": 5, "float": [5, 7, 9, 10], "intent": 5, "problemat": 5, "part": 5, "section": 5, "within": 5, "empti": 5, "insid": 5, "plai": 5, "parser": 5, "outfil": 5, "pars": 5, "across": 5, "no_actions_need": 5, "discard": 5, "old": 5, "behavior": 5, "analyz": 5, "program": 5, "children": 5, "here": [5, 11], "output_filenam": [6, 7, 8, 10], "log1": 6, "dat": 6, "unlik": [6, 10], "feffinp": 6, "feffinput": 6, "feffinput_kei": 6, "feff_cmd": 6, "std_feff_err": 6, "gzipped_prefix": 6, "feff_out": 6, "archiv": 6, "lobsterout": 7, "charge_spilling_limit": 7, "05": [7, 10], "spill": 7, "below": [7, 11], "certain": [7, 11], "threshold": [7, 10], "lobter": 7, "limit": [7, 10, 11], "okai": 7, "find": [7, 10], "cohp": 7, "avail": [7, 11], "had": 7, "dummi": [7, 10], "init": [7, 10], "lobster_cmd": 7, "std_err_lobst": 7, "add_files_to_gzip": 7, "lobsterin": 7, "relev": 7, "test": [8, 11], "b3lyp": 8, "mol": 8, "nwout": 8, "stdout": [8, 10], "nwchem_cmd": 8, "nw": 8, "pleas": [8, 11], "overrid": [8, 10], "yet": 8, "old_coord": 9, "negative_freq_vec": 9, "molecule_perturb_scal": 9, "reversed_direct": 9, "perturb": 9, "imaginari": 9, "vibrat": 9, "vector": [9, 10], "np": [9, 11], "ndarrai": 9, "molecul": 9, "correspond": [9, 10], "neg": [9, 10], "scale": [9, 11], "factor": 9, "multipli": 9, "opposit": 9, "vecs1": 9, "vecs2": 9, "sum": [9, 11], "typic": [9, 10], "compar": 9, "wise": 9, "compon": [9, 11], "collect": 9, "dimens": 9, "fly": 10, "alias": 10, "warn": 10, "wrap": 10, "expect": [10, 11], "aliasing_incar": 10, "fft": 10, "ngx": 10, "ngy": 10, "ngz": 10, "accur": 10, "interv": 10, "stopcar": 10, "chkpt": 10, "next": 10, "ionic": 10, "subdir": 10, "proper": 10, "wouldn": 10, "chk_": 10, "max_drift": 10, "to_averag": 10, "enaug_multipli": 10, "exceed": 10, "criteria": 10, "leav": 10, "edfiffg": 10, "21600": 10, "vasprun": 10, "xml": 10, "bandgap": 10, "semiconductor": 10, "sigma": 10, "methfessel": 10, "paxton": 10, "magnitud": 10, "entropi": 10, "outcar": 10, "larger": 10, "mev": 10, "lrf_commut": 10, "lpead": 10, "slightli": 10, "versu": 10, "evalu": 10, "deriv": 10, "lrf_comm": 10, "output_vasprun": 10, "mesh": 10, "fatal": 10, "record": 10, "oszicar": 10, "nionic_step": 10, "hit": 10, "preserv": 10, "older": 10, "posit": 10, "absolut": 10, "input_filenam": 10, "de_threshold": 10, "excess": 10, "crash": 10, "wors": 10, "1ev": 10, "scan": 10, "kspace": 10, "22": 10, "mpscanrelaxset": 10, "kpoints_tran": 10, "generate_kpoints_tran": 10, "star": 10, "alloc": 10, "exce": 10, "vtst_fix": 10, "errors_subset_to_detect": 10, "eddrrm": 10, "zheev": 10, "eddrmm": 10, "wish": 10, "exclud": 10, "vtst": 10, "purpos": [10, 11], "ialgo": 10, "5x": 10, "tend": [10, 11], "One": 10, "50": [10, 11], "seriou": 10, "coef": 10, "dfpt_ncore": 10, "pead": 10, "tag": 10, "edddav": 10, "elf_kpar": 10, "elf": 10, "kpar": 10, "elf_ncl": 10, "collinear": 10, "edwav": 10, "k": 10, "incorrect_shift": 10, "inv_rot_mat": 10, "symprec": 10, "nbands_not_suffici": 10, "nicht_konv": 10, "sbesselit": 10, "nicht": 10, "konverg": 10, "point_group": 10, "group": 10, "miss": 10, "subroutin": 10, "pssyevx": 10, "real_opt": 10, "rhosyg": 10, "rot_matrix": 10, "integ": 10, "element": 10, "sgrcon": 10, "rspher": 10, "subspacematrix": 10, "hermitian": 10, "dav": 10, "symprec_nois": 10, "tet": 10, "unabl": 10, "match": 10, "tetirr": 10, "bzint": 10, "too_few_band": 10, "triple_product": 10, "bracket": 10, "eddiag": 10, "lapack": 10, "wall_tim": 10, "buffer_tim": 10, "electronic_step_stop": 10, "nearing": 10, "lstop": 10, "labort": 10, "sge": 10, "happen": 10, "pbs_walltim": 10, "environ": 10, "min": 10, "amount": 10, "higher": 10, "accordingli": 10, "hse": 10, "Be": 10, "care": 10, "might": 10, "level": 10, "lwave": 10, "vi": 10, "vaspinputset": 10, "vaspinput": 10, "vaspinput_kei": 10, "input_set": 10, "contcar_onli": 10, "mpnonscfset": 10, "gamma_vasp_cmd": 10, "copy_magmom": 10, "auto_continu": 10, "pvasp": 10, "11": 10, "potcar": 10, "tune": 10, "speedup": 10, "gw": 10, "rpa": 10, "regular": 10, "istart": 10, "subsequ": 10, "magmom": 10, "chgcar": 10, "wavecar": 10, "prevent": 10, "lattice_direct": 10, "initial_strain": 10, "atom_relax": 10, "vasp_job_kwarg": 10, "constrain": 10, "biaxial": 10, "strain": 10, "situat": [10, 11], "c": [10, 11], "guidelin": 10, "auto": [10, 11], "fluctuat": 10, "nois": 10, "sure": 10, "ediff": 10, "ediffg": 10, "reli": 10, "estim": 10, "tensil": 10, "guess": 10, "highli": [10, 11], "ever": 10, "sensit": 10, "bisect": 10, "bit": 10, "fall": 10, "sensic": 10, "passthrough": 10, "eo": 10, "quick": 10, "v": 10, "half_kpts_first_relax": 10, "halv": 10, "consider": 10, "vol_change_tol": 10, "02": 10, "vol": 10, "toler": 10, "thre": 10, "metagga": 10, "fed": 10, "precondit": 10, "associ": [10, 11], "neb_vasp": 10, "neb_std_err": 10, "half_kpt": 10, "neb": 10, "arrang": 10, "simplifi": 10, "satisfi": 10, "validatior": 10, "data": [10, 11], "aeccar": 10, "corrupt": 10, "npt": 10, "aimd": 10, "dtbdyn": 10, "langevin": 10, "thermostat": 10, "mdalgo": 10, "ensembl": 10, "diff_thresh": 10, "wrapper": 11, "recoveri": 11, "plugin": 11, "develop": 11, "throughput": 11, "hundr": 11, "thousand": 11, "rate": 11, "imposs": 11, "deal": 11, "random": 11, "dai": 11, "server": 11, "chanc": 11, "recov": 11, "vienna": 11, "ab": 11, "initio": 11, "index": 11, "pypi": 11, "hopefulli": 11, "rel": 11, "free": 11, "instal": 11, "pip": 11, "bleed": 11, "edg": 11, "github": 11, "repo": 11, "buggi": 11, "unit": 11, "clone": 11, "8": 11, "materi": 11, "genom": 11, "2022": 11, "consult": 11, "pytest": 11, "unittest": 11, "pycodestyl": 11, "pep8": 11, "complianc": 11, "known": 11, "figur": 11, "overview": 11, "concret": 11, "custodian_exampl": 11, "detail": 11, "examplejob": 11, "def": 11, "jobid": 11, "uniform": 11, "rang": 11, "100": 11, "f": 11, "compris": 11, "u": 11, "examplehandl": 11, "abov": 11, "transfer": 11, "ideal": 11, "demonstr": 11, "real": 11, "involv": 11, "those": 11, "njob": 11, "xrang": 11, "summar": 11, "area": 11, "Such": 11, "becom": 11, "fairli": 11, "poscarerrorhandl": 11, "denteterrorhandl": 11, "split": 11, "indefinit": 11, "annot": 11, "obvious": 11, "meant": 11, "firework": 11, "static3": 11, "environment": 11, "pbs_nodefil": 11, "machinefil": 11, "24": 11, "similarli": 11, "configur": 11, "sphinx": 11, "outlin": 11, "modul": [11, 12], "research": 11, "william": 11, "davidson": 11, "anubhav": 11, "jain": 11, "geoffroi": 11, "hautier": 11, "michael": 11, "kocher": 11, "shreya": 11, "cholia": 11, "dan": 11, "gunter": 11, "vincent": 11, "chevrier": 11, "kristin": 11, "persson": 11, "gerbrand": 11, "ceder": 11, "comput": 11, "scienc": 11, "2013": 11, "68": 11, "314": 11, "319": 11, "doi": 11, "1016": 11, "j": 11, "commatsci": 11, "2012": 11, "028": 11, "http": 11, "dx": 11, "org": 11, "_": 11, "under": 11, "mit": 11, "copyright": 11, "2011": 11, "lbnl": 11, "permiss": 11, "herebi": 11, "grant": 11, "person": 11, "obtain": 11, "softwar": 11, "restrict": 11, "right": 11, "merg": 11, "publish": 11, "distribut": 11, "sublicens": 11, "sell": 11, "permit": 11, "whom": 11, "furnish": 11, "subject": 11, "shall": 11, "substanti": 11, "portion": 11, "THE": 11, "AS": 11, "warranti": 11, "OF": 11, "express": 11, "OR": 11, "impli": 11, "BUT": 11, "NOT": 11, "TO": 11, "merchant": 11, "fit": 11, "FOR": 11, "AND": 11, "noninfring": 11, "IN": 11, "NO": 11, "author": 11, "holder": 11, "BE": 11, "liabl": 11, "claim": 11, "damag": 11, "liabil": 11, "contract": 11, "tort": 11, "aris": 11, "connect": 11, "WITH": 11, "subpackag": 12}, "objects": {"": [[2, 0, 0, "-", "custodian"]], "custodian": [[3, 0, 0, "-", "ansible"], [4, 0, 0, "-", "cli"], [5, 0, 0, "-", "cp2k"], [2, 0, 0, "-", "custodian"], [6, 0, 0, "-", "feff"], [7, 0, 0, "-", "lobster"], [8, 0, 0, "-", "nwchem"], [9, 0, 0, "-", "qchem"], [2, 0, 0, "-", "utils"], [10, 0, 0, "-", "vasp"]], "custodian.ansible": [[3, 0, 0, "-", "actions"], [3, 0, 0, "-", "interpreter"]], "custodian.ansible.actions": [[3, 1, 1, "", "DictActions"], [3, 1, 1, "", "FileActions"], [3, 3, 1, "", "get_nested_dict"]], "custodian.ansible.actions.DictActions": [[3, 2, 1, "", "add_to_set"], [3, 2, 1, "", "inc"], [3, 2, 1, "", "pop"], [3, 2, 1, "", "pull"], [3, 2, 1, "", "pull_all"], [3, 2, 1, "", "push"], [3, 2, 1, "", "push_all"], [3, 2, 1, "", "rename"], [3, 2, 1, "", "set"], [3, 2, 1, "", "unset"]], "custodian.ansible.actions.FileActions": [[3, 2, 1, "", "file_copy"], [3, 2, 1, "", "file_create"], [3, 2, 1, "", "file_delete"], [3, 2, 1, "", "file_modify"], [3, 2, 1, "", "file_move"]], "custodian.ansible.interpreter": [[3, 1, 1, "", "Modder"]], "custodian.ansible.interpreter.Modder": [[3, 2, 1, "", "modify"], [3, 2, 1, "", "modify_object"]], "custodian.cli": [[4, 0, 0, "-", "converge_geometry"], [4, 0, 0, "-", "converge_kpoints"], [4, 0, 0, "-", "cstdn"], [4, 0, 0, "-", "run_nwchem"], [4, 0, 0, "-", "run_vasp"]], "custodian.cli.converge_geometry": [[4, 3, 1, "", "do_run"], [4, 3, 1, "", "get_runs"]], "custodian.cli.converge_kpoints": [[4, 3, 1, "", "do_run"], [4, 3, 1, "", "get_runs"], [4, 3, 1, "", "main"]], "custodian.cli.cstdn": [[4, 3, 1, "", "main"], [4, 3, 1, "", "print_example"], [4, 3, 1, "", "run"]], "custodian.cli.run_nwchem": [[4, 3, 1, "", "do_run"], [4, 3, 1, "", "main"]], "custodian.cli.run_vasp": [[4, 3, 1, "", "do_run"], [4, 3, 1, "", "get_jobs"], [4, 3, 1, "", "load_class"], [4, 3, 1, "", "main"]], "custodian.cp2k": [[5, 0, 0, "-", "handlers"], [5, 0, 0, "-", "interpreter"], [5, 0, 0, "-", "jobs"], [5, 0, 0, "-", "utils"], [5, 0, 0, "-", "validators"]], "custodian.cp2k.handlers": [[5, 1, 1, "", "AbortHandler"], [5, 1, 1, "", "DivergingScfErrorHandler"], [5, 1, 1, "", "FrozenJobErrorHandler"], [5, 1, 1, "", "NumericalPrecisionHandler"], [5, 1, 1, "", "StdErrHandler"], [5, 1, 1, "", "UnconvergedRelaxationErrorHandler"], [5, 1, 1, "", "UnconvergedScfErrorHandler"], [5, 1, 1, "", "WalltimeHandler"]], "custodian.cp2k.handlers.AbortHandler": [[5, 2, 1, "", "check"], [5, 2, 1, "", "correct"], [5, 4, 1, "", "is_monitor"], [5, 4, 1, "", "is_terminating"]], "custodian.cp2k.handlers.DivergingScfErrorHandler": [[5, 2, 1, "", "check"], [5, 2, 1, "", "correct"], [5, 4, 1, "", "is_monitor"]], "custodian.cp2k.handlers.FrozenJobErrorHandler": [[5, 2, 1, "", "check"], [5, 2, 1, "", "correct"], [5, 4, 1, "", "is_monitor"]], "custodian.cp2k.handlers.NumericalPrecisionHandler": [[5, 2, 1, "", "check"], [5, 2, 1, "", "correct"], [5, 4, 1, "", "is_monitor"]], "custodian.cp2k.handlers.StdErrHandler": [[5, 2, 1, "", "check"], [5, 2, 1, "", "correct"], [5, 4, 1, "", "error_msgs"], [5, 4, 1, "", "is_monitor"], [5, 4, 1, "", "raises_runtime_error"]], "custodian.cp2k.handlers.UnconvergedRelaxationErrorHandler": [[5, 2, 1, "", "check"], [5, 2, 1, "", "correct"], [5, 4, 1, "", "is_monitor"]], "custodian.cp2k.handlers.UnconvergedScfErrorHandler": [[5, 2, 1, "", "check"], [5, 2, 1, "", "correct"], [5, 4, 1, "", "is_monitor"]], "custodian.cp2k.handlers.WalltimeHandler": [[5, 2, 1, "", "check"], [5, 2, 1, "", "correct"], [5, 4, 1, "", "is_monitor"], [5, 4, 1, "", "is_terminating"], [5, 4, 1, "", "raises_runtime_error"]], "custodian.cp2k.interpreter": [[5, 1, 1, "", "Cp2kModder"]], "custodian.cp2k.interpreter.Cp2kModder": [[5, 2, 1, "", "apply_actions"]], "custodian.cp2k.jobs": [[5, 1, 1, "", "Cp2kJob"]], "custodian.cp2k.jobs.Cp2kJob": [[5, 2, 1, "", "double_job"], [5, 2, 1, "", "gga_static_to_hybrid"], [5, 2, 1, "", "postprocess"], [5, 2, 1, "", "pre_screen_hybrid"], [5, 2, 1, "", "run"], [5, 2, 1, "", "setup"], [5, 2, 1, "", "terminate"]], "custodian.cp2k.utils": [[5, 3, 1, "", "activate_diag"], [5, 3, 1, "", "activate_ot"], [5, 3, 1, "", "can_use_ot"], [5, 3, 1, "", "cleanup_input"], [5, 3, 1, "", "get_conv"], [5, 3, 1, "", "restart"], [5, 3, 1, "", "tail"]], "custodian.cp2k.validators": [[5, 1, 1, "", "Cp2kOutputValidator"], [5, 1, 1, "", "Cp2kValidator"]], "custodian.cp2k.validators.Cp2kOutputValidator": [[5, 2, 1, "", "check"], [5, 5, 1, "", "exit"], [5, 5, 1, "", "kill"], [5, 5, 1, "", "no_children"]], "custodian.cp2k.validators.Cp2kValidator": [[5, 2, 1, "", "check"], [5, 5, 1, "", "exit"], [5, 5, 1, "", "kill"], [5, 5, 1, "", "no_children"]], "custodian.custodian": [[2, 1, 1, "", "Custodian"], [2, 6, 1, "", "CustodianError"], [2, 1, 1, "", "ErrorHandler"], [2, 1, 1, "", "Job"], [2, 6, 1, "", "MaxCorrectionsError"], [2, 6, 1, "", "MaxCorrectionsPerHandlerError"], [2, 6, 1, "", "MaxCorrectionsPerJobError"], [2, 6, 1, "", "NonRecoverableError"], [2, 6, 1, "", "ReturnCodeError"], [2, 6, 1, "", "ValidationError"], [2, 1, 1, "", "Validator"]], "custodian.custodian.Custodian": [[2, 4, 1, "", "LOG_FILE"], [2, 2, 1, "", "from_spec"], [2, 2, 1, "", "run"], [2, 2, 1, "", "run_interrupted"]], "custodian.custodian.ErrorHandler": [[2, 2, 1, "", "check"], [2, 2, 1, "", "correct"], [2, 4, 1, "", "is_monitor"], [2, 4, 1, "", "is_terminating"], [2, 4, 1, "", "max_num_corrections"], [2, 5, 1, "", "n_applied_corrections"], [2, 4, 1, "", "raise_on_max"], [2, 4, 1, "", "raises_runtime_error"]], "custodian.custodian.Job": [[2, 5, 1, "", "name"], [2, 2, 1, "", "postprocess"], [2, 2, 1, "", "run"], [2, 2, 1, "", "setup"], [2, 2, 1, "", "terminate"]], "custodian.custodian.Validator": [[2, 2, 1, "", "check"]], "custodian.feff": [[6, 0, 0, "-", "handlers"], [6, 0, 0, "-", "interpreter"], [6, 0, 0, "-", "jobs"]], "custodian.feff.handlers": [[6, 1, 1, "", "UnconvergedErrorHandler"]], "custodian.feff.handlers.UnconvergedErrorHandler": [[6, 2, 1, "", "check"], [6, 2, 1, "", "correct"], [6, 4, 1, "", "is_monitor"]], "custodian.feff.interpreter": [[6, 1, 1, "", "FeffModder"]], "custodian.feff.interpreter.FeffModder": [[6, 2, 1, "", "apply_actions"]], "custodian.feff.jobs": [[6, 1, 1, "", "FeffJob"]], "custodian.feff.jobs.FeffJob": [[6, 2, 1, "", "postprocess"], [6, 2, 1, "", "run"], [6, 2, 1, "", "setup"]], "custodian.lobster": [[7, 0, 0, "-", "handlers"], [7, 0, 0, "-", "jobs"]], "custodian.lobster.handlers": [[7, 1, 1, "", "ChargeSpillingValidator"], [7, 1, 1, "", "EnoughBandsValidator"], [7, 1, 1, "", "LobsterFilesValidator"]], "custodian.lobster.handlers.ChargeSpillingValidator": [[7, 2, 1, "", "check"]], "custodian.lobster.handlers.EnoughBandsValidator": [[7, 2, 1, "", "check"]], "custodian.lobster.handlers.LobsterFilesValidator": [[7, 2, 1, "", "check"]], "custodian.lobster.jobs": [[7, 1, 1, "", "LobsterJob"]], "custodian.lobster.jobs.LobsterJob": [[7, 2, 1, "", "postprocess"], [7, 2, 1, "", "run"], [7, 2, 1, "", "setup"]], "custodian.nwchem": [[8, 0, 0, "-", "handlers"], [8, 0, 0, "-", "jobs"]], "custodian.nwchem.handlers": [[8, 1, 1, "", "NwchemErrorHandler"]], "custodian.nwchem.handlers.NwchemErrorHandler": [[8, 2, 1, "", "check"], [8, 2, 1, "", "correct"]], "custodian.nwchem.jobs": [[8, 1, 1, "", "NwchemJob"]], "custodian.nwchem.jobs.NwchemJob": [[8, 2, 1, "", "postprocess"], [8, 2, 1, "", "run"], [8, 2, 1, "", "setup"]], "custodian.qchem": [[9, 0, 0, "-", "utils"]], "custodian.qchem.utils": [[9, 3, 1, "", "perturb_coordinates"], [9, 3, 1, "", "vector_list_diff"]], "custodian.utils": [[2, 3, 1, "", "backup"], [2, 3, 1, "", "get_execution_host_info"]], "custodian.vasp": [[10, 0, 0, "-", "handlers"], [10, 0, 0, "-", "interpreter"], [10, 0, 0, "-", "jobs"], [10, 0, 0, "-", "validators"]], "custodian.vasp.handlers": [[10, 1, 1, "", "AliasingErrorHandler"], [10, 1, 1, "", "CheckpointHandler"], [10, 1, 1, "", "DriftErrorHandler"], [10, 1, 1, "", "FrozenJobErrorHandler"], [10, 1, 1, "", "IncorrectSmearingHandler"], [10, 1, 1, "", "LargeSigmaHandler"], [10, 1, 1, "", "LrfCommutatorHandler"], [10, 1, 1, "", "MeshSymmetryErrorHandler"], [10, 1, 1, "", "NonConvergingErrorHandler"], [10, 1, 1, "", "PositiveEnergyErrorHandler"], [10, 1, 1, "", "PotimErrorHandler"], [10, 1, 1, "", "ScanMetalHandler"], [10, 1, 1, "", "StdErrHandler"], [10, 1, 1, "", "StoppedRunHandler"], [10, 1, 1, "", "UnconvergedErrorHandler"], [10, 1, 1, "", "VaspErrorHandler"], [10, 1, 1, "", "WalltimeHandler"]], "custodian.vasp.handlers.AliasingErrorHandler": [[10, 2, 1, "", "check"], [10, 2, 1, "", "correct"], [10, 4, 1, "", "error_msgs"], [10, 4, 1, "", "is_monitor"]], "custodian.vasp.handlers.CheckpointHandler": [[10, 2, 1, "", "check"], [10, 2, 1, "", "correct"], [10, 4, 1, "", "is_monitor"], [10, 4, 1, "", "is_terminating"]], "custodian.vasp.handlers.DriftErrorHandler": [[10, 2, 1, "", "check"], [10, 2, 1, "", "correct"]], "custodian.vasp.handlers.FrozenJobErrorHandler": [[10, 2, 1, "", "check"], [10, 2, 1, "", "correct"], [10, 4, 1, "", "is_monitor"]], "custodian.vasp.handlers.IncorrectSmearingHandler": [[10, 2, 1, "", "check"], [10, 2, 1, "", "correct"], [10, 4, 1, "", "is_monitor"]], "custodian.vasp.handlers.LargeSigmaHandler": [[10, 2, 1, "", "check"], [10, 2, 1, "", "correct"], [10, 4, 1, "", "is_monitor"]], "custodian.vasp.handlers.LrfCommutatorHandler": [[10, 2, 1, "", "check"], [10, 2, 1, "", "correct"], [10, 4, 1, "", "error_msgs"], [10, 4, 1, "", "is_monitor"]], "custodian.vasp.handlers.MeshSymmetryErrorHandler": [[10, 2, 1, "", "check"], [10, 2, 1, "", "correct"], [10, 4, 1, "", "is_monitor"]], "custodian.vasp.handlers.NonConvergingErrorHandler": [[10, 2, 1, "", "check"], [10, 2, 1, "", "correct"], [10, 2, 1, "", "from_dict"], [10, 4, 1, "", "is_monitor"]], "custodian.vasp.handlers.PositiveEnergyErrorHandler": [[10, 2, 1, "", "check"], [10, 2, 1, "", "correct"], [10, 4, 1, "", "is_monitor"]], "custodian.vasp.handlers.PotimErrorHandler": [[10, 2, 1, "", "check"], [10, 2, 1, "", "correct"], [10, 4, 1, "", "is_monitor"]], "custodian.vasp.handlers.ScanMetalHandler": [[10, 2, 1, "", "check"], [10, 2, 1, "", "correct"], [10, 4, 1, "", "is_monitor"]], "custodian.vasp.handlers.StdErrHandler": [[10, 2, 1, "", "check"], [10, 2, 1, "", "correct"], [10, 4, 1, "", "error_msgs"], [10, 4, 1, "", "is_monitor"]], "custodian.vasp.handlers.StoppedRunHandler": [[10, 2, 1, "", "check"], [10, 2, 1, "", "correct"], [10, 4, 1, "", "is_monitor"], [10, 4, 1, "", "is_terminating"]], "custodian.vasp.handlers.UnconvergedErrorHandler": [[10, 2, 1, "", "check"], [10, 2, 1, "", "correct"], [10, 4, 1, "", "is_monitor"]], "custodian.vasp.handlers.VaspErrorHandler": [[10, 2, 1, "", "check"], [10, 2, 1, "", "correct"], [10, 4, 1, "", "error_msgs"], [10, 4, 1, "", "is_monitor"]], "custodian.vasp.handlers.WalltimeHandler": [[10, 2, 1, "", "check"], [10, 2, 1, "", "correct"], [10, 4, 1, "", "is_monitor"], [10, 4, 1, "", "is_terminating"], [10, 4, 1, "", "raises_runtime_error"]], "custodian.vasp.interpreter": [[10, 1, 1, "", "VaspModder"]], "custodian.vasp.interpreter.VaspModder": [[10, 2, 1, "", "apply_actions"]], "custodian.vasp.jobs": [[10, 1, 1, "", "GenerateVaspInputJob"], [10, 1, 1, "", "VaspJob"], [10, 1, 1, "", "VaspNEBJob"]], "custodian.vasp.jobs.GenerateVaspInputJob": [[10, 2, 1, "", "postprocess"], [10, 2, 1, "", "run"], [10, 2, 1, "", "setup"]], "custodian.vasp.jobs.VaspJob": [[10, 2, 1, "", "constrained_opt_run"], [10, 2, 1, "", "double_relaxation_run"], [10, 2, 1, "", "full_opt_run"], [10, 2, 1, "", "metagga_opt_run"], [10, 2, 1, "", "postprocess"], [10, 2, 1, "", "run"], [10, 2, 1, "", "setup"], [10, 2, 1, "", "terminate"]], "custodian.vasp.jobs.VaspNEBJob": [[10, 2, 1, "", "postprocess"], [10, 2, 1, "", "run"], [10, 2, 1, "", "setup"]], "custodian.vasp.validators": [[10, 1, 1, "", "VaspAECCARValidator"], [10, 1, 1, "", "VaspFilesValidator"], [10, 1, 1, "", "VaspNpTMDValidator"], [10, 1, 1, "", "VasprunXMLValidator"], [10, 3, 1, "", "check_broken_chgcar"]], "custodian.vasp.validators.VaspAECCARValidator": [[10, 2, 1, "", "check"]], "custodian.vasp.validators.VaspFilesValidator": [[10, 2, 1, "", "check"]], "custodian.vasp.validators.VaspNpTMDValidator": [[10, 2, 1, "", "check"]], "custodian.vasp.validators.VasprunXMLValidator": [[10, 2, 1, "", "check"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:function", "4": "py:attribute", "5": "py:property", "6": "py:exception"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "function", "Python function"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "property", "Python property"], "6": ["py", "exception", "Python exception"]}, "titleterms": {"krtheme": 0, "sphinx": 0, "style": 0, "chang": 1, "log": 1, "v2023": 1, "5": 1, "12": 1, "7": 1, "3": 1, "8": 1, "v2022": 1, "26": 1, "17": 1, "2": 1, "13": 1, "1": 1, "v2021": 1, "v2019": 1, "24": 1, "10": 1, "v2017": 1, "23": 1, "v1": 1, "0": 1, "4": 1, "v0": 1, "6": 1, "version": [1, 11], "custodian": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], "packag": [2, 3, 4, 5, 6, 7, 8, 9, 10], "subpackag": [2, 3, 5, 6, 7, 8, 9, 10], "submodul": [2, 3, 4, 5, 6, 7, 8, 9, 10], "modul": [2, 3, 4, 5, 6, 7, 8, 9, 10], "util": [2, 5, 9], "content": [2, 3, 4, 5, 6, 7, 8, 9, 10], "ansibl": 3, "action": 3, "interpret": [3, 5, 6, 10], "cli": 4, "converge_geometri": 4, "converge_kpoint": 4, "cstdn": [4, 11], "run_nwchem": 4, "run_vasp": 4, "cp2k": 5, "handler": [5, 6, 7, 8, 9, 10], "job": [5, 6, 7, 8, 9, 10, 11], "valid": [5, 10], "feff": 6, "lobster": 7, "nwchem": 8, "qchem": 9, "vasp": 10, "get": 11, "stabl": 11, "development": 11, "requir": 11, "option": 11, "depend": 11, "usag": 11, "simpl": 11, "exampl": 11, "practic": 11, "electron": 11, "structur": 11, "calcul": 11, "A": 11, "yaml": 11, "spec": 11, "control": 11, "api": 11, "refer": 11, "doc": 11, "how": 11, "cite": 11, "licens": 11}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1, "sphinx": 57}, "alltitles": {"krTheme Sphinx Style": [[0, "krtheme-sphinx-style"]], "Change Log": [[1, "change-log"]], "v2023.5.12": [[1, "v2023-5-12"]], "v2023.5.7": [[1, "v2023-5-7"]], "v2023.3.8": [[1, "v2023-3-8"]], "v2022.5.26": [[1, "v2022-5-26"]], "v2022.5.17": [[1, "v2022-5-17"]], "v2022.2.13": [[1, "v2022-2-13"]], "v2022.1.17": [[1, "v2022-1-17"]], "v2021.12.2": [[1, "v2021-12-2"]], "v2021.2.8": [[1, "v2021-2-8"]], "v2021.1.8": [[1, "v2021-1-8"]], "v2021.1.7": [[1, "v2021-1-7"]], "v2019.8.24": [[1, "v2019-8-24"]], "v2019.2.10": [[1, "v2019-2-10"]], "v2019.2.7": [[1, "v2019-2-7"]], "v2017.12.23": [[1, "v2017-12-23"]], "v1.1.1": [[1, "v1-1-1"]], "v1.1.0": [[1, "v1-1-0"]], "v1.0.4": [[1, "v1-0-4"]], "v1.0.2": [[1, "v1-0-2"]], "v1.0.1": [[1, "v1-0-1"]], "v1.0.0": [[1, "v1-0-0"]], "v0.8.8": [[1, "v0-8-8"]], "v0.8.5": [[1, "v0-8-5"]], "v0.8.2": [[1, "v0-8-2"]], "v0.8.1": [[1, "v0-8-1"]], "v0.8.0": [[1, "v0-8-0"]], "v0.7.5": [[1, "v0-7-5"]], "v0.7.4": [[1, "v0-7-4"]], "v0.7.3": [[1, "v0-7-3"]], "v0.7.2": [[1, "v0-7-2"]], "v0.7.1": [[1, "v0-7-1"]], "v0.7.0": [[1, "v0-7-0"]], "0.6.3": [[1, "id3"]], "0.6.2": [[1, "id4"]], "0.6.1": [[1, "id5"]], "0.6.0": [[1, "id6"]], "0.5.0": [[1, "id7"]], "0.4.5": [[1, "id8"]], "0.4.3": [[1, "id9"]], "0.4.2": [[1, "id10"]], "0.4.1": [[1, "id11"]], "0.4.0": [[1, "id12"]], "0.3.5": [[1, "id13"]], "0.3.4": [[1, "id14"]], "0.3.2": [[1, "id15"]], "0.3.0": [[1, "id16"]], "Version 0.2.6": [[1, "version-0-2-6"]], "Version 0.2.5": [[1, "version-0-2-5"]], "Version 0.2.4": [[1, "version-0-2-4"]], "custodian package": [[2, "custodian-package"]], "Subpackages": [[2, "subpackages"], [3, "subpackages"], [5, "subpackages"], [6, "subpackages"], [7, "subpackages"], [8, "subpackages"], [9, "subpackages"], [10, "subpackages"]], "Submodules": [[2, "submodules"], [3, "submodules"], [4, "submodules"], [5, "submodules"], [6, "submodules"], [7, "submodules"], [8, "submodules"], [9, "submodules"], [10, "submodules"]], "custodian.custodian module": [[2, "module-custodian.custodian"]], "custodian.utils module": [[2, "module-custodian.utils"]], "Module contents": [[2, "module-custodian"], [3, "module-custodian.ansible"], [4, "module-custodian.cli"], [5, "module-custodian.cp2k"], [6, "module-custodian.feff"], [7, "module-custodian.lobster"], [8, "module-custodian.nwchem"], [9, "module-custodian.qchem"], [10, "module-custodian.vasp"]], "custodian.ansible package": [[3, "custodian-ansible-package"]], "custodian.ansible.actions module": [[3, "module-custodian.ansible.actions"]], "custodian.ansible.interpreter module": [[3, "module-custodian.ansible.interpreter"]], "custodian.cli package": [[4, "custodian-cli-package"]], "custodian.cli.converge_geometry module": [[4, "module-custodian.cli.converge_geometry"]], "custodian.cli.converge_kpoints module": [[4, "module-custodian.cli.converge_kpoints"]], "custodian.cli.cstdn module": [[4, "module-custodian.cli.cstdn"]], "custodian.cli.run_nwchem module": [[4, "module-custodian.cli.run_nwchem"]], "custodian.cli.run_vasp module": [[4, "module-custodian.cli.run_vasp"]], "custodian.cp2k package": [[5, "custodian-cp2k-package"]], "custodian.cp2k.handlers module": [[5, "module-custodian.cp2k.handlers"]], "custodian.cp2k.interpreter module": [[5, "module-custodian.cp2k.interpreter"]], "custodian.cp2k.jobs module": [[5, "module-custodian.cp2k.jobs"]], "custodian.cp2k.utils module": [[5, "module-custodian.cp2k.utils"]], "custodian.cp2k.validators module": [[5, "module-custodian.cp2k.validators"]], "custodian.feff package": [[6, "custodian-feff-package"]], "custodian.feff.handlers module": [[6, "module-custodian.feff.handlers"]], "custodian.feff.interpreter module": [[6, "module-custodian.feff.interpreter"]], "custodian.feff.jobs module": [[6, "module-custodian.feff.jobs"]], "custodian.lobster package": [[7, "custodian-lobster-package"]], "custodian.lobster.handlers module": [[7, "module-custodian.lobster.handlers"]], "custodian.lobster.jobs module": [[7, "module-custodian.lobster.jobs"]], "custodian.nwchem package": [[8, "custodian-nwchem-package"]], "custodian.nwchem.handlers module": [[8, "module-custodian.nwchem.handlers"]], "custodian.nwchem.jobs module": [[8, "module-custodian.nwchem.jobs"]], "custodian.qchem package": [[9, "custodian-qchem-package"]], "custodian.qchem.handlers module": [[9, "custodian-qchem-handlers-module"]], "custodian.qchem.jobs module": [[9, "custodian-qchem-jobs-module"]], "custodian.qchem.utils module": [[9, "module-custodian.qchem.utils"]], "custodian.vasp package": [[10, "custodian-vasp-package"]], "custodian.vasp.handlers module": [[10, "module-custodian.vasp.handlers"]], "custodian.vasp.interpreter module": [[10, "module-custodian.vasp.interpreter"]], "custodian.vasp.jobs module": [[10, "module-custodian.vasp.jobs"]], "custodian.vasp.validators module": [[10, "module-custodian.vasp.validators"]], "Custodian": [[11, "custodian"]], "Getting custodian": [[11, "getting-custodian"]], "Stable version": [[11, "stable-version"]], "Developmental version": [[11, "developmental-version"]], "Requirements": [[11, "requirements"]], "Optional dependencies": [[11, "optional-dependencies"]], "Usage": [[11, "usage"]], "Simple example": [[11, "simple-example"]], "Practical example: Electronic structure calculations": [[11, "practical-example-electronic-structure-calculations"]], "cstdn - A yaml-spec controlled job": [[11, "cstdn-a-yaml-spec-controlled-job"]], "API/Reference Docs": [[11, "api-reference-docs"]], "How to cite custodian": [[11, "how-to-cite-custodian"]], "License": [[11, "license"]], "custodian": [[12, "custodian"]]}, "indexentries": {"custodian (class in custodian.custodian)": [[2, "custodian.custodian.Custodian"]], "custodianerror": [[2, "custodian.custodian.CustodianError"]], "errorhandler (class in custodian.custodian)": [[2, "custodian.custodian.ErrorHandler"]], "job (class in custodian.custodian)": [[2, "custodian.custodian.Job"]], "log_file (custodian attribute)": [[2, "custodian.custodian.Custodian.LOG_FILE"]], "maxcorrectionserror": [[2, "custodian.custodian.MaxCorrectionsError"]], "maxcorrectionsperhandlererror": [[2, "custodian.custodian.MaxCorrectionsPerHandlerError"]], "maxcorrectionsperjoberror": [[2, "custodian.custodian.MaxCorrectionsPerJobError"]], "nonrecoverableerror": [[2, "custodian.custodian.NonRecoverableError"]], "returncodeerror": [[2, "custodian.custodian.ReturnCodeError"]], "validationerror": [[2, "custodian.custodian.ValidationError"]], "validator (class in custodian.custodian)": [[2, "custodian.custodian.Validator"]], "backup() (in module custodian.utils)": [[2, "custodian.utils.backup"]], "check() (errorhandler method)": [[2, "custodian.custodian.ErrorHandler.check"]], "check() (validator method)": [[2, "custodian.custodian.Validator.check"]], "correct() (errorhandler method)": [[2, "custodian.custodian.ErrorHandler.correct"]], "custodian": [[2, "module-custodian"]], "custodian.custodian": [[2, "module-custodian.custodian"]], "custodian.utils": [[2, "module-custodian.utils"]], "from_spec() (custodian class method)": [[2, "custodian.custodian.Custodian.from_spec"]], "get_execution_host_info() (in module custodian.utils)": [[2, "custodian.utils.get_execution_host_info"]], "is_monitor (errorhandler attribute)": [[2, "custodian.custodian.ErrorHandler.is_monitor"]], "is_terminating (errorhandler attribute)": [[2, "custodian.custodian.ErrorHandler.is_terminating"]], "max_num_corrections (errorhandler attribute)": [[2, "custodian.custodian.ErrorHandler.max_num_corrections"]], "module": [[2, "module-custodian"], [2, "module-custodian.custodian"], [2, "module-custodian.utils"], [3, "module-custodian.ansible"], [3, "module-custodian.ansible.actions"], [3, "module-custodian.ansible.interpreter"], [4, "module-custodian.cli"], [4, "module-custodian.cli.converge_geometry"], [4, "module-custodian.cli.converge_kpoints"], [4, "module-custodian.cli.cstdn"], [4, "module-custodian.cli.run_nwchem"], [4, "module-custodian.cli.run_vasp"], [5, "module-custodian.cp2k"], [5, "module-custodian.cp2k.handlers"], [5, "module-custodian.cp2k.interpreter"], [5, "module-custodian.cp2k.jobs"], [5, "module-custodian.cp2k.utils"], [5, "module-custodian.cp2k.validators"], [6, "module-custodian.feff"], [6, "module-custodian.feff.handlers"], [6, "module-custodian.feff.interpreter"], [6, "module-custodian.feff.jobs"], [7, "module-custodian.lobster"], [7, "module-custodian.lobster.handlers"], [7, "module-custodian.lobster.jobs"], [8, "module-custodian.nwchem"], [8, "module-custodian.nwchem.handlers"], [8, "module-custodian.nwchem.jobs"], [9, "module-custodian.qchem"], [9, "module-custodian.qchem.utils"], [10, "module-custodian.vasp"], [10, "module-custodian.vasp.handlers"], [10, "module-custodian.vasp.interpreter"], [10, "module-custodian.vasp.jobs"], [10, "module-custodian.vasp.validators"]], "n_applied_corrections (errorhandler property)": [[2, "custodian.custodian.ErrorHandler.n_applied_corrections"]], "name (job property)": [[2, "custodian.custodian.Job.name"]], "postprocess() (job method)": [[2, "custodian.custodian.Job.postprocess"]], "raise_on_max (errorhandler attribute)": [[2, "custodian.custodian.ErrorHandler.raise_on_max"]], "raises_runtime_error (errorhandler attribute)": [[2, "custodian.custodian.ErrorHandler.raises_runtime_error"]], "run() (custodian method)": [[2, "custodian.custodian.Custodian.run"]], "run() (job method)": [[2, "custodian.custodian.Job.run"]], "run_interrupted() (custodian method)": [[2, "custodian.custodian.Custodian.run_interrupted"]], "setup() (job method)": [[2, "custodian.custodian.Job.setup"]], "terminate() (job method)": [[2, "custodian.custodian.Job.terminate"]], "dictactions (class in custodian.ansible.actions)": [[3, "custodian.ansible.actions.DictActions"]], "fileactions (class in custodian.ansible.actions)": [[3, "custodian.ansible.actions.FileActions"]], "modder (class in custodian.ansible.interpreter)": [[3, "custodian.ansible.interpreter.Modder"]], "add_to_set() (dictactions static method)": [[3, "custodian.ansible.actions.DictActions.add_to_set"]], "custodian.ansible": [[3, "module-custodian.ansible"]], "custodian.ansible.actions": [[3, "module-custodian.ansible.actions"]], "custodian.ansible.interpreter": [[3, "module-custodian.ansible.interpreter"]], "file_copy() (fileactions static method)": [[3, "custodian.ansible.actions.FileActions.file_copy"]], "file_create() (fileactions static method)": [[3, "custodian.ansible.actions.FileActions.file_create"]], "file_delete() (fileactions static method)": [[3, "custodian.ansible.actions.FileActions.file_delete"]], "file_modify() (fileactions static method)": [[3, "custodian.ansible.actions.FileActions.file_modify"]], "file_move() (fileactions static method)": [[3, "custodian.ansible.actions.FileActions.file_move"]], "get_nested_dict() (in module custodian.ansible.actions)": [[3, "custodian.ansible.actions.get_nested_dict"]], "inc() (dictactions static method)": [[3, "custodian.ansible.actions.DictActions.inc"]], "modify() (modder method)": [[3, "custodian.ansible.interpreter.Modder.modify"]], "modify_object() (modder method)": [[3, "custodian.ansible.interpreter.Modder.modify_object"]], "pop() (dictactions static method)": [[3, "custodian.ansible.actions.DictActions.pop"]], "pull() (dictactions static method)": [[3, "custodian.ansible.actions.DictActions.pull"]], "pull_all() (dictactions static method)": [[3, "custodian.ansible.actions.DictActions.pull_all"]], "push() (dictactions static method)": [[3, "custodian.ansible.actions.DictActions.push"]], "push_all() (dictactions static method)": [[3, "custodian.ansible.actions.DictActions.push_all"]], "rename() (dictactions static method)": [[3, "custodian.ansible.actions.DictActions.rename"]], "set() (dictactions static method)": [[3, "custodian.ansible.actions.DictActions.set"]], "unset() (dictactions static method)": [[3, "custodian.ansible.actions.DictActions.unset"]], "custodian.cli": [[4, "module-custodian.cli"]], "custodian.cli.converge_geometry": [[4, "module-custodian.cli.converge_geometry"]], "custodian.cli.converge_kpoints": [[4, "module-custodian.cli.converge_kpoints"]], "custodian.cli.cstdn": [[4, "module-custodian.cli.cstdn"]], "custodian.cli.run_nwchem": [[4, "module-custodian.cli.run_nwchem"]], "custodian.cli.run_vasp": [[4, "module-custodian.cli.run_vasp"]], "do_run() (in module custodian.cli.converge_geometry)": [[4, "custodian.cli.converge_geometry.do_run"]], "do_run() (in module custodian.cli.converge_kpoints)": [[4, "custodian.cli.converge_kpoints.do_run"]], "do_run() (in module custodian.cli.run_nwchem)": [[4, "custodian.cli.run_nwchem.do_run"]], "do_run() (in module custodian.cli.run_vasp)": [[4, "custodian.cli.run_vasp.do_run"]], "get_jobs() (in module custodian.cli.run_vasp)": [[4, "custodian.cli.run_vasp.get_jobs"]], "get_runs() (in module custodian.cli.converge_geometry)": [[4, "custodian.cli.converge_geometry.get_runs"]], "get_runs() (in module custodian.cli.converge_kpoints)": [[4, "custodian.cli.converge_kpoints.get_runs"]], "load_class() (in module custodian.cli.run_vasp)": [[4, "custodian.cli.run_vasp.load_class"]], "main() (in module custodian.cli.converge_kpoints)": [[4, "custodian.cli.converge_kpoints.main"]], "main() (in module custodian.cli.cstdn)": [[4, "custodian.cli.cstdn.main"]], "main() (in module custodian.cli.run_nwchem)": [[4, "custodian.cli.run_nwchem.main"]], "main() (in module custodian.cli.run_vasp)": [[4, "custodian.cli.run_vasp.main"]], "print_example() (in module custodian.cli.cstdn)": [[4, "custodian.cli.cstdn.print_example"]], "run() (in module custodian.cli.cstdn)": [[4, "custodian.cli.cstdn.run"]], "aborthandler (class in custodian.cp2k.handlers)": [[5, "custodian.cp2k.handlers.AbortHandler"]], "cp2kjob (class in custodian.cp2k.jobs)": [[5, "custodian.cp2k.jobs.Cp2kJob"]], "cp2kmodder (class in custodian.cp2k.interpreter)": [[5, "custodian.cp2k.interpreter.Cp2kModder"]], "cp2koutputvalidator (class in custodian.cp2k.validators)": [[5, "custodian.cp2k.validators.Cp2kOutputValidator"]], "cp2kvalidator (class in custodian.cp2k.validators)": [[5, "custodian.cp2k.validators.Cp2kValidator"]], "divergingscferrorhandler (class in custodian.cp2k.handlers)": [[5, "custodian.cp2k.handlers.DivergingScfErrorHandler"]], "frozenjoberrorhandler (class in custodian.cp2k.handlers)": [[5, "custodian.cp2k.handlers.FrozenJobErrorHandler"]], "numericalprecisionhandler (class in custodian.cp2k.handlers)": [[5, "custodian.cp2k.handlers.NumericalPrecisionHandler"]], "stderrhandler (class in custodian.cp2k.handlers)": [[5, "custodian.cp2k.handlers.StdErrHandler"]], "unconvergedrelaxationerrorhandler (class in custodian.cp2k.handlers)": [[5, "custodian.cp2k.handlers.UnconvergedRelaxationErrorHandler"]], "unconvergedscferrorhandler (class in custodian.cp2k.handlers)": [[5, "custodian.cp2k.handlers.UnconvergedScfErrorHandler"]], "walltimehandler (class in custodian.cp2k.handlers)": [[5, "custodian.cp2k.handlers.WalltimeHandler"]], "activate_diag() (in module custodian.cp2k.utils)": [[5, "custodian.cp2k.utils.activate_diag"]], "activate_ot() (in module custodian.cp2k.utils)": [[5, "custodian.cp2k.utils.activate_ot"]], "apply_actions() (cp2kmodder method)": [[5, "custodian.cp2k.interpreter.Cp2kModder.apply_actions"]], "can_use_ot() (in module custodian.cp2k.utils)": [[5, "custodian.cp2k.utils.can_use_ot"]], "check() (aborthandler method)": [[5, "custodian.cp2k.handlers.AbortHandler.check"]], "check() (cp2koutputvalidator method)": [[5, "custodian.cp2k.validators.Cp2kOutputValidator.check"]], "check() (cp2kvalidator method)": [[5, "custodian.cp2k.validators.Cp2kValidator.check"]], "check() (divergingscferrorhandler method)": [[5, "custodian.cp2k.handlers.DivergingScfErrorHandler.check"]], "check() (frozenjoberrorhandler method)": [[5, "custodian.cp2k.handlers.FrozenJobErrorHandler.check"], [10, "custodian.vasp.handlers.FrozenJobErrorHandler.check"]], "check() (numericalprecisionhandler method)": [[5, "custodian.cp2k.handlers.NumericalPrecisionHandler.check"]], "check() (stderrhandler method)": [[5, "custodian.cp2k.handlers.StdErrHandler.check"], [10, "custodian.vasp.handlers.StdErrHandler.check"]], "check() (unconvergedrelaxationerrorhandler method)": [[5, "custodian.cp2k.handlers.UnconvergedRelaxationErrorHandler.check"]], "check() (unconvergedscferrorhandler method)": [[5, "custodian.cp2k.handlers.UnconvergedScfErrorHandler.check"]], "check() (walltimehandler method)": [[5, "custodian.cp2k.handlers.WalltimeHandler.check"], [10, "custodian.vasp.handlers.WalltimeHandler.check"]], "cleanup_input() (in module custodian.cp2k.utils)": [[5, "custodian.cp2k.utils.cleanup_input"]], "correct() (aborthandler method)": [[5, "custodian.cp2k.handlers.AbortHandler.correct"]], "correct() (divergingscferrorhandler method)": [[5, "custodian.cp2k.handlers.DivergingScfErrorHandler.correct"]], "correct() (frozenjoberrorhandler method)": [[5, "custodian.cp2k.handlers.FrozenJobErrorHandler.correct"], [10, "custodian.vasp.handlers.FrozenJobErrorHandler.correct"]], "correct() (numericalprecisionhandler method)": [[5, "custodian.cp2k.handlers.NumericalPrecisionHandler.correct"]], "correct() (stderrhandler method)": [[5, "custodian.cp2k.handlers.StdErrHandler.correct"], [10, "custodian.vasp.handlers.StdErrHandler.correct"]], "correct() (unconvergedrelaxationerrorhandler method)": [[5, "custodian.cp2k.handlers.UnconvergedRelaxationErrorHandler.correct"]], "correct() (unconvergedscferrorhandler method)": [[5, "custodian.cp2k.handlers.UnconvergedScfErrorHandler.correct"]], "correct() (walltimehandler method)": [[5, "custodian.cp2k.handlers.WalltimeHandler.correct"], [10, "custodian.vasp.handlers.WalltimeHandler.correct"]], "custodian.cp2k": [[5, "module-custodian.cp2k"]], "custodian.cp2k.handlers": [[5, "module-custodian.cp2k.handlers"]], "custodian.cp2k.interpreter": [[5, "module-custodian.cp2k.interpreter"]], "custodian.cp2k.jobs": [[5, "module-custodian.cp2k.jobs"]], "custodian.cp2k.utils": [[5, "module-custodian.cp2k.utils"]], "custodian.cp2k.validators": [[5, "module-custodian.cp2k.validators"]], "double_job() (cp2kjob class method)": [[5, "custodian.cp2k.jobs.Cp2kJob.double_job"]], "error_msgs (stderrhandler attribute)": [[5, "custodian.cp2k.handlers.StdErrHandler.error_msgs"], [10, "custodian.vasp.handlers.StdErrHandler.error_msgs"]], "exit (cp2koutputvalidator property)": [[5, "custodian.cp2k.validators.Cp2kOutputValidator.exit"]], "exit (cp2kvalidator property)": [[5, "custodian.cp2k.validators.Cp2kValidator.exit"]], "get_conv() (in module custodian.cp2k.utils)": [[5, "custodian.cp2k.utils.get_conv"]], "gga_static_to_hybrid() (cp2kjob class method)": [[5, "custodian.cp2k.jobs.Cp2kJob.gga_static_to_hybrid"]], "is_monitor (aborthandler attribute)": [[5, "custodian.cp2k.handlers.AbortHandler.is_monitor"]], "is_monitor (divergingscferrorhandler attribute)": [[5, "custodian.cp2k.handlers.DivergingScfErrorHandler.is_monitor"]], "is_monitor (frozenjoberrorhandler attribute)": [[5, "custodian.cp2k.handlers.FrozenJobErrorHandler.is_monitor"], [10, "custodian.vasp.handlers.FrozenJobErrorHandler.is_monitor"]], "is_monitor (numericalprecisionhandler attribute)": [[5, "custodian.cp2k.handlers.NumericalPrecisionHandler.is_monitor"]], "is_monitor (stderrhandler attribute)": [[5, "custodian.cp2k.handlers.StdErrHandler.is_monitor"], [10, "custodian.vasp.handlers.StdErrHandler.is_monitor"]], "is_monitor (unconvergedrelaxationerrorhandler attribute)": [[5, "custodian.cp2k.handlers.UnconvergedRelaxationErrorHandler.is_monitor"]], "is_monitor (unconvergedscferrorhandler attribute)": [[5, "custodian.cp2k.handlers.UnconvergedScfErrorHandler.is_monitor"]], "is_monitor (walltimehandler attribute)": [[5, "custodian.cp2k.handlers.WalltimeHandler.is_monitor"], [10, "custodian.vasp.handlers.WalltimeHandler.is_monitor"]], "is_terminating (aborthandler attribute)": [[5, "custodian.cp2k.handlers.AbortHandler.is_terminating"]], "is_terminating (walltimehandler attribute)": [[5, "custodian.cp2k.handlers.WalltimeHandler.is_terminating"], [10, "custodian.vasp.handlers.WalltimeHandler.is_terminating"]], "kill (cp2koutputvalidator property)": [[5, "custodian.cp2k.validators.Cp2kOutputValidator.kill"]], "kill (cp2kvalidator property)": [[5, "custodian.cp2k.validators.Cp2kValidator.kill"]], "no_children (cp2koutputvalidator property)": [[5, "custodian.cp2k.validators.Cp2kOutputValidator.no_children"]], "no_children (cp2kvalidator property)": [[5, "custodian.cp2k.validators.Cp2kValidator.no_children"]], "postprocess() (cp2kjob method)": [[5, "custodian.cp2k.jobs.Cp2kJob.postprocess"]], "pre_screen_hybrid() (cp2kjob class method)": [[5, "custodian.cp2k.jobs.Cp2kJob.pre_screen_hybrid"]], "raises_runtime_error (stderrhandler attribute)": [[5, "custodian.cp2k.handlers.StdErrHandler.raises_runtime_error"]], "raises_runtime_error (walltimehandler attribute)": [[5, "custodian.cp2k.handlers.WalltimeHandler.raises_runtime_error"], [10, "custodian.vasp.handlers.WalltimeHandler.raises_runtime_error"]], "restart() (in module custodian.cp2k.utils)": [[5, "custodian.cp2k.utils.restart"]], "run() (cp2kjob method)": [[5, "custodian.cp2k.jobs.Cp2kJob.run"]], "setup() (cp2kjob method)": [[5, "custodian.cp2k.jobs.Cp2kJob.setup"]], "tail() (in module custodian.cp2k.utils)": [[5, "custodian.cp2k.utils.tail"]], "terminate() (cp2kjob method)": [[5, "custodian.cp2k.jobs.Cp2kJob.terminate"]], "feffjob (class in custodian.feff.jobs)": [[6, "custodian.feff.jobs.FeffJob"]], "feffmodder (class in custodian.feff.interpreter)": [[6, "custodian.feff.interpreter.FeffModder"]], "unconvergederrorhandler (class in custodian.feff.handlers)": [[6, "custodian.feff.handlers.UnconvergedErrorHandler"]], "apply_actions() (feffmodder method)": [[6, "custodian.feff.interpreter.FeffModder.apply_actions"]], "check() (unconvergederrorhandler method)": [[6, "custodian.feff.handlers.UnconvergedErrorHandler.check"], [10, "custodian.vasp.handlers.UnconvergedErrorHandler.check"]], "correct() (unconvergederrorhandler method)": [[6, "custodian.feff.handlers.UnconvergedErrorHandler.correct"], [10, "custodian.vasp.handlers.UnconvergedErrorHandler.correct"]], "custodian.feff": [[6, "module-custodian.feff"]], "custodian.feff.handlers": [[6, "module-custodian.feff.handlers"]], "custodian.feff.interpreter": [[6, "module-custodian.feff.interpreter"]], "custodian.feff.jobs": [[6, "module-custodian.feff.jobs"]], "is_monitor (unconvergederrorhandler attribute)": [[6, "custodian.feff.handlers.UnconvergedErrorHandler.is_monitor"], [10, "custodian.vasp.handlers.UnconvergedErrorHandler.is_monitor"]], "postprocess() (feffjob method)": [[6, "custodian.feff.jobs.FeffJob.postprocess"]], "run() (feffjob method)": [[6, "custodian.feff.jobs.FeffJob.run"]], "setup() (feffjob method)": [[6, "custodian.feff.jobs.FeffJob.setup"]], "chargespillingvalidator (class in custodian.lobster.handlers)": [[7, "custodian.lobster.handlers.ChargeSpillingValidator"]], "enoughbandsvalidator (class in custodian.lobster.handlers)": [[7, "custodian.lobster.handlers.EnoughBandsValidator"]], "lobsterfilesvalidator (class in custodian.lobster.handlers)": [[7, "custodian.lobster.handlers.LobsterFilesValidator"]], "lobsterjob (class in custodian.lobster.jobs)": [[7, "custodian.lobster.jobs.LobsterJob"]], "check() (chargespillingvalidator method)": [[7, "custodian.lobster.handlers.ChargeSpillingValidator.check"]], "check() (enoughbandsvalidator method)": [[7, "custodian.lobster.handlers.EnoughBandsValidator.check"]], "check() (lobsterfilesvalidator method)": [[7, "custodian.lobster.handlers.LobsterFilesValidator.check"]], "custodian.lobster": [[7, "module-custodian.lobster"]], "custodian.lobster.handlers": [[7, "module-custodian.lobster.handlers"]], "custodian.lobster.jobs": [[7, "module-custodian.lobster.jobs"]], "postprocess() (lobsterjob method)": [[7, "custodian.lobster.jobs.LobsterJob.postprocess"]], "run() (lobsterjob method)": [[7, "custodian.lobster.jobs.LobsterJob.run"]], "setup() (lobsterjob method)": [[7, "custodian.lobster.jobs.LobsterJob.setup"]], "nwchemerrorhandler (class in custodian.nwchem.handlers)": [[8, "custodian.nwchem.handlers.NwchemErrorHandler"]], "nwchemjob (class in custodian.nwchem.jobs)": [[8, "custodian.nwchem.jobs.NwchemJob"]], "check() (nwchemerrorhandler method)": [[8, "custodian.nwchem.handlers.NwchemErrorHandler.check"]], "correct() (nwchemerrorhandler method)": [[8, "custodian.nwchem.handlers.NwchemErrorHandler.correct"]], "custodian.nwchem": [[8, "module-custodian.nwchem"]], "custodian.nwchem.handlers": [[8, "module-custodian.nwchem.handlers"]], "custodian.nwchem.jobs": [[8, "module-custodian.nwchem.jobs"]], "postprocess() (nwchemjob method)": [[8, "custodian.nwchem.jobs.NwchemJob.postprocess"]], "run() (nwchemjob method)": [[8, "custodian.nwchem.jobs.NwchemJob.run"]], "setup() (nwchemjob method)": [[8, "custodian.nwchem.jobs.NwchemJob.setup"]], "custodian.qchem": [[9, "module-custodian.qchem"]], "custodian.qchem.utils": [[9, "module-custodian.qchem.utils"]], "perturb_coordinates() (in module custodian.qchem.utils)": [[9, "custodian.qchem.utils.perturb_coordinates"]], "vector_list_diff() (in module custodian.qchem.utils)": [[9, "custodian.qchem.utils.vector_list_diff"]], "aliasingerrorhandler (class in custodian.vasp.handlers)": [[10, "custodian.vasp.handlers.AliasingErrorHandler"]], "checkpointhandler (class in custodian.vasp.handlers)": [[10, "custodian.vasp.handlers.CheckpointHandler"]], "drifterrorhandler (class in custodian.vasp.handlers)": [[10, "custodian.vasp.handlers.DriftErrorHandler"]], "frozenjoberrorhandler (class in custodian.vasp.handlers)": [[10, "custodian.vasp.handlers.FrozenJobErrorHandler"]], "generatevaspinputjob (class in custodian.vasp.jobs)": [[10, "custodian.vasp.jobs.GenerateVaspInputJob"]], "incorrectsmearinghandler (class in custodian.vasp.handlers)": [[10, "custodian.vasp.handlers.IncorrectSmearingHandler"]], "largesigmahandler (class in custodian.vasp.handlers)": [[10, "custodian.vasp.handlers.LargeSigmaHandler"]], "lrfcommutatorhandler (class in custodian.vasp.handlers)": [[10, "custodian.vasp.handlers.LrfCommutatorHandler"]], "meshsymmetryerrorhandler (class in custodian.vasp.handlers)": [[10, "custodian.vasp.handlers.MeshSymmetryErrorHandler"]], "nonconvergingerrorhandler (class in custodian.vasp.handlers)": [[10, "custodian.vasp.handlers.NonConvergingErrorHandler"]], "positiveenergyerrorhandler (class in custodian.vasp.handlers)": [[10, "custodian.vasp.handlers.PositiveEnergyErrorHandler"]], "potimerrorhandler (class in custodian.vasp.handlers)": [[10, "custodian.vasp.handlers.PotimErrorHandler"]], "scanmetalhandler (class in custodian.vasp.handlers)": [[10, "custodian.vasp.handlers.ScanMetalHandler"]], "stderrhandler (class in custodian.vasp.handlers)": [[10, "custodian.vasp.handlers.StdErrHandler"]], "stoppedrunhandler (class in custodian.vasp.handlers)": [[10, "custodian.vasp.handlers.StoppedRunHandler"]], "unconvergederrorhandler (class in custodian.vasp.handlers)": [[10, "custodian.vasp.handlers.UnconvergedErrorHandler"]], "vaspaeccarvalidator (class in custodian.vasp.validators)": [[10, "custodian.vasp.validators.VaspAECCARValidator"]], "vasperrorhandler (class in custodian.vasp.handlers)": [[10, "custodian.vasp.handlers.VaspErrorHandler"]], "vaspfilesvalidator (class in custodian.vasp.validators)": [[10, "custodian.vasp.validators.VaspFilesValidator"]], "vaspjob (class in custodian.vasp.jobs)": [[10, "custodian.vasp.jobs.VaspJob"]], "vaspmodder (class in custodian.vasp.interpreter)": [[10, "custodian.vasp.interpreter.VaspModder"]], "vaspnebjob (class in custodian.vasp.jobs)": [[10, "custodian.vasp.jobs.VaspNEBJob"]], "vaspnptmdvalidator (class in custodian.vasp.validators)": [[10, "custodian.vasp.validators.VaspNpTMDValidator"]], "vasprunxmlvalidator (class in custodian.vasp.validators)": [[10, "custodian.vasp.validators.VasprunXMLValidator"]], "walltimehandler (class in custodian.vasp.handlers)": [[10, "custodian.vasp.handlers.WalltimeHandler"]], "apply_actions() (vaspmodder method)": [[10, "custodian.vasp.interpreter.VaspModder.apply_actions"]], "check() (aliasingerrorhandler method)": [[10, "custodian.vasp.handlers.AliasingErrorHandler.check"]], "check() (checkpointhandler method)": [[10, "custodian.vasp.handlers.CheckpointHandler.check"]], "check() (drifterrorhandler method)": [[10, "custodian.vasp.handlers.DriftErrorHandler.check"]], "check() (incorrectsmearinghandler method)": [[10, "custodian.vasp.handlers.IncorrectSmearingHandler.check"]], "check() (largesigmahandler method)": [[10, "custodian.vasp.handlers.LargeSigmaHandler.check"]], "check() (lrfcommutatorhandler method)": [[10, "custodian.vasp.handlers.LrfCommutatorHandler.check"]], "check() (meshsymmetryerrorhandler method)": [[10, "custodian.vasp.handlers.MeshSymmetryErrorHandler.check"]], "check() (nonconvergingerrorhandler method)": [[10, "custodian.vasp.handlers.NonConvergingErrorHandler.check"]], "check() (positiveenergyerrorhandler method)": [[10, "custodian.vasp.handlers.PositiveEnergyErrorHandler.check"]], "check() (potimerrorhandler method)": [[10, "custodian.vasp.handlers.PotimErrorHandler.check"]], "check() (scanmetalhandler method)": [[10, "custodian.vasp.handlers.ScanMetalHandler.check"]], "check() (stoppedrunhandler method)": [[10, "custodian.vasp.handlers.StoppedRunHandler.check"]], "check() (vaspaeccarvalidator method)": [[10, "custodian.vasp.validators.VaspAECCARValidator.check"]], "check() (vasperrorhandler method)": [[10, "custodian.vasp.handlers.VaspErrorHandler.check"]], "check() (vaspfilesvalidator method)": [[10, "custodian.vasp.validators.VaspFilesValidator.check"]], "check() (vaspnptmdvalidator method)": [[10, "custodian.vasp.validators.VaspNpTMDValidator.check"]], "check() (vasprunxmlvalidator method)": [[10, "custodian.vasp.validators.VasprunXMLValidator.check"]], "check_broken_chgcar() (in module custodian.vasp.validators)": [[10, "custodian.vasp.validators.check_broken_chgcar"]], "constrained_opt_run() (vaspjob class method)": [[10, "custodian.vasp.jobs.VaspJob.constrained_opt_run"]], "correct() (aliasingerrorhandler method)": [[10, "custodian.vasp.handlers.AliasingErrorHandler.correct"]], "correct() (checkpointhandler method)": [[10, "custodian.vasp.handlers.CheckpointHandler.correct"]], "correct() (drifterrorhandler method)": [[10, "custodian.vasp.handlers.DriftErrorHandler.correct"]], "correct() (incorrectsmearinghandler method)": [[10, "custodian.vasp.handlers.IncorrectSmearingHandler.correct"]], "correct() (largesigmahandler method)": [[10, "custodian.vasp.handlers.LargeSigmaHandler.correct"]], "correct() (lrfcommutatorhandler method)": [[10, "custodian.vasp.handlers.LrfCommutatorHandler.correct"]], "correct() (meshsymmetryerrorhandler method)": [[10, "custodian.vasp.handlers.MeshSymmetryErrorHandler.correct"]], "correct() (nonconvergingerrorhandler method)": [[10, "custodian.vasp.handlers.NonConvergingErrorHandler.correct"]], "correct() (positiveenergyerrorhandler method)": [[10, "custodian.vasp.handlers.PositiveEnergyErrorHandler.correct"]], "correct() (potimerrorhandler method)": [[10, "custodian.vasp.handlers.PotimErrorHandler.correct"]], "correct() (scanmetalhandler method)": [[10, "custodian.vasp.handlers.ScanMetalHandler.correct"]], "correct() (stoppedrunhandler method)": [[10, "custodian.vasp.handlers.StoppedRunHandler.correct"]], "correct() (vasperrorhandler method)": [[10, "custodian.vasp.handlers.VaspErrorHandler.correct"]], "custodian.vasp": [[10, "module-custodian.vasp"]], "custodian.vasp.handlers": [[10, "module-custodian.vasp.handlers"]], "custodian.vasp.interpreter": [[10, "module-custodian.vasp.interpreter"]], "custodian.vasp.jobs": [[10, "module-custodian.vasp.jobs"]], "custodian.vasp.validators": [[10, "module-custodian.vasp.validators"]], "double_relaxation_run() (vaspjob class method)": [[10, "custodian.vasp.jobs.VaspJob.double_relaxation_run"]], "error_msgs (aliasingerrorhandler attribute)": [[10, "custodian.vasp.handlers.AliasingErrorHandler.error_msgs"]], "error_msgs (lrfcommutatorhandler attribute)": [[10, "custodian.vasp.handlers.LrfCommutatorHandler.error_msgs"]], "error_msgs (vasperrorhandler attribute)": [[10, "custodian.vasp.handlers.VaspErrorHandler.error_msgs"]], "from_dict() (nonconvergingerrorhandler class method)": [[10, "custodian.vasp.handlers.NonConvergingErrorHandler.from_dict"]], "full_opt_run() (vaspjob class method)": [[10, "custodian.vasp.jobs.VaspJob.full_opt_run"]], "is_monitor (aliasingerrorhandler attribute)": [[10, "custodian.vasp.handlers.AliasingErrorHandler.is_monitor"]], "is_monitor (checkpointhandler attribute)": [[10, "custodian.vasp.handlers.CheckpointHandler.is_monitor"]], "is_monitor (incorrectsmearinghandler attribute)": [[10, "custodian.vasp.handlers.IncorrectSmearingHandler.is_monitor"]], "is_monitor (largesigmahandler attribute)": [[10, "custodian.vasp.handlers.LargeSigmaHandler.is_monitor"]], "is_monitor (lrfcommutatorhandler attribute)": [[10, "custodian.vasp.handlers.LrfCommutatorHandler.is_monitor"]], "is_monitor (meshsymmetryerrorhandler attribute)": [[10, "custodian.vasp.handlers.MeshSymmetryErrorHandler.is_monitor"]], "is_monitor (nonconvergingerrorhandler attribute)": [[10, "custodian.vasp.handlers.NonConvergingErrorHandler.is_monitor"]], "is_monitor (positiveenergyerrorhandler attribute)": [[10, "custodian.vasp.handlers.PositiveEnergyErrorHandler.is_monitor"]], "is_monitor (potimerrorhandler attribute)": [[10, "custodian.vasp.handlers.PotimErrorHandler.is_monitor"]], "is_monitor (scanmetalhandler attribute)": [[10, "custodian.vasp.handlers.ScanMetalHandler.is_monitor"]], "is_monitor (stoppedrunhandler attribute)": [[10, "custodian.vasp.handlers.StoppedRunHandler.is_monitor"]], "is_monitor (vasperrorhandler attribute)": [[10, "custodian.vasp.handlers.VaspErrorHandler.is_monitor"]], "is_terminating (checkpointhandler attribute)": [[10, "custodian.vasp.handlers.CheckpointHandler.is_terminating"]], "is_terminating (stoppedrunhandler attribute)": [[10, "custodian.vasp.handlers.StoppedRunHandler.is_terminating"]], "metagga_opt_run() (vaspjob class method)": [[10, "custodian.vasp.jobs.VaspJob.metagga_opt_run"]], "postprocess() (generatevaspinputjob method)": [[10, "custodian.vasp.jobs.GenerateVaspInputJob.postprocess"]], "postprocess() (vaspjob method)": [[10, "custodian.vasp.jobs.VaspJob.postprocess"]], "postprocess() (vaspnebjob method)": [[10, "custodian.vasp.jobs.VaspNEBJob.postprocess"]], "run() (generatevaspinputjob method)": [[10, "custodian.vasp.jobs.GenerateVaspInputJob.run"]], "run() (vaspjob method)": [[10, "custodian.vasp.jobs.VaspJob.run"]], "run() (vaspnebjob method)": [[10, "custodian.vasp.jobs.VaspNEBJob.run"]], "setup() (generatevaspinputjob method)": [[10, "custodian.vasp.jobs.GenerateVaspInputJob.setup"]], "setup() (vaspjob method)": [[10, "custodian.vasp.jobs.VaspJob.setup"]], "setup() (vaspnebjob method)": [[10, "custodian.vasp.jobs.VaspNEBJob.setup"]], "terminate() (vaspjob method)": [[10, "custodian.vasp.jobs.VaspJob.terminate"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["_themes/README", "changelog", "custodian", "custodian.ansible", "custodian.cli", "custodian.cp2k", "custodian.feff", "custodian.lobster", "custodian.nwchem", "custodian.qchem", "custodian.vasp", "index", "modules"], "filenames": ["_themes/README.rst", "changelog.rst", "custodian.rst", "custodian.ansible.rst", "custodian.cli.rst", "custodian.cp2k.rst", "custodian.feff.rst", "custodian.lobster.rst", "custodian.nwchem.rst", "custodian.qchem.rst", "custodian.vasp.rst", "index.rst", "modules.rst"], "titles": ["krTheme Sphinx Style", "Change Log", "custodian package", "custodian.ansible package", "custodian.cli package", "custodian.cp2k package", "custodian.feff package", "custodian.lobster package", "custodian.nwchem package", "custodian.qchem package", "custodian.vasp package", "Custodian", "custodian"], "terms": {"thi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], "repositori": 0, "contain": [0, 6, 9, 10, 11], "kenneth": 0, "reitz": 0, "us": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 11], "most": [0, 5, 11], "hi": 0, "project": [0, 11], "It": [0, 2, 3, 5, 10, 11], "i": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], "driv": 0, "mitsuhiko": 0, "": [0, 2, 3, 5, 6, 8, 10, 11], "theme": 0, "flask": 0, "relat": [0, 2], "To": [0, 2, 5, 10, 11], "your": [0, 10, 11], "document": [0, 1, 3, 10, 11], "follow": [0, 2, 3, 5, 10, 11], "guid": 0, "put": [0, 11], "folder": [0, 1, 10], "_theme": 0, "doc": [0, 1, 5], "altern": [0, 10], "you": [0, 2, 5, 10, 11], "can": [0, 1, 2, 3, 5, 10, 11], "also": [0, 5, 10, 11], "git": 0, "submodul": [0, 12], "check": [0, 1, 2, 5, 6, 7, 8, 10, 11, 12], "out": [0, 5, 6, 8, 10, 11], "content": [0, 11, 12], "add": [0, 1, 3, 11], "conf": 0, "py": [0, 1, 5, 11], "sy": 0, "path": [0, 2, 3, 10, 11], "append": [0, 5, 6, 8, 10], "o": 0, "abspath": 0, "html_theme_path": 0, "html_theme": 0, "kr": 0, "The": [0, 1, 2, 3, 5, 8, 9, 10, 11], "exist": [0, 5, 7, 10], "standard": [0, 5, 6, 7, 8, 10], "larg": [0, 5, 10, 11], "kr_small": 0, "small": [0, 1, 5, 10], "one": [0, 2, 5, 10, 11], "page": 0, "intend": 0, "veri": [0, 1, 5, 10, 11], "addon": 0, "librari": [0, 11], "new": [1, 3, 11], "vasp": [1, 2, 4, 5, 7, 11, 12], "error": [1, 2, 3, 5, 6, 7, 8, 9, 10, 11], "handler": [1, 2, 11, 12], "invalid": 1, "incar": [1, 10, 11], "paramet": [1, 2, 3, 5, 6, 7, 8, 10, 11], "arosen93": 1, "termin": [1, 2, 5, 6, 7, 10, 11, 12], "function": [1, 2, 3, 5, 9, 10], "sensit": [1, 10], "execut": [1, 2, 5, 6, 10], "directori": [1, 2, 5, 6, 10, 11], "michaelwolloch": 1, "wavecar": [1, 10], "when": [1, 2, 5, 10, 11], "go": [1, 5, 11], "from": [1, 2, 3, 4, 5, 6, 7, 10, 11], "vasp_gam": 1, "vasp_std": 1, "back": [1, 2, 5, 6, 10], "kwarg": [1, 2, 10], "vasphandl": 1, "maintain": 1, "backward": [1, 10], "compat": [1, 10], "better": [1, 5, 10], "too_few_nband": 1, "gener": [1, 2, 4, 5, 6, 8, 10, 11], "clean": 1, "up": [1, 2, 5, 6, 10], "mitig": 1, "unnecessari": 1, "swap": 1, "remov": [1, 5, 10], "deprec": [1, 8], "correct": [1, 2, 5, 6, 8, 10, 11, 12], "zpotrf": [1, 10], "ztrtri": [1, 10], "specif": [1, 2, 3, 4, 5, 6, 7, 10, 11], "structur": [1, 2, 9, 10], "set_core_wf": [1, 10], "onli": [1, 2, 3, 5, 6, 8, 10], "appli": [1, 2, 5, 6, 7, 10], "algo_tet": [1, 10], "scf": [1, 5, 6], "converg": [1, 4, 5, 6, 10, 11], "fail": [1, 2, 5, 10, 11], "amin": [1, 10], "should": [1, 2, 3, 5, 7, 10, 11], "do": [1, 2, 3, 4, 5, 6, 10, 11], "set": [1, 2, 3, 5, 6, 10, 11, 12], "addgrid": 1, "true": [1, 2, 3, 5, 6, 7, 8, 9, 10, 11], "updat": [1, 5, 10], "qchem6": 1, "support": [1, 2, 3, 5, 6, 10], "samblau": 1, "cp2k": [1, 2, 11, 12], "nwinner": 1, "pr": 1, "219": 1, "q": [1, 9], "chem": [1, 9], "nbo": 1, "geometri": [1, 4, 5, 10], "optim": [1, 5, 10], "revamp": 1, "handl": [1, 2, 5, 10, 11], "220": 1, "yuri": 1, "lysogorskii": 1, "fix": [1, 2, 10], "nband": 1, "211": 1, "read": [1, 10], "plane": [1, 10], "wave": 1, "coeff": 1, "214": 1, "zhegv": [1, 10], "reduc": [1, 5, 10], "number": [1, 2, 5, 10, 11], "core": [1, 10], "215": 1, "phrase": 1, "210": 1, "lobster": [1, 2, 11, 12], "naik": 1, "aakash": 1, "bug": [1, 11], "gamma": [1, 10], "run": [1, 2, 4, 5, 6, 7, 8, 10, 11, 12], "suffici": [1, 5, 10, 11], "hnform": [1, 10], "improv": [1, 2, 5], "zbrent": [1, 10], "try": [1, 5, 10], "get": [1, 4, 5, 10], "ibrion": 1, "succe": 1, "befor": [1, 2, 5, 10], "switch": [1, 5, 10], "algo": [1, 10], "grad_not_orth": [1, 10], "address": [1, 5], "vasp6": 1, "inconsist": [1, 10], "bravai": [1, 10], "lattic": [1, 10], "don": [1, 5], "t": [1, 2, 5, 7, 10], "drift": [1, 10], "nsw": [1, 11], "brion": [1, 10], "occur": [1, 2, 5, 6, 10], "more": [1, 2, 5, 10, 11], "than": [1, 5, 10], "onc": [1, 2, 5, 10], "finit": 1, "differ": [1, 2, 5, 6, 9, 10, 11], "ncore": [1, 10], "utf": 1, "robust": [1, 2, 5, 10, 11], "increas": [1, 5, 10], "posmap": [1, 10], "count": 1, "real_optlai": [1, 10], "logic": 1, "avoid": [1, 3, 5, 6, 10], "lreal": 1, "appropri": [1, 10], "adjust": 1, "ladder": [1, 10], "meta": 1, "gga": [1, 5, 10], "hybrid": [1, 5], "refactor": 1, "vasperrorhandl": [1, 2, 10, 11, 12], "janosh": 1, "tetrahedron": [1, 10], "method": [1, 2, 3, 4, 5, 10, 11], "allow": [1, 2, 3, 4, 5, 10, 11], "static": [1, 3, 5, 10, 11], "calcul": [1, 4, 5, 6, 7, 9, 10], "ismear": [1, 10, 11], "metal": [1, 10], "mkhorton": 1, "rkingsburi": 1, "scratch": [1, 2], "qchem": [1, 2, 11, 12], "cleanup": [1, 2], "codestyl": 1, "which": [1, 2, 3, 5, 6, 8, 10, 11], "now": [1, 11], "enforc": [1, 5], "py3k": 1, "line": [1, 4, 5, 10], "pymatgen": [1, 3, 8, 10, 11], "depend": [1, 3, 5, 10], "sentri": 1, "complet": [1, 2, 10, 11], "overhaul": 1, "frequenc": [1, 9], "flatten": [1, 5], "refin": [1, 5], "slow": [1, 5, 10], "shyamd": 1, "frozen": [1, 5, 10], "job": [1, 2, 4, 12], "potim": [1, 10], "exceptino": 1, "guido": 1, "petretto": 1, "cstdn": [1, 2, 12], "command": [1, 4, 5, 7, 8, 10, 11], "tool": 1, "offici": 1, "fine": [1, 5, 10, 11], "grain": [1, 11], "control": [1, 3], "possibl": [1, 2, 5], "errors_subset_to_catch": [1, 10], "date": 1, "base": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11], "custodian": 1, "like": [1, 3, 5, 10, 11], "drifterrorhandl": [1, 2, 10, 12], "shyam": 1, "non": [1, 2, 3, 5, 6, 10], "zero": [1, 2, 10], "return": [1, 2, 3, 4, 5, 6, 7, 10, 11], "code": [1, 2, 10, 11], "interrupt": 1, "featur": [1, 5, 11], "dwaraknath": 1, "releas": [1, 11], "come": [1, 5, 11], "script": [1, 4, 11], "enabl": [1, 5], "arbitrari": 1, "creation": [1, 2], "simpl": [1, 2, 5], "sequenc": [1, 2, 3, 5, 6, 10, 11], "yaml": [1, 2, 4], "file": [1, 2, 3, 5, 6, 7, 8, 10, 11], "setup": [1, 2, 5, 6, 7, 8, 10, 11, 12], "made": [1, 3, 5], "auto_npar": [1, 10], "option": [1, 2, 5, 8], "doubl": [1, 10, 11], "relax": [1, 10, 11], "misc": 1, "minor": [1, 11], "major": [1, 11], "introdc": 1, "valid": [1, 2, 7, 11, 12], "ar": [1, 2, 3, 5, 6, 7, 8, 9, 10, 11], "effect": [1, 10], "post": [1, 2], "mechan": [1, 2, 11], "perform": [1, 2, 3, 4, 5, 6, 8, 10, 11], "incompat": 1, "badvasprunxmlhandl": 1, "must": [1, 2, 3, 10], "separ": [1, 5], "import": [1, 11], "miscellan": 1, "python": [1, 2, 11], "latest": [1, 11], "monti": 1, "exit": [1, 2, 5, 12], "runtimeerror": [1, 2], "max_error": [1, 2, 10, 11], "unrecoverable_error": 1, "encount": [1, 2, 11], "ad": [1, 5, 10], "vaspjob": [1, 2, 10, 11, 12], "properli": [1, 10], "hessian": 1, "walltimehandl": [1, 2, 5, 10, 12], "electron": [1, 10], "step": [1, 2, 3, 4, 5, 10], "david": 1, "waroqui": 1, "brmix": [1, 10], "No": 1, "longer": 1, "catch": [1, 2, 5, 6, 10], "spuriou": 1, "messag": [1, 2, 5, 8, 10], "nelect": 1, "specifi": [1, 2, 5, 10, 11], "pricel": [1, 10], "rot_mat": 1, "symmetri": [1, 10], "precis": [1, 5], "center": 1, "kpoint": [1, 4, 10, 11], "instead": [1, 3, 8, 10], "xiaohui": 1, "qu": 1, "pbswalltimehandl": 1, "subset": [1, 10], "requir": [1, 2, 5, 10], "much": [1, 2, 5], "move": [1, 2, 3, 5], "commonli": 1, "util": [1, 4, 12], "packag": [1, 11, 12], "deped": 1, "9": 1, "nwchem": [1, 2, 4, 11, 12], "converge_kpoint": [1, 2, 11, 12], "ha": [1, 2, 5, 10, 11], "increment": [1, 3, 11], "mode": [1, 2, 3, 4, 5, 6, 9, 10, 11], "errorhandl": [1, 2, 5, 6, 8, 10, 11, 12], "have": [1, 2, 5, 6, 7, 10, 11], "api": [1, 3], "where": [1, 2, 5, 8, 10, 11], "class": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11], "variabl": [1, 10, 11], "is_monitor": [1, 2, 5, 6, 10, 12], "is_termin": [1, 2, 5, 10, 12], "provid": [1, 2, 3, 5, 10, 11], "indic": [1, 2, 3, 5, 6, 10], "particular": [1, 2, 5, 10, 11], "background": 1, "dure": [1, 2, 5, 10, 11], "whether": [1, 2, 3, 5, 6, 8, 10, 11], "some": [1, 2, 5, 7, 10, 11], "mai": [1, 2, 5, 10, 11], "critic": 1, "need": [1, 2, 5, 6, 8, 10, 11], "wait": [1, 2, 5, 10], "other": [1, 2, 5, 7, 10, 11], "event": [1, 2, 5, 10, 11], "For": [1, 2, 3, 5, 8, 10, 11], "exampl": [1, 2, 3, 5, 8, 10], "flag": [1, 2, 5, 10], "request": [1, 2, 5, 10], "gracefulli": [1, 2, 5, 10, 11], "finish": [1, 2, 5, 7, 10], "its": [1, 2, 5, 10], "current": [1, 2, 5, 6, 8, 10, 11], "task": [1, 2, 5, 10], "buffer": [1, 5, 10], "time": [1, 2, 5, 10, 11], "vastli": 1, "sub": [1, 5, 10, 11], "dir": 1, "walltim": [1, 5, 10], "pbswalltimehand": 1, "issu": [1, 5, 11], "checkpoint": [1, 2, 5, 10, 11], "turn": 1, "off": 1, "default": [1, 2, 3, 5, 6, 8, 10], "implement": [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], "all": [1, 2, 3, 5, 6, 10, 11], "work": [1, 2, 5, 10, 11], "after": [1, 2, 10, 11], "everi": [1, 2, 10], "success": [1, 2, 5], "If": [1, 2, 5, 6, 8, 9, 10, 11], "resubmit": 1, "restor": [1, 5], "start": [1, 2, 10, 11], "last": [1, 5, 10], "particularli": [1, 11], "multi": [1, 4, 10], "wall": [1, 10], "pb": [1, 10], "scratch_dir": [1, 2, 11], "well": [1, 3, 10, 11], "run_vasp": [1, 2, 12], "run_nwchem": [1, 2, 12], "mani": [1, 5, 10, 11], "supercomput": 1, "cluster": [1, 7, 10], "space": [1, 2, 10], "significantli": 1, "faster": [1, 2], "io": [1, 2, 10, 11], "transpar": 1, "wai": [1, 2, 4, 5, 11], "especi": [1, 10, 11], "signific": [1, 10], "gzip": [1, 2, 5, 6, 7, 8, 10], "output": [1, 2, 5, 6, 7, 8, 10, 11], "consolid": 1, "backup": [1, 2, 5, 6, 7, 8, 10, 12], "rudimentari": 1, "shyue": [1, 11], "ping": [1, 11], "ong": [1, 11], "steve": 1, "dacek": 1, "Will": [1, 5], "richard": [1, 11], "hanld": 1, "speed": [1, 5, 10], "isym": 1, "singl": [1, 2, 4, 5], "includ": [1, 3, 5, 10, 11], "too": [1, 5, 7, 10], "few": [1, 7, 10], "band": [1, 5, 7, 10], "tripl": [1, 10], "product": [1, 10], "dentet": [1, 10], "auto_gamma": [1, 10], "automat": [1, 5, 6, 10], "npar": [1, 10], "sqrt": [1, 10], "per": [1, 2, 5, 10], "recommend": [1, 5, 10, 11], "dft": [1, 5, 8, 10], "tri": [1, 2], "search": 1, "compil": [1, 10], "1x1x1": [1, 10], "incorrect": 1, "shift": [1, 10], "unconverg": [1, 5, 6], "fast": [1, 5, 10], "normal": [1, 5, 7, 10], "expand": [1, 11], "monitor": [1, 2, 5, 6, 10], "progress": [1, 10], "necessari": [1, 5, 8, 10, 11], "caus": [1, 2, 5, 6, 10, 11], "immedi": [1, 2, 5, 6, 10], "failur": [1, 2, 5, 6, 10], "comprehens": [1, 11], "call": [1, 2, 5, 10], "json": [1, 2, 3, 5, 7, 11], "flexibl": [1, 2, 5, 10, 11], "system": [1, 2, 4, 5, 10, 11], "type": [1, 2, 5, 6, 10, 11], "first": [1, 2, 5, 10], "stabl": 1, "aflow": [1, 10], "style": [1, 8, 10], "assimil": 1, "ansibl": [2, 5, 6, 8, 10, 12], "action": [2, 5, 6, 10, 11, 12], "dictact": [2, 3, 5, 6, 10, 12], "add_to_set": [2, 3, 12], "inc": [2, 3, 12], "pop": [2, 3, 10, 12], "pull": [2, 3, 12], "pull_al": [2, 3, 12], "push": [2, 3, 12], "push_al": [2, 3, 12], "renam": [2, 3, 5, 6, 8, 10, 12], "unset": [2, 3, 12], "fileact": [2, 3, 5, 6, 10, 12], "file_copi": [2, 3, 12], "file_cr": [2, 3, 12], "file_delet": [2, 3, 12], "file_modifi": [2, 3, 12], "file_mov": [2, 3, 12], "get_nested_dict": [2, 3, 12], "interpret": [2, 12], "modder": [2, 3, 5, 6, 10, 12], "modifi": [2, 3, 5, 6, 10, 11, 12], "modify_object": [2, 3, 12], "cli": [2, 12], "converge_geometri": [2, 12], "do_run": [2, 4, 12], "get_run": [2, 4, 12], "main": [2, 3, 4, 11, 12], "print_exampl": [2, 4, 12], "get_job": [2, 4, 12], "load_class": [2, 4, 12], "aborthandl": [2, 5, 12], "divergingscferrorhandl": [2, 5, 12], "frozenjoberrorhandl": [2, 5, 10, 12], "numericalprecisionhandl": [2, 5, 12], "stderrhandl": [2, 5, 10, 12], "error_msg": [2, 5, 10, 12], "raises_runtime_error": [2, 5, 10, 12], "unconvergedrelaxationerrorhandl": [2, 5, 12], "unconvergedscferrorhandl": [2, 5, 12], "cp2kmodder": [2, 5, 12], "apply_act": [2, 5, 6, 10, 12], "cp2kjob": [2, 5, 12], "double_job": [2, 5, 12], "gga_static_to_hybrid": [2, 5, 12], "postprocess": [2, 5, 6, 7, 8, 10, 11, 12], "pre_screen_hybrid": [2, 5, 12], "activate_diag": [2, 5, 12], "activate_ot": [2, 5, 12], "can_use_ot": [2, 5, 12], "cleanup_input": [2, 5, 12], "get_conv": [2, 5, 12], "restart": [2, 5, 6, 10, 11, 12], "tail": [2, 5, 12], "cp2koutputvalid": [2, 5, 12], "kill": [2, 5, 10, 12], "no_children": [2, 5, 12], "cp2kvalid": [2, 5, 12], "feff": [2, 11, 12], "unconvergederrorhandl": [2, 6, 10, 11, 12], "feffmodd": [2, 6, 12], "feffjob": [2, 6, 12], "chargespillingvalid": [2, 7, 12], "enoughbandsvalid": [2, 7, 12], "lobsterfilesvalid": [2, 7, 12], "lobsterjob": [2, 7, 12], "nwchemerrorhandl": [2, 8, 12], "nwchemjob": [2, 8, 12], "perturb_coordin": [2, 9, 12], "vector_list_diff": [2, 9, 12], "aliasingerrorhandl": [2, 10, 11, 12], "checkpointhandl": [2, 10, 12], "incorrectsmearinghandl": [2, 10, 12], "largesigmahandl": [2, 10, 12], "lrfcommutatorhandl": [2, 10, 12], "meshsymmetryerrorhandl": [2, 10, 11, 12], "nonconvergingerrorhandl": [2, 10, 12], "from_dict": [2, 3, 10, 12], "positiveenergyerrorhandl": [2, 10, 12], "potimerrorhandl": [2, 10, 12], "scanmetalhandl": [2, 10, 12], "stoppedrunhandl": [2, 10, 12], "vaspmodd": [2, 10, 12], "generatevaspinputjob": [2, 10, 12], "constrained_opt_run": [2, 10, 12], "double_relaxation_run": [2, 10, 11, 12], "full_opt_run": [2, 10, 12], "metagga_opt_run": [2, 10, 12], "vaspnebjob": [2, 10, 12], "vaspaeccarvalid": [2, 10, 12], "vaspfilesvalid": [2, 10, 12], "vaspnptmdvalid": [2, 10, 12], "vasprunxmlvalid": [2, 10, 11, 12], "check_broken_chgcar": [2, 10, 12], "manag": [2, 11], "list": [2, 3, 5, 6, 7, 8, 9, 10, 11], "given": [2, 11], "abstract": [2, 5, 11], "none": [2, 3, 5, 6, 8, 10, 11], "max_errors_per_job": 2, "1": [2, 3, 5, 6, 10, 11], "polling_time_step": 2, "10": [2, 4, 5, 10, 11], "monitor_freq": 2, "30": 2, "skip_over_error": 2, "fals": [2, 5, 6, 8, 10, 11], "gzipped_output": [2, 8, 11], "terminate_func": 2, "terminate_on_nonzero_returncod": 2, "sourc": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11], "object": [2, 3, 5, 6, 10, 11], "let": [2, 11], "sai": [2, 5, 10], "defin": [2, 3, 10, 11], "job1": 2, "job2": 2, "job3": 2, "err1": 2, "err2": 2, "order": [2, 5, 11], "each": [2, 3, 5, 10, 11], "an": [2, 3, 5, 6, 8, 10, 11], "detect": [2, 5, 10, 11], "measur": 2, "taken": 2, "rerun": [2, 10, 11], "At": [2, 5, 10], "end": [2, 5, 10], "individu": 2, "through": [2, 11], "initi": [2, 3, 5, 6, 8, 9, 10, 11], "In": [2, 3, 5, 6, 10, 11], "prioriti": 2, "note": [2, 3, 5, 10], "ani": [2, 3, 5, 6, 10, 11], "even": [2, 5, 11], "yield": 2, "ensur": 2, "int": [2, 5, 10], "maximum": [2, 5, 10], "mean": [2, 3, 5, 6, 10, 11], "equal": 2, "total": [2, 5, 10, 11], "length": 2, "second": [2, 5, 10], "between": [2, 5, 9, 10, 11], "sec": [2, 10], "poll": [2, 10], "x": [2, 9, 10], "300": [2, 10], "e": [2, 3, 5, 6, 10, 11], "5": [2, 5, 10, 11], "minut": 2, "bool": [2, 3, 5, 6, 7, 8, 9, 10], "skip": 2, "over": [2, 10], "rais": [2, 3, 5, 6, 10], "except": 2, "sort": 2, "otherwis": [2, 11], "simpli": [2, 3, 5, 6, 10, 11], "unrecover": 2, "former": 2, "lead": [2, 5], "potenti": [2, 5, 11], "make": [2, 3, 5, 10], "difficult": [2, 10], "latter": 2, "bad": [2, 10], "str": [2, 3, 5, 6, 7, 8, 10], "copi": [2, 3, 5, 6, 7, 8, 10, 11], "temporari": 2, "upon": [2, 5, 7, 10], "partit": 2, "root": 2, "want": [2, 10], "There": [2, 10, 11], "uniqu": 2, "name": [2, 4, 5, 6, 8, 10, 11, 12], "we": [2, 5, 10, 11], "tempfil": 2, "A": [2, 3, 4, 5, 6, 8, 10], "symbol": 2, "link": [2, 11], "creat": [2, 3, 5, 7, 10, 11], "cours": 2, "scratch_link": 2, "user": [2, 5], "sometim": [2, 5, 10], "final": [2, 5, 6, 10, 11], "save": [2, 5], "store": [2, 3, 10], "chk": [2, 5], "tar": [2, 5, 6], "gz": [2, 5, 6], "callabl": 2, "popen": [2, 5, 6, 10], "result": [2, 10], "log_fil": [2, 12], "classmethod": [2, 5, 10], "from_spec": [2, 12], "spec": 2, "load": [2, 4, 10], "instanc": [2, 5, 10], "dict": [2, 3, 5, 6, 8, 10, 11], "custom": [2, 10], "construct": 2, "quickli": 2, "via": [2, 10, 11], "sampl": [2, 11], "format": [2, 11], "usual": [2, 3, 5, 7, 10], "mp": 2, "workflow": [2, 11], "jb": [2, 11], "param": [2, 5, 10, 11], "suffix": [2, 5, 10, 11], "relax1": [2, 5, 10, 11], "relax2": [2, 11], "settings_overrid": [2, 5, 8, 10, 11], "contcar": [2, 10, 11], "_file_copi": [2, 3, 10, 11], "dest": [2, 3, 10, 11], "poscar": [2, 10, 11], "jobs_common_param": [2, 11], "vasp_cmd": [2, 10, 11], "opt": 2, "hdlr": [2, 11], "meshsymmetryhandl": 2, "vldr": [2, 11], "custodian_param": [2, 11], "tmp": [2, 11], "kei": [2, 3, 10, 11], "explicit": 2, "common_param": 2, "common": [2, 5, 10, 11], "pass": [2, 5, 6, 10, 11], "g": [2, 3, 5, 10, 11], "error_dict": 2, "2": [2, 5, 6, 10], "validationerror": [2, 12], "returncodeerror": [2, 12], "process": [2, 5, 10], "0": [2, 4, 5, 7, 10, 11], "nonrecoverableerror": [2, 12], "maxcorrectionsperjoberror": [2, 12], "reach": [2, 5, 10], "maxcorrectionserror": [2, 12], "maxcorrectionsperhandlererror": [2, 12], "max_errors_per_handl": 2, "run_interrupt": [2, 12], "interuppt": 2, "doesn": 2, "remain": [2, 5, 10], "custodianerror": [2, 12], "outsid": [2, 5], "msonabl": 2, "interfac": 2, "serializ": 2, "describ": 2, "list_of_error": 2, "list_of_actions_taken": 2, "unfix": 2, "properti": [2, 5, 6, 10, 11], "notic": [2, 5, 6, 10, 11], "sent": [2, 5, 6, 10], "signal": [2, 5, 6, 10], "earli": [2, 5, 6, 10], "By": [2, 5, 10], "classifi": [2, 5, 10], "max_num_correct": [2, 12], "n_applied_correct": [2, 12], "been": [2, 5, 7, 10, 11], "raise_on_max": [2, 12], "counter": 2, "reset": [2, 5], "begin": 2, "either": [2, 10], "stop": [2, 5, 10], "consid": [2, 5, 7, 10, 11], "These": [2, 5, 10], "overridden": 2, "attribut": 2, "subclass": [2, 11], "customiz": [2, 11], "__init__": [2, 11], "runtim": [2, 5, 10], "cannot": [2, 5, 10], "nice": [2, 5], "string": [2, 3], "analysi": [2, 11], "etc": [2, 5, 10], "actual": [2, 3, 5, 6, 8, 10], "parallel": 2, "desir": 2, "pre": 2, "wa": [2, 5, 10, 11], "found": [2, 5, 10], "could": [2, 5, 10], "gave": 2, "doe": [2, 3, 5, 6, 10], "filenam": [2, 3, 5, 6, 7, 10], "prefix": [2, 6], "wildcard": 2, "seri": [2, 5, 6, 10, 11], "get_execution_host_info": [2, 12], "tupl": 2, "host": 2, "queue": 2, "hostnam": 2, "cluster_nam": 2, "just": [2, 5, 10, 11], "jit": [2, 11], "framework": [2, 11], "written": [2, 10, 11], "variou": [3, 4, 5, 6, 8, 9, 10], "oppos": [3, 5], "so": [3, 5, 10, 11], "namespac": 3, "easili": 3, "mongo": 3, "modif": [3, 4, 5, 9, 11], "keyword": 3, "refer": [3, 5], "inform": [3, 6, 11], "_inc": 3, "_set": [3, 10, 11], "_unset": 3, "_push": 3, "_push_al": 3, "_add_to_set": 3, "_each": 3, "_pop": 3, "_pull": 3, "_pull_al": 3, "_renam": 3, "howev": [3, 5, 10], "nest": 3, "b": [3, 10], "notat": 3, "becaus": [3, 5], "insert": 3, "special": [3, 10], "input_dict": 3, "mongodb": 3, "syntax": 3, "input": [3, 5, 6, 7, 8, 10, 11], "dictionari": 3, "valu": [3, 5, 10, 11], "mongdodb": 3, "item": [3, 10], "multipl": 3, "take": [3, 5, 11], "prefer": 3, "full": [3, 6, 10, 11], "ambigu": 3, "new_file_nam": 3, "actual_cont": 3, "delet": [3, 10], "_file_delet": 3, "simul": [3, 11], "print": [3, 4, 5], "without": [3, 5, 6, 10, 11], "access": [3, 10], "owner": 3, "_file_mov": 3, "helper": [3, 5], "strict": [3, 5, 6, 10], "languag": 3, "mostli": 3, "adopt": 3, "underscor": 3, "preced": 3, "db": 3, "suppli": [3, 5, 6, 10, 11], "argument": [3, 10, 11], "what": [3, 10], "pymatpro": 3, "d": [3, 10], "hello": 3, "world": [3, 11], "mod": [3, 4], "univers": 3, "bye": 3, "see": [3, 5, 6, 10, 11], "unsupport": [3, 5, 6, 10], "ignor": [3, 5, 6, 10], "valueerror": [3, 5, 6, 10], "obj": 3, "place": [3, 5], "action_keyword": 3, "pathnam": 3, "as_dict": 3, "itself": [3, 5], "chang": [3, 5, 6, 8, 10, 11], "databas": 3, "form": [3, 5, 6, 10], "version": [3, 10], "track": 3, "though": [3, 5, 11], "undo": 3, "capabl": 3, "unless": 3, "arg": [4, 5, 8, 10, 11], "master": [4, 5, 10], "vasp_command": 4, "target": [4, 11], "001": 4, "max_step": [4, 10], "linear": 4, "until": [4, 5, 10], "achiev": [4, 5], "runner": 4, "along": [4, 9], "example_yaml": 4, "basic": [4, 5, 6, 8, 10], "combin": [4, 10], "infinit": [4, 10], "enough": [5, 7], "thei": [5, 11], "bulki": 5, "keep": 5, "overhead": 5, "low": 5, "two": [5, 9, 10, 11], "alwai": [5, 11], "togeth": 5, "join": 5, "them": [5, 10], "rememb": 5, "tip": 5, "caught": 5, "ot": 5, "minim": 5, "Not": [5, 8], "thing": 5, "wrong": 5, "aspect": [5, 11], "done": [5, 10, 11], "nativ": 5, "benefit": [5, 10], "write": [5, 10, 11], "wavefunct": [5, 10], "quit": 5, "input_fil": [5, 8], "inp": [5, 6], "output_fil": [5, 6, 7, 8, 10], "recogn": 5, "intern": [5, 10], "unwant": 5, "rather": [5, 10], "se": [5, 10], "choleski": 5, "decomposit": 5, "precondition": 5, "full_al": 5, "full_single_invers": 5, "diagon": [5, 10], "algorithm": [5, 10], "invers": 5, "abort": 5, "nam": 5, "eof": 5, "diverg": 5, "averag": [5, 10], "were": 5, "decreas": 5, "scope": 5, "unphys": 5, "atom": [5, 9, 10], "coordin": [5, 9], "high": [5, 10, 11], "condit": [5, 11], "overlap": 5, "matrix": [5, 10], "force_ev": 5, "condition_overlap": 5, "bump": 5, "attempt": [5, 10], "remedi": 5, "problem": [5, 10], "timeout": [5, 10], "3600": [5, 10], "3": [5, 9, 10, 11], "rare": 5, "case": [5, 10, 11], "stuck": 5, "otheerwis": 5, "solver": 5, "direct": [5, 6, 8, 9, 10], "loop": [5, 10], "reason": [5, 10], "determin": [5, 10], "sinc": 5, "easier": 5, "diagnos": 5, "least": 5, "4": [5, 10], "hang": 5, "unknown": 5, "experi": 5, "shown": 5, "hardwar": 5, "routin": [5, 10], "eth": 5, "hfx": 5, "long": [5, 10, 11], "activ": [5, 10], "hour": [5, 10], "stage": 5, "less": [5, 10], "account": 5, "hf": [5, 10], "forc": [5, 10], "sizabl": 5, "max_sam": 5, "pgf_orb_strict": 5, "1e": 5, "20": [5, 10], "eps_default_strict": 5, "12": 5, "eps_gvg_strict": 5, "offer": 5, "lot": 5, "numer": [5, 10], "unfortun": [5, 10], "cycl": 5, "while": [5, 10], "hard": 5, "choic": 5, "same": [5, 10, 11], "row": 5, "oscil": 5, "littl": 5, "harder": 5, "assess": 5, "look": [5, 7, 10], "identifi": 5, "eps_default": 5, "overal": 5, "quickstep": 5, "eps_scf": 5, "almost": 5, "certainli": 5, "open": [5, 7, 11], "shell": 5, "defect": 5, "applic": [5, 11], "14": 5, "16": 5, "point": [5, 10], "probabl": [5, 10], "someth": [5, 10], "els": 5, "xc_grid": 5, "xc": 5, "grid": [5, 10], "strong": [5, 10], "correl": 5, "finer": 5, "screen": 5, "approxim": [5, 10], "imprecis": 5, "eps_schwarz": 5, "7": 5, "admm": 5, "basi": [5, 10, 11], "polar": 5, "term": [5, 10, 11], "being": [5, 8, 10], "neglect": 5, "fake": 5, "due": [5, 10, 11], "dii": 5, "hope": 5, "around": [5, 10], "minimum": [5, 10], "report": 5, "give": [5, 10], "impress": 5, "nefari": 5, "present": [5, 8, 10, 11], "best": 5, "solut": 5, "cg": 5, "allevi": 5, "decid": 5, "consecut": 5, "0001": 5, "won": [5, 7, 10], "n": [5, 9], "outer": 5, "std_err": [5, 10], "txt": [5, 6, 7, 10], "stderr": [5, 10], "slurm": [5, 10], "memori": [5, 10], "recover": 5, "redirect": [5, 8, 10], "log": [5, 11], "sigabrt": 5, "out_of_memori": [5, 10], "insuffici": [5, 11], "virtual": 5, "seg_fault": 5, "sigsegv": 5, "max_it": 5, "max_total_it": 5, "200": 5, "bfg": [5, 10], "signifi": 5, "jump": 5, "forth": 5, "unstabl": 5, "far": 5, "grow": 5, "slower": 5, "approach": 5, "acceler": 5, "max": [5, 10], "iter": 5, "inner": 5, "anoth": 5, "again": [5, 11], "broken": 5, "categori": 5, "solv": 5, "sever": [5, 11], "orbit": 5, "transform": 5, "scheme": [5, 10], "flagshop": 5, "easiest": [5, 11], "conjug": 5, "gradient": [5, 10], "beyond": 5, "stepsiz": 5, "good": 5, "aid": 5, "although": 5, "perfectli": 5, "wide": 5, "varieti": 5, "theoret": 5, "perspect": 5, "occup": 5, "fd": 5, "smear": [5, 10], "rotat": [5, 10], "constraint": 5, "orthogon": [5, 10], "congruenc": 5, "occupi": 5, "subspac": [5, 10], "fraction": 5, "As": [5, 11], "octob": 5, "2021": 5, "tradit": 5, "procedur": 5, "densiti": [5, 10], "roughli": 5, "origin": 5, "charg": [5, 7, 10, 11], "mix": 5, "alpha": 5, "beta": 5, "broyden": 5, "damp": 5, "suppress": 5, "slosh": 5, "todo": [5, 8], "pseudo": 5, "purif": 5, "enable_checkpoint": 5, "trip": 5, "plu": 5, "continu": [5, 10], "dump": 5, "info": 5, "adapt": 5, "ci": [5, 10], "lightweight": 5, "oper": [5, 10], "cp2kinput": 5, "overwritten": 5, "repars": [5, 6, 10], "rewrit": [5, 6, 10], "moddermodif": [5, 6, 10], "cp2k_kei": 5, "kind": [5, 6, 8, 10, 11], "cp2k_cmd": 5, "stderr_fil": [5, 6, 7, 10], "whatev": [5, 6, 10], "But": [5, 10], "conceiv": [5, 10], "complex": [5, 10, 11], "constructor": [5, 6, 10], "necessarili": [5, 10], "often": [5, 10, 11], "mpirun": [5, 10, 11], "popt": 5, "orig": [5, 6, 7, 8, 10], "previou": 5, "wfn": 5, "exploit": 5, "would": [5, 10, 11], "settings_override_gga": 5, "settings_override_hybrid": 5, "bare": 5, "unecessari": 5, "energi": [5, 10, 11], "energy_forc": 5, "build": 5, "unscreen": 5, "subprocess": [5, 6, 10], "three": [5, 11], "self": [5, 11], "addit": [5, 11], "lastli": 5, "hold": 5, "mainli": 5, "minimum_band_gap": 5, "alreadi": [5, 10], "show": [5, 10], "gap": 5, "greater": 5, "cp2koutput": 5, "float": [5, 7, 9, 10], "intent": 5, "problemat": 5, "part": 5, "section": 5, "within": 5, "empti": 5, "insid": 5, "plai": 5, "parser": 5, "outfil": 5, "pars": 5, "across": 5, "no_actions_need": 5, "discard": 5, "old": 5, "behavior": 5, "analyz": 5, "program": 5, "children": 5, "here": [5, 11], "output_filenam": [6, 7, 8, 10], "log1": 6, "dat": 6, "unlik": [6, 10], "feffinp": 6, "feffinput": 6, "feffinput_kei": 6, "feff_cmd": 6, "std_feff_err": 6, "gzipped_prefix": 6, "feff_out": 6, "archiv": 6, "lobsterout": 7, "charge_spilling_limit": 7, "05": [7, 10], "spill": 7, "below": [7, 11], "certain": [7, 11], "threshold": [7, 10], "lobter": 7, "limit": [7, 10, 11], "okai": 7, "find": [7, 10], "cohp": 7, "avail": [7, 11], "had": 7, "dummi": [7, 10], "init": [7, 10], "lobster_cmd": 7, "std_err_lobst": 7, "add_files_to_gzip": 7, "lobsterin": 7, "relev": 7, "test": [8, 11], "b3lyp": 8, "mol": 8, "nwout": 8, "stdout": [8, 10], "nwchem_cmd": 8, "nw": 8, "pleas": [8, 11], "overrid": [8, 10], "yet": 8, "old_coord": 9, "negative_freq_vec": 9, "molecule_perturb_scal": 9, "reversed_direct": 9, "perturb": 9, "imaginari": 9, "vibrat": 9, "vector": [9, 10], "np": [9, 11], "ndarrai": 9, "molecul": 9, "correspond": [9, 10], "neg": [9, 10], "scale": [9, 11], "factor": 9, "multipli": 9, "opposit": 9, "vecs1": 9, "vecs2": 9, "sum": [9, 11], "typic": [9, 10], "compar": 9, "wise": 9, "compon": [9, 11], "collect": 9, "dimens": 9, "fly": 10, "alias": 10, "warn": 10, "wrap": 10, "expect": [10, 11], "aliasing_incar": 10, "fft": 10, "ngx": 10, "ngy": 10, "ngz": 10, "accur": 10, "interv": 10, "stopcar": 10, "chkpt": 10, "next": 10, "ionic": 10, "subdir": 10, "proper": 10, "wouldn": 10, "chk_": 10, "max_drift": 10, "to_averag": 10, "enaug_multipli": 10, "exceed": 10, "criteria": 10, "leav": 10, "edfiffg": 10, "21600": 10, "vasprun": 10, "xml": 10, "bandgap": 10, "semiconductor": 10, "sigma": 10, "methfessel": 10, "paxton": 10, "magnitud": 10, "entropi": 10, "outcar": 10, "larger": 10, "mev": 10, "lrf_commut": 10, "lpead": 10, "slightli": 10, "versu": 10, "evalu": 10, "deriv": 10, "lrf_comm": 10, "output_vasprun": 10, "mesh": 10, "fatal": 10, "record": 10, "oszicar": 10, "nionic_step": 10, "hit": 10, "preserv": 10, "older": 10, "posit": 10, "absolut": 10, "input_filenam": 10, "de_threshold": 10, "excess": 10, "crash": 10, "wors": 10, "1ev": 10, "scan": 10, "kspace": 10, "22": 10, "mpscanrelaxset": 10, "kpoints_tran": 10, "generate_kpoints_tran": 10, "star": 10, "alloc": 10, "exce": 10, "vtst_fix": 10, "errors_subset_to_detect": 10, "eddrrm": 10, "zheev": 10, "eddrmm": 10, "wish": 10, "exclud": 10, "vtst": 10, "purpos": [10, 11], "ialgo": 10, "5x": 10, "tend": [10, 11], "One": 10, "50": [10, 11], "seriou": 10, "coef": 10, "dfpt_ncore": 10, "pead": 10, "tag": 10, "edddav": 10, "elf_kpar": 10, "elf": 10, "kpar": 10, "elf_ncl": 10, "collinear": 10, "edwav": 10, "k": 10, "incorrect_shift": 10, "inv_rot_mat": 10, "symprec": 10, "nbands_not_suffici": 10, "nicht_konv": 10, "sbesselit": 10, "nicht": 10, "konverg": 10, "point_group": 10, "group": 10, "miss": 10, "subroutin": 10, "pssyevx": 10, "read_error": 10, "ierr": 10, "real_opt": 10, "rhosyg": 10, "rot_matrix": 10, "integ": 10, "element": 10, "sgrcon": 10, "rspher": 10, "subspacematrix": 10, "hermitian": 10, "dav": 10, "symprec_nois": 10, "tet": 10, "unabl": 10, "match": 10, "tetirr": 10, "bzint": 10, "too_few_band": 10, "triple_product": 10, "bracket": 10, "eddiag": 10, "lapack": 10, "wall_tim": 10, "buffer_tim": 10, "electronic_step_stop": 10, "nearing": 10, "lstop": 10, "labort": 10, "sge": 10, "happen": 10, "pbs_walltim": 10, "environ": 10, "min": 10, "amount": 10, "higher": 10, "accordingli": 10, "hse": 10, "Be": 10, "care": 10, "might": 10, "level": 10, "lwave": 10, "vi": 10, "vaspinputset": 10, "vaspinput": 10, "vaspinput_kei": 10, "input_set": 10, "contcar_onli": 10, "mpnonscfset": 10, "gamma_vasp_cmd": 10, "copy_magmom": 10, "auto_continu": 10, "pvasp": 10, "11": 10, "potcar": 10, "tune": 10, "speedup": 10, "gw": 10, "rpa": 10, "regular": 10, "istart": 10, "subsequ": 10, "magmom": 10, "chgcar": 10, "prevent": 10, "lattice_direct": 10, "initial_strain": 10, "atom_relax": 10, "vasp_job_kwarg": 10, "constrain": 10, "biaxial": 10, "strain": 10, "situat": [10, 11], "c": [10, 11], "guidelin": 10, "auto": [10, 11], "fluctuat": 10, "nois": 10, "sure": 10, "ediff": 10, "ediffg": 10, "reli": 10, "estim": 10, "tensil": 10, "guess": 10, "highli": [10, 11], "ever": 10, "bisect": 10, "bit": 10, "fall": 10, "sensic": 10, "passthrough": 10, "eo": 10, "quick": 10, "v": 10, "half_kpts_first_relax": 10, "halv": 10, "consider": 10, "vol_change_tol": 10, "02": 10, "vol": 10, "toler": 10, "thre": 10, "metagga": 10, "fed": 10, "precondit": 10, "associ": [10, 11], "select": 10, "ones": 10, "safeti": 10, "simultan": 10, "node": 10, "never": 10, "neb_vasp": 10, "neb_std_err": 10, "half_kpt": 10, "neb": 10, "arrang": 10, "simplifi": 10, "satisfi": 10, "validatior": 10, "data": [10, 11], "aeccar": 10, "corrupt": 10, "npt": 10, "aimd": 10, "dtbdyn": 10, "langevin": 10, "thermostat": 10, "mdalgo": 10, "ensembl": 10, "diff_thresh": 10, "wrapper": 11, "recoveri": 11, "plugin": 11, "develop": 11, "throughput": 11, "hundr": 11, "thousand": 11, "rate": 11, "imposs": 11, "deal": 11, "random": 11, "dai": 11, "server": 11, "chanc": 11, "recov": 11, "vienna": 11, "ab": 11, "initio": 11, "index": 11, "pypi": 11, "hopefulli": 11, "rel": 11, "free": 11, "instal": 11, "pip": 11, "bleed": 11, "edg": 11, "github": 11, "repo": 11, "buggi": 11, "unit": 11, "clone": 11, "8": 11, "materi": 11, "genom": 11, "2022": 11, "consult": 11, "pytest": 11, "unittest": 11, "pycodestyl": 11, "pep8": 11, "complianc": 11, "known": 11, "figur": 11, "overview": 11, "concret": 11, "custodian_exampl": 11, "detail": 11, "examplejob": 11, "def": 11, "jobid": 11, "uniform": 11, "rang": 11, "100": 11, "f": 11, "compris": 11, "u": 11, "examplehandl": 11, "abov": 11, "transfer": 11, "ideal": 11, "demonstr": 11, "real": 11, "involv": 11, "those": 11, "njob": 11, "xrang": 11, "summar": 11, "area": 11, "Such": 11, "becom": 11, "fairli": 11, "poscarerrorhandl": 11, "denteterrorhandl": 11, "split": 11, "indefinit": 11, "annot": 11, "obvious": 11, "meant": 11, "firework": 11, "static3": 11, "environment": 11, "pbs_nodefil": 11, "machinefil": 11, "24": 11, "similarli": 11, "configur": 11, "sphinx": 11, "outlin": 11, "modul": [11, 12], "research": 11, "william": 11, "davidson": 11, "anubhav": 11, "jain": 11, "geoffroi": 11, "hautier": 11, "michael": 11, "kocher": 11, "shreya": 11, "cholia": 11, "dan": 11, "gunter": 11, "vincent": 11, "chevrier": 11, "kristin": 11, "persson": 11, "gerbrand": 11, "ceder": 11, "comput": 11, "scienc": 11, "2013": 11, "68": 11, "314": 11, "319": 11, "doi": 11, "1016": 11, "j": 11, "commatsci": 11, "2012": 11, "028": 11, "http": 11, "dx": 11, "org": 11, "_": 11, "under": 11, "mit": 11, "copyright": 11, "2011": 11, "lbnl": 11, "permiss": 11, "herebi": 11, "grant": 11, "person": 11, "obtain": 11, "softwar": 11, "restrict": 11, "right": 11, "merg": 11, "publish": 11, "distribut": 11, "sublicens": 11, "sell": 11, "permit": 11, "whom": 11, "furnish": 11, "subject": 11, "shall": 11, "substanti": 11, "portion": 11, "THE": 11, "AS": 11, "warranti": 11, "OF": 11, "express": 11, "OR": 11, "impli": 11, "BUT": 11, "NOT": 11, "TO": 11, "merchant": 11, "fit": 11, "FOR": 11, "AND": 11, "noninfring": 11, "IN": 11, "NO": 11, "author": 11, "holder": 11, "BE": 11, "liabl": 11, "claim": 11, "damag": 11, "liabil": 11, "contract": 11, "tort": 11, "aris": 11, "connect": 11, "WITH": 11, "subpackag": 12}, "objects": {"": [[2, 0, 0, "-", "custodian"]], "custodian": [[3, 0, 0, "-", "ansible"], [4, 0, 0, "-", "cli"], [5, 0, 0, "-", "cp2k"], [2, 0, 0, "-", "custodian"], [6, 0, 0, "-", "feff"], [7, 0, 0, "-", "lobster"], [8, 0, 0, "-", "nwchem"], [9, 0, 0, "-", "qchem"], [2, 0, 0, "-", "utils"], [10, 0, 0, "-", "vasp"]], "custodian.ansible": [[3, 0, 0, "-", "actions"], [3, 0, 0, "-", "interpreter"]], "custodian.ansible.actions": [[3, 1, 1, "", "DictActions"], [3, 1, 1, "", "FileActions"], [3, 3, 1, "", "get_nested_dict"]], "custodian.ansible.actions.DictActions": [[3, 2, 1, "", "add_to_set"], [3, 2, 1, "", "inc"], [3, 2, 1, "", "pop"], [3, 2, 1, "", "pull"], [3, 2, 1, "", "pull_all"], [3, 2, 1, "", "push"], [3, 2, 1, "", "push_all"], [3, 2, 1, "", "rename"], [3, 2, 1, "", "set"], [3, 2, 1, "", "unset"]], "custodian.ansible.actions.FileActions": [[3, 2, 1, "", "file_copy"], [3, 2, 1, "", "file_create"], [3, 2, 1, "", "file_delete"], [3, 2, 1, "", "file_modify"], [3, 2, 1, "", "file_move"]], "custodian.ansible.interpreter": [[3, 1, 1, "", "Modder"]], "custodian.ansible.interpreter.Modder": [[3, 2, 1, "", "modify"], [3, 2, 1, "", "modify_object"]], "custodian.cli": [[4, 0, 0, "-", "converge_geometry"], [4, 0, 0, "-", "converge_kpoints"], [4, 0, 0, "-", "cstdn"], [4, 0, 0, "-", "run_nwchem"], [4, 0, 0, "-", "run_vasp"]], "custodian.cli.converge_geometry": [[4, 3, 1, "", "do_run"], [4, 3, 1, "", "get_runs"]], "custodian.cli.converge_kpoints": [[4, 3, 1, "", "do_run"], [4, 3, 1, "", "get_runs"], [4, 3, 1, "", "main"]], "custodian.cli.cstdn": [[4, 3, 1, "", "main"], [4, 3, 1, "", "print_example"], [4, 3, 1, "", "run"]], "custodian.cli.run_nwchem": [[4, 3, 1, "", "do_run"], [4, 3, 1, "", "main"]], "custodian.cli.run_vasp": [[4, 3, 1, "", "do_run"], [4, 3, 1, "", "get_jobs"], [4, 3, 1, "", "load_class"], [4, 3, 1, "", "main"]], "custodian.cp2k": [[5, 0, 0, "-", "handlers"], [5, 0, 0, "-", "interpreter"], [5, 0, 0, "-", "jobs"], [5, 0, 0, "-", "utils"], [5, 0, 0, "-", "validators"]], "custodian.cp2k.handlers": [[5, 1, 1, "", "AbortHandler"], [5, 1, 1, "", "DivergingScfErrorHandler"], [5, 1, 1, "", "FrozenJobErrorHandler"], [5, 1, 1, "", "NumericalPrecisionHandler"], [5, 1, 1, "", "StdErrHandler"], [5, 1, 1, "", "UnconvergedRelaxationErrorHandler"], [5, 1, 1, "", "UnconvergedScfErrorHandler"], [5, 1, 1, "", "WalltimeHandler"]], "custodian.cp2k.handlers.AbortHandler": [[5, 2, 1, "", "check"], [5, 2, 1, "", "correct"], [5, 4, 1, "", "is_monitor"], [5, 4, 1, "", "is_terminating"]], "custodian.cp2k.handlers.DivergingScfErrorHandler": [[5, 2, 1, "", "check"], [5, 2, 1, "", "correct"], [5, 4, 1, "", "is_monitor"]], "custodian.cp2k.handlers.FrozenJobErrorHandler": [[5, 2, 1, "", "check"], [5, 2, 1, "", "correct"], [5, 4, 1, "", "is_monitor"]], "custodian.cp2k.handlers.NumericalPrecisionHandler": [[5, 2, 1, "", "check"], [5, 2, 1, "", "correct"], [5, 4, 1, "", "is_monitor"]], "custodian.cp2k.handlers.StdErrHandler": [[5, 2, 1, "", "check"], [5, 2, 1, "", "correct"], [5, 4, 1, "", "error_msgs"], [5, 4, 1, "", "is_monitor"], [5, 4, 1, "", "raises_runtime_error"]], "custodian.cp2k.handlers.UnconvergedRelaxationErrorHandler": [[5, 2, 1, "", "check"], [5, 2, 1, "", "correct"], [5, 4, 1, "", "is_monitor"]], "custodian.cp2k.handlers.UnconvergedScfErrorHandler": [[5, 2, 1, "", "check"], [5, 2, 1, "", "correct"], [5, 4, 1, "", "is_monitor"]], "custodian.cp2k.handlers.WalltimeHandler": [[5, 2, 1, "", "check"], [5, 2, 1, "", "correct"], [5, 4, 1, "", "is_monitor"], [5, 4, 1, "", "is_terminating"], [5, 4, 1, "", "raises_runtime_error"]], "custodian.cp2k.interpreter": [[5, 1, 1, "", "Cp2kModder"]], "custodian.cp2k.interpreter.Cp2kModder": [[5, 2, 1, "", "apply_actions"]], "custodian.cp2k.jobs": [[5, 1, 1, "", "Cp2kJob"]], "custodian.cp2k.jobs.Cp2kJob": [[5, 2, 1, "", "double_job"], [5, 2, 1, "", "gga_static_to_hybrid"], [5, 2, 1, "", "postprocess"], [5, 2, 1, "", "pre_screen_hybrid"], [5, 2, 1, "", "run"], [5, 2, 1, "", "setup"], [5, 2, 1, "", "terminate"]], "custodian.cp2k.utils": [[5, 3, 1, "", "activate_diag"], [5, 3, 1, "", "activate_ot"], [5, 3, 1, "", "can_use_ot"], [5, 3, 1, "", "cleanup_input"], [5, 3, 1, "", "get_conv"], [5, 3, 1, "", "restart"], [5, 3, 1, "", "tail"]], "custodian.cp2k.validators": [[5, 1, 1, "", "Cp2kOutputValidator"], [5, 1, 1, "", "Cp2kValidator"]], "custodian.cp2k.validators.Cp2kOutputValidator": [[5, 2, 1, "", "check"], [5, 5, 1, "", "exit"], [5, 5, 1, "", "kill"], [5, 5, 1, "", "no_children"]], "custodian.cp2k.validators.Cp2kValidator": [[5, 2, 1, "", "check"], [5, 5, 1, "", "exit"], [5, 5, 1, "", "kill"], [5, 5, 1, "", "no_children"]], "custodian.custodian": [[2, 1, 1, "", "Custodian"], [2, 6, 1, "", "CustodianError"], [2, 1, 1, "", "ErrorHandler"], [2, 1, 1, "", "Job"], [2, 6, 1, "", "MaxCorrectionsError"], [2, 6, 1, "", "MaxCorrectionsPerHandlerError"], [2, 6, 1, "", "MaxCorrectionsPerJobError"], [2, 6, 1, "", "NonRecoverableError"], [2, 6, 1, "", "ReturnCodeError"], [2, 6, 1, "", "ValidationError"], [2, 1, 1, "", "Validator"]], "custodian.custodian.Custodian": [[2, 4, 1, "", "LOG_FILE"], [2, 2, 1, "", "from_spec"], [2, 2, 1, "", "run"], [2, 2, 1, "", "run_interrupted"]], "custodian.custodian.ErrorHandler": [[2, 2, 1, "", "check"], [2, 2, 1, "", "correct"], [2, 4, 1, "", "is_monitor"], [2, 4, 1, "", "is_terminating"], [2, 4, 1, "", "max_num_corrections"], [2, 5, 1, "", "n_applied_corrections"], [2, 4, 1, "", "raise_on_max"], [2, 4, 1, "", "raises_runtime_error"]], "custodian.custodian.Job": [[2, 5, 1, "", "name"], [2, 2, 1, "", "postprocess"], [2, 2, 1, "", "run"], [2, 2, 1, "", "setup"], [2, 2, 1, "", "terminate"]], "custodian.custodian.Validator": [[2, 2, 1, "", "check"]], "custodian.feff": [[6, 0, 0, "-", "handlers"], [6, 0, 0, "-", "interpreter"], [6, 0, 0, "-", "jobs"]], "custodian.feff.handlers": [[6, 1, 1, "", "UnconvergedErrorHandler"]], "custodian.feff.handlers.UnconvergedErrorHandler": [[6, 2, 1, "", "check"], [6, 2, 1, "", "correct"], [6, 4, 1, "", "is_monitor"]], "custodian.feff.interpreter": [[6, 1, 1, "", "FeffModder"]], "custodian.feff.interpreter.FeffModder": [[6, 2, 1, "", "apply_actions"]], "custodian.feff.jobs": [[6, 1, 1, "", "FeffJob"]], "custodian.feff.jobs.FeffJob": [[6, 2, 1, "", "postprocess"], [6, 2, 1, "", "run"], [6, 2, 1, "", "setup"]], "custodian.lobster": [[7, 0, 0, "-", "handlers"], [7, 0, 0, "-", "jobs"]], "custodian.lobster.handlers": [[7, 1, 1, "", "ChargeSpillingValidator"], [7, 1, 1, "", "EnoughBandsValidator"], [7, 1, 1, "", "LobsterFilesValidator"]], "custodian.lobster.handlers.ChargeSpillingValidator": [[7, 2, 1, "", "check"]], "custodian.lobster.handlers.EnoughBandsValidator": [[7, 2, 1, "", "check"]], "custodian.lobster.handlers.LobsterFilesValidator": [[7, 2, 1, "", "check"]], "custodian.lobster.jobs": [[7, 1, 1, "", "LobsterJob"]], "custodian.lobster.jobs.LobsterJob": [[7, 2, 1, "", "postprocess"], [7, 2, 1, "", "run"], [7, 2, 1, "", "setup"]], "custodian.nwchem": [[8, 0, 0, "-", "handlers"], [8, 0, 0, "-", "jobs"]], "custodian.nwchem.handlers": [[8, 1, 1, "", "NwchemErrorHandler"]], "custodian.nwchem.handlers.NwchemErrorHandler": [[8, 2, 1, "", "check"], [8, 2, 1, "", "correct"]], "custodian.nwchem.jobs": [[8, 1, 1, "", "NwchemJob"]], "custodian.nwchem.jobs.NwchemJob": [[8, 2, 1, "", "postprocess"], [8, 2, 1, "", "run"], [8, 2, 1, "", "setup"]], "custodian.qchem": [[9, 0, 0, "-", "utils"]], "custodian.qchem.utils": [[9, 3, 1, "", "perturb_coordinates"], [9, 3, 1, "", "vector_list_diff"]], "custodian.utils": [[2, 3, 1, "", "backup"], [2, 3, 1, "", "get_execution_host_info"]], "custodian.vasp": [[10, 0, 0, "-", "handlers"], [10, 0, 0, "-", "interpreter"], [10, 0, 0, "-", "jobs"], [10, 0, 0, "-", "validators"]], "custodian.vasp.handlers": [[10, 1, 1, "", "AliasingErrorHandler"], [10, 1, 1, "", "CheckpointHandler"], [10, 1, 1, "", "DriftErrorHandler"], [10, 1, 1, "", "FrozenJobErrorHandler"], [10, 1, 1, "", "IncorrectSmearingHandler"], [10, 1, 1, "", "LargeSigmaHandler"], [10, 1, 1, "", "LrfCommutatorHandler"], [10, 1, 1, "", "MeshSymmetryErrorHandler"], [10, 1, 1, "", "NonConvergingErrorHandler"], [10, 1, 1, "", "PositiveEnergyErrorHandler"], [10, 1, 1, "", "PotimErrorHandler"], [10, 1, 1, "", "ScanMetalHandler"], [10, 1, 1, "", "StdErrHandler"], [10, 1, 1, "", "StoppedRunHandler"], [10, 1, 1, "", "UnconvergedErrorHandler"], [10, 1, 1, "", "VaspErrorHandler"], [10, 1, 1, "", "WalltimeHandler"]], "custodian.vasp.handlers.AliasingErrorHandler": [[10, 2, 1, "", "check"], [10, 2, 1, "", "correct"], [10, 4, 1, "", "error_msgs"], [10, 4, 1, "", "is_monitor"]], "custodian.vasp.handlers.CheckpointHandler": [[10, 2, 1, "", "check"], [10, 2, 1, "", "correct"], [10, 4, 1, "", "is_monitor"], [10, 4, 1, "", "is_terminating"]], "custodian.vasp.handlers.DriftErrorHandler": [[10, 2, 1, "", "check"], [10, 2, 1, "", "correct"]], "custodian.vasp.handlers.FrozenJobErrorHandler": [[10, 2, 1, "", "check"], [10, 2, 1, "", "correct"], [10, 4, 1, "", "is_monitor"]], "custodian.vasp.handlers.IncorrectSmearingHandler": [[10, 2, 1, "", "check"], [10, 2, 1, "", "correct"], [10, 4, 1, "", "is_monitor"]], "custodian.vasp.handlers.LargeSigmaHandler": [[10, 2, 1, "", "check"], [10, 2, 1, "", "correct"], [10, 4, 1, "", "is_monitor"]], "custodian.vasp.handlers.LrfCommutatorHandler": [[10, 2, 1, "", "check"], [10, 2, 1, "", "correct"], [10, 4, 1, "", "error_msgs"], [10, 4, 1, "", "is_monitor"]], "custodian.vasp.handlers.MeshSymmetryErrorHandler": [[10, 2, 1, "", "check"], [10, 2, 1, "", "correct"], [10, 4, 1, "", "is_monitor"]], "custodian.vasp.handlers.NonConvergingErrorHandler": [[10, 2, 1, "", "check"], [10, 2, 1, "", "correct"], [10, 2, 1, "", "from_dict"], [10, 4, 1, "", "is_monitor"]], "custodian.vasp.handlers.PositiveEnergyErrorHandler": [[10, 2, 1, "", "check"], [10, 2, 1, "", "correct"], [10, 4, 1, "", "is_monitor"]], "custodian.vasp.handlers.PotimErrorHandler": [[10, 2, 1, "", "check"], [10, 2, 1, "", "correct"], [10, 4, 1, "", "is_monitor"]], "custodian.vasp.handlers.ScanMetalHandler": [[10, 2, 1, "", "check"], [10, 2, 1, "", "correct"], [10, 4, 1, "", "is_monitor"]], "custodian.vasp.handlers.StdErrHandler": [[10, 2, 1, "", "check"], [10, 2, 1, "", "correct"], [10, 4, 1, "", "error_msgs"], [10, 4, 1, "", "is_monitor"]], "custodian.vasp.handlers.StoppedRunHandler": [[10, 2, 1, "", "check"], [10, 2, 1, "", "correct"], [10, 4, 1, "", "is_monitor"], [10, 4, 1, "", "is_terminating"]], "custodian.vasp.handlers.UnconvergedErrorHandler": [[10, 2, 1, "", "check"], [10, 2, 1, "", "correct"], [10, 4, 1, "", "is_monitor"]], "custodian.vasp.handlers.VaspErrorHandler": [[10, 2, 1, "", "check"], [10, 2, 1, "", "correct"], [10, 4, 1, "", "error_msgs"], [10, 4, 1, "", "is_monitor"]], "custodian.vasp.handlers.WalltimeHandler": [[10, 2, 1, "", "check"], [10, 2, 1, "", "correct"], [10, 4, 1, "", "is_monitor"], [10, 4, 1, "", "is_terminating"], [10, 4, 1, "", "raises_runtime_error"]], "custodian.vasp.interpreter": [[10, 1, 1, "", "VaspModder"]], "custodian.vasp.interpreter.VaspModder": [[10, 2, 1, "", "apply_actions"]], "custodian.vasp.jobs": [[10, 1, 1, "", "GenerateVaspInputJob"], [10, 1, 1, "", "VaspJob"], [10, 1, 1, "", "VaspNEBJob"]], "custodian.vasp.jobs.GenerateVaspInputJob": [[10, 2, 1, "", "postprocess"], [10, 2, 1, "", "run"], [10, 2, 1, "", "setup"]], "custodian.vasp.jobs.VaspJob": [[10, 2, 1, "", "constrained_opt_run"], [10, 2, 1, "", "double_relaxation_run"], [10, 2, 1, "", "full_opt_run"], [10, 2, 1, "", "metagga_opt_run"], [10, 2, 1, "", "postprocess"], [10, 2, 1, "", "run"], [10, 2, 1, "", "setup"], [10, 2, 1, "", "terminate"]], "custodian.vasp.jobs.VaspNEBJob": [[10, 2, 1, "", "postprocess"], [10, 2, 1, "", "run"], [10, 2, 1, "", "setup"]], "custodian.vasp.validators": [[10, 1, 1, "", "VaspAECCARValidator"], [10, 1, 1, "", "VaspFilesValidator"], [10, 1, 1, "", "VaspNpTMDValidator"], [10, 1, 1, "", "VasprunXMLValidator"], [10, 3, 1, "", "check_broken_chgcar"]], "custodian.vasp.validators.VaspAECCARValidator": [[10, 2, 1, "", "check"]], "custodian.vasp.validators.VaspFilesValidator": [[10, 2, 1, "", "check"]], "custodian.vasp.validators.VaspNpTMDValidator": [[10, 2, 1, "", "check"]], "custodian.vasp.validators.VasprunXMLValidator": [[10, 2, 1, "", "check"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:function", "4": "py:attribute", "5": "py:property", "6": "py:exception"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "function", "Python function"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "property", "Python property"], "6": ["py", "exception", "Python exception"]}, "titleterms": {"krtheme": 0, "sphinx": 0, "style": 0, "chang": 1, "log": 1, "v2023": 1, "6": 1, "5": 1, "12": 1, "7": 1, "3": 1, "8": 1, "v2022": 1, "26": 1, "17": 1, "2": 1, "13": 1, "1": 1, "v2021": 1, "v2019": 1, "24": 1, "10": 1, "v2017": 1, "23": 1, "v1": 1, "0": 1, "4": 1, "v0": 1, "version": [1, 11], "custodian": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], "packag": [2, 3, 4, 5, 6, 7, 8, 9, 10], "subpackag": [2, 3, 5, 6, 7, 8, 9, 10], "submodul": [2, 3, 4, 5, 6, 7, 8, 9, 10], "modul": [2, 3, 4, 5, 6, 7, 8, 9, 10], "util": [2, 5, 9], "content": [2, 3, 4, 5, 6, 7, 8, 9, 10], "ansibl": 3, "action": 3, "interpret": [3, 5, 6, 10], "cli": 4, "converge_geometri": 4, "converge_kpoint": 4, "cstdn": [4, 11], "run_nwchem": 4, "run_vasp": 4, "cp2k": 5, "handler": [5, 6, 7, 8, 9, 10], "job": [5, 6, 7, 8, 9, 10, 11], "valid": [5, 10], "feff": 6, "lobster": 7, "nwchem": 8, "qchem": 9, "vasp": 10, "get": 11, "stabl": 11, "development": 11, "requir": 11, "option": 11, "depend": 11, "usag": 11, "simpl": 11, "exampl": 11, "practic": 11, "electron": 11, "structur": 11, "calcul": 11, "A": 11, "yaml": 11, "spec": 11, "control": 11, "api": 11, "refer": 11, "doc": 11, "how": 11, "cite": 11, "licens": 11}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1, "sphinx": 57}, "alltitles": {"krTheme Sphinx Style": [[0, "krtheme-sphinx-style"]], "Change Log": [[1, "change-log"]], "v2023.6.5": [[1, "v2023-6-5"]], "v2023.5.12": [[1, "v2023-5-12"]], "v2023.5.7": [[1, "v2023-5-7"]], "v2023.3.8": [[1, "v2023-3-8"]], "v2022.5.26": [[1, "v2022-5-26"]], "v2022.5.17": [[1, "v2022-5-17"]], "v2022.2.13": [[1, "v2022-2-13"]], "v2022.1.17": [[1, "v2022-1-17"]], "v2021.12.2": [[1, "v2021-12-2"]], "v2021.2.8": [[1, "v2021-2-8"]], "v2021.1.8": [[1, "v2021-1-8"]], "v2021.1.7": [[1, "v2021-1-7"]], "v2019.8.24": [[1, "v2019-8-24"]], "v2019.2.10": [[1, "v2019-2-10"]], "v2019.2.7": [[1, "v2019-2-7"]], "v2017.12.23": [[1, "v2017-12-23"]], "v1.1.1": [[1, "v1-1-1"]], "v1.1.0": [[1, "v1-1-0"]], "v1.0.4": [[1, "v1-0-4"]], "v1.0.2": [[1, "v1-0-2"]], "v1.0.1": [[1, "v1-0-1"]], "v1.0.0": [[1, "v1-0-0"]], "v0.8.8": [[1, "v0-8-8"]], "v0.8.5": [[1, "v0-8-5"]], "v0.8.2": [[1, "v0-8-2"]], "v0.8.1": [[1, "v0-8-1"]], "v0.8.0": [[1, "v0-8-0"]], "v0.7.5": [[1, "v0-7-5"]], "v0.7.4": [[1, "v0-7-4"]], "v0.7.3": [[1, "v0-7-3"]], "v0.7.2": [[1, "v0-7-2"]], "v0.7.1": [[1, "v0-7-1"]], "v0.7.0": [[1, "v0-7-0"]], "0.6.3": [[1, "id3"]], "0.6.2": [[1, "id4"]], "0.6.1": [[1, "id5"]], "0.6.0": [[1, "id6"]], "0.5.0": [[1, "id7"]], "0.4.5": [[1, "id8"]], "0.4.3": [[1, "id9"]], "0.4.2": [[1, "id10"]], "0.4.1": [[1, "id11"]], "0.4.0": [[1, "id12"]], "0.3.5": [[1, "id13"]], "0.3.4": [[1, "id14"]], "0.3.2": [[1, "id15"]], "0.3.0": [[1, "id16"]], "Version 0.2.6": [[1, "version-0-2-6"]], "Version 0.2.5": [[1, "version-0-2-5"]], "Version 0.2.4": [[1, "version-0-2-4"]], "custodian package": [[2, "custodian-package"]], "Subpackages": [[2, "subpackages"], [3, "subpackages"], [5, "subpackages"], [6, "subpackages"], [7, "subpackages"], [8, "subpackages"], [9, "subpackages"], [10, "subpackages"]], "Submodules": [[2, "submodules"], [3, "submodules"], [4, "submodules"], [5, "submodules"], [6, "submodules"], [7, "submodules"], [8, "submodules"], [9, "submodules"], [10, "submodules"]], "custodian.custodian module": [[2, "module-custodian.custodian"]], "custodian.utils module": [[2, "module-custodian.utils"]], "Module contents": [[2, "module-custodian"], [3, "module-custodian.ansible"], [4, "module-custodian.cli"], [5, "module-custodian.cp2k"], [6, "module-custodian.feff"], [7, "module-custodian.lobster"], [8, "module-custodian.nwchem"], [9, "module-custodian.qchem"], [10, "module-custodian.vasp"]], "custodian.ansible package": [[3, "custodian-ansible-package"]], "custodian.ansible.actions module": [[3, "module-custodian.ansible.actions"]], "custodian.ansible.interpreter module": [[3, "module-custodian.ansible.interpreter"]], "custodian.cli package": [[4, "custodian-cli-package"]], "custodian.cli.converge_geometry module": [[4, "module-custodian.cli.converge_geometry"]], "custodian.cli.converge_kpoints module": [[4, "module-custodian.cli.converge_kpoints"]], "custodian.cli.cstdn module": [[4, "module-custodian.cli.cstdn"]], "custodian.cli.run_nwchem module": [[4, "module-custodian.cli.run_nwchem"]], "custodian.cli.run_vasp module": [[4, "module-custodian.cli.run_vasp"]], "custodian.cp2k package": [[5, "custodian-cp2k-package"]], "custodian.cp2k.handlers module": [[5, "module-custodian.cp2k.handlers"]], "custodian.cp2k.interpreter module": [[5, "module-custodian.cp2k.interpreter"]], "custodian.cp2k.jobs module": [[5, "module-custodian.cp2k.jobs"]], "custodian.cp2k.utils module": [[5, "module-custodian.cp2k.utils"]], "custodian.cp2k.validators module": [[5, "module-custodian.cp2k.validators"]], "custodian.feff package": [[6, "custodian-feff-package"]], "custodian.feff.handlers module": [[6, "module-custodian.feff.handlers"]], "custodian.feff.interpreter module": [[6, "module-custodian.feff.interpreter"]], "custodian.feff.jobs module": [[6, "module-custodian.feff.jobs"]], "custodian.lobster package": [[7, "custodian-lobster-package"]], "custodian.lobster.handlers module": [[7, "module-custodian.lobster.handlers"]], "custodian.lobster.jobs module": [[7, "module-custodian.lobster.jobs"]], "custodian.nwchem package": [[8, "custodian-nwchem-package"]], "custodian.nwchem.handlers module": [[8, "module-custodian.nwchem.handlers"]], "custodian.nwchem.jobs module": [[8, "module-custodian.nwchem.jobs"]], "custodian.qchem package": [[9, "custodian-qchem-package"]], "custodian.qchem.handlers module": [[9, "custodian-qchem-handlers-module"]], "custodian.qchem.jobs module": [[9, "custodian-qchem-jobs-module"]], "custodian.qchem.utils module": [[9, "module-custodian.qchem.utils"]], "custodian.vasp package": [[10, "custodian-vasp-package"]], "custodian.vasp.handlers module": [[10, "module-custodian.vasp.handlers"]], "custodian.vasp.interpreter module": [[10, "module-custodian.vasp.interpreter"]], "custodian.vasp.jobs module": [[10, "module-custodian.vasp.jobs"]], "custodian.vasp.validators module": [[10, "module-custodian.vasp.validators"]], "Custodian": [[11, "custodian"]], "Getting custodian": [[11, "getting-custodian"]], "Stable version": [[11, "stable-version"]], "Developmental version": [[11, "developmental-version"]], "Requirements": [[11, "requirements"]], "Optional dependencies": [[11, "optional-dependencies"]], "Usage": [[11, "usage"]], "Simple example": [[11, "simple-example"]], "Practical example: Electronic structure calculations": [[11, "practical-example-electronic-structure-calculations"]], "cstdn - A yaml-spec controlled job": [[11, "cstdn-a-yaml-spec-controlled-job"]], "API/Reference Docs": [[11, "api-reference-docs"]], "How to cite custodian": [[11, "how-to-cite-custodian"]], "License": [[11, "license"]], "custodian": [[12, "custodian"]]}, "indexentries": {"custodian (class in custodian.custodian)": [[2, "custodian.custodian.Custodian"]], "custodianerror": [[2, "custodian.custodian.CustodianError"]], "errorhandler (class in custodian.custodian)": [[2, "custodian.custodian.ErrorHandler"]], "job (class in custodian.custodian)": [[2, "custodian.custodian.Job"]], "log_file (custodian attribute)": [[2, "custodian.custodian.Custodian.LOG_FILE"]], "maxcorrectionserror": [[2, "custodian.custodian.MaxCorrectionsError"]], "maxcorrectionsperhandlererror": [[2, "custodian.custodian.MaxCorrectionsPerHandlerError"]], "maxcorrectionsperjoberror": [[2, "custodian.custodian.MaxCorrectionsPerJobError"]], "nonrecoverableerror": [[2, "custodian.custodian.NonRecoverableError"]], "returncodeerror": [[2, "custodian.custodian.ReturnCodeError"]], "validationerror": [[2, "custodian.custodian.ValidationError"]], "validator (class in custodian.custodian)": [[2, "custodian.custodian.Validator"]], "backup() (in module custodian.utils)": [[2, "custodian.utils.backup"]], "check() (errorhandler method)": [[2, "custodian.custodian.ErrorHandler.check"]], "check() (validator method)": [[2, "custodian.custodian.Validator.check"]], "correct() (errorhandler method)": [[2, "custodian.custodian.ErrorHandler.correct"]], "custodian": [[2, "module-custodian"]], "custodian.custodian": [[2, "module-custodian.custodian"]], "custodian.utils": [[2, "module-custodian.utils"]], "from_spec() (custodian class method)": [[2, "custodian.custodian.Custodian.from_spec"]], "get_execution_host_info() (in module custodian.utils)": [[2, "custodian.utils.get_execution_host_info"]], "is_monitor (errorhandler attribute)": [[2, "custodian.custodian.ErrorHandler.is_monitor"]], "is_terminating (errorhandler attribute)": [[2, "custodian.custodian.ErrorHandler.is_terminating"]], "max_num_corrections (errorhandler attribute)": [[2, "custodian.custodian.ErrorHandler.max_num_corrections"]], "module": [[2, "module-custodian"], [2, "module-custodian.custodian"], [2, "module-custodian.utils"], [3, "module-custodian.ansible"], [3, "module-custodian.ansible.actions"], [3, "module-custodian.ansible.interpreter"], [4, "module-custodian.cli"], [4, "module-custodian.cli.converge_geometry"], [4, "module-custodian.cli.converge_kpoints"], [4, "module-custodian.cli.cstdn"], [4, "module-custodian.cli.run_nwchem"], [4, "module-custodian.cli.run_vasp"], [5, "module-custodian.cp2k"], [5, "module-custodian.cp2k.handlers"], [5, "module-custodian.cp2k.interpreter"], [5, "module-custodian.cp2k.jobs"], [5, "module-custodian.cp2k.utils"], [5, "module-custodian.cp2k.validators"], [6, "module-custodian.feff"], [6, "module-custodian.feff.handlers"], [6, "module-custodian.feff.interpreter"], [6, "module-custodian.feff.jobs"], [7, "module-custodian.lobster"], [7, "module-custodian.lobster.handlers"], [7, "module-custodian.lobster.jobs"], [8, "module-custodian.nwchem"], [8, "module-custodian.nwchem.handlers"], [8, "module-custodian.nwchem.jobs"], [9, "module-custodian.qchem"], [9, "module-custodian.qchem.utils"], [10, "module-custodian.vasp"], [10, "module-custodian.vasp.handlers"], [10, "module-custodian.vasp.interpreter"], [10, "module-custodian.vasp.jobs"], [10, "module-custodian.vasp.validators"]], "n_applied_corrections (errorhandler property)": [[2, "custodian.custodian.ErrorHandler.n_applied_corrections"]], "name (job property)": [[2, "custodian.custodian.Job.name"]], "postprocess() (job method)": [[2, "custodian.custodian.Job.postprocess"]], "raise_on_max (errorhandler attribute)": [[2, "custodian.custodian.ErrorHandler.raise_on_max"]], "raises_runtime_error (errorhandler attribute)": [[2, "custodian.custodian.ErrorHandler.raises_runtime_error"]], "run() (custodian method)": [[2, "custodian.custodian.Custodian.run"]], "run() (job method)": [[2, "custodian.custodian.Job.run"]], "run_interrupted() (custodian method)": [[2, "custodian.custodian.Custodian.run_interrupted"]], "setup() (job method)": [[2, "custodian.custodian.Job.setup"]], "terminate() (job method)": [[2, "custodian.custodian.Job.terminate"]], "dictactions (class in custodian.ansible.actions)": [[3, "custodian.ansible.actions.DictActions"]], "fileactions (class in custodian.ansible.actions)": [[3, "custodian.ansible.actions.FileActions"]], "modder (class in custodian.ansible.interpreter)": [[3, "custodian.ansible.interpreter.Modder"]], "add_to_set() (dictactions static method)": [[3, "custodian.ansible.actions.DictActions.add_to_set"]], "custodian.ansible": [[3, "module-custodian.ansible"]], "custodian.ansible.actions": [[3, "module-custodian.ansible.actions"]], "custodian.ansible.interpreter": [[3, "module-custodian.ansible.interpreter"]], "file_copy() (fileactions static method)": [[3, "custodian.ansible.actions.FileActions.file_copy"]], "file_create() (fileactions static method)": [[3, "custodian.ansible.actions.FileActions.file_create"]], "file_delete() (fileactions static method)": [[3, "custodian.ansible.actions.FileActions.file_delete"]], "file_modify() (fileactions static method)": [[3, "custodian.ansible.actions.FileActions.file_modify"]], "file_move() (fileactions static method)": [[3, "custodian.ansible.actions.FileActions.file_move"]], "get_nested_dict() (in module custodian.ansible.actions)": [[3, "custodian.ansible.actions.get_nested_dict"]], "inc() (dictactions static method)": [[3, "custodian.ansible.actions.DictActions.inc"]], "modify() (modder method)": [[3, "custodian.ansible.interpreter.Modder.modify"]], "modify_object() (modder method)": [[3, "custodian.ansible.interpreter.Modder.modify_object"]], "pop() (dictactions static method)": [[3, "custodian.ansible.actions.DictActions.pop"]], "pull() (dictactions static method)": [[3, "custodian.ansible.actions.DictActions.pull"]], "pull_all() (dictactions static method)": [[3, "custodian.ansible.actions.DictActions.pull_all"]], "push() (dictactions static method)": [[3, "custodian.ansible.actions.DictActions.push"]], "push_all() (dictactions static method)": [[3, "custodian.ansible.actions.DictActions.push_all"]], "rename() (dictactions static method)": [[3, "custodian.ansible.actions.DictActions.rename"]], "set() (dictactions static method)": [[3, "custodian.ansible.actions.DictActions.set"]], "unset() (dictactions static method)": [[3, "custodian.ansible.actions.DictActions.unset"]], "custodian.cli": [[4, "module-custodian.cli"]], "custodian.cli.converge_geometry": [[4, "module-custodian.cli.converge_geometry"]], "custodian.cli.converge_kpoints": [[4, "module-custodian.cli.converge_kpoints"]], "custodian.cli.cstdn": [[4, "module-custodian.cli.cstdn"]], "custodian.cli.run_nwchem": [[4, "module-custodian.cli.run_nwchem"]], "custodian.cli.run_vasp": [[4, "module-custodian.cli.run_vasp"]], "do_run() (in module custodian.cli.converge_geometry)": [[4, "custodian.cli.converge_geometry.do_run"]], "do_run() (in module custodian.cli.converge_kpoints)": [[4, "custodian.cli.converge_kpoints.do_run"]], "do_run() (in module custodian.cli.run_nwchem)": [[4, "custodian.cli.run_nwchem.do_run"]], "do_run() (in module custodian.cli.run_vasp)": [[4, "custodian.cli.run_vasp.do_run"]], "get_jobs() (in module custodian.cli.run_vasp)": [[4, "custodian.cli.run_vasp.get_jobs"]], "get_runs() (in module custodian.cli.converge_geometry)": [[4, "custodian.cli.converge_geometry.get_runs"]], "get_runs() (in module custodian.cli.converge_kpoints)": [[4, "custodian.cli.converge_kpoints.get_runs"]], "load_class() (in module custodian.cli.run_vasp)": [[4, "custodian.cli.run_vasp.load_class"]], "main() (in module custodian.cli.converge_kpoints)": [[4, "custodian.cli.converge_kpoints.main"]], "main() (in module custodian.cli.cstdn)": [[4, "custodian.cli.cstdn.main"]], "main() (in module custodian.cli.run_nwchem)": [[4, "custodian.cli.run_nwchem.main"]], "main() (in module custodian.cli.run_vasp)": [[4, "custodian.cli.run_vasp.main"]], "print_example() (in module custodian.cli.cstdn)": [[4, "custodian.cli.cstdn.print_example"]], "run() (in module custodian.cli.cstdn)": [[4, "custodian.cli.cstdn.run"]], "aborthandler (class in custodian.cp2k.handlers)": [[5, "custodian.cp2k.handlers.AbortHandler"]], "cp2kjob (class in custodian.cp2k.jobs)": [[5, "custodian.cp2k.jobs.Cp2kJob"]], "cp2kmodder (class in custodian.cp2k.interpreter)": [[5, "custodian.cp2k.interpreter.Cp2kModder"]], "cp2koutputvalidator (class in custodian.cp2k.validators)": [[5, "custodian.cp2k.validators.Cp2kOutputValidator"]], "cp2kvalidator (class in custodian.cp2k.validators)": [[5, "custodian.cp2k.validators.Cp2kValidator"]], "divergingscferrorhandler (class in custodian.cp2k.handlers)": [[5, "custodian.cp2k.handlers.DivergingScfErrorHandler"]], "frozenjoberrorhandler (class in custodian.cp2k.handlers)": [[5, "custodian.cp2k.handlers.FrozenJobErrorHandler"]], "numericalprecisionhandler (class in custodian.cp2k.handlers)": [[5, "custodian.cp2k.handlers.NumericalPrecisionHandler"]], "stderrhandler (class in custodian.cp2k.handlers)": [[5, "custodian.cp2k.handlers.StdErrHandler"]], "unconvergedrelaxationerrorhandler (class in custodian.cp2k.handlers)": [[5, "custodian.cp2k.handlers.UnconvergedRelaxationErrorHandler"]], "unconvergedscferrorhandler (class in custodian.cp2k.handlers)": [[5, "custodian.cp2k.handlers.UnconvergedScfErrorHandler"]], "walltimehandler (class in custodian.cp2k.handlers)": [[5, "custodian.cp2k.handlers.WalltimeHandler"]], "activate_diag() (in module custodian.cp2k.utils)": [[5, "custodian.cp2k.utils.activate_diag"]], "activate_ot() (in module custodian.cp2k.utils)": [[5, "custodian.cp2k.utils.activate_ot"]], "apply_actions() (cp2kmodder method)": [[5, "custodian.cp2k.interpreter.Cp2kModder.apply_actions"]], "can_use_ot() (in module custodian.cp2k.utils)": [[5, "custodian.cp2k.utils.can_use_ot"]], "check() (aborthandler method)": [[5, "custodian.cp2k.handlers.AbortHandler.check"]], "check() (cp2koutputvalidator method)": [[5, "custodian.cp2k.validators.Cp2kOutputValidator.check"]], "check() (cp2kvalidator method)": [[5, "custodian.cp2k.validators.Cp2kValidator.check"]], "check() (divergingscferrorhandler method)": [[5, "custodian.cp2k.handlers.DivergingScfErrorHandler.check"]], "check() (frozenjoberrorhandler method)": [[5, "custodian.cp2k.handlers.FrozenJobErrorHandler.check"], [10, "custodian.vasp.handlers.FrozenJobErrorHandler.check"]], "check() (numericalprecisionhandler method)": [[5, "custodian.cp2k.handlers.NumericalPrecisionHandler.check"]], "check() (stderrhandler method)": [[5, "custodian.cp2k.handlers.StdErrHandler.check"], [10, "custodian.vasp.handlers.StdErrHandler.check"]], "check() (unconvergedrelaxationerrorhandler method)": [[5, "custodian.cp2k.handlers.UnconvergedRelaxationErrorHandler.check"]], "check() (unconvergedscferrorhandler method)": [[5, "custodian.cp2k.handlers.UnconvergedScfErrorHandler.check"]], "check() (walltimehandler method)": [[5, "custodian.cp2k.handlers.WalltimeHandler.check"], [10, "custodian.vasp.handlers.WalltimeHandler.check"]], "cleanup_input() (in module custodian.cp2k.utils)": [[5, "custodian.cp2k.utils.cleanup_input"]], "correct() (aborthandler method)": [[5, "custodian.cp2k.handlers.AbortHandler.correct"]], "correct() (divergingscferrorhandler method)": [[5, "custodian.cp2k.handlers.DivergingScfErrorHandler.correct"]], "correct() (frozenjoberrorhandler method)": [[5, "custodian.cp2k.handlers.FrozenJobErrorHandler.correct"], [10, "custodian.vasp.handlers.FrozenJobErrorHandler.correct"]], "correct() (numericalprecisionhandler method)": [[5, "custodian.cp2k.handlers.NumericalPrecisionHandler.correct"]], "correct() (stderrhandler method)": [[5, "custodian.cp2k.handlers.StdErrHandler.correct"], [10, "custodian.vasp.handlers.StdErrHandler.correct"]], "correct() (unconvergedrelaxationerrorhandler method)": [[5, "custodian.cp2k.handlers.UnconvergedRelaxationErrorHandler.correct"]], "correct() (unconvergedscferrorhandler method)": [[5, "custodian.cp2k.handlers.UnconvergedScfErrorHandler.correct"]], "correct() (walltimehandler method)": [[5, "custodian.cp2k.handlers.WalltimeHandler.correct"], [10, "custodian.vasp.handlers.WalltimeHandler.correct"]], "custodian.cp2k": [[5, "module-custodian.cp2k"]], "custodian.cp2k.handlers": [[5, "module-custodian.cp2k.handlers"]], "custodian.cp2k.interpreter": [[5, "module-custodian.cp2k.interpreter"]], "custodian.cp2k.jobs": [[5, "module-custodian.cp2k.jobs"]], "custodian.cp2k.utils": [[5, "module-custodian.cp2k.utils"]], "custodian.cp2k.validators": [[5, "module-custodian.cp2k.validators"]], "double_job() (cp2kjob class method)": [[5, "custodian.cp2k.jobs.Cp2kJob.double_job"]], "error_msgs (stderrhandler attribute)": [[5, "custodian.cp2k.handlers.StdErrHandler.error_msgs"], [10, "custodian.vasp.handlers.StdErrHandler.error_msgs"]], "exit (cp2koutputvalidator property)": [[5, "custodian.cp2k.validators.Cp2kOutputValidator.exit"]], "exit (cp2kvalidator property)": [[5, "custodian.cp2k.validators.Cp2kValidator.exit"]], "get_conv() (in module custodian.cp2k.utils)": [[5, "custodian.cp2k.utils.get_conv"]], "gga_static_to_hybrid() (cp2kjob class method)": [[5, "custodian.cp2k.jobs.Cp2kJob.gga_static_to_hybrid"]], "is_monitor (aborthandler attribute)": [[5, "custodian.cp2k.handlers.AbortHandler.is_monitor"]], "is_monitor (divergingscferrorhandler attribute)": [[5, "custodian.cp2k.handlers.DivergingScfErrorHandler.is_monitor"]], "is_monitor (frozenjoberrorhandler attribute)": [[5, "custodian.cp2k.handlers.FrozenJobErrorHandler.is_monitor"], [10, "custodian.vasp.handlers.FrozenJobErrorHandler.is_monitor"]], "is_monitor (numericalprecisionhandler attribute)": [[5, "custodian.cp2k.handlers.NumericalPrecisionHandler.is_monitor"]], "is_monitor (stderrhandler attribute)": [[5, "custodian.cp2k.handlers.StdErrHandler.is_monitor"], [10, "custodian.vasp.handlers.StdErrHandler.is_monitor"]], "is_monitor (unconvergedrelaxationerrorhandler attribute)": [[5, "custodian.cp2k.handlers.UnconvergedRelaxationErrorHandler.is_monitor"]], "is_monitor (unconvergedscferrorhandler attribute)": [[5, "custodian.cp2k.handlers.UnconvergedScfErrorHandler.is_monitor"]], "is_monitor (walltimehandler attribute)": [[5, "custodian.cp2k.handlers.WalltimeHandler.is_monitor"], [10, "custodian.vasp.handlers.WalltimeHandler.is_monitor"]], "is_terminating (aborthandler attribute)": [[5, "custodian.cp2k.handlers.AbortHandler.is_terminating"]], "is_terminating (walltimehandler attribute)": [[5, "custodian.cp2k.handlers.WalltimeHandler.is_terminating"], [10, "custodian.vasp.handlers.WalltimeHandler.is_terminating"]], "kill (cp2koutputvalidator property)": [[5, "custodian.cp2k.validators.Cp2kOutputValidator.kill"]], "kill (cp2kvalidator property)": [[5, "custodian.cp2k.validators.Cp2kValidator.kill"]], "no_children (cp2koutputvalidator property)": [[5, "custodian.cp2k.validators.Cp2kOutputValidator.no_children"]], "no_children (cp2kvalidator property)": [[5, "custodian.cp2k.validators.Cp2kValidator.no_children"]], "postprocess() (cp2kjob method)": [[5, "custodian.cp2k.jobs.Cp2kJob.postprocess"]], "pre_screen_hybrid() (cp2kjob class method)": [[5, "custodian.cp2k.jobs.Cp2kJob.pre_screen_hybrid"]], "raises_runtime_error (stderrhandler attribute)": [[5, "custodian.cp2k.handlers.StdErrHandler.raises_runtime_error"]], "raises_runtime_error (walltimehandler attribute)": [[5, "custodian.cp2k.handlers.WalltimeHandler.raises_runtime_error"], [10, "custodian.vasp.handlers.WalltimeHandler.raises_runtime_error"]], "restart() (in module custodian.cp2k.utils)": [[5, "custodian.cp2k.utils.restart"]], "run() (cp2kjob method)": [[5, "custodian.cp2k.jobs.Cp2kJob.run"]], "setup() (cp2kjob method)": [[5, "custodian.cp2k.jobs.Cp2kJob.setup"]], "tail() (in module custodian.cp2k.utils)": [[5, "custodian.cp2k.utils.tail"]], "terminate() (cp2kjob method)": [[5, "custodian.cp2k.jobs.Cp2kJob.terminate"]], "feffjob (class in custodian.feff.jobs)": [[6, "custodian.feff.jobs.FeffJob"]], "feffmodder (class in custodian.feff.interpreter)": [[6, "custodian.feff.interpreter.FeffModder"]], "unconvergederrorhandler (class in custodian.feff.handlers)": [[6, "custodian.feff.handlers.UnconvergedErrorHandler"]], "apply_actions() (feffmodder method)": [[6, "custodian.feff.interpreter.FeffModder.apply_actions"]], "check() (unconvergederrorhandler method)": [[6, "custodian.feff.handlers.UnconvergedErrorHandler.check"], [10, "custodian.vasp.handlers.UnconvergedErrorHandler.check"]], "correct() (unconvergederrorhandler method)": [[6, "custodian.feff.handlers.UnconvergedErrorHandler.correct"], [10, "custodian.vasp.handlers.UnconvergedErrorHandler.correct"]], "custodian.feff": [[6, "module-custodian.feff"]], "custodian.feff.handlers": [[6, "module-custodian.feff.handlers"]], "custodian.feff.interpreter": [[6, "module-custodian.feff.interpreter"]], "custodian.feff.jobs": [[6, "module-custodian.feff.jobs"]], "is_monitor (unconvergederrorhandler attribute)": [[6, "custodian.feff.handlers.UnconvergedErrorHandler.is_monitor"], [10, "custodian.vasp.handlers.UnconvergedErrorHandler.is_monitor"]], "postprocess() (feffjob method)": [[6, "custodian.feff.jobs.FeffJob.postprocess"]], "run() (feffjob method)": [[6, "custodian.feff.jobs.FeffJob.run"]], "setup() (feffjob method)": [[6, "custodian.feff.jobs.FeffJob.setup"]], "chargespillingvalidator (class in custodian.lobster.handlers)": [[7, "custodian.lobster.handlers.ChargeSpillingValidator"]], "enoughbandsvalidator (class in custodian.lobster.handlers)": [[7, "custodian.lobster.handlers.EnoughBandsValidator"]], "lobsterfilesvalidator (class in custodian.lobster.handlers)": [[7, "custodian.lobster.handlers.LobsterFilesValidator"]], "lobsterjob (class in custodian.lobster.jobs)": [[7, "custodian.lobster.jobs.LobsterJob"]], "check() (chargespillingvalidator method)": [[7, "custodian.lobster.handlers.ChargeSpillingValidator.check"]], "check() (enoughbandsvalidator method)": [[7, "custodian.lobster.handlers.EnoughBandsValidator.check"]], "check() (lobsterfilesvalidator method)": [[7, "custodian.lobster.handlers.LobsterFilesValidator.check"]], "custodian.lobster": [[7, "module-custodian.lobster"]], "custodian.lobster.handlers": [[7, "module-custodian.lobster.handlers"]], "custodian.lobster.jobs": [[7, "module-custodian.lobster.jobs"]], "postprocess() (lobsterjob method)": [[7, "custodian.lobster.jobs.LobsterJob.postprocess"]], "run() (lobsterjob method)": [[7, "custodian.lobster.jobs.LobsterJob.run"]], "setup() (lobsterjob method)": [[7, "custodian.lobster.jobs.LobsterJob.setup"]], "nwchemerrorhandler (class in custodian.nwchem.handlers)": [[8, "custodian.nwchem.handlers.NwchemErrorHandler"]], "nwchemjob (class in custodian.nwchem.jobs)": [[8, "custodian.nwchem.jobs.NwchemJob"]], "check() (nwchemerrorhandler method)": [[8, "custodian.nwchem.handlers.NwchemErrorHandler.check"]], "correct() (nwchemerrorhandler method)": [[8, "custodian.nwchem.handlers.NwchemErrorHandler.correct"]], "custodian.nwchem": [[8, "module-custodian.nwchem"]], "custodian.nwchem.handlers": [[8, "module-custodian.nwchem.handlers"]], "custodian.nwchem.jobs": [[8, "module-custodian.nwchem.jobs"]], "postprocess() (nwchemjob method)": [[8, "custodian.nwchem.jobs.NwchemJob.postprocess"]], "run() (nwchemjob method)": [[8, "custodian.nwchem.jobs.NwchemJob.run"]], "setup() (nwchemjob method)": [[8, "custodian.nwchem.jobs.NwchemJob.setup"]], "custodian.qchem": [[9, "module-custodian.qchem"]], "custodian.qchem.utils": [[9, "module-custodian.qchem.utils"]], "perturb_coordinates() (in module custodian.qchem.utils)": [[9, "custodian.qchem.utils.perturb_coordinates"]], "vector_list_diff() (in module custodian.qchem.utils)": [[9, "custodian.qchem.utils.vector_list_diff"]], "aliasingerrorhandler (class in custodian.vasp.handlers)": [[10, "custodian.vasp.handlers.AliasingErrorHandler"]], "checkpointhandler (class in custodian.vasp.handlers)": [[10, "custodian.vasp.handlers.CheckpointHandler"]], "drifterrorhandler (class in custodian.vasp.handlers)": [[10, "custodian.vasp.handlers.DriftErrorHandler"]], "frozenjoberrorhandler (class in custodian.vasp.handlers)": [[10, "custodian.vasp.handlers.FrozenJobErrorHandler"]], "generatevaspinputjob (class in custodian.vasp.jobs)": [[10, "custodian.vasp.jobs.GenerateVaspInputJob"]], "incorrectsmearinghandler (class in custodian.vasp.handlers)": [[10, "custodian.vasp.handlers.IncorrectSmearingHandler"]], "largesigmahandler (class in custodian.vasp.handlers)": [[10, "custodian.vasp.handlers.LargeSigmaHandler"]], "lrfcommutatorhandler (class in custodian.vasp.handlers)": [[10, "custodian.vasp.handlers.LrfCommutatorHandler"]], "meshsymmetryerrorhandler (class in custodian.vasp.handlers)": [[10, "custodian.vasp.handlers.MeshSymmetryErrorHandler"]], "nonconvergingerrorhandler (class in custodian.vasp.handlers)": [[10, "custodian.vasp.handlers.NonConvergingErrorHandler"]], "positiveenergyerrorhandler (class in custodian.vasp.handlers)": [[10, "custodian.vasp.handlers.PositiveEnergyErrorHandler"]], "potimerrorhandler (class in custodian.vasp.handlers)": [[10, "custodian.vasp.handlers.PotimErrorHandler"]], "scanmetalhandler (class in custodian.vasp.handlers)": [[10, "custodian.vasp.handlers.ScanMetalHandler"]], "stderrhandler (class in custodian.vasp.handlers)": [[10, "custodian.vasp.handlers.StdErrHandler"]], "stoppedrunhandler (class in custodian.vasp.handlers)": [[10, "custodian.vasp.handlers.StoppedRunHandler"]], "unconvergederrorhandler (class in custodian.vasp.handlers)": [[10, "custodian.vasp.handlers.UnconvergedErrorHandler"]], "vaspaeccarvalidator (class in custodian.vasp.validators)": [[10, "custodian.vasp.validators.VaspAECCARValidator"]], "vasperrorhandler (class in custodian.vasp.handlers)": [[10, "custodian.vasp.handlers.VaspErrorHandler"]], "vaspfilesvalidator (class in custodian.vasp.validators)": [[10, "custodian.vasp.validators.VaspFilesValidator"]], "vaspjob (class in custodian.vasp.jobs)": [[10, "custodian.vasp.jobs.VaspJob"]], "vaspmodder (class in custodian.vasp.interpreter)": [[10, "custodian.vasp.interpreter.VaspModder"]], "vaspnebjob (class in custodian.vasp.jobs)": [[10, "custodian.vasp.jobs.VaspNEBJob"]], "vaspnptmdvalidator (class in custodian.vasp.validators)": [[10, "custodian.vasp.validators.VaspNpTMDValidator"]], "vasprunxmlvalidator (class in custodian.vasp.validators)": [[10, "custodian.vasp.validators.VasprunXMLValidator"]], "walltimehandler (class in custodian.vasp.handlers)": [[10, "custodian.vasp.handlers.WalltimeHandler"]], "apply_actions() (vaspmodder method)": [[10, "custodian.vasp.interpreter.VaspModder.apply_actions"]], "check() (aliasingerrorhandler method)": [[10, "custodian.vasp.handlers.AliasingErrorHandler.check"]], "check() (checkpointhandler method)": [[10, "custodian.vasp.handlers.CheckpointHandler.check"]], "check() (drifterrorhandler method)": [[10, "custodian.vasp.handlers.DriftErrorHandler.check"]], "check() (incorrectsmearinghandler method)": [[10, "custodian.vasp.handlers.IncorrectSmearingHandler.check"]], "check() (largesigmahandler method)": [[10, "custodian.vasp.handlers.LargeSigmaHandler.check"]], "check() (lrfcommutatorhandler method)": [[10, "custodian.vasp.handlers.LrfCommutatorHandler.check"]], "check() (meshsymmetryerrorhandler method)": [[10, "custodian.vasp.handlers.MeshSymmetryErrorHandler.check"]], "check() (nonconvergingerrorhandler method)": [[10, "custodian.vasp.handlers.NonConvergingErrorHandler.check"]], "check() (positiveenergyerrorhandler method)": [[10, "custodian.vasp.handlers.PositiveEnergyErrorHandler.check"]], "check() (potimerrorhandler method)": [[10, "custodian.vasp.handlers.PotimErrorHandler.check"]], "check() (scanmetalhandler method)": [[10, "custodian.vasp.handlers.ScanMetalHandler.check"]], "check() (stoppedrunhandler method)": [[10, "custodian.vasp.handlers.StoppedRunHandler.check"]], "check() (vaspaeccarvalidator method)": [[10, "custodian.vasp.validators.VaspAECCARValidator.check"]], "check() (vasperrorhandler method)": [[10, "custodian.vasp.handlers.VaspErrorHandler.check"]], "check() (vaspfilesvalidator method)": [[10, "custodian.vasp.validators.VaspFilesValidator.check"]], "check() (vaspnptmdvalidator method)": [[10, "custodian.vasp.validators.VaspNpTMDValidator.check"]], "check() (vasprunxmlvalidator method)": [[10, "custodian.vasp.validators.VasprunXMLValidator.check"]], "check_broken_chgcar() (in module custodian.vasp.validators)": [[10, "custodian.vasp.validators.check_broken_chgcar"]], "constrained_opt_run() (vaspjob class method)": [[10, "custodian.vasp.jobs.VaspJob.constrained_opt_run"]], "correct() (aliasingerrorhandler method)": [[10, "custodian.vasp.handlers.AliasingErrorHandler.correct"]], "correct() (checkpointhandler method)": [[10, "custodian.vasp.handlers.CheckpointHandler.correct"]], "correct() (drifterrorhandler method)": [[10, "custodian.vasp.handlers.DriftErrorHandler.correct"]], "correct() (incorrectsmearinghandler method)": [[10, "custodian.vasp.handlers.IncorrectSmearingHandler.correct"]], "correct() (largesigmahandler method)": [[10, "custodian.vasp.handlers.LargeSigmaHandler.correct"]], "correct() (lrfcommutatorhandler method)": [[10, "custodian.vasp.handlers.LrfCommutatorHandler.correct"]], "correct() (meshsymmetryerrorhandler method)": [[10, "custodian.vasp.handlers.MeshSymmetryErrorHandler.correct"]], "correct() (nonconvergingerrorhandler method)": [[10, "custodian.vasp.handlers.NonConvergingErrorHandler.correct"]], "correct() (positiveenergyerrorhandler method)": [[10, "custodian.vasp.handlers.PositiveEnergyErrorHandler.correct"]], "correct() (potimerrorhandler method)": [[10, "custodian.vasp.handlers.PotimErrorHandler.correct"]], "correct() (scanmetalhandler method)": [[10, "custodian.vasp.handlers.ScanMetalHandler.correct"]], "correct() (stoppedrunhandler method)": [[10, "custodian.vasp.handlers.StoppedRunHandler.correct"]], "correct() (vasperrorhandler method)": [[10, "custodian.vasp.handlers.VaspErrorHandler.correct"]], "custodian.vasp": [[10, "module-custodian.vasp"]], "custodian.vasp.handlers": [[10, "module-custodian.vasp.handlers"]], "custodian.vasp.interpreter": [[10, "module-custodian.vasp.interpreter"]], "custodian.vasp.jobs": [[10, "module-custodian.vasp.jobs"]], "custodian.vasp.validators": [[10, "module-custodian.vasp.validators"]], "double_relaxation_run() (vaspjob class method)": [[10, "custodian.vasp.jobs.VaspJob.double_relaxation_run"]], "error_msgs (aliasingerrorhandler attribute)": [[10, "custodian.vasp.handlers.AliasingErrorHandler.error_msgs"]], "error_msgs (lrfcommutatorhandler attribute)": [[10, "custodian.vasp.handlers.LrfCommutatorHandler.error_msgs"]], "error_msgs (vasperrorhandler attribute)": [[10, "custodian.vasp.handlers.VaspErrorHandler.error_msgs"]], "from_dict() (nonconvergingerrorhandler class method)": [[10, "custodian.vasp.handlers.NonConvergingErrorHandler.from_dict"]], "full_opt_run() (vaspjob class method)": [[10, "custodian.vasp.jobs.VaspJob.full_opt_run"]], "is_monitor (aliasingerrorhandler attribute)": [[10, "custodian.vasp.handlers.AliasingErrorHandler.is_monitor"]], "is_monitor (checkpointhandler attribute)": [[10, "custodian.vasp.handlers.CheckpointHandler.is_monitor"]], "is_monitor (incorrectsmearinghandler attribute)": [[10, "custodian.vasp.handlers.IncorrectSmearingHandler.is_monitor"]], "is_monitor (largesigmahandler attribute)": [[10, "custodian.vasp.handlers.LargeSigmaHandler.is_monitor"]], "is_monitor (lrfcommutatorhandler attribute)": [[10, "custodian.vasp.handlers.LrfCommutatorHandler.is_monitor"]], "is_monitor (meshsymmetryerrorhandler attribute)": [[10, "custodian.vasp.handlers.MeshSymmetryErrorHandler.is_monitor"]], "is_monitor (nonconvergingerrorhandler attribute)": [[10, "custodian.vasp.handlers.NonConvergingErrorHandler.is_monitor"]], "is_monitor (positiveenergyerrorhandler attribute)": [[10, "custodian.vasp.handlers.PositiveEnergyErrorHandler.is_monitor"]], "is_monitor (potimerrorhandler attribute)": [[10, "custodian.vasp.handlers.PotimErrorHandler.is_monitor"]], "is_monitor (scanmetalhandler attribute)": [[10, "custodian.vasp.handlers.ScanMetalHandler.is_monitor"]], "is_monitor (stoppedrunhandler attribute)": [[10, "custodian.vasp.handlers.StoppedRunHandler.is_monitor"]], "is_monitor (vasperrorhandler attribute)": [[10, "custodian.vasp.handlers.VaspErrorHandler.is_monitor"]], "is_terminating (checkpointhandler attribute)": [[10, "custodian.vasp.handlers.CheckpointHandler.is_terminating"]], "is_terminating (stoppedrunhandler attribute)": [[10, "custodian.vasp.handlers.StoppedRunHandler.is_terminating"]], "metagga_opt_run() (vaspjob class method)": [[10, "custodian.vasp.jobs.VaspJob.metagga_opt_run"]], "postprocess() (generatevaspinputjob method)": [[10, "custodian.vasp.jobs.GenerateVaspInputJob.postprocess"]], "postprocess() (vaspjob method)": [[10, "custodian.vasp.jobs.VaspJob.postprocess"]], "postprocess() (vaspnebjob method)": [[10, "custodian.vasp.jobs.VaspNEBJob.postprocess"]], "run() (generatevaspinputjob method)": [[10, "custodian.vasp.jobs.GenerateVaspInputJob.run"]], "run() (vaspjob method)": [[10, "custodian.vasp.jobs.VaspJob.run"]], "run() (vaspnebjob method)": [[10, "custodian.vasp.jobs.VaspNEBJob.run"]], "setup() (generatevaspinputjob method)": [[10, "custodian.vasp.jobs.GenerateVaspInputJob.setup"]], "setup() (vaspjob method)": [[10, "custodian.vasp.jobs.VaspJob.setup"]], "setup() (vaspnebjob method)": [[10, "custodian.vasp.jobs.VaspNEBJob.setup"]], "terminate() (vaspjob method)": [[10, "custodian.vasp.jobs.VaspJob.terminate"]]}}) \ No newline at end of file diff --git a/setup.py b/setup.py index 74bd53d0d..97ba5559c 100644 --- a/setup.py +++ b/setup.py @@ -11,7 +11,7 @@ setup( name="custodian", packages=find_packages(), - version="2023.5.12", + version="2023.6.5", install_requires=["monty>=2.0.6", "ruamel.yaml>=0.15.6", "sentry-sdk>=0.8.0"], extras_require={"vasp, nwchem, qchem": ["pymatgen>=2019.8.23"]}, package_data={},