From b7a9628ed5fbf2bee20250e4dc8b04eb9a33678d Mon Sep 17 00:00:00 2001 From: Shyue Ping Ong Date: Fri, 10 Mar 2023 14:09:29 -0800 Subject: [PATCH] Update dev docs --- custodian/__init__.py | 2 +- docs/_modules/custodian/ansible/actions.html | 11 +- .../custodian/ansible/interpreter.html | 13 +- .../custodian/cli/converge_geometry.html | 13 +- .../custodian/cli/converge_kpoints.html | 11 +- docs/_modules/custodian/cli/cstdn.html | 11 +- docs/_modules/custodian/cli/run_nwchem.html | 11 +- docs/_modules/custodian/cli/run_vasp.html | 11 +- docs/_modules/custodian/cp2k/handlers.html | 95 +- docs/_modules/custodian/cp2k/interpreter.html | 14 +- docs/_modules/custodian/cp2k/jobs.html | 23 +- docs/_modules/custodian/cp2k/utils.html | 14 +- docs/_modules/custodian/cp2k/validators.html | 21 +- docs/_modules/custodian/custodian.html | 56 +- docs/_modules/custodian/feff/handlers.html | 12 +- docs/_modules/custodian/feff/interpreter.html | 11 +- docs/_modules/custodian/feff/jobs.html | 12 +- docs/_modules/custodian/lobster/handlers.html | 18 +- docs/_modules/custodian/lobster/jobs.html | 12 +- docs/_modules/custodian/nwchem/handlers.html | 11 +- docs/_modules/custodian/nwchem/jobs.html | 11 +- docs/_modules/custodian/qchem/utils.html | 11 +- docs/_modules/custodian/utils.html | 11 +- docs/_modules/custodian/vasp/handlers.html | 35 +- docs/_modules/custodian/vasp/interpreter.html | 11 +- docs/_modules/custodian/vasp/jobs.html | 51 +- docs/_modules/custodian/vasp/validators.html | 14 +- docs/_modules/index.html | 11 +- docs/_static/basic.css | 55 +- docs/_static/doctools.js | 420 +++------ docs/_static/documentation_options.js | 4 +- docs/_static/language_data.js | 102 +-- docs/_static/searchtools.js | 823 +++++++++--------- docs/_static/sphinx_highlight.js | 144 +++ docs/_themes/README.html | 15 +- docs/changelog.html | 115 +-- docs/custodian.ansible.html | 96 +- docs/custodian.cli.html | 63 +- docs/custodian.cp2k.html | 195 +++-- docs/custodian.feff.html | 69 +- docs/custodian.html | 558 ++++++++++-- docs/custodian.lobster.html | 65 +- docs/custodian.nwchem.html | 52 +- docs/custodian.qchem.html | 33 +- docs/custodian.vasp.html | 311 +++++-- docs/genindex.html | 11 +- docs/index.html | 39 +- docs/modules.html | 488 ++++++++++- docs/objects.inv | Bin 2445 -> 2445 bytes docs/py-modindex.html | 11 +- docs/search.html | 9 +- docs/searchindex.js | 2 +- setup.py | 2 +- 53 files changed, 2620 insertions(+), 1599 deletions(-) create mode 100644 docs/_static/sphinx_highlight.js diff --git a/custodian/__init__.py b/custodian/__init__.py index e080e44d..4d534c8e 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__ = "2022.5.26" +__version__ = "2023.3.10" from .custodian import Custodian diff --git a/docs/_modules/custodian/ansible/actions.html b/docs/_modules/custodian/ansible/actions.html index f06fb662..b040786f 100644 --- a/docs/_modules/custodian/ansible/actions.html +++ b/docs/_modules/custodian/ansible/actions.html @@ -1,17 +1,16 @@ - + - custodian.ansible.actions — custodian 2022.5.26 documentation + custodian.ansible.actions — custodian 2023.3.10 documentation - - + @@ -36,7 +35,7 @@

Navigation

  • modules |
  • - + @@ -363,7 +362,7 @@

    Quick search

    - +
    diff --git a/docs/_modules/custodian/ansible/interpreter.html b/docs/_modules/custodian/ansible/interpreter.html index c2c3fd7a..44eceda1 100644 --- a/docs/_modules/custodian/ansible/interpreter.html +++ b/docs/_modules/custodian/ansible/interpreter.html @@ -1,17 +1,16 @@ - + - custodian.ansible.interpreter — custodian 2022.5.26 documentation + custodian.ansible.interpreter — custodian 2023.3.10 documentation - - + @@ -36,7 +35,7 @@

    Navigation

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

    Source code for custodian.ansible.interpreter

    """ for action, settings in modification.items(): if action in self.supported_actions: - self.supported_actions[action].__call__(obj, settings) + self.supported_actions[action](obj, settings) elif self.strict: raise ValueError(f"{action} is not a supported action!")
    @@ -161,7 +160,7 @@

    Quick search

    - +
    diff --git a/docs/_modules/custodian/cli/converge_geometry.html b/docs/_modules/custodian/cli/converge_geometry.html index 29da928d..909c5551 100644 --- a/docs/_modules/custodian/cli/converge_geometry.html +++ b/docs/_modules/custodian/cli/converge_geometry.html @@ -1,17 +1,16 @@ - + - custodian.cli.converge_geometry — custodian 2022.5.26 documentation + custodian.cli.converge_geometry — custodian 2023.3.10 documentation - - + @@ -36,7 +35,7 @@

    Navigation

  • modules |
  • - + @@ -81,7 +80,6 @@

    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}" if job_number == 0: @@ -98,7 +96,6 @@

    Source code for custodian.cli.converge_geometry

    < converged = True if job_number < 2 and not converged: - settings = [ {"dict": "INCAR", "action": {"_set": {"ISTART": 1}}}, {"file": "CONTCAR", "action": {"_file_copy": {"dest": "POSCAR"}}}, @@ -205,7 +202,7 @@

    Quick search

    - +
    diff --git a/docs/_modules/custodian/cli/converge_kpoints.html b/docs/_modules/custodian/cli/converge_kpoints.html index 3b5e4e38..9ed692d1 100644 --- a/docs/_modules/custodian/cli/converge_kpoints.html +++ b/docs/_modules/custodian/cli/converge_kpoints.html @@ -1,17 +1,16 @@ - + - custodian.cli.converge_kpoints — custodian 2022.5.26 documentation + custodian.cli.converge_kpoints — custodian 2023.3.10 documentation - - + @@ -36,7 +35,7 @@

    Navigation

  • modules |
  • - + @@ -224,7 +223,7 @@

    Quick search

    - +
    diff --git a/docs/_modules/custodian/cli/cstdn.html b/docs/_modules/custodian/cli/cstdn.html index 6316cfac..faf8946b 100644 --- a/docs/_modules/custodian/cli/cstdn.html +++ b/docs/_modules/custodian/cli/cstdn.html @@ -1,17 +1,16 @@ - + - custodian.cli.cstdn — custodian 2022.5.26 documentation + custodian.cli.cstdn — custodian 2023.3.10 documentation - - + @@ -36,7 +35,7 @@

    Navigation

  • modules |
  • - + @@ -203,7 +202,7 @@

    Quick search

    - +
    diff --git a/docs/_modules/custodian/cli/run_nwchem.html b/docs/_modules/custodian/cli/run_nwchem.html index a636bfc2..c5928178 100644 --- a/docs/_modules/custodian/cli/run_nwchem.html +++ b/docs/_modules/custodian/cli/run_nwchem.html @@ -1,17 +1,16 @@ - + - custodian.cli.run_nwchem — custodian 2022.5.26 documentation + custodian.cli.run_nwchem — custodian 2023.3.10 documentation - - + @@ -36,7 +35,7 @@

    Navigation

  • modules |
  • - + @@ -176,7 +175,7 @@

    Quick search

    - +
    diff --git a/docs/_modules/custodian/cli/run_vasp.html b/docs/_modules/custodian/cli/run_vasp.html index ffefaf27..81dd1b5f 100644 --- a/docs/_modules/custodian/cli/run_vasp.html +++ b/docs/_modules/custodian/cli/run_vasp.html @@ -1,17 +1,16 @@ - + - custodian.cli.run_vasp — custodian 2022.5.26 documentation + custodian.cli.run_vasp — custodian 2023.3.10 documentation - - + @@ -36,7 +35,7 @@

    Navigation

  • modules |
  • - + @@ -436,7 +435,7 @@

    Quick search

    - +
    diff --git a/docs/_modules/custodian/cp2k/handlers.html b/docs/_modules/custodian/cp2k/handlers.html index baef1426..aaccfa86 100644 --- a/docs/_modules/custodian/cp2k/handlers.html +++ b/docs/_modules/custodian/cp2k/handlers.html @@ -1,17 +1,16 @@ - + - custodian.cp2k.handlers — custodian 2022.5.26 documentation + custodian.cp2k.handlers — custodian 2023.3.10 documentation - - + @@ -36,7 +35,7 @@

    Navigation

  • modules |
  • - + @@ -64,23 +63,21 @@

    Source code for custodian.cp2k.handlers

         benefits like writing a wavefunction restart file before quiting.
     """
     
    -import os
    -import time
    -from typing import Sequence
     import itertools
    +import os
     import re
    -import numpy as np
    +import time
     
    -from monty.re import regrep
    +import numpy as np
     from monty.os.path import zpath
    +from monty.re import regrep
     from monty.serialization import dumpfn
     from pymatgen.io.cp2k.inputs import Cp2kInput, Keyword
     from pymatgen.io.cp2k.outputs import Cp2kOutput
    -from pymatgen.io.cp2k.utils import get_aux_basis
     
    -from custodian.custodian import ErrorHandler
     from custodian.cp2k.interpreter import Cp2kModder
    -from custodian.cp2k.utils import restart, tail, get_conv
    +from custodian.cp2k.utils import get_conv, restart, tail
    +from custodian.custodian import ErrorHandler
     
     __author__ = "Nicholas Winner"
     __version__ = "1.0"
    @@ -128,7 +125,7 @@ 

    Source code for custodian.cp2k.handlers

             Check for error in std_err file.
             """
             self.errors = set()
    -        with open(self.std_err, "r") as f:
    +        with open(self.std_err) as f:
                 for line in f:
                     l = line.strip()
                     for err, msgs in StdErrHandler.error_msgs.items():
    @@ -204,29 +201,6 @@ 

    Source code for custodian.cp2k.handlers

             self.errors = None
             self.scf = None
             self.restart = None
    -        self.mixing_hierarchy = ["BROYDEN_MIXING", "BROYDEN_MIXING_LINEAR", "PULAY_MIXING", "PULAY_MIXING_LINEAR"]
    -        if os.path.exists(zpath(self.input_file)):
    -            ci = Cp2kInput.from_file(zpath(self.input_file))
    -            if ci["GLOBAL"]["RUN_TYPE"].values[0].__str__().upper() in [
    -                "ENERGY",
    -                "ENERGY_FORCE",
    -                "WAVEFUNCTION_OPTIMIZATION",
    -                "WFN_OPT",
    -            ]:
    -                self.is_static = True
    -            else:
    -                self.is_static = False
    -            self.is_ot = ci.check("FORCE_EVAL/DFT/SCF/OT")
    -            if ci.check("FORCE_EVAL/DFT/SCF/MIXING"):
    -                method = (
    -                    ci.by_path("FORCE_EVAL/DFT/SCF/MIXING")
    -                    .get("METHOD", Keyword("METHOD", "DIRECT_P_MIXING"))
    -                    .values[0]
    -                )
    -                alpha = ci.by_path("FORCE_EVAL/DFT/SCF/MIXING").get("ALPHA", Keyword("ALPHA", 0.4)).values[0]
    -                beta = ci.by_path("FORCE_EVAL/DFT/SCF/MIXING").get("BETA", Keyword("BETA", 0.5)).values[0]
    -                ext = "_LINEAR" if (beta > 1 and alpha < 0.1) else ""
    -                self.mixing_hierarchy = [m for m in self.mixing_hierarchy if m != method.upper() + ext]
     
     
    [docs] def check(self): """ @@ -235,6 +209,8 @@

    Source code for custodian.cp2k.handlers

             # Checks output file for errors.
             out = Cp2kOutput(self.output_file, auto_load=False, verbose=False)
             out.convergence()
    +        ci = Cp2kInput.from_file(zpath(self.input_file))
    +        self.is_ot = ci.check("FORCE_EVAL/DFT/SCF/OT")
             if out.filenames.get("restart"):
                 self.restart = out.filenames["restart"][-1]
     
    @@ -261,7 +237,6 @@ 

    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. """ @@ -373,7 +348,6 @@

    Source code for custodian.cp2k.handlers

             return actions
     
         def __correct_diag(self, ci):
    -
             """
             Apply corrections to diagonalization calculation, if possible
             """
    @@ -959,47 +933,6 @@ 

    Source code for custodian.cp2k.handlers

                                 },
                             }
                         )
    -            for k, v in ci.by_path("FORCE_EVAL/SUBSYS").subsections.items():
    -                if v.name.upper() == "KIND":
    -                    el = v.get("ELEMENT").values or v.section_parameters
    -                    el = el[0]
    -                    bs = ci.by_path("FORCE_EVAL/SUBSYS")[k].get("BASIS_SET", None)
    -                    if isinstance(bs, Sequence):
    -                        for i, _bs in enumerate(bs):
    -                            if "AUX_FIT" in [val.upper() for val in bs[i].values]:
    -                                aux = None
    -                                if el == "Li":  # special case of Li aux basis
    -                                    aux = get_aux_basis({el: "cFIT4-SR"})
    -                                elif not bs[i].values[1].startswith("cp"):
    -                                    aux = get_aux_basis({el: None}, "cpFIT")
    -                                    if not aux.get(el, "").startswith("cpFIT"):
    -                                        aux = None
    -                                if aux:
    -                                    bs.keywords.pop(i)
    -                                    actions.append(
    -                                        {
    -                                            "dict": self.input_file,
    -                                            "action": {
    -                                                "_set": {
    -                                                    "FORCE_EVAL": {"SUBSYS": {k: {"BASIS_SET": "AUX_FIT " + aux[el]}}}
    -                                                }
    -                                            },
    -                                        }
    -                                    )
    -                                    for _bs in bs:
    -                                        actions.append(
    -                                            {
    -                                                "dict": self.input_file,
    -                                                "action": {
    -                                                    "_inc": {
    -                                                        "FORCE_EVAL": {
    -                                                            "SUBSYS": {k: {"BASIS_SET": " ".join(_bs.values)}}
    -                                                        }
    -                                                    }
    -                                                },
    -                                            }
    -                                        )
    -                                    break
     
                 m = regrep(
                     self.output_file,
    @@ -1247,7 +1180,7 @@ 

    Quick search

    - +
    diff --git a/docs/_modules/custodian/cp2k/interpreter.html b/docs/_modules/custodian/cp2k/interpreter.html index d344f689..ca1ea64d 100644 --- a/docs/_modules/custodian/cp2k/interpreter.html +++ b/docs/_modules/custodian/cp2k/interpreter.html @@ -1,17 +1,16 @@ - + - custodian.cp2k.interpreter — custodian 2022.5.26 documentation + custodian.cp2k.interpreter — custodian 2023.3.10 documentation - - + @@ -36,7 +35,7 @@

    Navigation

  • modules |
  • - + @@ -53,7 +52,8 @@

    Source code for custodian.cp2k.interpreter

     """
     
     from pymatgen.io.cp2k.inputs import Cp2kInput
    -from custodian.ansible.actions import FileActions, DictActions
    +
    +from custodian.ansible.actions import DictActions, FileActions
     from custodian.ansible.interpreter import Modder
     from custodian.cp2k.utils import cleanup_input
     
    @@ -158,7 +158,7 @@ 

    Quick search

    - +
    diff --git a/docs/_modules/custodian/cp2k/jobs.html b/docs/_modules/custodian/cp2k/jobs.html index bab43d6d..183bf1b1 100644 --- a/docs/_modules/custodian/cp2k/jobs.html +++ b/docs/_modules/custodian/cp2k/jobs.html @@ -1,17 +1,16 @@ - + - custodian.cp2k.jobs — custodian 2022.5.26 documentation + custodian.cp2k.jobs — custodian 2023.3.10 documentation - - + @@ -36,7 +35,7 @@

    Navigation

  • modules |
  • - + @@ -52,18 +51,18 @@

    Source code for custodian.cp2k.jobs

     This module implements basic kinds of jobs for Cp2k runs.
     """
     
    -from __future__ import unicode_literals, division
    -import subprocess
    +import logging
     import os
     import shutil
    -import logging
    +import subprocess
     
    -from monty.shutil import decompress_dir
     from monty.os.path import zpath
    +from monty.shutil import decompress_dir
     from pymatgen.io.cp2k.inputs import Cp2kInput, Keyword
    -from custodian.custodian import Job
    +
     from custodian.cp2k.interpreter import Cp2kModder
    -from custodian.cp2k.utils import restart, cleanup_input
    +from custodian.cp2k.utils import cleanup_input, restart
    +from custodian.custodian import Job
     
     logger = logging.getLogger(__name__)
     
    @@ -445,7 +444,7 @@ 

    Quick search

    - +
    diff --git a/docs/_modules/custodian/cp2k/utils.html b/docs/_modules/custodian/cp2k/utils.html index eccdf88a..6c429d82 100644 --- a/docs/_modules/custodian/cp2k/utils.html +++ b/docs/_modules/custodian/cp2k/utils.html @@ -1,17 +1,16 @@ - + - custodian.cp2k.utils — custodian 2022.5.26 documentation + custodian.cp2k.utils — custodian 2023.3.10 documentation - - + @@ -36,7 +35,7 @@

    Navigation

  • modules |
  • - + @@ -52,9 +51,10 @@

    Source code for custodian.cp2k.utils

     This module holds different utility functions. Mainly used by handlers.
     """
     
    -import os
     import itertools
    +import os
     from collections import deque
    +
     from pymatgen.io.cp2k.inputs import Cp2kInput
     from pymatgen.io.cp2k.outputs import Cp2kOutput
     
    @@ -276,7 +276,7 @@ 

    Quick search

    - +
    diff --git a/docs/_modules/custodian/cp2k/validators.html b/docs/_modules/custodian/cp2k/validators.html index b79f644c..f7c791c2 100644 --- a/docs/_modules/custodian/cp2k/validators.html +++ b/docs/_modules/custodian/cp2k/validators.html @@ -1,17 +1,16 @@ - + - custodian.cp2k.validators — custodian 2022.5.26 documentation + custodian.cp2k.validators — custodian 2023.3.10 documentation - - + @@ -36,7 +35,7 @@

    Navigation

  • modules |
  • - + @@ -53,7 +52,9 @@

    Source code for custodian.cp2k.validators

     """
     
     from abc import abstractmethod, abstractproperty
    +
     from pymatgen.io.cp2k.outputs import Cp2kOutput
    +
     from custodian.custodian import Validator
     
     __author__ = "Nicholas Winner"
    @@ -72,29 +73,25 @@ 

    Source code for custodian.cp2k.validators

             """
             Check whether validation failed. Here, True means
             validation failed.
    -        """
    -        pass
    + """
    @abstractproperty def kill(self): """ Kill the job with raise error. """ - pass @abstractproperty def exit(self): """ Don't raise error, but exit the job """ - pass @abstractproperty def no_children(self): """ Job should not have children - """ - pass + """
    [docs]class Cp2kOutputValidator(Cp2kValidator): @@ -177,7 +174,7 @@

    Quick search

    - +
    diff --git a/docs/_modules/custodian/custodian.html b/docs/_modules/custodian/custodian.html index 64d2c2a0..2482ff7e 100644 --- a/docs/_modules/custodian/custodian.html +++ b/docs/_modules/custodian/custodian.html @@ -1,17 +1,16 @@ - + - custodian.custodian — custodian 2022.5.26 documentation + custodian.custodian — custodian 2023.3.10 documentation - - + @@ -36,7 +35,7 @@

    Navigation

  • modules |
  • - + @@ -99,13 +98,11 @@

    Source code for custodian.custodian

             SENTRY_DSN = "https://0f7291738eb042a3af671df9fc68ae2a@sentry.io/1470881"
     
     if SENTRY_DSN:
    -
         import sentry_sdk
     
         sentry_sdk.init(dsn=SENTRY_DSN)
     
         with sentry_sdk.configure_scope() as scope:
    -
             from getpass import getuser
     
             try:
    @@ -264,7 +261,24 @@ 

    Source code for custodian.custodian

                 restart = int(chkpt.split(".")[-3])
                 logger.info(f"Loading from checkpoint file {chkpt}...")
                 with tarfile.open(chkpt) as t:
    -                t.extractall()
    +
    +                def is_within_directory(directory, target):
    +                    abs_directory = os.path.abspath(directory)
    +                    abs_target = os.path.abspath(target)
    +
    +                    prefix = os.path.commonprefix([abs_directory, abs_target])
    +
    +                    return prefix == abs_directory
    +
    +                def safe_extract(tar, path=".", members=None, *, numeric_owner=False):
    +                    for member in tar.getmembers():
    +                        member_path = os.path.join(path, member.name)
    +                        if not is_within_directory(path, member_path):
    +                            raise Exception("Attempted Path Traversal in Tar File")
    +
    +                    tar.extractall(path, members, numeric_owner=numeric_owner)
    +
    +                safe_extract(t)
                 # Log the corrections to a json file.
                 run_log = loadfn(Custodian.LOG_FILE, cls=MontyDecoder)
     
    @@ -724,16 +738,14 @@ 

    Source code for custodian.custodian

             """
             This method is run before the start of a job. Allows for some
             pre-processing.
    -        """
    -        pass
    + """
    [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. - """ - pass
    + """
    [docs] @abstractmethod def postprocess(self): @@ -741,10 +753,9 @@

    Source code for custodian.custodian

             This method is called at the end of a job, *after* error detection.
             This allows post-processing, such as cleanup, analysis of results,
             etc.
    -        """
    -        pass
    + """
    -
    [docs] def terminate(self): # pylint: disable=R0201 +
    [docs] def terminate(self): """ Implement termination function. """ @@ -814,8 +825,7 @@

    Source code for custodian.custodian

     
             Returns:
                 (bool) Indicating if errors are detected.
    -        """
    -        pass
    + """
    [docs] @abstractmethod def correct(self): @@ -829,8 +839,7 @@

    Source code for custodian.custodian

                 actions taken. E.g.
                 {"errors": list_of_errors, "actions": list_of_actions_taken}.
                 If this is an unfixable error, actions should be set to None.
    -        """
    -        pass
    + """
    @property def n_applied_corrections(self): @@ -873,8 +882,7 @@

    Source code for custodian.custodian

     
             Returns:
                 (bool) Indicating if errors are detected.
    -        """
    -        pass
    + """
    [docs]class CustodianError(RuntimeError): @@ -930,9 +938,7 @@

    Source code for custodian.custodian

     
    [docs]class ReturnCodeError(CustodianError): """ Error raised when the process gave non zero return code - """ - - pass
    + """
    [docs]class MaxCorrectionsError(CustodianError): @@ -1008,7 +1014,7 @@

    Quick search

    - +
    diff --git a/docs/_modules/custodian/feff/handlers.html b/docs/_modules/custodian/feff/handlers.html index 07f9d567..84b48a46 100644 --- a/docs/_modules/custodian/feff/handlers.html +++ b/docs/_modules/custodian/feff/handlers.html @@ -1,17 +1,16 @@ - + - custodian.feff.handlers — custodian 2022.5.26 documentation + custodian.feff.handlers — custodian 2023.3.10 documentation - - + @@ -36,7 +35,7 @@

    Navigation

  • modules |
  • - + @@ -108,7 +107,6 @@

    Source code for custodian.feff.handlers

             return self._notconverge_check()
    def _notconverge_check(self): - # Process the output file and get converge information not_converge_pattern = re.compile("Convergence not reached.*") converge_pattern = re.compile("Convergence reached.*") @@ -199,7 +197,7 @@

    Quick search

    - +
    diff --git a/docs/_modules/custodian/feff/interpreter.html b/docs/_modules/custodian/feff/interpreter.html index 2c635c9f..6cc0afc8 100644 --- a/docs/_modules/custodian/feff/interpreter.html +++ b/docs/_modules/custodian/feff/interpreter.html @@ -1,17 +1,16 @@ - + - custodian.feff.interpreter — custodian 2022.5.26 documentation + custodian.feff.interpreter — custodian 2023.3.10 documentation - - + @@ -36,7 +35,7 @@

    Navigation

  • modules |
  • - + @@ -137,7 +136,7 @@

    Quick search

    - +
    diff --git a/docs/_modules/custodian/feff/jobs.html b/docs/_modules/custodian/feff/jobs.html index 0e464c05..528e6007 100644 --- a/docs/_modules/custodian/feff/jobs.html +++ b/docs/_modules/custodian/feff/jobs.html @@ -1,17 +1,16 @@ - + - custodian.feff.jobs — custodian 2022.5.26 documentation + custodian.feff.jobs — custodian 2023.3.10 documentation - - + @@ -36,7 +35,7 @@

    Navigation

  • modules |
  • - + @@ -128,7 +127,6 @@

    Source code for custodian.feff.jobs

                         shutil.copy(f, f"{f}.orig")
    [docs] def run(self): - """ Performs the actual FEFF run Returns: @@ -168,7 +166,7 @@

    Quick search

    - +
    diff --git a/docs/_modules/custodian/lobster/handlers.html b/docs/_modules/custodian/lobster/handlers.html index 92c7252e..7f15a445 100644 --- a/docs/_modules/custodian/lobster/handlers.html +++ b/docs/_modules/custodian/lobster/handlers.html @@ -1,17 +1,16 @@ - + - custodian.lobster.handlers — custodian 2022.5.26 documentation + custodian.lobster.handlers — custodian 2023.3.10 documentation - - + @@ -36,7 +35,7 @@

    Navigation

  • modules |
  • - + @@ -103,7 +102,6 @@

    Source code for custodian.lobster.handlers

             """
             Dummy init
             """
    -        pass
     
     
    [docs] def check(self) -> bool: """ @@ -138,10 +136,10 @@

    Source code for custodian.lobster.handlers

     
             if os.path.exists(self.output_filename):
                 lobsterout = Lobsterout(self.output_filename)
    -            if lobsterout.chargespilling[0] > self.charge_spilling_limit:
    +            if lobsterout.charge_spilling[0] > self.charge_spilling_limit:
                     return True
    -            if len(lobsterout.chargespilling) > 1:
    -                if lobsterout.chargespilling[1] > self.charge_spilling_limit:
    +            if len(lobsterout.charge_spilling) > 1:
    +                if lobsterout.charge_spilling[1] > self.charge_spilling_limit:
                         return True
                 return False
             return False
    @@ -168,7 +166,7 @@

    Quick search

    - +
    diff --git a/docs/_modules/custodian/lobster/jobs.html b/docs/_modules/custodian/lobster/jobs.html index 602550e5..19d370ea 100644 --- a/docs/_modules/custodian/lobster/jobs.html +++ b/docs/_modules/custodian/lobster/jobs.html @@ -1,17 +1,16 @@ - + - custodian.lobster.jobs — custodian 2022.5.26 documentation + custodian.lobster.jobs — custodian 2023.3.10 documentation - - + @@ -36,7 +35,7 @@

    Navigation

  • modules |
  • - + @@ -84,6 +83,7 @@

    Source code for custodian.lobster.jobs

         "bandOverlaps.lobster",
         "ICOBILIST.lobster",
         "COBICAR.lobster",
    +    "DOSCAR.LSO.lobster",
     ]
     FW_FILES = ["custodian.json", "FW.json", "FW_submit.script"]
     
    @@ -183,7 +183,7 @@ 

    Quick search

    - +
    diff --git a/docs/_modules/custodian/nwchem/handlers.html b/docs/_modules/custodian/nwchem/handlers.html index 93fb2e3b..23c60c95 100644 --- a/docs/_modules/custodian/nwchem/handlers.html +++ b/docs/_modules/custodian/nwchem/handlers.html @@ -1,17 +1,16 @@ - + - custodian.nwchem.handlers — custodian 2022.5.26 documentation + custodian.nwchem.handlers — custodian 2023.3.10 documentation - - + @@ -36,7 +35,7 @@

    Navigation

  • modules |
  • - + @@ -161,7 +160,7 @@

    Quick search

    - +
    diff --git a/docs/_modules/custodian/nwchem/jobs.html b/docs/_modules/custodian/nwchem/jobs.html index 03f7fa81..c0ec88e9 100644 --- a/docs/_modules/custodian/nwchem/jobs.html +++ b/docs/_modules/custodian/nwchem/jobs.html @@ -1,17 +1,16 @@ - + - custodian.nwchem.jobs — custodian 2022.5.26 documentation + custodian.nwchem.jobs — custodian 2023.3.10 documentation - - + @@ -36,7 +35,7 @@

    Navigation

  • modules |
  • - + @@ -150,7 +149,7 @@

    Quick search

    - +
    diff --git a/docs/_modules/custodian/qchem/utils.html b/docs/_modules/custodian/qchem/utils.html index 1e08efad..a3e2a20c 100644 --- a/docs/_modules/custodian/qchem/utils.html +++ b/docs/_modules/custodian/qchem/utils.html @@ -1,17 +1,16 @@ - + - custodian.qchem.utils — custodian 2022.5.26 documentation + custodian.qchem.utils — custodian 2023.3.10 documentation - - + @@ -36,7 +35,7 @@

    Navigation

  • modules |
  • - + @@ -119,7 +118,7 @@

    Quick search

    - +
    diff --git a/docs/_modules/custodian/utils.html b/docs/_modules/custodian/utils.html index 4c48909f..88cf0583 100644 --- a/docs/_modules/custodian/utils.html +++ b/docs/_modules/custodian/utils.html @@ -1,17 +1,16 @@ - + - custodian.utils — custodian 2022.5.26 documentation + custodian.utils — custodian 2023.3.10 documentation - - + @@ -36,7 +35,7 @@

    Navigation

  • modules |
  • - + @@ -119,7 +118,7 @@

    Quick search

    - +
    diff --git a/docs/_modules/custodian/vasp/handlers.html b/docs/_modules/custodian/vasp/handlers.html index 5cbe4f27..52d4999e 100644 --- a/docs/_modules/custodian/vasp/handlers.html +++ b/docs/_modules/custodian/vasp/handlers.html @@ -1,17 +1,16 @@ - + - custodian.vasp.handlers — custodian 2022.5.26 documentation + custodian.vasp.handlers — custodian 2023.3.10 documentation - - + @@ -36,7 +35,7 @@

    Navigation

  • modules |
  • - + @@ -372,7 +371,6 @@

    Source code for custodian.vasp.handlers

                     actions.append({"dict": "INCAR", "action": {"_set": {"LREAL": False}}})
     
             if self.errors.intersection(["tetirr", "incorrect_shift"]):
    -
                 if vi["KPOINTS"] is not None:
                     if vi["KPOINTS"].style == Kpoints.supported_modes.Monkhorst:
                         actions.append(
    @@ -416,7 +414,6 @@ 

    Source code for custodian.vasp.handlers

                 actions.append({"file": "WAVECAR", "action": {"_file_delete": {"mode": "actual"}}})
     
             if "brions" in self.errors:
    -
                 # Copy CONTCAR to POSCAR so we do not lose our progress.
                 actions.append({"file": "CONTCAR", "action": {"_file_copy": {"dest": "POSCAR"}}})
     
    @@ -504,6 +501,13 @@ 

    Source code for custodian.vasp.handlers

                 actions.append({"dict": "INCAR", "action": {"_set": {"ALGO": "Normal"}}})
             if "eddrmm" in self.errors:
                 # RMM algorithm is not stable for this calculation
    +            # Copy CONTCAR to POSCAR if CONTCAR has already been populated.
    +            try:
    +                is_contcar = Poscar.from_file("CONTCAR")
    +            except Exception:
    +                is_contcar = False
    +            if is_contcar:
    +                actions.append({"file": "CONTCAR", "action": {"_file_copy": {"dest": "POSCAR"}}})
                 if vi["INCAR"].get("ALGO", "Normal").lower() in ["fast", "veryfast"]:
                     actions.append({"dict": "INCAR", "action": {"_set": {"ALGO": "Normal"}}})
                 else:
    @@ -514,6 +518,13 @@ 

    Source code for custodian.vasp.handlers

                     actions.append({"file": "WAVECAR", "action": {"_file_delete": {"mode": "actual"}}})
     
             if "edddav" in self.errors:
    +            # Copy CONTCAR to POSCAR if CONTCAR has already been populated.
    +            try:
    +                is_contcar = Poscar.from_file("CONTCAR")
    +            except Exception:
    +                is_contcar = False
    +            if is_contcar:
    +                actions.append({"file": "CONTCAR", "action": {"_file_copy": {"dest": "POSCAR"}}})
                 if vi["INCAR"].get("ICHARG", 0) < 10:
                     actions.append({"file": "CHGCAR", "action": {"_file_delete": {"mode": "actual"}}})
     
    @@ -572,6 +583,13 @@ 

    Source code for custodian.vasp.handlers

                     )
     
             if "zheev" in self.errors:
    +            # Copy CONTCAR to POSCAR if CONTCAR has already been populated.
    +            try:
    +                is_contcar = Poscar.from_file("CONTCAR")
    +            except Exception:
    +                is_contcar = False
    +            if is_contcar:
    +                actions.append({"file": "CONTCAR", "action": {"_file_copy": {"dest": "POSCAR"}}})
                 if vi["INCAR"].get("ALGO", "Normal").lower() != "exact":
                     actions.append({"dict": "INCAR", "action": {"_set": {"ALGO": "Exact"}}})
             if "elf_kpar" in self.errors:
    @@ -1771,7 +1789,6 @@ 

    Source code for custodian.vasp.handlers

             """
             Dummy init.
             """
    -        pass
     
     
    [docs] def check(self): """ @@ -1870,7 +1887,7 @@

    Quick search

    - +
    diff --git a/docs/_modules/custodian/vasp/interpreter.html b/docs/_modules/custodian/vasp/interpreter.html index cb39a35d..b6649044 100644 --- a/docs/_modules/custodian/vasp/interpreter.html +++ b/docs/_modules/custodian/vasp/interpreter.html @@ -1,17 +1,16 @@ - + - custodian.vasp.interpreter — custodian 2022.5.26 documentation + custodian.vasp.interpreter — custodian 2023.3.10 documentation - - + @@ -36,7 +35,7 @@

    Navigation

  • modules |
  • - + @@ -127,7 +126,7 @@

    Quick search

    - +
    diff --git a/docs/_modules/custodian/vasp/jobs.html b/docs/_modules/custodian/vasp/jobs.html index 435d686f..d112f7c5 100644 --- a/docs/_modules/custodian/vasp/jobs.html +++ b/docs/_modules/custodian/vasp/jobs.html @@ -1,17 +1,16 @@ - + - custodian.vasp.jobs — custodian 2022.5.26 documentation + custodian.vasp.jobs — custodian 2023.3.10 documentation - - + @@ -36,7 +35,7 @@

    Navigation

  • modules |
  • - + @@ -56,10 +55,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
    -from monty.os.path import which
     from monty.serialization import dumpfn, loadfn
     from monty.shutil import decompress_dir
     from pymatgen.core.structure import Structure
    @@ -200,6 +200,7 @@ 

    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
    @@ -302,7 +303,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
    -            return subprocess.Popen(cmd, stdout=f_std, stderr=f_err)  # pylint: disable=R1732
    + self.sbprcss = subprocess.Popen( + cmd, stdout=f_std, stderr=f_err, start_new_session=True + ) # pylint: disable=R1732 + return self.sbprcss
    [docs] def postprocess(self): """ @@ -707,25 +711,20 @@

    Source code for custodian.vasp.jobs

                     **vasp_job_kwargs,
                 )
     
    -        with open("EOS.txt", "wt") as f:
    +        with open("EOS.txt", "w") as f:
                 f.write(f"# {lattice_direction} energy\n")
                 for k in sorted(energies.keys()):
                     f.write(f"{k} {energies[k]}\n")
    [docs] def terminate(self): """ - Ensure all vasp jobs are killed. + Kill all vasp processes associated with the current job. """ - logger.info("Custodian terminating all VASP jobs") - cmds = self.vasp_cmd - if self.gamma_vasp_cmd: - cmds += self.gamma_vasp_cmd - for k in cmds: - if "vasp" in k: - try: - os.system(f"killall {k}") - except Exception: - pass
    + 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
    [docs]class VaspNEBJob(VaspJob): @@ -816,6 +815,7 @@

    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():
    @@ -903,7 +903,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
    -            return subprocess.Popen(cmd, stdout=f_std, stderr=f_err)  # pylint: disable=R1732
    + self.sbprcss = subprocess.Popen( + cmd, stdout=f_std, stderr=f_err, start_new_session=True + ) # pylint: disable=R1732 + return self.sbprcss
    [docs] def postprocess(self): """ @@ -949,8 +952,7 @@

    Source code for custodian.vasp.jobs

     
    [docs] def setup(self): """ Dummy setup - """ - pass
    + """
    [docs] def run(self): """ @@ -970,8 +972,7 @@

    Source code for custodian.vasp.jobs

     
    [docs] def postprocess(self): """ Dummy postprocess. - """ - pass
    + """
    @@ -995,7 +996,7 @@

    Quick search

    - +
    diff --git a/docs/_modules/custodian/vasp/validators.html b/docs/_modules/custodian/vasp/validators.html index 2eddbf63..78e37d2a 100644 --- a/docs/_modules/custodian/vasp/validators.html +++ b/docs/_modules/custodian/vasp/validators.html @@ -1,17 +1,16 @@ - + - custodian.vasp.validators — custodian 2022.5.26 documentation + custodian.vasp.validators — custodian 2023.3.10 documentation - - + @@ -36,7 +35,7 @@

    Navigation

  • modules |
  • - + @@ -124,7 +123,6 @@

    Source code for custodian.vasp.validators

             """
             Dummy init
             """
    -        pass
     
     
    [docs] def check(self): """ @@ -146,7 +144,6 @@

    Source code for custodian.vasp.validators

             """
             Dummy init.
             """
    -        pass
     
     
    [docs] def check(self): """ @@ -174,7 +171,6 @@

    Source code for custodian.vasp.validators

             """
             Dummy init
             """
    -        pass
     
     
    [docs] def check(self): """ @@ -234,7 +230,7 @@

    Quick search

    - +
    diff --git a/docs/_modules/index.html b/docs/_modules/index.html index 4c3625ff..4bf371e9 100644 --- a/docs/_modules/index.html +++ b/docs/_modules/index.html @@ -1,17 +1,16 @@ - + - Overview: module code — custodian 2022.5.26 documentation + Overview: module code — custodian 2023.3.10 documentation - - + @@ -36,7 +35,7 @@

    Navigation

  • modules |
  • - +
    @@ -94,7 +93,7 @@

    Quick search

    - +
    diff --git a/docs/_static/basic.css b/docs/_static/basic.css index bf18350b..7577acb1 100644 --- a/docs/_static/basic.css +++ b/docs/_static/basic.css @@ -4,7 +4,7 @@ * * Sphinx stylesheet -- basic theme. * - * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ @@ -222,7 +222,7 @@ table.modindextable td { /* -- general body styles --------------------------------------------------- */ div.body { - min-width: 450px; + min-width: 360px; max-width: 800px; } @@ -237,16 +237,6 @@ a.headerlink { visibility: hidden; } -a.brackets:before, -span.brackets > a:before{ - content: "["; -} - -a.brackets:after, -span.brackets > a:after { - content: "]"; -} - h1:hover > a.headerlink, h2:hover > a.headerlink, h3:hover > a.headerlink, @@ -335,12 +325,16 @@ p.sidebar-title { font-weight: bold; } +nav.contents, +aside.topic, div.admonition, div.topic, blockquote { clear: left; } /* -- topics ---------------------------------------------------------------- */ +nav.contents, +aside.topic, div.topic { border: 1px solid #ccc; padding: 7px; @@ -379,6 +373,8 @@ div.body p.centered { div.sidebar > :last-child, aside.sidebar > :last-child, +nav.contents > :last-child, +aside.topic > :last-child, div.topic > :last-child, div.admonition > :last-child { margin-bottom: 0; @@ -386,6 +382,8 @@ div.admonition > :last-child { div.sidebar::after, aside.sidebar::after, +nav.contents::after, +aside.topic::after, div.topic::after, div.admonition::after, blockquote::after { @@ -428,10 +426,6 @@ table.docutils td, table.docutils th { border-bottom: 1px solid #aaa; } -table.footnote td, table.footnote th { - border: 0 !important; -} - th { text-align: left; padding-right: 5px; @@ -615,19 +609,26 @@ ul.simple p { margin-bottom: 0; } -dl.footnote > dt, -dl.citation > dt { +aside.footnote > span, +div.citation > span { float: left; - margin-right: 0.5em; } - -dl.footnote > dd, -dl.citation > dd { +aside.footnote > span:last-of-type, +div.citation > span:last-of-type { + padding-right: 0.5em; +} +aside.footnote > p { + margin-left: 2em; +} +div.citation > p { + margin-left: 4em; +} +aside.footnote > p:last-of-type, +div.citation > p:last-of-type { margin-bottom: 0em; } - -dl.footnote > dd:after, -dl.citation > dd:after { +aside.footnote > p:last-of-type:after, +div.citation > p:last-of-type:after { content: ""; clear: both; } @@ -644,10 +645,6 @@ dl.field-list > dt { padding-right: 5px; } -dl.field-list > dt:after { - content: ":"; -} - dl.field-list > dd { padding-left: 0.5em; margin-top: 0em; diff --git a/docs/_static/doctools.js b/docs/_static/doctools.js index e1bfd708..d06a71d7 100644 --- a/docs/_static/doctools.js +++ b/docs/_static/doctools.js @@ -2,357 +2,155 @@ * doctools.js * ~~~~~~~~~~~ * - * Sphinx JavaScript utilities for all documentation. + * Base JavaScript utilities for all Sphinx HTML documentation. * - * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ - -/** - * select a different prefix for underscore - */ -$u = _.noConflict(); - -/** - * make the code below compatible with browsers without - * an installed firebug like debugger -if (!window.console || !console.firebug) { - var names = ["log", "debug", "info", "warn", "error", "assert", "dir", - "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace", - "profile", "profileEnd"]; - window.console = {}; - for (var i = 0; i < names.length; ++i) - window.console[names[i]] = function() {}; -} - */ - -/** - * small helper function to urldecode strings - * - * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/decodeURIComponent#Decoding_query_parameters_from_a_URL - */ -jQuery.urldecode = function(x) { - if (!x) { - return x - } - return decodeURIComponent(x.replace(/\+/g, ' ')); -}; - -/** - * small helper function to urlencode strings - */ -jQuery.urlencode = encodeURIComponent; - -/** - * This function returns the parsed url parameters of the - * current request. Multiple values per key are supported, - * it will always return arrays of strings for the value parts. - */ -jQuery.getQueryParameters = function(s) { - if (typeof s === 'undefined') - s = document.location.search; - var parts = s.substr(s.indexOf('?') + 1).split('&'); - var result = {}; - for (var i = 0; i < parts.length; i++) { - var tmp = parts[i].split('=', 2); - var key = jQuery.urldecode(tmp[0]); - var value = jQuery.urldecode(tmp[1]); - if (key in result) - result[key].push(value); - else - result[key] = [value]; - } - return result; -}; - -/** - * highlight a given string on a jquery object by wrapping it in - * span elements with the given class name. - */ -jQuery.fn.highlightText = function(text, className) { - function highlight(node, addItems) { - if (node.nodeType === 3) { - var val = node.nodeValue; - var pos = val.toLowerCase().indexOf(text); - if (pos >= 0 && - !jQuery(node.parentNode).hasClass(className) && - !jQuery(node.parentNode).hasClass("nohighlight")) { - var span; - var isInSVG = jQuery(node).closest("body, svg, foreignObject").is("svg"); - if (isInSVG) { - span = document.createElementNS("http://www.w3.org/2000/svg", "tspan"); - } else { - span = document.createElement("span"); - span.className = className; - } - span.appendChild(document.createTextNode(val.substr(pos, text.length))); - node.parentNode.insertBefore(span, node.parentNode.insertBefore( - document.createTextNode(val.substr(pos + text.length)), - node.nextSibling)); - node.nodeValue = val.substr(0, pos); - if (isInSVG) { - var rect = document.createElementNS("http://www.w3.org/2000/svg", "rect"); - var bbox = node.parentElement.getBBox(); - rect.x.baseVal.value = bbox.x; - rect.y.baseVal.value = bbox.y; - rect.width.baseVal.value = bbox.width; - rect.height.baseVal.value = bbox.height; - rect.setAttribute('class', className); - addItems.push({ - "parent": node.parentNode, - "target": rect}); - } - } - } - else if (!jQuery(node).is("button, select, textarea")) { - jQuery.each(node.childNodes, function() { - highlight(this, addItems); - }); - } - } - var addItems = []; - var result = this.each(function() { - highlight(this, addItems); - }); - for (var i = 0; i < addItems.length; ++i) { - jQuery(addItems[i].parent).before(addItems[i].target); +"use strict"; + +const BLACKLISTED_KEY_CONTROL_ELEMENTS = new Set([ + "TEXTAREA", + "INPUT", + "SELECT", + "BUTTON", +]); + +const _ready = (callback) => { + if (document.readyState !== "loading") { + callback(); + } else { + document.addEventListener("DOMContentLoaded", callback); } - return result; }; -/* - * backward compatibility for jQuery.browser - * This will be supported until firefox bug is fixed. - */ -if (!jQuery.browser) { - jQuery.uaMatch = function(ua) { - ua = ua.toLowerCase(); - - var match = /(chrome)[ \/]([\w.]+)/.exec(ua) || - /(webkit)[ \/]([\w.]+)/.exec(ua) || - /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) || - /(msie) ([\w.]+)/.exec(ua) || - ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) || - []; - - return { - browser: match[ 1 ] || "", - version: match[ 2 ] || "0" - }; - }; - jQuery.browser = {}; - jQuery.browser[jQuery.uaMatch(navigator.userAgent).browser] = true; -} - /** * Small JavaScript module for the documentation. */ -var Documentation = { - - init : function() { - this.fixFirefoxAnchorBug(); - this.highlightSearchWords(); - this.initIndexTable(); - this.initOnKeyListeners(); +const Documentation = { + init: () => { + Documentation.initDomainIndexTable(); + Documentation.initOnKeyListeners(); }, /** * i18n support */ - TRANSLATIONS : {}, - PLURAL_EXPR : function(n) { return n === 1 ? 0 : 1; }, - LOCALE : 'unknown', + TRANSLATIONS: {}, + PLURAL_EXPR: (n) => (n === 1 ? 0 : 1), + LOCALE: "unknown", // gettext and ngettext don't access this so that the functions // can safely bound to a different name (_ = Documentation.gettext) - gettext : function(string) { - var translated = Documentation.TRANSLATIONS[string]; - if (typeof translated === 'undefined') - return string; - return (typeof translated === 'string') ? translated : translated[0]; - }, - - ngettext : function(singular, plural, n) { - var translated = Documentation.TRANSLATIONS[singular]; - if (typeof translated === 'undefined') - return (n == 1) ? singular : plural; - return translated[Documentation.PLURALEXPR(n)]; - }, - - addTranslations : function(catalog) { - for (var key in catalog.messages) - this.TRANSLATIONS[key] = catalog.messages[key]; - this.PLURAL_EXPR = new Function('n', 'return +(' + catalog.plural_expr + ')'); - this.LOCALE = catalog.locale; - }, - - /** - * add context elements like header anchor links - */ - addContextElements : function() { - $('div[id] > :header:first').each(function() { - $('\u00B6'). - attr('href', '#' + this.id). - attr('title', _('Permalink to this headline')). - appendTo(this); - }); - $('dt[id]').each(function() { - $('\u00B6'). - attr('href', '#' + this.id). - attr('title', _('Permalink to this definition')). - appendTo(this); - }); - }, - - /** - * workaround a firefox stupidity - * see: https://bugzilla.mozilla.org/show_bug.cgi?id=645075 - */ - fixFirefoxAnchorBug : function() { - if (document.location.hash && $.browser.mozilla) - window.setTimeout(function() { - document.location.href += ''; - }, 10); - }, - - /** - * highlight the search words provided in the url in the text - */ - highlightSearchWords : function() { - var params = $.getQueryParameters(); - var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : []; - if (terms.length) { - var body = $('div.body'); - if (!body.length) { - body = $('body'); - } - window.setTimeout(function() { - $.each(terms, function() { - body.highlightText(this.toLowerCase(), 'highlighted'); - }); - }, 10); - $('') - .appendTo($('#searchbox')); + gettext: (string) => { + const translated = Documentation.TRANSLATIONS[string]; + switch (typeof translated) { + case "undefined": + return string; // no translation + case "string": + return translated; // translation exists + default: + return translated[0]; // (singular, plural) translation tuple exists } }, - /** - * init the domain index toggle buttons - */ - initIndexTable : function() { - var togglers = $('img.toggler').click(function() { - var src = $(this).attr('src'); - var idnum = $(this).attr('id').substr(7); - $('tr.cg-' + idnum).toggle(); - if (src.substr(-9) === 'minus.png') - $(this).attr('src', src.substr(0, src.length-9) + 'plus.png'); - else - $(this).attr('src', src.substr(0, src.length-8) + 'minus.png'); - }).css('display', ''); - if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) { - togglers.click(); - } + ngettext: (singular, plural, n) => { + const translated = Documentation.TRANSLATIONS[singular]; + if (typeof translated !== "undefined") + return translated[Documentation.PLURAL_EXPR(n)]; + return n === 1 ? singular : plural; }, - /** - * helper function to hide the search marks again - */ - hideSearchWords : function() { - $('#searchbox .highlight-link').fadeOut(300); - $('span.highlighted').removeClass('highlighted'); - var url = new URL(window.location); - url.searchParams.delete('highlight'); - window.history.replaceState({}, '', url); + addTranslations: (catalog) => { + Object.assign(Documentation.TRANSLATIONS, catalog.messages); + Documentation.PLURAL_EXPR = new Function( + "n", + `return (${catalog.plural_expr})` + ); + Documentation.LOCALE = catalog.locale; }, - /** + /** * helper function to focus on search bar */ - focusSearchBar : function() { - $('input[name=q]').first().focus(); + focusSearchBar: () => { + document.querySelectorAll("input[name=q]")[0]?.focus(); }, /** - * make the url absolute + * Initialise the domain index toggle buttons */ - makeURL : function(relativeURL) { - return DOCUMENTATION_OPTIONS.URL_ROOT + '/' + relativeURL; - }, + initDomainIndexTable: () => { + const toggler = (el) => { + const idNumber = el.id.substr(7); + const toggledRows = document.querySelectorAll(`tr.cg-${idNumber}`); + if (el.src.substr(-9) === "minus.png") { + el.src = `${el.src.substr(0, el.src.length - 9)}plus.png`; + toggledRows.forEach((el) => (el.style.display = "none")); + } else { + el.src = `${el.src.substr(0, el.src.length - 8)}minus.png`; + toggledRows.forEach((el) => (el.style.display = "")); + } + }; - /** - * get the current relative url - */ - getCurrentURL : function() { - var path = document.location.pathname; - var parts = path.split(/\//); - $.each(DOCUMENTATION_OPTIONS.URL_ROOT.split(/\//), function() { - if (this === '..') - parts.pop(); - }); - var url = parts.join('/'); - return path.substring(url.lastIndexOf('/') + 1, path.length - 1); + const togglerElements = document.querySelectorAll("img.toggler"); + togglerElements.forEach((el) => + el.addEventListener("click", (event) => toggler(event.currentTarget)) + ); + togglerElements.forEach((el) => (el.style.display = "")); + if (DOCUMENTATION_OPTIONS.COLLAPSE_INDEX) togglerElements.forEach(toggler); }, - initOnKeyListeners: function() { + initOnKeyListeners: () => { // only install a listener if it is really needed - if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS && - !DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) - return; - - $(document).keydown(function(event) { - var activeElementType = document.activeElement.tagName; - // don't navigate when in search box, textarea, dropdown or button - if (activeElementType !== 'TEXTAREA' && activeElementType !== 'INPUT' && activeElementType !== 'SELECT' - && activeElementType !== 'BUTTON') { - if (event.altKey || event.ctrlKey || event.metaKey) - return; - - if (!event.shiftKey) { - switch (event.key) { - case 'ArrowLeft': - if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) - break; - var prevHref = $('link[rel="prev"]').prop('href'); - if (prevHref) { - window.location.href = prevHref; - return false; - } - break; - case 'ArrowRight': - if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) - break; - var nextHref = $('link[rel="next"]').prop('href'); - if (nextHref) { - window.location.href = nextHref; - return false; - } - break; - case 'Escape': - if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) - break; - Documentation.hideSearchWords(); - return false; - } - } - - // some keyboard layouts may need Shift to get / + if ( + !DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS && + !DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS + ) + return; + + document.addEventListener("keydown", (event) => { + // bail for input elements + if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return; + // bail with special keys + if (event.altKey || event.ctrlKey || event.metaKey) return; + + if (!event.shiftKey) { switch (event.key) { - case '/': - if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) - break; - Documentation.focusSearchBar(); - return false; + case "ArrowLeft": + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; + + const prevLink = document.querySelector('link[rel="prev"]'); + if (prevLink && prevLink.href) { + window.location.href = prevLink.href; + event.preventDefault(); + } + break; + case "ArrowRight": + if (!DOCUMENTATION_OPTIONS.NAVIGATION_WITH_KEYS) break; + + const nextLink = document.querySelector('link[rel="next"]'); + if (nextLink && nextLink.href) { + window.location.href = nextLink.href; + event.preventDefault(); + } + break; } } + + // some keyboard layouts may need Shift to get / + switch (event.key) { + case "/": + if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) break; + Documentation.focusSearchBar(); + event.preventDefault(); + } }); - } + }, }; // quick alias for translations -_ = Documentation.gettext; +const _ = Documentation.gettext; -$(document).ready(function() { - Documentation.init(); -}); +_ready(Documentation.init); diff --git a/docs/_static/documentation_options.js b/docs/_static/documentation_options.js index 0b2a2c44..e441539a 100644 --- a/docs/_static/documentation_options.js +++ b/docs/_static/documentation_options.js @@ -1,7 +1,7 @@ var DOCUMENTATION_OPTIONS = { URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), - VERSION: '2022.5.26', - LANGUAGE: 'None', + VERSION: '2023.3.10', + LANGUAGE: 'en', COLLAPSE_INDEX: false, BUILDER: 'html', FILE_SUFFIX: '.html', diff --git a/docs/_static/language_data.js b/docs/_static/language_data.js index ebe2f03b..250f5665 100644 --- a/docs/_static/language_data.js +++ b/docs/_static/language_data.js @@ -5,12 +5,12 @@ * This script contains the language-specific data used by searchtools.js, * namely the list of stopwords, stemmer, scorer and splitter. * - * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ -var stopwords = ["a","and","are","as","at","be","but","by","for","if","in","into","is","it","near","no","not","of","on","or","such","that","the","their","then","there","these","they","this","to","was","will","with"]; +var stopwords = ["a", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "near", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"]; /* Non-minified version is copied as a separate JS file, is available */ @@ -197,101 +197,3 @@ var Stemmer = function() { } } - - - -var splitChars = (function() { - var result = {}; - var singles = [96, 180, 187, 191, 215, 247, 749, 885, 903, 907, 909, 930, 1014, 1648, - 1748, 1809, 2416, 2473, 2481, 2526, 2601, 2609, 2612, 2615, 2653, 2702, - 2706, 2729, 2737, 2740, 2857, 2865, 2868, 2910, 2928, 2948, 2961, 2971, - 2973, 3085, 3089, 3113, 3124, 3213, 3217, 3241, 3252, 3295, 3341, 3345, - 3369, 3506, 3516, 3633, 3715, 3721, 3736, 3744, 3748, 3750, 3756, 3761, - 3781, 3912, 4239, 4347, 4681, 4695, 4697, 4745, 4785, 4799, 4801, 4823, - 4881, 5760, 5901, 5997, 6313, 7405, 8024, 8026, 8028, 8030, 8117, 8125, - 8133, 8181, 8468, 8485, 8487, 8489, 8494, 8527, 11311, 11359, 11687, 11695, - 11703, 11711, 11719, 11727, 11735, 12448, 12539, 43010, 43014, 43019, 43587, - 43696, 43713, 64286, 64297, 64311, 64317, 64319, 64322, 64325, 65141]; - var i, j, start, end; - for (i = 0; i < singles.length; i++) { - result[singles[i]] = true; - } - var ranges = [[0, 47], [58, 64], [91, 94], [123, 169], [171, 177], [182, 184], [706, 709], - [722, 735], [741, 747], [751, 879], [888, 889], [894, 901], [1154, 1161], - [1318, 1328], [1367, 1368], [1370, 1376], [1416, 1487], [1515, 1519], [1523, 1568], - [1611, 1631], [1642, 1645], [1750, 1764], [1767, 1773], [1789, 1790], [1792, 1807], - [1840, 1868], [1958, 1968], [1970, 1983], [2027, 2035], [2038, 2041], [2043, 2047], - [2070, 2073], [2075, 2083], [2085, 2087], [2089, 2307], [2362, 2364], [2366, 2383], - [2385, 2391], [2402, 2405], [2419, 2424], [2432, 2436], [2445, 2446], [2449, 2450], - [2483, 2485], [2490, 2492], [2494, 2509], [2511, 2523], [2530, 2533], [2546, 2547], - [2554, 2564], [2571, 2574], [2577, 2578], [2618, 2648], [2655, 2661], [2672, 2673], - [2677, 2692], [2746, 2748], [2750, 2767], [2769, 2783], [2786, 2789], [2800, 2820], - [2829, 2830], [2833, 2834], [2874, 2876], [2878, 2907], [2914, 2917], [2930, 2946], - [2955, 2957], [2966, 2968], [2976, 2978], [2981, 2983], [2987, 2989], [3002, 3023], - [3025, 3045], [3059, 3076], [3130, 3132], [3134, 3159], [3162, 3167], [3170, 3173], - [3184, 3191], [3199, 3204], [3258, 3260], [3262, 3293], [3298, 3301], [3312, 3332], - [3386, 3388], [3390, 3423], [3426, 3429], [3446, 3449], [3456, 3460], [3479, 3481], - [3518, 3519], [3527, 3584], [3636, 3647], [3655, 3663], [3674, 3712], [3717, 3718], - [3723, 3724], [3726, 3731], [3752, 3753], [3764, 3772], [3774, 3775], [3783, 3791], - [3802, 3803], [3806, 3839], [3841, 3871], [3892, 3903], [3949, 3975], [3980, 4095], - [4139, 4158], [4170, 4175], [4182, 4185], [4190, 4192], [4194, 4196], [4199, 4205], - [4209, 4212], [4226, 4237], [4250, 4255], [4294, 4303], [4349, 4351], [4686, 4687], - [4702, 4703], [4750, 4751], [4790, 4791], [4806, 4807], [4886, 4887], [4955, 4968], - [4989, 4991], [5008, 5023], [5109, 5120], [5741, 5742], [5787, 5791], [5867, 5869], - [5873, 5887], [5906, 5919], [5938, 5951], [5970, 5983], [6001, 6015], [6068, 6102], - [6104, 6107], [6109, 6111], [6122, 6127], [6138, 6159], [6170, 6175], [6264, 6271], - [6315, 6319], [6390, 6399], [6429, 6469], [6510, 6511], [6517, 6527], [6572, 6592], - [6600, 6607], [6619, 6655], [6679, 6687], [6741, 6783], [6794, 6799], [6810, 6822], - [6824, 6916], [6964, 6980], [6988, 6991], [7002, 7042], [7073, 7085], [7098, 7167], - [7204, 7231], [7242, 7244], [7294, 7400], [7410, 7423], [7616, 7679], [7958, 7959], - [7966, 7967], [8006, 8007], [8014, 8015], [8062, 8063], [8127, 8129], [8141, 8143], - [8148, 8149], [8156, 8159], [8173, 8177], [8189, 8303], [8306, 8307], [8314, 8318], - [8330, 8335], [8341, 8449], [8451, 8454], [8456, 8457], [8470, 8472], [8478, 8483], - [8506, 8507], [8512, 8516], [8522, 8525], [8586, 9311], [9372, 9449], [9472, 10101], - [10132, 11263], [11493, 11498], [11503, 11516], [11518, 11519], [11558, 11567], - [11622, 11630], [11632, 11647], [11671, 11679], [11743, 11822], [11824, 12292], - [12296, 12320], [12330, 12336], [12342, 12343], [12349, 12352], [12439, 12444], - [12544, 12548], [12590, 12592], [12687, 12689], [12694, 12703], [12728, 12783], - [12800, 12831], [12842, 12880], [12896, 12927], [12938, 12976], [12992, 13311], - [19894, 19967], [40908, 40959], [42125, 42191], [42238, 42239], [42509, 42511], - [42540, 42559], [42592, 42593], [42607, 42622], [42648, 42655], [42736, 42774], - [42784, 42785], [42889, 42890], [42893, 43002], [43043, 43055], [43062, 43071], - [43124, 43137], [43188, 43215], [43226, 43249], [43256, 43258], [43260, 43263], - [43302, 43311], [43335, 43359], [43389, 43395], [43443, 43470], [43482, 43519], - [43561, 43583], [43596, 43599], [43610, 43615], [43639, 43641], [43643, 43647], - [43698, 43700], [43703, 43704], [43710, 43711], [43715, 43738], [43742, 43967], - [44003, 44015], [44026, 44031], [55204, 55215], [55239, 55242], [55292, 55295], - [57344, 63743], [64046, 64047], [64110, 64111], [64218, 64255], [64263, 64274], - [64280, 64284], [64434, 64466], [64830, 64847], [64912, 64913], [64968, 65007], - [65020, 65135], [65277, 65295], [65306, 65312], [65339, 65344], [65371, 65381], - [65471, 65473], [65480, 65481], [65488, 65489], [65496, 65497]]; - for (i = 0; i < ranges.length; i++) { - start = ranges[i][0]; - end = ranges[i][1]; - for (j = start; j <= end; j++) { - result[j] = true; - } - } - return result; -})(); - -function splitQuery(query) { - var result = []; - var start = -1; - for (var i = 0; i < query.length; i++) { - if (splitChars[query.charCodeAt(i)]) { - if (start !== -1) { - result.push(query.slice(start, i)); - start = -1; - } - } else if (start === -1) { - start = i; - } - } - if (start !== -1) { - result.push(query.slice(start)); - } - return result; -} - - diff --git a/docs/_static/searchtools.js b/docs/_static/searchtools.js index 0a44e858..97d56a74 100644 --- a/docs/_static/searchtools.js +++ b/docs/_static/searchtools.js @@ -4,22 +4,24 @@ * * Sphinx JavaScript utilities for the full-text search. * - * :copyright: Copyright 2007-2022 by the Sphinx team, see AUTHORS. + * :copyright: Copyright 2007-2023 by the Sphinx team, see AUTHORS. * :license: BSD, see LICENSE for details. * */ +"use strict"; -if (!Scorer) { - /** - * Simple result scoring code. - */ +/** + * Simple result scoring code. + */ +if (typeof Scorer === "undefined") { var Scorer = { // Implement the following function to further tweak the score for each result - // The function takes a result array [filename, title, anchor, descr, score] + // The function takes a result array [docname, title, anchor, descr, score, filename] // and returns the new score. /* - score: function(result) { - return result[4]; + score: result => { + const [docname, title, anchor, descr, score, filename] = result + return score }, */ @@ -28,9 +30,11 @@ if (!Scorer) { // or matches in the last dotted part of the object name objPartialMatch: 6, // Additive scores depending on the priority of the object - objPrio: {0: 15, // used to be importantResults - 1: 5, // used to be objectResults - 2: -5}, // used to be unimportantResults + objPrio: { + 0: 15, // used to be importantResults + 1: 5, // used to be objectResults + 2: -5, // used to be unimportantResults + }, // Used when the priority is not in the mapping. objPrioDefault: 0, @@ -39,452 +43,495 @@ if (!Scorer) { partialTitle: 7, // query found in terms term: 5, - partialTerm: 2 + partialTerm: 2, }; } -if (!splitQuery) { - function splitQuery(query) { - return query.split(/\s+/); +const _removeChildren = (element) => { + while (element && element.lastChild) element.removeChild(element.lastChild); +}; + +/** + * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping + */ +const _escapeRegExp = (string) => + string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string + +const _displayItem = (item, searchTerms) => { + const docBuilder = DOCUMENTATION_OPTIONS.BUILDER; + const docUrlRoot = DOCUMENTATION_OPTIONS.URL_ROOT; + const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX; + const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX; + const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY; + + const [docName, title, anchor, descr, score, _filename] = item; + + let listItem = document.createElement("li"); + let requestUrl; + let linkUrl; + if (docBuilder === "dirhtml") { + // dirhtml builder + let dirname = docName + "/"; + if (dirname.match(/\/index\/$/)) + dirname = dirname.substring(0, dirname.length - 6); + else if (dirname === "index/") dirname = ""; + requestUrl = docUrlRoot + dirname; + linkUrl = requestUrl; + } else { + // normal html builders + requestUrl = docUrlRoot + docName + docFileSuffix; + linkUrl = docName + docLinkSuffix; } + let linkEl = listItem.appendChild(document.createElement("a")); + linkEl.href = linkUrl + anchor; + linkEl.dataset.score = score; + linkEl.innerHTML = title; + if (descr) + listItem.appendChild(document.createElement("span")).innerHTML = + " (" + descr + ")"; + else if (showSearchSummary) + fetch(requestUrl) + .then((responseData) => responseData.text()) + .then((data) => { + if (data) + listItem.appendChild( + Search.makeSearchSummary(data, searchTerms) + ); + }); + Search.output.appendChild(listItem); +}; +const _finishSearch = (resultCount) => { + Search.stopPulse(); + Search.title.innerText = _("Search Results"); + if (!resultCount) + Search.status.innerText = Documentation.gettext( + "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories." + ); + else + Search.status.innerText = _( + `Search finished, found ${resultCount} page(s) matching the search query.` + ); +}; +const _displayNextItem = ( + results, + resultCount, + searchTerms +) => { + // results left, load the summary and display it + // this is intended to be dynamic (don't sub resultsCount) + if (results.length) { + _displayItem(results.pop(), searchTerms); + setTimeout( + () => _displayNextItem(results, resultCount, searchTerms), + 5 + ); + } + // search finished, update title and status message + else _finishSearch(resultCount); +}; + +/** + * Default splitQuery function. Can be overridden in ``sphinx.search`` with a + * custom function per language. + * + * The regular expression works by splitting the string on consecutive characters + * that are not Unicode letters, numbers, underscores, or emoji characters. + * This is the same as ``\W+`` in Python, preserving the surrogate pair area. + */ +if (typeof splitQuery === "undefined") { + var splitQuery = (query) => query + .split(/[^\p{Letter}\p{Number}_\p{Emoji_Presentation}]+/gu) + .filter(term => term) // remove remaining empty strings } /** * Search Module */ -var Search = { - - _index : null, - _queued_query : null, - _pulse_status : -1, - - htmlToText : function(htmlString) { - var virtualDocument = document.implementation.createHTMLDocument('virtual'); - var htmlElement = $(htmlString, virtualDocument); - htmlElement.find('.headerlink').remove(); - docContent = htmlElement.find('[role=main]')[0]; - if(docContent === undefined) { - console.warn("Content block not found. Sphinx search tries to obtain it " + - "via '[role=main]'. Could you check your theme or template."); - return ""; - } - return docContent.textContent || docContent.innerText; +const Search = { + _index: null, + _queued_query: null, + _pulse_status: -1, + + htmlToText: (htmlString) => { + const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html'); + htmlElement.querySelectorAll(".headerlink").forEach((el) => { el.remove() }); + const docContent = htmlElement.querySelector('[role="main"]'); + if (docContent !== undefined) return docContent.textContent; + console.warn( + "Content block not found. Sphinx search tries to obtain it via '[role=main]'. Could you check your theme or template." + ); + return ""; }, - init : function() { - var params = $.getQueryParameters(); - if (params.q) { - var query = params.q[0]; - $('input[name="q"]')[0].value = query; - this.performSearch(query); - } + init: () => { + const query = new URLSearchParams(window.location.search).get("q"); + document + .querySelectorAll('input[name="q"]') + .forEach((el) => (el.value = query)); + if (query) Search.performSearch(query); }, - loadIndex : function(url) { - $.ajax({type: "GET", url: url, data: null, - dataType: "script", cache: true, - complete: function(jqxhr, textstatus) { - if (textstatus != "success") { - document.getElementById("searchindexloader").src = url; - } - }}); - }, + loadIndex: (url) => + (document.body.appendChild(document.createElement("script")).src = url), - setIndex : function(index) { - var q; - this._index = index; - if ((q = this._queued_query) !== null) { - this._queued_query = null; - Search.query(q); + setIndex: (index) => { + Search._index = index; + if (Search._queued_query !== null) { + const query = Search._queued_query; + Search._queued_query = null; + Search.query(query); } }, - hasIndex : function() { - return this._index !== null; - }, + hasIndex: () => Search._index !== null, - deferQuery : function(query) { - this._queued_query = query; - }, + deferQuery: (query) => (Search._queued_query = query), - stopPulse : function() { - this._pulse_status = 0; - }, + stopPulse: () => (Search._pulse_status = -1), - startPulse : function() { - if (this._pulse_status >= 0) - return; - function pulse() { - var i; + startPulse: () => { + if (Search._pulse_status >= 0) return; + + const pulse = () => { Search._pulse_status = (Search._pulse_status + 1) % 4; - var dotString = ''; - for (i = 0; i < Search._pulse_status; i++) - dotString += '.'; - Search.dots.text(dotString); - if (Search._pulse_status > -1) - window.setTimeout(pulse, 500); - } + Search.dots.innerText = ".".repeat(Search._pulse_status); + if (Search._pulse_status >= 0) window.setTimeout(pulse, 500); + }; pulse(); }, /** * perform a search for something (or wait until index is loaded) */ - performSearch : function(query) { + performSearch: (query) => { // create the required interface elements - this.out = $('#search-results'); - this.title = $('

    ' + _('Searching') + '

    ').appendTo(this.out); - this.dots = $('').appendTo(this.title); - this.status = $('

     

    ').appendTo(this.out); - this.output = $(' @@ -48,7 +47,7 @@

    Navigation

    -

    krTheme Sphinx Style

    +

    krTheme Sphinx Style

    This repository contains sphinx styles Kenneth Reitz uses in most of his projects. It is a drivative of Mitsuhiko’s themes for Flask and Flask related projects. To use this style in your Sphinx documentation, follow @@ -100,7 +99,7 @@

    Quick search

    - +
    diff --git a/docs/changelog.html b/docs/changelog.html index 4f5d1316..274d248e 100644 --- a/docs/changelog.html +++ b/docs/changelog.html @@ -1,18 +1,17 @@ - + - + - Change Log — custodian 2022.5.26 documentation + Change Log — custodian 2023.3.10 documentation - - + @@ -37,7 +36,7 @@

    Navigation

  • modules |
  • - + @@ -48,15 +47,22 @@

    Navigation

    -

    Change Log

    +

    Change Log

    +
    +

    v2023.3.8

    +
      +
    • Updates for QChem6 support (@samblau)

    • +
    • Updates for CP2K support (@nwinner)

    • +
    +
    -

    v2022.5.26

    +

    v2022.5.26

    • PR #219 from @samblau. Q-Chem updates to NBO, new geometry optimizer, revamped SCF error handling.

    -

    v2022.5.17

    +

    v2022.5.17

    • PR #220 from @yury-lysogorskiy. Fix for NBANDS when NBANDS is very small.

    • PR #211 from @arosen93. Handler for error in reading plane wave coeff.

    • @@ -66,14 +72,14 @@

      v2022.5.17 -

      v2022.2.13

      +

      v2022.2.13

      • Support for new Lobster versions (@naik-aakash)

      • Bug fix for termination of gamma VASP runs.

    -

    v2022.1.17

    +

    v2022.1.17

    • New NBANDS not sufficient handler in VASP (@arosen93)

    • New VASP error handling for VASP 6.2.1 HNFORM error (@arosen93)

    • @@ -82,7 +88,7 @@

      v2022.1.17 -

      v2021.12.2

      +

      v2021.12.2

      • Address new VASP6 inconsistent Bravais lattice error (@arosen93)

      • Don’t check for drift if NSW = 1 (@arosen93)

      • @@ -98,25 +104,25 @@

        v2021.12.2 -

        v2021.2.8

        +

        v2021.2.8

        • Allow static calculations with ISMEAR = -5 for metals (@MichaelWolloch).

    -

    v2021.1.8

    +

    v2021.1.8

    • New handlers for VASP6 (@mkhorton, @rkingsbury)

    -

    v2021.1.7

    +

    v2021.1.7

    • Improved handling of scratch directories and update for QChem.

    -

    v2019.8.24

    +

    v2019.8.24

    • Cleanup codestyle, which is now enforced.

    • Py3k support only, in line with pymatgen.

    • @@ -127,13 +133,13 @@

      v2019.8.24 -

      v2019.2.10

      +

      v2019.2.10

      • Improved slow convergence handling. (@shyamd)

    -

    v2019.2.7

    +

    v2019.2.7

    • Improved error logging.

    • Improved handling of frozen jobs and potim errors.

    • @@ -141,7 +147,7 @@

      v2019.2.7 -

      v2017.12.23

      +

      v2017.12.23

      • cstdn command line tool is now official with docs.

      • Fine-grained control of VaspErrorHandler is now possible using @@ -150,37 +156,37 @@

        v2017.12.23 -

        v1.1.1

        +

        v1.1.1

        • DriftErrorHandler (Shyam)

    -

    v1.1.0

    +

    v1.1.0

    • Improved error handling for Qchem calculations.

    -

    v1.0.4

    +

    v1.0.4

    • Improved handling of non-zero return codes.

    -

    v1.0.2

    +

    v1.0.2

    • Interrupted run feature. (Shyam Dwaraknath)

    -

    v1.0.1

    +

    v1.0.1

    • Pymatgen 4.0.0 compatible release.

    -

    v1.0.0

    +

    v1.0.0

    • Custodian now comes with a “cstdn” script that enables the arbitrary creation of simple job sequences using a yaml file, and the running of calculations @@ -188,31 +194,31 @@

      v1.0.0 -

      v0.8.8

      +

      v0.8.8

      1. Fix setup.py.

    -

    v0.8.5

    +

    v0.8.5

    1. Refactoring to support pymatgen 3.1.4.

    -

    v0.8.2

    +

    v0.8.2

    1. Made auto_npar optional for double relaxation VASP run.

    -

    v0.8.1

    +

    v0.8.1

    1. Misc bug fixes (minor).

    -

    v0.8.0

    +

    v0.8.0

    1. Major refactoring of Custodian to introdce Validators, which are effectively post-Job checking mechanisms that do not perform @@ -229,7 +235,7 @@

      v0.8.0 -

      v0.7.5

      +

      v0.7.5

      1. Major Custodian now exits with RuntimeError when max_errors or unrecoverable_error is encountered.

      2. @@ -237,7 +243,7 @@

        v0.7.5 -

        v0.7.4

        +

        v0.7.4

        1. auto_npar option in VaspJob now properly handles Hessian calculations.

        2. WalltimeHandler now supports termination at electronic step (David @@ -246,7 +252,7 @@

          v0.7.4 -

          v0.7.3

          +

          v0.7.3

          1. Improved backwards compatibility for WallTimeHandler.

          2. Improvements to VaspErrorHandler. No longer catches spurious BRMIX error @@ -256,7 +262,7 @@

            v0.7.3 -

            v0.7.2

            +

            v0.7.2

            1. Improved WalltimeHandler (PBSWalltimeHandler is a subset and is now deprecated).

            2. @@ -264,14 +270,14 @@

              v0.7.2 -

              v0.7.1

              +

              v0.7.1

              1. Much improved qchem error handling (Xiaohui Qu).

              2. New Monty required version (>= 0.2.0).

    -

    v0.7.0

    +

    v0.7.0

    1. **Backwards incompatible with v0.6.3. Refactoring to move commonly used Python utility functions to Monty package, which is now a depedency @@ -290,7 +296,7 @@

      v0.7.0 -

      0.6.3

      +

      0.6.3

      1. Added buffer time option in PBSWalltimeHandler.

      2. Improved Qchem jobs and handlers (Xiaohui Qu).

      3. @@ -298,21 +304,21 @@

        0.6.3

    -

    0.6.2

    +

    0.6.2

    1. Bug fix release to support sub dirs in run folder when using scratch.

    2. Improve handling of walltime in PBSWalltimeHander.

    -

    0.6.1

    +

    0.6.1

    1. Bug fix release to address minor issue with checkpointing.

    2. Checkpointing is now turned off by default.

    -

    0.6.0

    +

    0.6.0

    1. Checkpointing implemented for Custodian. Custodian can now checkpoint all files in the current working directory after every successful job. If the @@ -323,7 +329,7 @@

      0.6.0

    -

    0.5.0

    +

    0.5.0

    1. Added scratch_dir option to Custodian class as well as run_vasp and run_nwchem scripts. Many supercomputing clusters have a scratch space @@ -333,27 +339,27 @@

      0.5.0

    -

    0.4.5

    +

    0.4.5

    1. Fix gzip of output.

    -

    0.4.3

    +

    0.4.3

    1. Added handling for ZBRENT error for VASP.

    2. Minor refactoring to consolidate backup and gzip directory methods.

    -

    0.4.2

    +

    0.4.2

    1. Rudimentary support for Nwchem error handling (by Shyue Ping Ong).

    2. Improved VASP error handling (by Steve Dacek and Will Richards).

    -

    0.4.1

    +

    0.4.1

    1. Added hanlding of PRICEL error in VASP.

    2. Speed and robustness improvements.

    3. @@ -361,7 +367,7 @@

      0.4.1

    -

    0.4.0

    +

    0.4.0

    1. Many VASP handlers are now consolidated into a single VaspErrorHandler.

    2. Many more fixes for VASP runs, including the “TOO FEW BANDS”, @@ -373,7 +379,7 @@

      0.4.0

    -

    0.3.5

    +

    0.3.5

    1. Bug fix for incorrect shift error handler in VASP.

    2. More robust fix for unconverged VASP runs (switching from ALGO fast to @@ -382,7 +388,7 @@

      0.3.5

    -

    0.3.4

    +

    0.3.4

    1. Added support for handlers that perform monitor a job as it is progressing and terminates it if necessary. Useful for correcting errors that come up @@ -390,13 +396,13 @@

      0.3.4

    -

    0.3.2

    +

    0.3.2

    1. Important bug fix for VaspJob and converge_kpoints script.

    -

    0.3.0

    +

    0.3.0

    1. Major update to custodian API. Custodian now perform more comprehensive logging in a file called custodian.json, which logs all jobs and @@ -404,13 +410,13 @@

      0.3.0

    -

    Version 0.2.6

    +

    Version 0.2.6

    1. Bug fix for run_vasp script for static runs.

    -

    Version 0.2.5

    +

    Version 0.2.5

    1. run_vasp script that now provides flexible specification of vasp runs.

    2. Vastly improved error handling for VASP runs.

    3. @@ -420,7 +426,7 @@

      Version 0.2.5 -

      Version 0.2.4

      +

      Version 0.2.4

      1. Bug fixes for aflow style runs assimilation.

      @@ -438,6 +444,7 @@

      Version 0.2.4Table of Contents

    - +
    diff --git a/docs/custodian.ansible.html b/docs/custodian.ansible.html index 11ac5bc3..83e1bf91 100644 --- a/docs/custodian.ansible.html +++ b/docs/custodian.ansible.html @@ -1,18 +1,17 @@ - + - + - custodian.ansible package — custodian 2022.5.26 documentation + custodian.ansible package — custodian 2023.3.10 documentation - - + @@ -37,7 +36,7 @@

    Navigation

  • modules |
  • - + @@ -48,17 +47,17 @@

    Navigation

    -

    custodian.ansible package

    +

    custodian.ansible package

    -

    Subpackages

    +

    Subpackages

    -

    Submodules

    +

    Submodules

    -

    custodian.ansible.actions module

    +

    custodian.ansible.actions module

    This module defines various classes of supported actions. All actions are implemented as static methods, but are defined using classes (as opposed to modules) so that a set of well-defined actions can be namespaced easily.

    @@ -90,7 +89,7 @@

    Submodulesstatic add_to_set(input_dict, settings)[source]

    Add to set using MongoDB syntax.

    -
    Parameters
    +
    Parameters:

    - +
    diff --git a/docs/custodian.cli.html b/docs/custodian.cli.html index 485044d8..1ad36f2e 100644 --- a/docs/custodian.cli.html +++ b/docs/custodian.cli.html @@ -1,18 +1,17 @@ - + - + - custodian.cli package — custodian 2022.5.26 documentation + custodian.cli package — custodian 2023.3.10 documentation - - + @@ -37,7 +36,7 @@

    Navigation

  • modules |
  • - + @@ -48,12 +47,12 @@

    Navigation

    -

    custodian.cli package

    +

    custodian.cli package

    -

    Submodules

    +

    Submodules

    -

    custodian.cli.converge_geometry module

    +

    custodian.cli.converge_geometry module

    This is a script to converge the geometry of a system

    @@ -69,7 +68,7 @@

    Submodules -

    custodian.cli.converge_kpoints module

    +

    custodian.cli.converge_kpoints module

    This is a master vasp running script to converging kpoints for a calculation

    @@ -91,7 +90,7 @@

    Submodules -

    custodian.cli.cstdn module

    +

    custodian.cli.cstdn module

    A yaml based Custodian job runner. Allows for multi-step jobs with modifications along the way.

    @@ -113,7 +112,7 @@

    Submodules -

    custodian.cli.run_nwchem module

    +

    custodian.cli.run_nwchem module

    Basic script to run nwchem job.

    @@ -129,7 +128,7 @@

    Submodules -

    custodian.cli.run_vasp module

    +

    custodian.cli.run_vasp module

    This is a master vasp running script to perform various combinations of VASP runs.

    @@ -158,7 +157,7 @@

    Submodules -

    Module contents

    +

    Module contents

    Implement various command line utilities.

    @@ -175,11 +174,35 @@

    Table of Contents

    - +
    diff --git a/docs/custodian.cp2k.html b/docs/custodian.cp2k.html index a680220e..96a10708 100644 --- a/docs/custodian.cp2k.html +++ b/docs/custodian.cp2k.html @@ -1,18 +1,17 @@ - + - + - custodian.cp2k package — custodian 2022.5.26 documentation + custodian.cp2k package — custodian 2023.3.10 documentation - - + @@ -37,7 +36,7 @@

    Navigation

  • modules |
  • - + @@ -48,17 +47,17 @@

    Navigation

    -

    custodian.cp2k package

    +

    custodian.cp2k package

    -

    Subpackages

    +

    Subpackages

    -

    Submodules

    +

    Submodules

    -

    custodian.cp2k.handlers module

    +

    custodian.cp2k.handlers module

    Error handlers for CP2K calculations.

    Handlers should be specific enough that they are not bulky (keep overhead low), but if two handlers will always be called together, then consider joining them @@ -77,7 +76,7 @@

    Submodules
    class AbortHandler(input_file='cp2k.inp', output_file='cp2k.out')[source]
    -

    Bases: custodian.custodian.ErrorHandler

    +

    Bases: 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 @@ -93,7 +92,7 @@

    Submodules -
    Parameters
    +
    Parameters:

    @@ -930,11 +929,109 @@

    Table of Contents

  • custodian.cp2k package
  • @@ -961,7 +1058,7 @@

    Quick search

    - +
    diff --git a/docs/custodian.feff.html b/docs/custodian.feff.html index d77bd5a6..4ab947b1 100644 --- a/docs/custodian.feff.html +++ b/docs/custodian.feff.html @@ -1,18 +1,17 @@ - + - + - custodian.feff package — custodian 2022.5.26 documentation + custodian.feff package — custodian 2023.3.10 documentation - - + @@ -37,7 +36,7 @@

    Navigation

  • modules |
  • - + @@ -48,26 +47,26 @@

    Navigation

    -

    custodian.feff package

    +

    custodian.feff package

    -

    Subpackages

    +

    Subpackages

    -

    Submodules

    +

    Submodules

    -

    custodian.feff.handlers module

    +

    custodian.feff.handlers module

    This module implements specific error handler for FEFF runs.

    class UnconvergedErrorHandler(output_filename='log1.dat')[source]
    -

    Bases: custodian.custodian.ErrorHandler

    +

    Bases: ErrorHandler

    Correct the unconverged error of FEFF’s SCF calculation.

    Initializes the handler with the output file to check

    -
    Parameters
    +
    Parameters:

    output_filename (str) – Filename for the log1.dat file. log1.dat file contains the SCF calculation convergence information. Change this only if it is different from the default (unlikely).

    @@ -101,15 +100,15 @@

    Submodules -

    custodian.feff.interpreter module

    +

    custodian.feff.interpreter module

    Implements various interpreters and modders for FEFF calculations.

    class FeffModder(actions=None, strict=True, feffinp=None)[source]
    -

    Bases: custodian.ansible.interpreter.Modder

    +

    Bases: Modder

    A Modder for FeffInput sets

    -
    Parameters
    +
    Parameters:
    @@ -211,9 +210,31 @@

    Table of Contents

  • custodian.feff package
  • @@ -240,7 +261,7 @@

    Quick search

    - +
    diff --git a/docs/custodian.html b/docs/custodian.html index cb6593a4..cfb602b6 100644 --- a/docs/custodian.html +++ b/docs/custodian.html @@ -1,18 +1,17 @@ - + - + - custodian package — custodian 2022.5.26 documentation + custodian package — custodian 2023.3.10 documentation - - + @@ -37,7 +36,7 @@

    Navigation

  • modules |
  • - + @@ -48,9 +47,9 @@

    Navigation

    -

    custodian package

    +

    custodian package

    -

    Subpackages

    +

    Subpackages

    @@ -91,9 +243,31 @@

    SubpackagesSubmodules -
  • custodian.feff.handlers module
  • -
  • custodian.feff.interpreter module
  • -
  • custodian.feff.jobs module
  • +
  • custodian.feff.handlers module +
  • +
  • custodian.feff.interpreter module +
  • +
  • custodian.feff.jobs module +
  • Module contents
  • @@ -102,8 +276,30 @@

    SubpackagesSubmodules -
  • custodian.lobster.handlers module
  • -
  • custodian.lobster.jobs module
  • +
  • custodian.lobster.handlers module +
  • +
  • custodian.lobster.jobs module +
  • Module contents
  • @@ -112,8 +308,23 @@

    SubpackagesSubmodules -
  • custodian.nwchem.handlers module
  • -
  • custodian.nwchem.jobs module
  • +
  • custodian.nwchem.handlers module +
  • +
  • custodian.nwchem.jobs module +
  • Module contents
  • @@ -124,7 +335,11 @@

    SubpackagesSubmodules
  • custodian.qchem.handlers module
  • custodian.qchem.jobs module
  • -
  • custodian.qchem.utils module
  • +
  • custodian.qchem.utils module +
  • Module contents
  • @@ -133,10 +348,172 @@

    SubpackagesSubmodules -
  • custodian.vasp.handlers module
  • -
  • custodian.vasp.interpreter module
  • -
  • custodian.vasp.jobs module
  • -
  • custodian.vasp.validators module
  • +
  • custodian.vasp.handlers module +
  • +
  • custodian.vasp.interpreter module +
  • +
  • custodian.vasp.jobs module +
  • +
  • custodian.vasp.validators module +
  • Module contents
  • @@ -144,10 +521,10 @@

    Subpackages -

    Submodules

    +

    Submodules

    -

    custodian.custodian module

    +

    custodian.custodian module

    This module implements the main Custodian class, which manages a list of jobs given a set of error handlers, the abstract base classes for the ErrorHandlers and Jobs.

    @@ -170,7 +547,7 @@

    Submodules -
    Parameters
    +
    Parameters:

    @@ -662,8 +1039,51 @@

    Table of Contents

  • custodian package
  • @@ -690,7 +1110,7 @@

    Quick search

    - +
    diff --git a/docs/custodian.lobster.html b/docs/custodian.lobster.html index 1eecdebe..01e232af 100644 --- a/docs/custodian.lobster.html +++ b/docs/custodian.lobster.html @@ -1,18 +1,17 @@ - + - + - custodian.lobster package — custodian 2022.5.26 documentation + custodian.lobster package — custodian 2023.3.10 documentation - - + @@ -37,7 +36,7 @@

    Navigation

  • modules |
  • - + @@ -48,25 +47,25 @@

    Navigation

    -

    custodian.lobster package

    +

    custodian.lobster package

    -

    Subpackages

    +

    Subpackages

    -

    Submodules

    +

    Submodules

    -

    custodian.lobster.handlers module

    +

    custodian.lobster.handlers module

    This module implements specific error handler for Lobster runs.

    class ChargeSpillingValidator(output_filename: str = 'lobsterout', charge_spilling_limit: float = 0.05)[source]
    -

    Bases: custodian.custodian.Validator

    +

    Bases: Validator

    Check if spilling is below certain threshold!

    -
    Parameters
    +
    Parameters:
    @@ -179,8 +178,30 @@

    Table of Contents

  • custodian.lobster package
  • @@ -207,7 +228,7 @@

    Quick search

    - +
    diff --git a/docs/custodian.nwchem.html b/docs/custodian.nwchem.html index 7ef0786b..beacd1f5 100644 --- a/docs/custodian.nwchem.html +++ b/docs/custodian.nwchem.html @@ -1,18 +1,17 @@ - + - + - custodian.nwchem package — custodian 2022.5.26 documentation + custodian.nwchem package — custodian 2023.3.10 documentation - - + @@ -37,7 +36,7 @@

    Navigation

  • modules |
  • - + @@ -48,28 +47,28 @@

    Navigation

    -

    custodian.nwchem package

    +

    custodian.nwchem package

    -

    Subpackages

    +

    Subpackages

    -

    Submodules

    +

    Submodules

    -

    custodian.nwchem.handlers module

    +

    custodian.nwchem.handlers module

    This module implements error handlers for Nwchem runs. Currently tested only for B3LYP DFT jobs.

    class NwchemErrorHandler(output_filename='mol.nwout')[source]
    -

    Bases: custodian.custodian.ErrorHandler

    +

    Bases: ErrorHandler

    Error handler for Nwchem Jobs. Currently tested only for B3LYP DFT jobs generated by pymatgen.

    Initializes with an output file name.

    -
    Parameters
    +
    Parameters:

    output_filename (str) – This is the file where the stdout for nwchem is being redirected. The error messages that are checked are present in the stdout. Defaults to “mol.nwout”, which is the @@ -93,16 +92,16 @@

    Submodules -

    custodian.nwchem.jobs module

    +

    custodian.nwchem.jobs module

    This module implements basic kinds of jobs for Nwchem runs.

    class NwchemJob(nwchem_cmd, input_file='mol.nw', output_file='mol.nwout', gzipped=False, backup=True, settings_override=None)[source]
    -

    Bases: custodian.custodian.Job

    +

    Bases: Job

    A basic Nwchem job.

    Initializes a basic NwChem job.

    -
    Parameters
    +
    Parameters:
    • nwchem_cmd ([str]) – Command to run Nwchem as a list of args. For example, [“nwchem”].

    • @@ -141,7 +140,7 @@

      Submodules -

      Module contents

      +

      Module contents

      This package implements various Nwchem Jobs and Error Handlers.

    @@ -159,8 +158,23 @@

    Table of Contents

  • custodian.nwchem package
  • @@ -187,7 +201,7 @@

    Quick search

    - +
    diff --git a/docs/custodian.qchem.html b/docs/custodian.qchem.html index 4f56949a..9cf97d3e 100644 --- a/docs/custodian.qchem.html +++ b/docs/custodian.qchem.html @@ -1,18 +1,17 @@ - + - + - custodian.qchem package — custodian 2022.5.26 documentation + custodian.qchem package — custodian 2023.3.10 documentation - - + @@ -37,7 +36,7 @@

    Navigation

  • modules |
  • - + @@ -48,23 +47,23 @@

    Navigation

    -

    custodian.qchem package

    +

    custodian.qchem package

    -

    Subpackages

    +

    Subpackages

    -

    Submodules

    +

    Submodules

    -

    custodian.qchem.handlers module

    +

    custodian.qchem.handlers module

    -

    custodian.qchem.jobs module

    +

    custodian.qchem.jobs module

    -

    custodian.qchem.utils module

    +

    custodian.qchem.utils module

    This module contains utility functions that are useful for Q-Chem jobs.

    @@ -98,7 +97,7 @@

    custodian.qchem.jobs module -

    Module contents

    +

    Module contents

    This package implements various QChem Jobs and Error Handlers.

    @@ -118,7 +117,11 @@

    Table of Contents

  • Submodules
  • custodian.qchem.handlers module
  • custodian.qchem.jobs module
  • -
  • custodian.qchem.utils module
  • +
  • custodian.qchem.utils module +
  • Module contents
  • @@ -145,7 +148,7 @@

    Quick search

    - +
    diff --git a/docs/custodian.vasp.html b/docs/custodian.vasp.html index aa0abcbc..633c4530 100644 --- a/docs/custodian.vasp.html +++ b/docs/custodian.vasp.html @@ -1,18 +1,17 @@ - + - + - custodian.vasp package — custodian 2022.5.26 documentation + custodian.vasp package — custodian 2023.3.10 documentation - - + @@ -37,7 +36,7 @@

    Navigation

  • modules |
  • - + @@ -48,29 +47,29 @@

    Navigation

    -

    custodian.vasp package

    +

    custodian.vasp package

    -

    Subpackages

    +

    Subpackages

    -

    Submodules

    +

    Submodules

    -

    custodian.vasp.handlers module

    +

    custodian.vasp.handlers module

    This module implements specific error handlers for VASP runs. These handlers try to detect common errors in vasp runs and attempt to fix them on the fly by modifying the input files.

    class AliasingErrorHandler(output_filename='vasp.out')[source]
    -

    Bases: custodian.custodian.ErrorHandler

    +

    Bases: ErrorHandler

    Master VaspErrorHandler class that handles a number of common errors that occur during VASP runs.

    Initializes the handler with the output file to check.

    -
    Parameters
    +
    Parameters:

    output_filename (str) – This is the file where the stdout for vasp is being redirected. The error messages that are checked are present in the stdout. Defaults to “vasp.out”, which is the @@ -110,7 +109,7 @@

    Submodules
    class CheckpointHandler(interval=3600)[source]
    -

    Bases: custodian.custodian.ErrorHandler

    +

    Bases: 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 @@ -121,7 +120,7 @@

    Submodules -
    Parameters
    +
    Parameters:

    @@ -1356,10 +1355,172 @@

    Table of Contents

  • custodian.vasp package
  • @@ -1386,7 +1547,7 @@

    Quick search

    - +
    diff --git a/docs/genindex.html b/docs/genindex.html index d3129572..0a645f96 100644 --- a/docs/genindex.html +++ b/docs/genindex.html @@ -1,17 +1,16 @@ - + - Index — custodian 2022.5.26 documentation + Index — custodian 2023.3.10 documentation - - + @@ -36,7 +35,7 @@

    Navigation

  • modules |
  • - + @@ -1099,7 +1098,7 @@

    Quick search

    - +
    diff --git a/docs/index.html b/docs/index.html index f8942d99..dfd8c984 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,18 +1,17 @@ - + - + - Custodian — custodian 2022.5.26 documentation + Custodian — custodian 2023.3.10 documentation - - + @@ -37,7 +36,7 @@

    Navigation

  • modules |
  • - + @@ -48,7 +47,7 @@

    Navigation

    -

    Custodian

    +

    Custodian

    Custodian is a simple, robust and flexible just-in-time (JIT) job management framework written in Python. Using custodian, you can create wrappers that perform error checking, job management and error recovery. It has a simple @@ -71,9 +70,9 @@

    CustodianChange log

    -

    Getting custodian

    +

    Getting custodian

    -

    Stable version

    +

    Stable version

    The version at the Python Package Index (PyPI) is always the latest stable release that will be hopefully, be relatively bug-free. The easiest way to install custodian on any system is to use pip, as follows:

    @@ -84,7 +83,7 @@

    Stable versionpymatgen’s documentation).

    -

    Developmental version

    +

    Developmental version

    The bleeding edge developmental version is at the custodian’s Github repo. The developmental version is likely to be more buggy, but may contain new features. The Github version include test files as well for complete unit testing. After @@ -99,10 +98,10 @@

    Developmental version

    -

    Requirements

    +

    Requirements

    Custodian requires Python 3.8+. There are no other required dependencies.

    -

    Optional dependencies

    +

    Optional dependencies

    Optional libraries that are required if you need certain features:

    1. Python Materials Genomics (pymatgen) 2022.1+: To use the plugin for @@ -118,7 +117,7 @@

      Optional dependencies

    -

    Usage

    +

    Usage

    The main class in the workflow is known as Custodian, which manages a series of jobs with a list of error handlers. The general workflow for Custodian is presented in the figure below.

    @@ -135,7 +134,7 @@

    Usage base class. To use custodian, you need to implement concrete implementations of these abstract base classes.

    -

    Simple example

    +

    Simple example

    An very simple example implementation is given in the custodian_examples.py script in the scripts directory. We will now go through the example in detail here.

    @@ -209,7 +208,7 @@

    Simple example -

    Practical example: Electronic structure calculations

    +

    Practical example: Electronic structure calculations

    A practical example where the Custodian framework is particularly useful is in the area of electronic structure calculations. Electronic structure calculations tend to be long running and often terminates due to errors, @@ -245,7 +244,7 @@

    Practical example: Electronic structure calculations

    -

    cstdn - A yaml-spec controlled job

    +

    cstdn - A yaml-spec controlled job

    Custodian now comes with a cstdn script, which allows you to do fine-grained control of a job using a yaml spec file. Below is an annotated example of how you can specify a double VASP relaxation followed by a static calculation. @@ -311,14 +310,14 @@

    cstdn - A yaml-spec controlled job -

    API/Reference Docs

    +

    API/Reference Docs

    The API docs are generated using Sphinx auto-doc and outlines the purpose of all modules and classes, and the expected argument and returned objects for most methods. They are available at the link below.

    custodian API docs

    -

    How to cite custodian

    +

    How to cite custodian

    If you use custodian in your research, especially the VASP component, please consider citing the following work:

    Shyue Ping Ong, William Davidson Richards, Anubhav Jain, Geoffroy Hautier,
    @@ -331,7 +330,7 @@ 

    How to cite custodian

    -

    License

    +

    License

    Custodian is released under the MIT License. The terms of the license are as follows:

    The MIT License (MIT)
    @@ -410,7 +409,7 @@ 

    Quick search

    - +

    diff --git a/docs/modules.html b/docs/modules.html index e346040e..489a722f 100644 --- a/docs/modules.html +++ b/docs/modules.html @@ -1,18 +1,17 @@ - + - + - custodian — custodian 2022.5.26 documentation + custodian — custodian 2023.3.10 documentation - - + @@ -37,7 +36,7 @@

    Navigation

  • modules |
  • - + @@ -48,7 +47,7 @@

    Navigation

    -

    custodian

    +

    custodian

    @@ -91,9 +243,31 @@

    custodianSubmodules -
  • custodian.feff.handlers module
  • -
  • custodian.feff.interpreter module
  • -
  • custodian.feff.jobs module
  • +
  • custodian.feff.handlers module +
  • +
  • custodian.feff.interpreter module +
  • +
  • custodian.feff.jobs module +
  • Module contents
  • @@ -102,8 +276,30 @@

    custodianSubmodules -
  • custodian.lobster.handlers module
  • -
  • custodian.lobster.jobs module
  • +
  • custodian.lobster.handlers module +
  • +
  • custodian.lobster.jobs module +
  • Module contents
  • @@ -112,8 +308,23 @@

    custodianSubmodules -
  • custodian.nwchem.handlers module
  • -
  • custodian.nwchem.jobs module
  • +
  • custodian.nwchem.handlers module +
  • +
  • custodian.nwchem.jobs module +
  • Module contents
  • @@ -124,7 +335,11 @@

    custodianSubmodules
  • custodian.qchem.handlers module
  • custodian.qchem.jobs module
  • -
  • custodian.qchem.utils module
  • +
  • custodian.qchem.utils module +
  • Module contents
  • @@ -133,18 +348,223 @@

    custodianSubmodules -
  • custodian.vasp.handlers module
  • -
  • custodian.vasp.interpreter module
  • -
  • custodian.vasp.jobs module
  • -
  • custodian.vasp.validators module
  • +
  • custodian.vasp.handlers module +
  • +
  • custodian.vasp.interpreter module +
  • +
  • custodian.vasp.jobs module +
  • +
  • custodian.vasp.validators module +
  • Module contents
  • Submodules
  • -
  • custodian.custodian module
  • -
  • custodian.utils module
  • +
  • custodian.custodian module +
  • +
  • custodian.utils module +
  • Module contents
  • @@ -179,7 +599,7 @@

    Quick search

    - +
    diff --git a/docs/objects.inv b/docs/objects.inv index 5b22a57cebf44bde19aa9f7614ce6baf28ce42ba..52e1ca9fc97b35e721736df3733d4c1fcb34b9ac 100644 GIT binary patch delta 17 YcmeAb?iHTkz-FvxtY>Jj(aoI`04p{GfdBvi delta 17 YcmeAb?iHTkz-FXps%K=j(aoI`04rbwi2wiq diff --git a/docs/py-modindex.html b/docs/py-modindex.html index 20a76298..7a868cfe 100644 --- a/docs/py-modindex.html +++ b/docs/py-modindex.html @@ -1,17 +1,16 @@ - + - Python Module Index — custodian 2022.5.26 documentation + Python Module Index — custodian 2023.3.10 documentation - - + @@ -39,7 +38,7 @@

    Navigation

  • modules |
  • - + @@ -258,7 +257,7 @@

    Quick search

    - +
    diff --git a/docs/search.html b/docs/search.html index 5b462e61..27936bcb 100644 --- a/docs/search.html +++ b/docs/search.html @@ -1,18 +1,17 @@ - + - Search — custodian 2022.5.26 documentation + Search — custodian 2023.3.10 documentation - - + @@ -42,7 +41,7 @@

    Navigation

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