From 626b6aadc1af0b2b0feba6ce9515ecece0461ae5 Mon Sep 17 00:00:00 2001 From: jyxu Date: Mon, 17 Oct 2022 00:05:11 +0100 Subject: [PATCH] update docs --- docs/build/doctrees/environment.pickle | Bin 427580 -> 430265 bytes docs/build/doctrees/start.doctree | Bin 21991 -> 21997 bytes docs/build/html/_sources/start.rst.txt | 10 ++-------- docs/build/html/searchindex.js | 2 +- docs/build/html/start.html | 4 ++-- .../source/_build/doctrees/environment.pickle | Bin 427002 -> 427002 bytes docs/source/_build/doctrees/start.doctree | Bin 21991 -> 21997 bytes .../source/_build/html/_sources/start.rst.txt | 10 ++-------- docs/source/_build/html/searchindex.js | 2 +- docs/source/_build/html/start.html | 4 ++-- docs/source/start.rst | 10 ++-------- 11 files changed, 12 insertions(+), 30 deletions(-) diff --git a/docs/build/doctrees/environment.pickle b/docs/build/doctrees/environment.pickle index 6ab69359dc90159e5a177182cf557423337ce0ec..3ecd3185e421612d62fe52c75bf91bf91a2e05eb 100644 GIT binary patch literal 430265 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 XG>z4{Nq5df@6ed>O^e8Vr@HhXm%ypt literal 427580 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 diff --git a/docs/build/doctrees/start.doctree b/docs/build/doctrees/start.doctree index a3b20f795bdb44aa73a3767384bdd37676076bae..3700c0d255e6d390f643b80022406dc215573bc8 100644 GIT binary patch delta 366 zcmYjLy-Nad80P(Xo|lSenJE}bR_9q-WOhV;5D^hkD3p}6MZy)-3DIaN2#pP|jnNbi z4pHw`f&V~I)Fx5T(o}yyAoZh`mIt1P=j*)z9}N)7!pYmEFkt}`PFboTVbjut4my-> z86HSBoU=`HF&y*bxy=9vx$Rv7$fP>k3`0(t;x1q~=#pvH{RpC8_icXzb}Eagdo=Ll znI{Jh9uHu*SBD^#ykDZ&&s{SNoAET=1fD@0`s1%!4^iJag9zmZt^g*{t{ic!DH#a< zUSJ_ZPV8^!(Qu_!s;RnpErsRK1KZlAta=L2i=W{O&M>PQXdkxz7mBDwCLu{iL}lg~ zzBr06nulm4V1ikE8p}a~ZydogUB)B^D|8(XFj%FQb|*j{>xrzmStt~DHmRM60*-eo mluda7irCV8R822fVUO6xb}vBg8UURhWOXnZSFd$)=+Gn@xlnnHVKDn~6SPWK+zL&icsI>#h zDQfE2N zldW|uSsj6{(4V}~T4ZytjsO#*`{sFiR?Li^lW!V^GTH-;ZfA_xyxoX{i7{&P0TZA@ zVmCi9JHx^lKly-(#N?ya7HoN`g{7GVo0)BN8O0%NEv+dT?6Ffa#Cl+o?zZZTjAfG_ fm`QK$vh(6%tlWInBa(%2?PPu5Mxgl{eQh`ZoKA6+ diff --git a/docs/build/html/_sources/start.rst.txt b/docs/build/html/_sources/start.rst.txt index 2a28cb3c..427c4333 100644 --- a/docs/build/html/_sources/start.rst.txt +++ b/docs/build/html/_sources/start.rst.txt @@ -1,20 +1,17 @@ Getting Started =============== - Here, we would introduce several basic components of GDPy, namely **potential**, **driver**, **worker**. **Worker** is the basic unit that performs any computation, which contains a ``AbstractPotentialManager`` and a ``Scheduler``. Units ----- - We use the following units through all input files: Time ``fs``, Length ``AA``, Energy ``eV``, Force ``eV/AA``. Potential --------- - We have supported several MLIP formulations based on an ``AbstractPotentialManager`` class to access **driver**, **expedition**, and **training** through workflows. @@ -35,7 +32,6 @@ See :ref:`Potential Examples` section for more details. Driver ------ - After potential is defined, we need to further specify what simulation would be perfomed in the **driver** section. A driver (``AbstractDriver``) is the basic unit with an attacthed **ase** ``calculators`` for basic dynamics tasks, namely, @@ -61,10 +57,9 @@ See :ref:`Driver Examples` section for more details. Scheduler --------- - With **potential** and **driver** defined, we can run simulations on local machines (directly in the command line). However, simulations, under most -circumstances, would be really heavy even by MLIPs (image a 10 ns molecular +circumstances, would be really heavy even by MLIPs (imagine a 10 ns molecular dynamics). The simulations would ideally be dispatched to high performace clusters (HPCs). @@ -86,7 +81,6 @@ The example below shows how to define a **scheduler** in a **yaml** file: Worker ------ - **Worker** that combines the above components is what we use throughout various workflows to deal with computations. @@ -115,7 +109,7 @@ The example below shows how to define a **worker** in a **yaml** file: time: "0:10:00" environs: "source ~/envs/source_eann.sh\nconda activate catorch2\n" -to run a **nvt** simulation with given structures by **nequip** on a **slurm** +to run a **nvt** simulation with given structures by **deepmd** on a **slurm** machine .. code-block:: shell diff --git a/docs/build/html/searchindex.js b/docs/build/html/searchindex.js index d0699bc4..8a8f4b82 100644 --- a/docs/build/html/searchindex.js +++ b/docs/build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["about", "computations/index", "expeditions/ads", "expeditions/evo", "expeditions/index", "expeditions/md", "expeditions/rxn", "extensions/index", "index", "installation", "modules/builder", "modules/computation", "modules/computation.uncertainty", "modules/computation.worker", "modules/config", "modules/expedition", "modules/main", "modules/modules", "modules/potential", "modules/potential.managers", "modules/reaction", "modules/scheduler", "modules/selector", "modules/trainer", "potentials/index", "start", "tutorials/copper", "tutorials/index", "tutorials/water"], "filenames": ["about.rst", "computations/index.rst", "expeditions/ads.rst", "expeditions/evo.rst", "expeditions/index.rst", "expeditions/md.rst", "expeditions/rxn.rst", "extensions/index.rst", "index.rst", "installation.rst", "modules/builder.rst", "modules/computation.rst", "modules/computation.uncertainty.rst", "modules/computation.worker.rst", "modules/config.rst", "modules/expedition.rst", "modules/main.rst", "modules/modules.rst", "modules/potential.rst", "modules/potential.managers.rst", "modules/reaction.rst", "modules/scheduler.rst", "modules/selector.rst", "modules/trainer.rst", "potentials/index.rst", "start.rst", "tutorials/copper.rst", "tutorials/index.rst", "tutorials/water.rst"], "titles": ["About", "Computations", "Explore Adsorbate Configurations", "Explore with Global Optimisation", "Expeditions", "Explore with Molecular Dynamics (MD)", "Explore Chemical Reactions", "Extensions", "GDPy Documentation", "Installation", "builder package", "computation package", "computation.uncertainty package", "computation.worker package", "config module", "expedition package", "main module", "GDPy", "potential package", "potential.managers package", "reaction package", "scheduler package", "selector package", "trainer package", "Potentials", "Getting Started", "Build a Potential for Cu Bulk with Global Search", "Tutorials", "Build a Potential for Pt/H2O with On-the-Fly Molecular Dynamics"], "terms": {"gdpy": [0, 1, 4, 7, 9, 10, 13, 19, 20, 22, 24, 25], "stand": [0, 8], "gener": [0, 1, 2, 3, 4, 6, 8, 10, 11, 13, 15, 18, 19, 20, 22], "deep": [0, 8, 24], "potenti": [0, 3, 4, 5, 10, 11, 13, 17, 22, 23, 27], "python": [0, 7, 8, 9, 10, 24], "includ": [0, 4, 8, 10], "set": [0, 1, 2, 3, 4, 6, 8, 11, 18, 21, 22, 24, 25], "tool": [0, 8], "modul": [0, 8, 17], "autom": [0, 8], "structur": [0, 1, 2, 3, 4, 5, 6, 8, 10, 11, 13, 15, 20, 22, 24, 25, 26, 28], "explor": [0, 4, 8, 15, 20, 26, 28], "model": [0, 1, 2, 5, 6, 8, 11, 12, 19, 24, 25], "train": [0, 2, 8, 11, 17, 18, 19, 23, 25], "machin": [0, 8, 18, 25], "learn": [0, 3, 8, 9, 18], "interatom": [0, 8], "mlip": [0, 8, 24, 25], "It": [0, 5, 8, 11], "develop": [0, 24], "maintain": [0, 8], "jiayan": [0, 8], "xu": [0, 8], "under": [0, 2, 3, 5, 6, 8, 24, 25], "supervis": [0, 8], "prof": [0, 8], "p": [0, 1, 2, 4, 8, 11, 24, 25], "hu": [0, 8], "queen": [0, 8], "s": [0, 2, 3, 7, 8, 11, 20, 22], "univers": [0, 8], "belfast": [0, 8], "A": [0, 2, 21, 22, 25], "unifi": [0, 1, 4, 24], "interfac": [0, 1, 24, 25, 28], "variou": [0, 18, 19, 20, 25], "versatil": 0, "algorithm": [0, 1, 3, 8, 15, 20], "construct": 0, "dataset": [0, 5, 13, 19, 24], "workflow": [0, 15, 25], "The": [0, 1, 2, 3, 4, 5, 6, 7, 11, 13, 15, 20, 21, 22, 24, 25], "ar": [0, 1, 2, 3, 4, 6, 7, 24, 25], "thi": [1, 2, 3, 4, 5, 6, 7, 10, 11, 15, 18, 19, 20, 25], "section": [1, 2, 3, 4, 5, 6, 7, 24, 25], "give": 1, "more": [1, 4, 24, 25], "detail": [1, 24, 25], "how": [1, 2, 3, 5, 6, 7, 24, 25, 27], "run": [1, 2, 3, 4, 5, 6, 7, 10, 11, 13, 15, 20, 21, 22, 24, 25], "basic": [1, 25], "simul": [1, 4, 5, 8, 11, 15, 25], "differ": [1, 2, 4, 5, 6, 10, 15, 24, 25], "us": [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 15, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28], "input": [1, 4, 6, 10, 11, 20, 22, 24, 25], "file": [1, 2, 3, 4, 5, 6, 7, 10, 11, 22, 24, 25], "which": [1, 2, 3, 5, 11, 21, 25], "made": 1, "up": 1, "three": [1, 5, 6], "compon": [1, 13, 20, 25], "we": [1, 2, 3, 4, 5, 6, 7, 21, 24, 25, 26, 27, 28], "need": [1, 3, 4, 6, 7, 24, 25], "defin": [1, 2, 3, 5, 6, 7, 8, 24, 25], "what": [1, 4, 25], "final": [1, 6, 15], "schedul": [1, 3, 4, 8, 13, 17, 18, 24], "deleg": 1, "necessari": [1, 9, 11], "see": [1, 2, 3, 4, 24, 25], "worker_exampl": 1, "repositori": [1, 4, 9, 24], "prepar": [1, 4, 15, 24], "an": [1, 2, 3, 5, 6, 10, 11, 18, 19, 22, 24, 25], "exampl": [1, 3, 4, 5, 10, 24, 25], "pot": [1, 4, 5, 7, 19, 24], "yaml": [1, 2, 3, 4, 5, 6, 7, 24, 25], "organis": 1, "follow": [1, 3, 10, 25], "backend": [1, 2, 5, 7, 11, 18, 19, 24, 25], "path": [1, 9, 10, 11, 15, 21, 22, 24], "specif": [1, 3, 21, 27], "paramet": [1, 2, 4, 5, 6, 10, 11, 14, 15, 20, 21, 22, 23, 24, 25], "init": [1, 2, 5, 11, 25], "relat": [1, 4, 24], "command": [1, 2, 3, 4, 5, 6, 11, 17, 19, 21, 24, 25], "gdp": [1, 4, 7, 9, 24, 25], "h": [1, 2, 4, 24], "info": [1, 4, 10, 11, 22, 24], "result": [1, 2, 3, 4, 5, 6, 7, 11, 20, 22, 24, 25], "would": [1, 2, 3, 4, 5, 6, 11, 22, 24, 25], "written": [1, 24], "current": [1, 4, 6, 11, 15, 18, 19, 21, 24, 25], "directori": [1, 2, 3, 4, 5, 6, 7, 10, 11, 12, 13, 19, 20, 22, 23, 24], "local": [1, 17, 24, 25], "node": [1, 21, 24], "xyz": [1, 2, 4, 10, 11, 15, 24, 25], "submit": [1, 4, 13, 18, 21, 24, 25], "job": [1, 13, 14, 18, 21, 22, 24, 25], "queue": [1, 3, 4, 21, 24], "d": [1, 24], "option": [1, 4, 5, 9, 10, 11, 13, 18, 21, 22, 24], "xxx": [1, 24], "engin": 1, "drive": [1, 11, 17], "ani": [1, 4, 5, 10, 11, 13, 22, 24, 25], "support": [1, 10, 11, 15, 24, 25], "minis": 1, "For": [1, 3, 5, 10, 24], "task": [1, 2, 3, 5, 7, 11, 15, 21, 24, 25], "should": [1, 4, 5, 6, 22, 24], "specifi": [1, 4, 24, 25], "each": [1, 2, 3, 4, 5, 13, 21, 22], "If": [1, 4, 5, 11, 21, 24, 25], "extern": [1, 2, 5, 7, 24, 25], "same": [1, 2, 5, 15, 18, 24, 25], "valid": [1, 10, 18], "ase": [1, 7, 9, 10, 17, 18, 19, 22, 24, 25], "lammp": [1, 10, 17, 18, 19, 24, 25], "lasp": [1, 8, 17, 18, 24], "min": [1, 2, 7, 11, 25], "md": [1, 2, 4, 11, 17, 25], "ts": [1, 6, 10, 11, 15], "initialis": [1, 21], "great": 1, "help": [1, 5], "when": [1, 4, 5, 11, 18, 19, 22], "some": [1, 4, 11, 14, 24], "system": [1, 8, 11, 15, 24, 27], "instanc": [1, 11, 15, 18, 22], "surfac": [1, 2, 3, 4, 10], "There": [1, 4], "two": [1, 2, 3, 4, 7, 10, 24], "wai": [1, 4], "fix": [1, 4], "atom": [1, 3, 4, 10, 11, 12, 20, 22, 24], "could": [1, 11, 24], "either": [1, 10, 22, 24], "store": [1, 4, 7, 10, 11, 13, 21, 22], "e": [1, 3, 4, 24], "g": [1, 3, 4, 24], "move_mask": 1, "fractionalxyz": 1, "xsd": [1, 10], "latter": 1, "one": [1, 2, 4, 5, 7, 20, 21, 24, 25], "attach": [1, 5, 11, 19, 25], "overridden": [1, 5], "can": [1, 2, 3, 4, 5, 6, 7, 10, 18, 19, 24, 25], "1": [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 13, 14, 15, 20, 22, 24, 25], "similiar": [1, 2], "group": [1, 2, 3, 6, 13, 20], "definit": [1, 2, 3, 4, 6], "id": [1, 13, 21], "indic": [1, 2, 10, 20, 22], "2": [1, 2, 3, 4, 5, 6, 9, 10, 11, 15, 20, 22, 24, 25], "3": [1, 2, 3, 5, 6, 9, 10, 15, 22, 24], "4": [1, 2, 3, 4, 5, 6, 9, 10, 11, 22], "6": [1, 2, 3, 4, 5, 6, 9, 10], "7": [1, 9, 10, 22], "8": [1, 2, 3, 4, 5, 6, 7, 10], "start": [1, 8, 10, 21], "from": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 15, 20, 22], "To": [1, 24], "minim": 1, "parameetr": 1, "step": [1, 2, 3, 4, 5, 6, 7, 11, 15, 20, 25], "fmax": [1, 2, 3, 6, 7, 11, 15, 22], "min_styl": [1, 11], "default": [1, 10, 11, 18, 21, 22, 25], "bfg": [1, 11, 20], "while": 1, "fire": [1, 11], "200": [1, 6], "number": [1, 2, 3, 5, 6, 10, 11, 14, 15, 22, 24], "0": [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 15, 20, 22, 25], "05": [1, 2, 3, 5, 6, 7, 11, 22], "unit": [1, 8, 11, 15], "ev": [1, 2, 3, 6, 15, 25], "aa": [1, 2, 3, 6, 10, 15, 24, 25], "converg": [1, 2, 3, 11, 15, 17, 20], "criteria": [1, 2, 3, 5, 6, 22], "forc": [1, 6, 8, 11, 15, 20, 24, 25], "thermostat": [1, 25], "both": 1, "nve": 1, "nvt": [1, 5, 11, 15, 25], "npt": 1, "md_style": [1, 5, 11, 15, 25], "timestep": [1, 5, 11, 15, 25], "fs": [1, 5, 6, 15, 25], "verlet": [1, 11], "integr": [1, 11, 20], "temp": [1, 5, 11, 15, 25], "300": [1, 5, 10, 11, 15], "kelvin": [1, 25], "temperatur": [1, 5, 10, 25], "tdamp": [1, 5, 11, 15], "100": [1, 5, 10, 11, 15, 25], "control": [1, 3], "frequenc": 1, "heatbath": 1, "pre": [1, 11, 15, 24], "atm": 1, "equilibrium": 1, "pressur": [1, 10, 11], "pdamp": [1, 11, 15], "work": [1, 11, 13, 22, 23], "method": [1, 2, 3, 4, 5, 6, 7, 15, 22, 24], "sella": [1, 9], "neb": 1, "creat": [1, 4, 11, 15, 18, 19, 21, 22], "instead": [1, 24], "server": 1, "databas": [1, 4, 13], "implement": [1, 4, 7, 11, 15, 21, 24], "light": 1, "weight": 1, "base": [1, 2, 3, 5, 6, 10, 11, 12, 13, 15, 18, 19, 20, 21, 22, 24, 25], "tinydb": [1, 9], "manag": [1, 7, 17], "onli": [1, 3, 7, 15, 21, 24, 25], "slurm": [1, 17, 24, 25], "ntask": [1, 21, 24, 25], "time": [1, 3, 5, 7, 11, 15, 21, 24, 25], "environ": [1, 21, 24, 25], "conda": [1, 8, 24], "activt": 1, "py37": 1, "user_command": [1, 21, 25], "automat": [1, 24, 25], "addit": [1, 11], "keyword": [1, 3, 5, 6, 11, 21, 22], "batchsiz": [1, 13, 18, 24], "split": [1, 2, 3, 6, 13], "separ": [1, 6], "have": [1, 4, 5, 11, 19, 21, 24, 25, 27], "5": [1, 2, 3, 4, 6, 9, 10, 11, 15, 20, 22], "first": [1, 4, 7, 21, 25], "second": [1, 4], "occupi": 1, "In": [2, 3, 4, 5, 6, 25], "demonstr": [2, 3, 5, 6, 27], "expedit": [2, 3, 5, 6, 17, 25], "find": [2, 20], "low": [2, 3], "energi": [2, 3, 6, 10, 11, 24, 25], "exp": [2, 3, 4, 5, 6, 10], "here": [2, 3, 5, 6, 7, 24, 25, 26, 28], "call": [2, 3, 5, 6], "all": [2, 3, 5, 6, 10, 15, 18, 20, 25], "save": [2, 3, 5, 6, 11], "where": [2, 3, 4, 5, 6], "log": [2, 3, 5, 6, 11, 20], "ad": [2, 4, 10, 11, 15], "out": [2, 3, 5, 6, 11, 20, 24], "found": [2, 3, 5, 6, 11, 21], "well": [2, 3, 5, 6, 11, 15, 22, 24], "veri": [2, 5, 27], "contain": [2, 3, 24, 25], "3x3": 2, "layer": 2, "pt": [2, 4, 6, 10, 27], "111": 2, "enumer": 2, "possibl": [2, 6], "o": [2, 4, 6, 10, 24], "adsorpt": 2, "graph": [2, 6, 8, 10, 17, 20, 24, 25], "theori": [2, 8, 24], "approach": 2, "hollow": 2, "site": [2, 6, 22], "coordin": [2, 20], "articl": [2, 3], "deshpand": 2, "maxson": 2, "t": [2, 10, 11], "greelei": 2, "j": [2, 10], "determin": [2, 15], "multident": 2, "high": [2, 25], "coverag": 2, "heterogen": 2, "catalysi": 2, "npj": [2, 3], "comput": [2, 3, 6, 8, 17, 22, 25], "mater": [2, 3], "2020": 2, "79": 2, "prefix": [2, 3, 4, 21, 22], "pt111": 2, "substrat": [2, 4, 10], "composit": [2, 3, 4, 10, 15, 17], "speci": [2, 3, 5, 6, 15, 17], "action": 2, "add": [2, 9, 11], "distance_to_sit": [2, 10], "prefer": 2, "pbc_grid": [2, 6], "graph_radiu": [2, 6], "neigh": [2, 6], "covalent_ratio": [2, 3, 4, 6, 10], "skin": [2, 6], "25": [2, 5, 6, 22], "adsorbate_el": [2, 6], "coordination_numb": 2, "site_radiu": 2, "check_site_uniqu": 2, "true": [2, 3, 5, 6, 10, 11, 13, 15, 20, 21], "36": [2, 13], "constraint": [2, 4, 11, 17, 20], "18": [2, 4], "kpt": [2, 3, 4, 11, 24], "minimis": [2, 3, 6, 11, 25], "driver": [2, 5, 6, 7, 8, 13, 17, 18, 24], "accord": 2, "import": [2, 5, 7], "traj_period": [2, 3, 5, 6, 11, 15], "mani": [2, 15], "later": [2, 5, 24], "analysi": [2, 5], "Their": 2, "usag": [2, 5], "usual": [2, 3, 4], "appli": 2, "ones": [2, 3, 6], "stabl": 2, "convex": 2, "hull": 2, "meanwhil": 2, "trajectori": [2, 3, 5, 6, 11], "sinc": [2, 3, 5, 6, 10, 11, 15], "thei": [2, 5], "cover": [2, 3], "space": [2, 5, 24], "product": 2, "mai": [2, 11, 15, 19, 21], "come": [2, 9], "across": 2, "dump_period": [2, 5, 11, 15], "12": [2, 3, 5, 6, 24], "list": [2, 3, 5, 8, 10, 11, 12, 15, 20, 21, 22, 24], "procedur": [2, 3, 4, 5], "deviat": [2, 5, 6, 11], "max_devi_": [2, 5, 6, 22], "01": [2, 5, 22], "max_devi_f": [2, 5, 22], "descriptor": [2, 3, 5, 6, 17, 24], "random_se": [2, 3, 5, 22], "1112": [2, 3, 5], "name": [2, 3, 4, 5, 6, 7, 11, 15, 18, 19, 20, 21, 22, 24, 25], "soap": [2, 3, 5, 6], "c": [2, 3, 5, 6, 9, 24], "rcut": [2, 3, 5, 6], "nmax": [2, 3, 5, 6], "lmax": [2, 3, 5, 6], "sigma": [2, 3, 5, 6], "averag": [2, 3, 5, 6], "inner": [2, 3, 5, 6], "period": [2, 3, 5, 6], "cur": [2, 3, 5, 6, 17], "zeta": [2, 3, 5, 6, 22], "strategi": [2, 3, 4, 5, 6, 15, 22], "descent": [2, 3, 5, 6, 22], "evo": [3, 4, 15], "genet": [3, 8, 15], "search": [3, 15, 20, 25, 27], "initi": [3, 4, 6, 10, 15, 24], "randomli": [3, 4], "thu": [3, 4], "must": [3, 9, 15, 24], "cu4": [3, 24], "bulk": [3, 10, 27], "cu": [3, 4, 27], "random": [3, 4, 15, 22], "lattic": 3, "constant": 3, "normal": 3, "allow": 3, "invari": [3, 17], "type": [3, 4, 11, 18, 22], "volum": [3, 10], "40": 3, "cell": [3, 11], "region": [3, 17], "phi": 3, "35": 3, "145": 3, "chi": 3, "psi": 3, "50": 3, "b": 3, "30": [3, 4, 24], "As": [3, 4, 5], "most": [3, 5, 24, 25], "complex": 3, "correspond": [3, 4, 24], "configur": [3, 4, 8, 10, 14, 24], "moreov": 3, "take": 3, "much": [3, 24], "dispatch": [3, 25], "consist": 3, "larg": 3, "like": 3, "minima": [3, 15], "propbabl": 3, "area": 3, "boltz": [3, 15], "boltzmann": [3, 15, 22], "consid": 3, "256": 3, "10": [3, 6, 7, 9, 10, 11, 25], "interv": 3, "frame": [3, 4, 5, 10, 11, 12, 13, 22, 25], "20": [3, 6], "bernstein": 3, "n": [3, 24, 25], "cs\u00e1nyi": 3, "dering": 3, "v": 3, "l": [3, 21], "de": 3, "novo": 3, "self": [3, 7, 10, 21], "guid": 3, "2019": 3, "99": 3, "selector": [3, 8, 17], "other": [3, 6, 10, 15, 24, 25], "consecut": [3, 22], "perform": [3, 6, 11, 20, 21, 22, 24, 25], "respect": 3, "1000": [3, 10, 11], "400": 3, "600": [3, 5, 25], "rest": [3, 5], "candid": [3, 4, 5], "label": [3, 4, 11, 24], "512": 3, "cu8": [3, 24], "cu12": 3, "cu24": 3, "ga": [3, 26], "everi": 3, "dyn_dump_period": 3, "plu": [3, 20], "last": [3, 5, 7, 11], "128": 3, "introduc": [4, 25], "four": 4, "stage": 4, "collect": [4, 15], "select": [4, 10, 15, 22], "offer": [4, 24], "access": [4, 10, 24, 25], "its": [4, 13], "combin": [4, 20, 25], "formul": [4, 8, 25], "recognis": 4, "expedition_exampl": 4, "ref": 4, "r": [4, 21], "stop": 4, "again": [4, 11], "check": [4, 6, 10, 11, 13, 19, 21], "whether": [4, 6, 11, 21, 22], "finish": [4, 11, 13, 19, 21, 25], "move": 4, "next": 4, "provid": 4, "prompt": 4, "refer": [4, 10], "worker": [4, 8, 11, 17, 22, 24], "properli": [4, 5], "dft": 4, "code": [4, 7, 24], "sy": 4, "rxn": [4, 6, 15], "dict": [4, 10, 11, 12, 15, 18, 19, 21, 22], "particular": 4, "sever": [4, 11, 22, 24, 25, 27], "distinguish": [4, 22], "chemic": [4, 10, 20, 27], "depand": [4, 24], "calcul": [4, 7, 10, 11, 12, 18, 19, 20, 22, 24, 25], "dure": 4, "importantli": 4, "below": [4, 10, 24, 25], "read": [4, 10, 11, 25], "sysnam": [4, 5], "sysprefix": 4, "kspace": 4, "size": [4, 5, 13, 24], "9": [4, 9, 10], "water": [4, 10, 28], "molecul": [4, 7, 10], "place": 4, "abov": [4, 25], "h2o": [4, 7, 27], "surfdi": 4, "16": [4, 15], "kmesh": 4, "molecular": [4, 6, 8, 10, 11, 15, 25, 27], "dynam": [4, 8, 11, 15, 18, 20, 25, 27], "global": [4, 22, 27], "optimis": [4, 6, 7], "adsorb": [4, 8, 17, 20], "reaction": [4, 8, 17], "explain": 5, "try": [5, 6], "were": [5, 11, 13, 21], "ha": [5, 21, 24], "format": [5, 10, 18, 21, 24], "awar": 5, "broadcast": 5, "integ": [5, 11], "150": 5, "dump": [5, 11], "disk": 5, "rune": 5, "long": 5, "further": [5, 6, 25], "choos": 5, "chosen": 5, "howev": [5, 6, 18, 25], "highli": 5, "recommend": 5, "reduc": 5, "repres": 5, "seri": [5, 15], "sift": 5, "predict": [5, 12], "rang": 5, "after": [5, 24, 25], "featur": [5, 8, 22], "span": 5, "At": [5, 7], "enough": [5, 6], "previou": [5, 11], "param": [5, 7, 10, 11, 13, 15, 19, 21, 24, 25], "pd": [5, 21], "artifici": [6, 8, 20], "induc": [6, 8, 20], "afir": [6, 15, 17], "standard": 6, "make": 6, "sure": 6, "reactant": 6, "still": [6, 11, 21], "merg": 6, "object": [6, 10, 11, 12, 15, 18, 20], "target_pair": [6, 20], "gmax": [6, 20], "ginit": [6, 20], "gintv": [6, 20], "bia": 6, "graph_param": [6, 10, 20], "happen": 6, "dyn_param": [6, 18, 20], "transit": [6, 25], "state": [6, 25], "tss": 6, "fss": 6, "traj": [6, 11, 15, 17, 20], "just": 6, "highest": 6, "among": 6, "rather": 6, "than": [6, 10], "exact": 6, "co": 6, "seed": [6, 20, 22], "00": [6, 24, 25], "about": [7, 8], "extend": 7, "class": [7, 10, 11, 12, 13, 15, 18, 19, 20, 21, 22, 25], "emtmanag": 7, "subclass": 7, "abstractpotentialmanag": [7, 18, 19, 25], "emt": [7, 26], "py": [7, 10, 22], "attribut": [7, 21], "implemented_backend": [7, 18, 19], "valid_combin": [7, 18, 19], "register_calcul": [7, 18, 19], "built": [7, 24], "usr": 7, "bin": [7, 9, 11, 21], "env": [7, 22, 25], "python3": [7, 22], "utf": 7, "def": 7, "calc_param": [7, 18, 19], "arg": [7, 10, 11, 13, 18, 19, 21, 22], "kwarg": [7, 10, 11, 13, 18, 19, 20, 21, 22], "super": 7, "calc_backend": 7, "calc": [7, 11, 15, 18, 19, 20, 25], "return": [7, 10, 11, 19, 21, 22], "__name__": 7, "__main__": 7, "pass": [7, 24], "Then": 7, "through": [7, 24, 25], "lowercas": 7, "cand0": 7, "nframe": [7, 22, 25], "potter": [7, 13, 15, 22], "1517": 7, "8792752663147125": 7, "eann": [8, 17, 18, 24], "deepmd": [8, 17, 18, 24, 25, 28], "nequip": [8, 17, 18, 24, 25], "allegro": [8, 24], "grand": 8, "canon": 8, "mont": [8, 15], "carlo": [8, 15], "overview": 8, "instal": [8, 24], "requir": [8, 24], "sourc": [8, 25], "pip": 8, "get": [8, 10, 11, 18], "tutori": 8, "extens": 8, "custom": [8, 18, 21], "builder": [8, 17], "packag": [8, 9, 17, 24], "config": [8, 17, 24], "main": [8, 17, 20], "trainer": [8, 17, 24], "matplotlib": 9, "numpi": [9, 22], "21": 9, "scipi": 9, "scikit": 9, "22": 9, "dscribe": [9, 22], "joblib": [9, 14, 22], "pyyaml": 9, "networkx": 9, "jax": 9, "27": 9, "pytorch": [9, 24], "plume": [9, 17], "execut": 9, "forg": 9, "download": 9, "git": 9, "clone": 9, "http": [9, 10], "github": 9, "com": 9, "hsulab": 9, "export": 9, "pythonpath": 9, "_your": [9, 24], "path_": [9, 24], "adsorbategraphgener": 10, "str": [10, 11, 13, 15, 18, 20, 21, 22], "posixpath": [10, 13, 19, 20, 22], "user": [10, 13, 19, 20, 22, 25], "jyxu": [10, 13, 19, 20, 22], "document": [10, 13, 19, 20, 22], "somecod": [10, 13, 19, 20, 22], "doc": [10, 13, 19, 20, 22], "structuregener": 10, "basedo": 10, "add_adsorb": 10, "float": [10, 15, 20, 22], "compare_graph": 10, "none": [10, 11, 12, 13, 15, 18, 19, 20, 21, 22], "selected_indic": 10, "del_adsorb": 10, "delet": [10, 11], "exchange_adsorb": 10, "target_speci": [10, 20], "chang": [10, 11], "anoth": 10, "abc": [10, 11, 13, 15, 18, 21, 22], "properti": [10, 11, 12, 13, 18, 21, 22, 24], "abstract": [10, 11, 13, 17, 18, 21, 22], "convert_indic": 10, "union": [10, 15, 21, 22], "int": [10, 14, 15, 20, 22], "index_convent": 10, "lmp": [10, 11, 24], "pars": [10, 11], "count": 10, "constrain": 10, "convent": 10, "convert": [10, 24], "end": 10, "output": [10, 11, 20, 22], "text": 10, "sth": 10, "parse_constraint_info": 10, "cons_text": 10, "ignore_ase_constraint": 10, "ret_text": 10, "form": 10, "transform": [10, 20], "mean": [10, 25], "lowest": 10, "smallest": 10, "z": [10, 20], "posit": [10, 11, 20], "zpo": 10, "zposit": 10, "smaller": 10, "directgener": 10, "directli": [10, 25], "as_dict": [10, 11, 18, 22], "fpath": 10, "read_xsd2": 10, "fd": 10, "materi": 10, "studio": 10, "randomgener": 10, "max_fail": 10, "max_random_tri": 10, "ran_siz": 10, "supported_system": 10, "cluster": [10, 25], "reducedregion": 10, "reservoir": 10, "caxi": 10, "max_movedisp": 10, "use_rot": 10, "fals": [10, 11, 13, 15, 20, 21, 22], "rng": [10, 22], "spheric": 10, "cubic": 10, "box": 10, "max_num_per_speci": 10, "10000": 10, "max_random_attemp": 10, "calc_acc_volum": 10, "accept": 10, "check_overlap_neighbour": 10, "nl": 10, "new_atom": 10, "chemical_symbol": 10, "species_indic": 10, "neighbour": 10, "newli": 10, "neither": 10, "too": 10, "close": 10, "far": 10, "random_position_neighbour": 10, "oper": 10, "static": 10, "compute_thermo_wavelength": 10, "expart": 10, "estimate_chemical_potenti": 10, "total_energi": 10, "zpe": 10, "du": 10, "ds": 10, "coef": 10, "estim": [10, 11, 12, 18, 19], "o2": 10, "reaxff": 10, "588": 10, "109": 10, "vdw": 10, "df": 10, "spin": 10, "polaris": 10, "196": 10, "491": 10, "09714": 10, "683": 10, "kj": 10, "mol": 10, "entropi": 10, "298": 10, "15k": 10, "205": 10, "147": 10, "apto2": 10, "mu_pt": 10, "e_apto2": 10, "g_o2": 10, "freeenergi": 10, "e_dft": 10, "u": [10, 21], "pv": 10, "thermodynam": 10, "data": [10, 11, 20], "janaf": 10, "nist": 10, "gov": 10, "formulabasedgener": 10, "chemical_formula": 10, "karg": [10, 22], "build_speci": 10, "calc_water_num": 10, "given": [10, 25], "ideal_gas_insertin": 10, "nrt": 10, "test_nvt": 10, "other_util": 10, "per_main": 10, "pertubate_stuctur": 10, "cwd": 10, "amplitud": 10, "num": [10, 22], "sort_atom": 10, "create_gener": 10, "uncertainti": [11, 17, 18, 19], "committe": [11, 17, 19], "asedriv": 11, "abstractdriv": [11, 25], "default_init_param": 11, "press": 11, "velocity_se": 11, "min_modifi": 11, "tmax": 11, "default_run_param": 11, "default_task": 11, "log_fnam": 11, "dyn": 11, "log_fpath": 11, "param_map": 11, "taup": 11, "taut": 11, "loginterv": 11, "temperature_k": 11, "map": [11, 24], "kei": 11, "actual": 11, "read_trajectori": 11, "add_step_info": 11, "atoms_": 11, "read_exist": 11, "bool": [11, 21, 22], "extra_info": 11, "singl": [11, 20], "point": 11, "goe": 11, "saved_card": 11, "restart": [11, 13, 15], "supported_task": 11, "traj_fnam": 11, "traj_fpath": 11, "retrieve_and_save_devi": 11, "devi_fpath": 11, "noreturn": [11, 13, 18, 20, 21, 22, 23], "exist": 11, "save_trajectori": 11, "delete_keyword": 11, "remov": 11, "valu": [11, 22], "pot_param": 11, "potentialmanag": 11, "read_converg": 11, "better": 11, "reset": 11, "copi": 11, "new": [11, 19], "retriev": [11, 13, 25], "extra": [11, 18, 19, 24], "inform": 11, "set_keyword": 11, "special_keyword": 11, "special": 11, "syswise_kei": 11, "systemwis": 11, "md_init_kei": 11, "md_run_kei": 11, "min_init_kei": 11, "min_run_kei": 11, "aselmpconfig": 11, "aselammpsset": 11, "deviation_filenam": 11, "model_devi": 11, "input_fnam": 11, "inputstructure_filenam": 11, "stru": 11, "log_filenam": 11, "trajectory_filenam": 11, "fileiocalcul": 11, "cached_loop_tim": 11, "cach": 11, "wall": 11, "cached_traj_fram": 11, "system_chang": 11, "pbc": 11, "initial_charg": 11, "initial_magmom": 11, "default_paramet": [11, 21, 22], "atom_styl": 11, "boundari": 11, "etol": 11, "ftol": 11, "mass": 11, "maxev": 11, "maxit": 11, "md_step": 11, "neigh_modifi": 11, "neighbor": 11, "newton": 11, "pair_coeff": 11, "pair_styl": 11, "processor": 11, "metal": 11, "note": [11, 24], "implemented_properti": 11, "stress": [11, 24], "read_result": 11, "ASE": [11, 15], "type_list": [11, 15, 24], "symbol": [11, 20], "write_input": 11, "write": [11, 21, 22], "lmpdriver": 11, "otherwis": [11, 21], "parse_thermo_data": 11, "logfile_path": 11, "parse_type_list": 11, "laspdriv": 11, "explore_typ": 11, "ssw": 11, "maxoptstep": 11, "prmass": 11, "nhmass": 11, "print_freq": 11, "sswstep": 11, "target_p": 11, "target_t": 11, "dt": 11, "ranse": 11, "allstr": 11, "arc": 11, "allfor": 11, "laspnn": 11, "equit": 11, "initial_t": 11, "print_strfreq": 11, "realmass": 11, "ttotal": 11, "bfgs_maxsteps": 11, "internal_lj": 11, "printeveri": 11, "nn": 11, "read_laspset": 11, "train_structur": 11, "trainstr": 11, "txt": 11, "trainfor": 11, "create_single_point_calcul": 11, "atoms_sort": 11, "resort": 11, "calc_nam": 11, "spc": 11, "share": [11, 14], "get_composition_from_atom": 11, "traj_dir": 11, "traj_ind_fpath": 11, "include_first": 11, "include_last": 11, "vaspdriv": 11, "freq": 11, "ibrion": 11, "nfree": 11, "nsw": 11, "potim": 11, "015": 11, "ediffg": 11, "smass": 11, "tebeg": 11, "fail": 11, "empti": 11, "errof": 11, "read_sort": 11, "sort": [11, 15], "dat": 11, "doe": [11, 24], "redon": 11, "committeeuncertaintyestim": 12, "create_estim": 12, "est_params_": [12, 18, 19], "calc_params_": 12, "create_calc_func": 12, "callabl": 12, "commandwork": 13, "scheduler_": 13, "abstractschedul": [13, 21], "command_": 13, "directory_": 13, "abstractwork": [13, 22], "driverbasedwork": [13, 25], "potter_": 13, "driver_": 13, "monitor": 13, "lifetim": 13, "queu": 13, "uniqu": 13, "inspect": [13, 25], "get_file_md5": 13, "f": [13, 20], "trainwork": [13, 23], "uuidlen": 13, "get_number_of_running_job": 13, "logger": [13, 22], "run_driv": 13, "run_work": 13, "mywork": 13, "local_exec": 13, "njob": [14, 22], "parallel": [14, 22], "abstractexpedit": 15, "main_dict": 15, "refere": 15, "calculation_param": 15, "collection_param": 15, "resdir_nam": 15, "selection_tag": 15, "creation_param": 15, "calc_dir_nam": 15, "tmp_folder": 15, "general_param": 15, "ignore_exist": 15, "label_param": 15, "check_par": 15, "parse_specord": 15, "order": 15, "working_directori": 15, "type_map": 15, "adsorbateevolut": 15, "opt_dnam": 15, "opt_fnam": 15, "opt": [15, 20], "struc_prefix": 15, "cand": 15, "evolutionaryexpedit": 15, "quasi": 15, "harvest": 15, "utilis": [15, 24], "nanm": 15, "basin": 15, "hop": 15, "anneal": 15, "popul": 15, "now": 15, "uspex": 15, "airss": 15, "mdbasedexpedit": 15, "brute": 15, "bias": 15, "manual": 15, "mdparam": 15, "500": [15, 24], "create_dataclass_from_dict": 15, "dcl": 15, "dataclass": 15, "reactionexplor": 15, "pair": [15, 20], "optraj": 15, "run_expedit": 15, "exp_json": 15, "submodul": 17, "direct": 17, "randombuild": 17, "util": 17, "content": 17, "subpackag": 17, "mors": 17, "dp": [17, 24], "opt_mors": 17, "vasp": [17, 18, 24], "evosearch": 17, "reax": [17, 18, 24], "regist": 17, "pb": [17, 24, 25], "deal": [18, 21, 25], "create_driv": 18, "freez": [18, 19, 24], "train_dir": [18, 19], "updat": [18, 19], "get_batchs": [18, 19], "agr": [18, 19], "register_schedul": 18, "params_": [18, 21], "register_train": [18, 19], "train_params_": [18, 19], "register_uncertainty_estim": [18, 19], "capabl": [18, 19], "version": 18, "m00": 18, "potentialregist": 18, "create_potenti": 18, "pot_nam": 18, "train_param": 18, "register_potenti": 18, "pot_cl": 18, "tmanag": 18, "create_pott": 18, "config_fil": 18, "wrapper": 18, "deepmdmanag": 19, "check_finish": 19, "model_path": 19, "train_config": 19, "eannmanag": 19, "train_input_nam": 19, "input_nn": 19, "json": [19, 24], "laspmanag": 19, "nequipmanag": 19, "reaxmanag": 19, "vaspmanag": 19, "gamma": 20, "fragment": 20, "graph_creat": 20, "calc_pair": 20, "has_react": 20, "update_posit": 20, "update_positions_by_graph": 20, "afirsearch": 20, "event": 20, "bunch": 20, "pseudo": 20, "pathwai": 20, "irun": 20, "init_atom": 20, "fres_path": 20, "frag": 20, "summari": 20, "nfragments_to_react": 20, "check_exist": 20, "run_neb": 20, "factori": 20, "shift": 20, "cop": 20, "force_funct": 20, "covalent_radii": 20, "pair_indic": 20, "pair_shift": 20, "function": [20, 21, 24], "grid_iter": 20, "grid": 20, "yield": 20, "3d": 20, "tupl": 20, "dimens": 20, "iter": 20, "over": 20, "x": 20, "y": 20, "partition_frag": 20, "creator": 20, "them": 20, "sampl": [20, 24], "advanc": 20, "localschedul": [21, 25], "is_finish": 21, "alwai": 21, "No": 21, "pbsschedul": 21, "enquire_command": 21, "qstat": 21, "statu": 21, "string": 21, "line": [21, 25], "shell": 21, "bash": 21, "script": [21, 25], "submit_command": 21, "qsub": 21, "suffix": 21, "Not": 21, "yet": 21, "running_statu": 21, "q": 21, "cg": 21, "tag": 21, "common": 21, "lifecycl": 21, "arbitrari": [21, 22], "argument": [21, 22], "slurmschedul": 21, "squeue": 21, "whoami": 21, "12i": 21, "12p": 21, "60j": 21, "4t": 21, "12m": 21, "12l": 21, "5d": 21, "4c": 21, "sbatch": 21, "account": 21, "cpu": [21, 24], "per": [21, 24], "gre": [21, 24], "slurmjob": 21, "mem": [21, 24], "gpu": [21, 24], "partit": [21, 24, 25], "been": 21, "assum": 21, "alreadi": [21, 24], "create_schedul": 21, "composedselector": 22, "abstractselector": 22, "info_fpath": 22, "compos": 22, "convergenceselector": 22, "geometr": 22, "cur_select": 22, "miniconda3": 22, "aiida": 22, "lib": 22, "__init__": 22, "performa": 22, "nfeatur": 22, "shape": 22, "arrrai": 22, "exponenti": 22, "coeffici": 22, "stochast": 22, "descriptor_svd": 22, "at_desc": 22, "do_vector": 22, "vh": 22, "perfrom": 22, "spars": 22, "svd": 22, "descriptorbasedselector": 22, "calc_desc": 22, "verbos": 22, "graphselector": 22, "invariantselector": 22, "fname": 22, "indent": 22, "pfunc": 22, "index_map": 22, "ret_indic": 22, "seelect": 22, "selction": 22, "protocol": 22, "variabl": 22, "length": [22, 25], "set_rng": 22, "boltzmannminimaselect": 22, "ae_cut": 22, "boltzminima": 22, "deviationselector": 22, "pot_work": [22, 23], "devi": 22, "create_selector": 22, "input_list": 22, "run_select": 22, "param_fil": 22, "run_train": 23, "dir": [23, 24], "tensorflow": 24, "io": 24, "suport": 24, "major": 24, "concern": 24, "represent": 24, "recurs": 24, "embed": 24, "centr": 24, "symmetri": 24, "equival": 24, "messag": 24, "therefor": 24, "certain": 24, "befor": 24, "correctli": 24, "besid": 24, "field": 24, "semi": 24, "empir": 24, "build": [24, 27], "ab": 24, "initio": 24, "target": 24, "total": [24, 25], "descript": 24, "reactiv": 24, "xtb": 24, "tight": 24, "bind": 24, "densiti": 24, "show": [24, 25], "specifc": [24, 25], "flavour": 24, "absolut": 24, "resolv": 24, "pp_path": 24, "pseudopotenti": 24, "vdw_path": 24, "vdwkernel": 24, "incar": 24, "kpoint": 24, "mesh": 24, "commad": 24, "mpirun": 24, "32": 24, "vasp_std": 24, "trainer_exampl": 24, "epoch": 24, "epcoh": 24, "k2": [24, 25], "4g": 24, "v100": 24, "activ": [24, 25], "numb_step": 24, "depend": 24, "deploi": 24, "auto": 24, "deployed_model": 24, "pth": 24, "catorch2": [24, 25], "eann_latest_": 24, "perfom": 25, "attacth": 25, "reus": 25, "With": 25, "circumst": 25, "realli": 25, "heavi": 25, "even": 25, "imag": 25, "ns": 25, "ideal": 25, "performac": 25, "hpc": 25, "hipri": 25, "source_eann": 25, "sh": 25, "nconda": 25, "throughout": 25, "confid": 25, "cand100": 25, "jobid": 25, "10206151": 25, "cand96": 25, "10206152": 25, "wait": 25, "few": 25, "minut": 25, "noth": 25, "0280": 25, "new_fram": 25, "92": 25, "219757": 25, "statist": 25, "108": 25, "5682": 25, "max": 25, "2198": 25, "avg": 25, "3940": 25, "word": 25, "On": 27, "fly": 27, "platinum": 28}, "objects": {"": [[10, 0, 0, "-", "builder"], [11, 0, 0, "-", "computation"], [14, 0, 0, "-", "config"], [15, 0, 0, "-", "expedition"], [16, 0, 0, "-", "main"], [18, 0, 0, "-", "potential"], [20, 0, 0, "-", "reaction"], [21, 0, 0, "-", "scheduler"], [22, 0, 0, "-", "selector"], [23, 0, 0, "-", "trainer"]], "builder": [[10, 0, 0, "-", "adsorbate"], [10, 0, 0, "-", "builder"], [10, 0, 0, "-", "constraints"], [10, 4, 1, "", "create_generator"], [10, 0, 0, "-", "direct"], [10, 0, 0, "-", "randomBuilder"], [10, 0, 0, "-", "region"], [10, 0, 0, "-", "species"], [10, 0, 0, "-", "utils"]], "builder.adsorbate": [[10, 1, 1, "", "AdsorbateGraphGenerator"]], "builder.adsorbate.AdsorbateGraphGenerator": [[10, 2, 1, "", "add_adsorbate"], [10, 2, 1, "", "compare_graphs"], [10, 2, 1, "", "del_adsorbate"], [10, 2, 1, "", "exchange_adsorbate"], [10, 2, 1, "", "run"]], "builder.builder": [[10, 1, 1, "", "StructureGenerator"]], "builder.builder.StructureGenerator": [[10, 3, 1, "", "directory"], [10, 2, 1, "", "run"]], "builder.constraints": [[10, 4, 1, "", "convert_indices"], [10, 4, 1, "", "parse_constraint_info"]], "builder.direct": [[10, 1, 1, "", "DirectGenerator"], [10, 4, 1, "", "read_xsd2"]], "builder.direct.DirectGenerator": [[10, 2, 1, "", "as_dict"], [10, 3, 1, "", "fpath"], [10, 3, 1, "", "indices"], [10, 2, 1, "", "run"]], "builder.randomBuilder": [[10, 1, 1, "", "RandomGenerator"]], "builder.randomBuilder.RandomGenerator": [[10, 5, 1, "", "MAX_FAILED"], [10, 5, 1, "", "MAX_RANDOM_TRY"], [10, 2, 1, "", "as_dict"], [10, 2, 1, "", "run"], [10, 5, 1, "", "supported_systems"]], "builder.region": [[10, 1, 1, "", "ReducedRegion"], [10, 1, 1, "", "Reservoir"], [10, 4, 1, "", "estimate_chemical_potential"]], "builder.region.ReducedRegion": [[10, 5, 1, "", "MAX_NUM_PER_SPECIES"], [10, 5, 1, "", "MAX_RANDOM_ATTEMPS"], [10, 2, 1, "", "calc_acc_volume"], [10, 2, 1, "", "check_overlap_neighbour"], [10, 2, 1, "", "random_position_neighbour"], [10, 3, 1, "", "reservoir"]], "builder.region.Reservoir": [[10, 2, 1, "", "compute_thermo_wavelength"]], "builder.species": [[10, 1, 1, "", "FormulaBasedGenerator"], [10, 4, 1, "", "build_species"], [10, 4, 1, "", "calc_water_num"], [10, 4, 1, "", "check_overlap_neighbour"], [10, 4, 1, "", "ideal_gas_insertin"], [10, 4, 1, "", "random_position_neighbour"], [10, 4, 1, "", "test_nvt"]], "builder.species.FormulaBasedGenerator": [[10, 2, 1, "", "run"]], "builder.utils": [[10, 4, 1, "", "other_utils"], [10, 4, 1, "", "per_main"], [10, 4, 1, "", "pertubate_stucture"], [10, 4, 1, "", "sort_atoms"]], "computation": [[11, 0, 0, "-", "ase"], [11, 0, 0, "-", "driver"], [11, 0, 0, "-", "lammps"], [11, 0, 0, "-", "lasp"], [12, 0, 0, "-", "uncertainty"], [11, 0, 0, "-", "utils"], [11, 0, 0, "-", "vasp"], [13, 0, 0, "-", "worker"]], "computation.ase": [[11, 1, 1, "", "AseDriver"], [11, 4, 1, "", "retrieve_and_save_deviation"], [11, 4, 1, "", "save_trajectory"]], "computation.ase.AseDriver": [[11, 5, 1, "", "default_init_params"], [11, 5, 1, "", "default_run_params"], [11, 5, 1, "", "default_task"], [11, 3, 1, "", "directory"], [11, 5, 1, "", "log_fname"], [11, 3, 1, "", "log_fpath"], [11, 5, 1, "", "name"], [11, 5, 1, "", "param_mapping"], [11, 2, 1, "", "read_trajectory"], [11, 2, 1, "", "run"], [11, 5, 1, "", "saved_cards"], [11, 5, 1, "", "supported_tasks"], [11, 5, 1, "", "traj_fname"], [11, 3, 1, "", "traj_fpath"]], "computation.driver": [[11, 1, 1, "", "AbstractDriver"], [11, 6, 1, "", "MD_INIT_KEYS"], [11, 6, 1, "", "MD_RUN_KEYS"], [11, 6, 1, "", "MIN_INIT_KEYS"], [11, 6, 1, "", "MIN_RUN_KEYS"]], "computation.driver.AbstractDriver": [[11, 2, 1, "", "as_dict"], [11, 5, 1, "", "default_init_params"], [11, 5, 1, "", "default_run_params"], [11, 3, 1, "", "default_task"], [11, 5, 1, "", "delete"], [11, 2, 1, "", "delete_keywords"], [11, 3, 1, "", "directory"], [11, 2, 1, "", "get"], [11, 5, 1, "", "keyword"], [11, 5, 1, "", "name"], [11, 5, 1, "", "param_mapping"], [11, 5, 1, "", "pot_params"], [11, 2, 1, "", "read_converged"], [11, 2, 1, "", "read_trajectory"], [11, 2, 1, "", "reset"], [11, 2, 1, "", "run"], [11, 2, 1, "", "set_keywords"], [11, 5, 1, "", "special_keywords"], [11, 3, 1, "", "supported_tasks"], [11, 5, 1, "", "syswise_keys"]], "computation.lammps": [[11, 6, 1, "", "ASELMPCONFIG"], [11, 1, 1, "", "AseLammpsSettings"], [11, 1, 1, "", "Lammps"], [11, 1, 1, "", "LmpDriver"], [11, 4, 1, "", "parse_thermo_data"], [11, 4, 1, "", "parse_type_list"]], "computation.lammps.AseLammpsSettings": [[11, 5, 1, "", "deviation_filename"], [11, 5, 1, "", "input_fname"], [11, 5, 1, "", "inputstructure_filename"], [11, 5, 1, "", "log_filename"], [11, 5, 1, "", "trajectory_filename"]], "computation.lammps.Lammps": [[11, 5, 1, "", "cached_loop_time"], [11, 5, 1, "", "cached_traj_frames"], [11, 2, 1, "", "calculate"], [11, 5, 1, "", "command"], [11, 5, 1, "", "default_parameters"], [11, 5, 1, "", "implemented_properties"], [11, 5, 1, "", "name"], [11, 2, 1, "", "read_results"], [11, 5, 1, "", "type_list"], [11, 2, 1, "", "write_input"]], "computation.lammps.LmpDriver": [[11, 5, 1, "", "default_init_params"], [11, 5, 1, "", "default_run_params"], [11, 5, 1, "", "default_task"], [11, 5, 1, "", "delete"], [11, 5, 1, "", "keyword"], [11, 5, 1, "", "name"], [11, 5, 1, "", "param_mapping"], [11, 2, 1, "", "read_trajectory"], [11, 2, 1, "", "run"], [11, 5, 1, "", "saved_cards"], [11, 5, 1, "", "special_keywords"], [11, 5, 1, "", "supported_tasks"]], "computation.lasp": [[11, 1, 1, "", "LaspDriver"], [11, 1, 1, "", "LaspNN"], [11, 4, 1, "", "read_laspset"]], "computation.lasp.LaspDriver": [[11, 5, 1, "", "default_init_params"], [11, 5, 1, "", "default_run_params"], [11, 5, 1, "", "default_task"], [11, 5, 1, "", "name"], [11, 5, 1, "", "param_mapping"], [11, 2, 1, "", "read_trajectory"], [11, 2, 1, "", "run"], [11, 5, 1, "", "saved_cards"], [11, 5, 1, "", "supported_tasks"]], "computation.lasp.LaspNN": [[11, 2, 1, "", "calculate"], [11, 5, 1, "", "command"], [11, 5, 1, "", "default_parameters"], [11, 5, 1, "", "implemented_properties"], [11, 5, 1, "", "name"], [11, 2, 1, "", "read_results"], [11, 2, 1, "", "write_input"]], "computation.uncertainty": [[12, 0, 0, "-", "committee"], [12, 4, 1, "", "create_estimator"]], "computation.uncertainty.committee": [[12, 1, 1, "", "CommitteeUncertaintyEstimator"]], "computation.uncertainty.committee.CommitteeUncertaintyEstimator": [[12, 3, 1, "", "directory"], [12, 2, 1, "", "estimate"]], "computation.utils": [[11, 4, 1, "", "create_single_point_calculator"], [11, 4, 1, "", "get_composition_from_atoms"], [11, 4, 1, "", "parse_type_list"], [11, 4, 1, "", "read_trajectories"]], "computation.vasp": [[11, 1, 1, "", "VaspDriver"], [11, 4, 1, "", "read_sort"]], "computation.vasp.VaspDriver": [[11, 5, 1, "", "default_init_params"], [11, 5, 1, "", "default_run_params"], [11, 5, 1, "", "default_task"], [11, 5, 1, "", "name"], [11, 5, 1, "", "param_mapping"], [11, 2, 1, "", "read_trajectory"], [11, 2, 1, "", "run"], [11, 5, 1, "", "supported_tasks"], [11, 5, 1, "", "syswise_keys"]], "computation.worker": [[13, 0, 0, "-", "command"], [13, 0, 0, "-", "drive"], [13, 4, 1, "", "run_driver"], [13, 4, 1, "", "run_worker"], [13, 0, 0, "-", "train"], [13, 0, 0, "-", "worker"]], "computation.worker.command": [[13, 1, 1, "", "CommandWorker"]], "computation.worker.command.CommandWorker": [[13, 3, 1, "", "command"], [13, 2, 1, "", "run"]], "computation.worker.drive": [[13, 1, 1, "", "DriverBasedWorker"], [13, 4, 1, "", "get_file_md5"]], "computation.worker.drive.DriverBasedWorker": [[13, 5, 1, "", "batchsize"], [13, 3, 1, "", "driver"], [13, 2, 1, "", "inspect"], [13, 2, 1, "", "retrieve"], [13, 2, 1, "", "run"]], "computation.worker.train": [[13, 1, 1, "", "TrainWorker"]], "computation.worker.train.TrainWorker": [[13, 2, 1, "", "run"]], "computation.worker.worker": [[13, 1, 1, "", "AbstractWorker"]], "computation.worker.worker.AbstractWorker": [[13, 5, 1, "", "UUIDLEN"], [13, 3, 1, "", "database"], [13, 3, 1, "", "directory"], [13, 2, 1, "", "get_number_of_running_jobs"], [13, 2, 1, "", "inspect"], [13, 5, 1, "", "logger"], [13, 5, 1, "", "restart"], [13, 2, 1, "", "retrieve"], [13, 2, 1, "", "run"], [13, 3, 1, "", "scheduler"]], "config": [[14, 6, 1, "", "NJOBS"]], "expedition": [[15, 0, 0, "-", "abstract"], [15, 0, 0, "-", "adsorbate"], [15, 0, 0, "-", "evoSearch"], [15, 0, 0, "-", "md"], [15, 0, 0, "-", "reaction"], [15, 4, 1, "", "run_expedition"]], "expedition.abstract": [[15, 1, 1, "", "AbstractExpedition"]], "expedition.abstract.AbstractExpedition": [[15, 5, 1, "", "calculation_params"], [15, 5, 1, "", "collection_params"], [15, 5, 1, "", "creation_params"], [15, 5, 1, "", "general_params"], [15, 5, 1, "", "label_params"], [15, 5, 1, "", "name"], [15, 5, 1, "", "parameters"], [15, 2, 1, "", "parse_specorder"], [15, 5, 1, "", "restart"], [15, 2, 1, "", "run"], [15, 5, 1, "", "type_list"], [15, 5, 1, "", "type_map"]], "expedition.adsorbate": [[15, 1, 1, "", "AdsorbateEvolution"]], "expedition.adsorbate.AdsorbateEvolution": [[15, 5, 1, "", "collection_params"], [15, 5, 1, "", "creation_params"], [15, 5, 1, "", "name"], [15, 5, 1, "", "parameters"]], "expedition.evoSearch": [[15, 1, 1, "", "EvolutionaryExpedition"]], "expedition.evoSearch.EvolutionaryExpedition": [[15, 5, 1, "", "collection_params"], [15, 5, 1, "", "creation_params"], [15, 5, 1, "", "name"]], "expedition.md": [[15, 1, 1, "", "MDBasedExpedition"], [15, 1, 1, "", "MDParams"], [15, 4, 1, "", "create_dataclass_from_dict"]], "expedition.md.MDBasedExpedition": [[15, 5, 1, "", "collection_params"], [15, 5, 1, "", "name"]], "expedition.md.MDParams": [[15, 5, 1, "", "Pdamp"], [15, 5, 1, "", "Tdamp"], [15, 5, 1, "", "dump_period"], [15, 5, 1, "", "md_style"], [15, 5, 1, "", "pres"], [15, 5, 1, "", "steps"], [15, 5, 1, "", "task"], [15, 5, 1, "", "temp"], [15, 5, 1, "", "timestep"]], "expedition.reaction": [[15, 1, 1, "", "ReactionExplorer"]], "expedition.reaction.ReactionExplorer": [[15, 5, 1, "", "collection_params"], [15, 5, 1, "", "creation_params"], [15, 5, 1, "", "name"]], "main": [[16, 4, 1, "", "main"]], "potential": [[18, 0, 0, "-", "manager"], [19, 0, 0, "-", "managers"], [18, 0, 0, "-", "register"]], "potential.manager": [[18, 1, 1, "", "AbstractPotentialManager"]], "potential.manager.AbstractPotentialManager": [[18, 2, 1, "", "as_dict"], [18, 3, 1, "", "calc"], [18, 2, 1, "", "create_driver"], [18, 2, 1, "", "freeze"], [18, 2, 1, "", "get_batchsize"], [18, 5, 1, "", "implemented_backends"], [18, 5, 1, "", "name"], [18, 2, 1, "", "register_calculator"], [18, 2, 1, "", "register_scheduler"], [18, 2, 1, "", "register_trainer"], [18, 2, 1, "", "register_uncertainty_estimator"], [18, 3, 1, "", "scheduler"], [18, 5, 1, "", "valid_combinations"], [18, 5, 1, "", "version"]], "potential.managers": [[19, 0, 0, "-", "deepmd"], [19, 0, 0, "-", "eann"], [19, 0, 0, "-", "lasp"], [19, 0, 0, "-", "nequip"], [19, 0, 0, "-", "reax"], [19, 0, 0, "-", "vasp"]], "potential.managers.deepmd": [[19, 1, 1, "", "DeepmdManager"]], "potential.managers.deepmd.DeepmdManager": [[19, 2, 1, "", "check_finished"], [19, 2, 1, "", "freeze"], [19, 2, 1, "", "get_batchsize"], [19, 5, 1, "", "implemented_backends"], [19, 5, 1, "", "name"], [19, 2, 1, "", "register_calculator"], [19, 2, 1, "", "register_trainer"], [19, 2, 1, "", "register_uncertainty_estimator"], [19, 2, 1, "", "train"], [19, 5, 1, "", "valid_combinations"]], "potential.managers.eann": [[19, 1, 1, "", "EannManager"]], "potential.managers.eann.EannManager": [[19, 5, 1, "", "TRAIN_INPUT_NAME"], [19, 2, 1, "", "freeze"], [19, 5, 1, "", "implemented_backends"], [19, 5, 1, "", "name"], [19, 2, 1, "", "register_calculator"], [19, 2, 1, "", "register_trainer"], [19, 2, 1, "", "train"], [19, 5, 1, "", "valid_combinations"]], "potential.managers.lasp": [[19, 1, 1, "", "LaspManager"]], "potential.managers.lasp.LaspManager": [[19, 5, 1, "", "implemented_backends"], [19, 5, 1, "", "name"], [19, 2, 1, "", "register_calculator"], [19, 5, 1, "", "valid_combinations"]], "potential.managers.nequip": [[19, 1, 1, "", "NequipManager"]], "potential.managers.nequip.NequipManager": [[19, 2, 1, "", "freeze"], [19, 5, 1, "", "implemented_backends"], [19, 5, 1, "", "name"], [19, 2, 1, "", "register_calculator"], [19, 2, 1, "", "register_trainer"], [19, 2, 1, "", "train"], [19, 5, 1, "", "valid_combinations"]], "potential.managers.reax": [[19, 1, 1, "", "ReaxManager"]], "potential.managers.reax.ReaxManager": [[19, 5, 1, "", "implemented_backends"], [19, 5, 1, "", "name"], [19, 2, 1, "", "register_calculator"], [19, 5, 1, "", "valid_combinations"]], "potential.managers.vasp": [[19, 1, 1, "", "VaspManager"]], "potential.managers.vasp.VaspManager": [[19, 5, 1, "", "implemented_backends"], [19, 5, 1, "", "name"], [19, 2, 1, "", "register_calculator"], [19, 5, 1, "", "valid_combinations"]], "potential.register": [[18, 1, 1, "", "PotentialRegister"], [18, 4, 1, "", "create_potter"]], "potential.register.PotentialRegister": [[18, 2, 1, "", "create_potential"], [18, 2, 1, "", "register_potential"]], "reaction": [[20, 0, 0, "-", "AFIR"]], "reaction.AFIR": [[20, 1, 1, "", "AFIR"], [20, 1, 1, "", "AFIRSearch"], [20, 1, 1, "", "Adsorbate"], [20, 4, 1, "", "force_function"], [20, 4, 1, "", "grid_iterator"], [20, 4, 1, "", "partition_fragments"]], "reaction.AFIR.AFIR": [[20, 2, 1, "", "calc_pairs"], [20, 2, 1, "", "converged"], [20, 5, 1, "", "has_reaction"], [20, 2, 1, "", "log"], [20, 2, 1, "", "step"], [20, 2, 1, "", "update_positions"], [20, 2, 1, "", "update_positions_by_graph"]], "reaction.AFIR.AFIRSearch": [[20, 5, 1, "", "constraint"], [20, 2, 1, "", "irun"], [20, 5, 1, "", "nfragments_to_reaction"], [20, 2, 1, "", "run"], [20, 5, 1, "", "run_NEB"]], "reaction.AFIR.Adsorbate": [[20, 5, 1, "", "cop"], [20, 5, 1, "", "indices"], [20, 5, 1, "", "name"], [20, 5, 1, "", "positions"], [20, 5, 1, "", "shifts"], [20, 5, 1, "", "symbols"]], "scheduler": [[21, 4, 1, "", "create_scheduler"], [21, 0, 0, "-", "local"], [21, 0, 0, "-", "pbs"], [21, 0, 0, "-", "scheduler"], [21, 0, 0, "-", "slurm"]], "scheduler.local": [[21, 1, 1, "", "LocalScheduler"]], "scheduler.local.LocalScheduler": [[21, 2, 1, "", "is_finished"], [21, 5, 1, "", "name"], [21, 2, 1, "", "submit"]], "scheduler.pbs": [[21, 1, 1, "", "PbsScheduler"]], "scheduler.pbs.PbsScheduler": [[21, 5, 1, "", "ENQUIRE_COMMAND"], [21, 5, 1, "", "PREFIX"], [21, 5, 1, "", "SHELL"], [21, 5, 1, "", "SUBMIT_COMMAND"], [21, 5, 1, "", "SUFFIX"], [21, 5, 1, "", "default_parameters"], [21, 2, 1, "", "is_finished"], [21, 5, 1, "", "name"], [21, 5, 1, "", "running_status"]], "scheduler.scheduler": [[21, 1, 1, "", "AbstractScheduler"]], "scheduler.scheduler.AbstractScheduler": [[21, 5, 1, "", "ENQUIRE_COMMAND"], [21, 5, 1, "", "PREFIX"], [21, 5, 1, "", "SHELL"], [21, 5, 1, "", "SUBMIT_COMMAND"], [21, 5, 1, "", "SUFFIX"], [21, 5, 1, "", "default_parameters"], [21, 5, 1, "", "environs"], [21, 2, 1, "", "is_finished"], [21, 5, 1, "", "name"], [21, 5, 1, "", "parameters"], [21, 5, 1, "", "running_status"], [21, 3, 1, "", "script"], [21, 2, 1, "", "set"], [21, 2, 1, "", "submit"], [21, 5, 1, "", "user_commands"], [21, 2, 1, "", "write"]], "scheduler.slurm": [[21, 1, 1, "", "SlurmScheduler"]], "scheduler.slurm.SlurmScheduler": [[21, 5, 1, "", "ENQUIRE_COMMAND"], [21, 5, 1, "", "PREFIX"], [21, 5, 1, "", "SHELL"], [21, 5, 1, "", "SUBMIT_COMMAND"], [21, 5, 1, "", "SUFFIX"], [21, 5, 1, "", "default_parameters"], [21, 2, 1, "", "is_finished"], [21, 5, 1, "", "name"], [21, 5, 1, "", "running_status"]], "selector": [[22, 0, 0, "-", "composition"], [22, 0, 0, "-", "convergence"], [22, 4, 1, "", "create_selector"], [22, 0, 0, "-", "cur"], [22, 0, 0, "-", "descriptor"], [22, 0, 0, "-", "graph"], [22, 0, 0, "-", "invariant"], [22, 4, 1, "", "run_selection"], [22, 0, 0, "-", "selector"], [22, 0, 0, "-", "traj"], [22, 0, 0, "-", "uncertainty"]], "selector.composition": [[22, 1, 1, "", "ComposedSelector"]], "selector.composition.ComposedSelector": [[22, 5, 1, "", "default_parameters"], [22, 3, 1, "", "directory"], [22, 5, 1, "", "name"]], "selector.convergence": [[22, 1, 1, "", "ConvergenceSelector"]], "selector.convergence.ConvergenceSelector": [[22, 5, 1, "", "default_parameters"], [22, 5, 1, "", "name"]], "selector.cur": [[22, 4, 1, "", "cur_selection"], [22, 4, 1, "", "descriptor_svd"]], "selector.descriptor": [[22, 1, 1, "", "DescriptorBasedSelector"]], "selector.descriptor.DescriptorBasedSelector": [[22, 2, 1, "", "calc_desc"], [22, 5, 1, "", "default_parameters"], [22, 5, 1, "", "name"], [22, 5, 1, "", "verbose"]], "selector.graph": [[22, 1, 1, "", "GraphSelector"]], "selector.graph.GraphSelector": [[22, 5, 1, "", "default_parameters"], [22, 5, 1, "", "name"]], "selector.invariant": [[22, 1, 1, "", "InvariantSelector"]], "selector.invariant.InvariantSelector": [[22, 5, 1, "", "default_parameters"], [22, 5, 1, "", "name"]], "selector.selector": [[22, 1, 1, "", "AbstractSelector"]], "selector.selector.AbstractSelector": [[22, 2, 1, "", "as_dict"], [22, 5, 1, "", "default_parameters"], [22, 3, 1, "", "directory"], [22, 3, 1, "", "fname"], [22, 5, 1, "", "indent"], [22, 5, 1, "", "logger"], [22, 5, 1, "", "name"], [22, 5, 1, "", "njobs"], [22, 2, 1, "", "pfunc"], [22, 5, 1, "", "prefix"], [22, 2, 1, "", "select"], [22, 2, 1, "", "set"], [22, 2, 1, "", "set_rng"]], "selector.traj": [[22, 1, 1, "", "BoltzmannMinimaSelection"]], "selector.traj.BoltzmannMinimaSelection": [[22, 5, 1, "", "default_parameters"], [22, 5, 1, "", "name"]], "selector.uncertainty": [[22, 1, 1, "", "DeviationSelector"]], "selector.uncertainty.DeviationSelector": [[22, 5, 1, "", "default_parameters"], [22, 5, 1, "", "name"], [22, 5, 1, "", "pot_worker"]], "trainer": [[23, 4, 1, "", "run_trainer"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:property", "4": "py:function", "5": "py:attribute", "6": "py:data"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "property", "Python property"], "4": ["py", "function", "Python function"], "5": ["py", "attribute", "Python attribute"], "6": ["py", "data", "Python data"]}, "titleterms": {"about": 0, "featur": 0, "overview": 0, "comput": [1, 11, 12, 13], "potenti": [1, 7, 8, 18, 19, 24, 25, 26, 28], "driver": [1, 11, 25], "constraint": [1, 10], "minimis": 1, "molecular": [1, 5, 28], "dynam": [1, 5, 28], "transit": 1, "state": 1, "search": [1, 26], "worker": [1, 13, 25], "explor": [2, 3, 5, 6], "adsorb": [2, 10, 15], "configur": 2, "system": [2, 3, 4, 5, 6], "creat": [2, 3, 5, 6], "collect": [2, 3, 5, 6], "select": [2, 3, 5, 6], "global": [3, 26], "optimis": 3, "expedit": [4, 8, 15], "defin": 4, "list": [4, 27], "md": [5, 15], "chemic": 6, "reaction": [6, 15, 20], "extens": 7, "custom": 7, "gdpy": [8, 17], "document": 8, "support": 8, "introduct": 8, "user": 8, "guid": 8, "develop": 8, "instal": 9, "requir": 9, "from": 9, "sourc": 9, "conda": 9, "pip": 9, "builder": 10, "packag": [10, 11, 12, 13, 15, 18, 19, 20, 21, 22, 23], "submodul": [10, 11, 12, 13, 15, 18, 19, 20, 21, 22], "modul": [10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23], "direct": 10, "randombuild": 10, "region": 10, "speci": 10, "util": [10, 11], "content": [10, 11, 12, 13, 15, 18, 19, 20, 21, 22, 23], "subpackag": [11, 18], "mors": 11, "ase": 11, "dp": 11, "lammp": 11, "lasp": [11, 19], "opt_mors": 11, "plume": 11, "vasp": [11, 19], "uncertainti": [12, 22], "committe": 12, "command": 13, "drive": 13, "train": [13, 24], "config": 14, "abstract": 15, "evosearch": 15, "todo": [15, 20], "main": 16, "manag": [18, 19], "regist": 18, "deepmd": 19, "eann": 19, "nequip": 19, "reax": 19, "afir": 20, "schedul": [21, 25], "local": 21, "pb": 21, "slurm": 21, "selector": 22, "composit": 22, "converg": 22, "cur": 22, "descriptor": 22, "graph": 22, "invari": 22, "traj": 22, "trainer": 23, "formul": 24, "simul": 24, "get": 25, "start": 25, "unit": 25, "build": [26, 28], "cu": 26, "bulk": 26, "tutori": 27, "pt": 28, "h2o": 28, "On": 28, "fly": 28}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "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.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 56}}) \ No newline at end of file +Search.setIndex({"docnames": ["about", "computations/index", "expeditions/ads", "expeditions/evo", "expeditions/index", "expeditions/md", "expeditions/rxn", "extensions/index", "index", "installation", "modules/builder", "modules/computation", "modules/computation.uncertainty", "modules/computation.worker", "modules/config", "modules/expedition", "modules/main", "modules/modules", "modules/potential", "modules/potential.managers", "modules/reaction", "modules/scheduler", "modules/selector", "modules/trainer", "potentials/index", "start", "tutorials/copper", "tutorials/index", "tutorials/water"], "filenames": ["about.rst", "computations/index.rst", "expeditions/ads.rst", "expeditions/evo.rst", "expeditions/index.rst", "expeditions/md.rst", "expeditions/rxn.rst", "extensions/index.rst", "index.rst", "installation.rst", "modules/builder.rst", "modules/computation.rst", "modules/computation.uncertainty.rst", "modules/computation.worker.rst", "modules/config.rst", "modules/expedition.rst", "modules/main.rst", "modules/modules.rst", "modules/potential.rst", "modules/potential.managers.rst", "modules/reaction.rst", "modules/scheduler.rst", "modules/selector.rst", "modules/trainer.rst", "potentials/index.rst", "start.rst", "tutorials/copper.rst", "tutorials/index.rst", "tutorials/water.rst"], "titles": ["About", "Computations", "Explore Adsorbate Configurations", "Explore with Global Optimisation", "Expeditions", "Explore with Molecular Dynamics (MD)", "Explore Chemical Reactions", "Extensions", "GDPy Documentation", "Installation", "builder package", "computation package", "computation.uncertainty package", "computation.worker package", "config module", "expedition package", "main module", "GDPy", "potential package", "potential.managers package", "reaction package", "scheduler package", "selector package", "trainer package", "Potentials", "Getting Started", "Build a Potential for Cu Bulk with Global Search", "Tutorials", "Build a Potential for Pt/H2O with On-the-Fly Molecular Dynamics"], "terms": {"gdpy": [0, 1, 4, 7, 9, 10, 13, 19, 20, 22, 24, 25], "stand": [0, 8], "gener": [0, 1, 2, 3, 4, 6, 8, 10, 11, 13, 15, 18, 19, 20, 22], "deep": [0, 8, 24], "potenti": [0, 3, 4, 5, 10, 11, 13, 17, 22, 23, 27], "python": [0, 7, 8, 9, 10, 24], "includ": [0, 4, 8, 10], "set": [0, 1, 2, 3, 4, 6, 8, 11, 18, 21, 22, 24, 25], "tool": [0, 8], "modul": [0, 8, 17], "autom": [0, 8], "structur": [0, 1, 2, 3, 4, 5, 6, 8, 10, 11, 13, 15, 20, 22, 24, 25, 26, 28], "explor": [0, 4, 8, 15, 20, 26, 28], "model": [0, 1, 2, 5, 6, 8, 11, 12, 19, 24, 25], "train": [0, 2, 8, 11, 17, 18, 19, 23, 25], "machin": [0, 8, 18, 25], "learn": [0, 3, 8, 9, 18], "interatom": [0, 8], "mlip": [0, 8, 24, 25], "It": [0, 5, 8, 11], "develop": [0, 24], "maintain": [0, 8], "jiayan": [0, 8], "xu": [0, 8], "under": [0, 2, 3, 5, 6, 8, 24, 25], "supervis": [0, 8], "prof": [0, 8], "p": [0, 1, 2, 4, 8, 11, 24, 25], "hu": [0, 8], "queen": [0, 8], "s": [0, 2, 3, 7, 8, 11, 20, 22], "univers": [0, 8], "belfast": [0, 8], "A": [0, 2, 21, 22, 25], "unifi": [0, 1, 4, 24], "interfac": [0, 1, 24, 25, 28], "variou": [0, 18, 19, 20, 25], "versatil": 0, "algorithm": [0, 1, 3, 8, 15, 20], "construct": 0, "dataset": [0, 5, 13, 19, 24], "workflow": [0, 15, 25], "The": [0, 1, 2, 3, 4, 5, 6, 7, 11, 13, 15, 20, 21, 22, 24, 25], "ar": [0, 1, 2, 3, 4, 6, 7, 24, 25], "thi": [1, 2, 3, 4, 5, 6, 7, 10, 11, 15, 18, 19, 20, 25], "section": [1, 2, 3, 4, 5, 6, 7, 24, 25], "give": 1, "more": [1, 4, 24, 25], "detail": [1, 24, 25], "how": [1, 2, 3, 5, 6, 7, 24, 25, 27], "run": [1, 2, 3, 4, 5, 6, 7, 10, 11, 13, 15, 20, 21, 22, 24, 25], "basic": [1, 25], "simul": [1, 4, 5, 8, 11, 15, 25], "differ": [1, 2, 4, 5, 6, 10, 15, 24, 25], "us": [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 15, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28], "input": [1, 4, 6, 10, 11, 20, 22, 24, 25], "file": [1, 2, 3, 4, 5, 6, 7, 10, 11, 22, 24, 25], "which": [1, 2, 3, 5, 11, 21, 25], "made": 1, "up": 1, "three": [1, 5, 6], "compon": [1, 13, 20, 25], "we": [1, 2, 3, 4, 5, 6, 7, 21, 24, 25, 26, 27, 28], "need": [1, 3, 4, 6, 7, 24, 25], "defin": [1, 2, 3, 5, 6, 7, 8, 24, 25], "what": [1, 4, 25], "final": [1, 6, 15], "schedul": [1, 3, 4, 8, 13, 17, 18, 24], "deleg": 1, "necessari": [1, 9, 11], "see": [1, 2, 3, 4, 24, 25], "worker_exampl": 1, "repositori": [1, 4, 9, 24], "prepar": [1, 4, 15, 24], "an": [1, 2, 3, 5, 6, 10, 11, 18, 19, 22, 24, 25], "exampl": [1, 3, 4, 5, 10, 24, 25], "pot": [1, 4, 5, 7, 19, 24], "yaml": [1, 2, 3, 4, 5, 6, 7, 24, 25], "organis": 1, "follow": [1, 3, 10, 25], "backend": [1, 2, 5, 7, 11, 18, 19, 24, 25], "path": [1, 9, 10, 11, 15, 21, 22, 24], "specif": [1, 3, 21, 27], "paramet": [1, 2, 4, 5, 6, 10, 11, 14, 15, 20, 21, 22, 23, 24, 25], "init": [1, 2, 5, 11, 25], "relat": [1, 4, 24], "command": [1, 2, 3, 4, 5, 6, 11, 17, 19, 21, 24, 25], "gdp": [1, 4, 7, 9, 24, 25], "h": [1, 2, 4, 24], "info": [1, 4, 10, 11, 22, 24], "result": [1, 2, 3, 4, 5, 6, 7, 11, 20, 22, 24, 25], "would": [1, 2, 3, 4, 5, 6, 11, 22, 24, 25], "written": [1, 24], "current": [1, 4, 6, 11, 15, 18, 19, 21, 24, 25], "directori": [1, 2, 3, 4, 5, 6, 7, 10, 11, 12, 13, 19, 20, 22, 23, 24], "local": [1, 17, 24, 25], "node": [1, 21, 24], "xyz": [1, 2, 4, 10, 11, 15, 24, 25], "submit": [1, 4, 13, 18, 21, 24, 25], "job": [1, 13, 14, 18, 21, 22, 24, 25], "queue": [1, 3, 4, 21, 24], "d": [1, 24], "option": [1, 4, 5, 9, 10, 11, 13, 18, 21, 22, 24], "xxx": [1, 24], "engin": 1, "drive": [1, 11, 17], "ani": [1, 4, 5, 10, 11, 13, 22, 24, 25], "support": [1, 10, 11, 15, 24, 25], "minis": 1, "For": [1, 3, 5, 10, 24], "task": [1, 2, 3, 5, 7, 11, 15, 21, 24, 25], "should": [1, 4, 5, 6, 22, 24], "specifi": [1, 4, 24, 25], "each": [1, 2, 3, 4, 5, 13, 21, 22], "If": [1, 4, 5, 11, 21, 24, 25], "extern": [1, 2, 5, 7, 24, 25], "same": [1, 2, 5, 15, 18, 24, 25], "valid": [1, 10, 18], "ase": [1, 7, 9, 10, 17, 18, 19, 22, 24, 25], "lammp": [1, 10, 17, 18, 19, 24, 25], "lasp": [1, 8, 17, 18, 24], "min": [1, 2, 7, 11, 25], "md": [1, 2, 4, 11, 17, 25], "ts": [1, 6, 10, 11, 15], "initialis": [1, 21], "great": 1, "help": [1, 5], "when": [1, 4, 5, 11, 18, 19, 22], "some": [1, 4, 11, 14, 24], "system": [1, 8, 11, 15, 24, 27], "instanc": [1, 11, 15, 18, 22], "surfac": [1, 2, 3, 4, 10], "There": [1, 4], "two": [1, 2, 3, 4, 7, 10, 24], "wai": [1, 4], "fix": [1, 4], "atom": [1, 3, 4, 10, 11, 12, 20, 22, 24], "could": [1, 11, 24], "either": [1, 10, 22, 24], "store": [1, 4, 7, 10, 11, 13, 21, 22], "e": [1, 3, 4, 24], "g": [1, 3, 4, 24], "move_mask": 1, "fractionalxyz": 1, "xsd": [1, 10], "latter": 1, "one": [1, 2, 4, 5, 7, 20, 21, 24, 25], "attach": [1, 5, 11, 19, 25], "overridden": [1, 5], "can": [1, 2, 3, 4, 5, 6, 7, 10, 18, 19, 24, 25], "1": [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 13, 14, 15, 20, 22, 24, 25], "similiar": [1, 2], "group": [1, 2, 3, 6, 13, 20], "definit": [1, 2, 3, 4, 6], "id": [1, 13, 21], "indic": [1, 2, 10, 20, 22], "2": [1, 2, 3, 4, 5, 6, 9, 10, 11, 15, 20, 22, 24, 25], "3": [1, 2, 3, 5, 6, 9, 10, 15, 22, 24], "4": [1, 2, 3, 4, 5, 6, 9, 10, 11, 22], "6": [1, 2, 3, 4, 5, 6, 9, 10], "7": [1, 9, 10, 22], "8": [1, 2, 3, 4, 5, 6, 7, 10], "start": [1, 8, 10, 21], "from": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 15, 20, 22], "To": [1, 24], "minim": 1, "parameetr": 1, "step": [1, 2, 3, 4, 5, 6, 7, 11, 15, 20, 25], "fmax": [1, 2, 3, 6, 7, 11, 15, 22], "min_styl": [1, 11], "default": [1, 10, 11, 18, 21, 22, 25], "bfg": [1, 11, 20], "while": 1, "fire": [1, 11], "200": [1, 6], "number": [1, 2, 3, 5, 6, 10, 11, 14, 15, 22, 24], "0": [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 15, 20, 22, 25], "05": [1, 2, 3, 5, 6, 7, 11, 22], "unit": [1, 8, 11, 15], "ev": [1, 2, 3, 6, 15, 25], "aa": [1, 2, 3, 6, 10, 15, 24, 25], "converg": [1, 2, 3, 11, 15, 17, 20], "criteria": [1, 2, 3, 5, 6, 22], "forc": [1, 6, 8, 11, 15, 20, 24, 25], "thermostat": [1, 25], "both": 1, "nve": 1, "nvt": [1, 5, 11, 15, 25], "npt": 1, "md_style": [1, 5, 11, 15, 25], "timestep": [1, 5, 11, 15, 25], "fs": [1, 5, 6, 15, 25], "verlet": [1, 11], "integr": [1, 11, 20], "temp": [1, 5, 11, 15, 25], "300": [1, 5, 10, 11, 15], "kelvin": [1, 25], "temperatur": [1, 5, 10, 25], "tdamp": [1, 5, 11, 15], "100": [1, 5, 10, 11, 15, 25], "control": [1, 3], "frequenc": 1, "heatbath": 1, "pre": [1, 11, 15, 24], "atm": 1, "equilibrium": 1, "pressur": [1, 10, 11], "pdamp": [1, 11, 15], "work": [1, 11, 13, 22, 23], "method": [1, 2, 3, 4, 5, 6, 7, 15, 22, 24], "sella": [1, 9], "neb": 1, "creat": [1, 4, 11, 15, 18, 19, 21, 22], "instead": [1, 24], "server": 1, "databas": [1, 4, 13], "implement": [1, 4, 7, 11, 15, 21, 24], "light": 1, "weight": 1, "base": [1, 2, 3, 5, 6, 10, 11, 12, 13, 15, 18, 19, 20, 21, 22, 24, 25], "tinydb": [1, 9], "manag": [1, 7, 17], "onli": [1, 3, 7, 15, 21, 24, 25], "slurm": [1, 17, 24, 25], "ntask": [1, 21, 24, 25], "time": [1, 3, 5, 7, 11, 15, 21, 24, 25], "environ": [1, 21, 24, 25], "conda": [1, 8, 24], "activt": 1, "py37": 1, "user_command": [1, 21, 25], "automat": [1, 24, 25], "addit": [1, 11], "keyword": [1, 3, 5, 6, 11, 21, 22], "batchsiz": [1, 13, 18, 24], "split": [1, 2, 3, 6, 13], "separ": [1, 6], "have": [1, 4, 5, 11, 19, 21, 24, 25, 27], "5": [1, 2, 3, 4, 6, 9, 10, 11, 15, 20, 22], "first": [1, 4, 7, 21, 25], "second": [1, 4], "occupi": 1, "In": [2, 3, 4, 5, 6, 25], "demonstr": [2, 3, 5, 6, 27], "expedit": [2, 3, 5, 6, 17, 25], "find": [2, 20], "low": [2, 3], "energi": [2, 3, 6, 10, 11, 24, 25], "exp": [2, 3, 4, 5, 6, 10], "here": [2, 3, 5, 6, 7, 24, 25, 26, 28], "call": [2, 3, 5, 6], "all": [2, 3, 5, 6, 10, 15, 18, 20, 25], "save": [2, 3, 5, 6, 11], "where": [2, 3, 4, 5, 6], "log": [2, 3, 5, 6, 11, 20], "ad": [2, 4, 10, 11, 15], "out": [2, 3, 5, 6, 11, 20, 24], "found": [2, 3, 5, 6, 11, 21], "well": [2, 3, 5, 6, 11, 15, 22, 24], "veri": [2, 5, 27], "contain": [2, 3, 24, 25], "3x3": 2, "layer": 2, "pt": [2, 4, 6, 10, 27], "111": 2, "enumer": 2, "possibl": [2, 6], "o": [2, 4, 6, 10, 24], "adsorpt": 2, "graph": [2, 6, 8, 10, 17, 20, 24, 25], "theori": [2, 8, 24], "approach": 2, "hollow": 2, "site": [2, 6, 22], "coordin": [2, 20], "articl": [2, 3], "deshpand": 2, "maxson": 2, "t": [2, 10, 11], "greelei": 2, "j": [2, 10], "determin": [2, 15], "multident": 2, "high": [2, 25], "coverag": 2, "heterogen": 2, "catalysi": 2, "npj": [2, 3], "comput": [2, 3, 6, 8, 17, 22, 25], "mater": [2, 3], "2020": 2, "79": 2, "prefix": [2, 3, 4, 21, 22], "pt111": 2, "substrat": [2, 4, 10], "composit": [2, 3, 4, 10, 15, 17], "speci": [2, 3, 5, 6, 15, 17], "action": 2, "add": [2, 9, 11], "distance_to_sit": [2, 10], "prefer": 2, "pbc_grid": [2, 6], "graph_radiu": [2, 6], "neigh": [2, 6], "covalent_ratio": [2, 3, 4, 6, 10], "skin": [2, 6], "25": [2, 5, 6, 22], "adsorbate_el": [2, 6], "coordination_numb": 2, "site_radiu": 2, "check_site_uniqu": 2, "true": [2, 3, 5, 6, 10, 11, 13, 15, 20, 21], "36": [2, 13], "constraint": [2, 4, 11, 17, 20], "18": [2, 4], "kpt": [2, 3, 4, 11, 24], "minimis": [2, 3, 6, 11, 25], "driver": [2, 5, 6, 7, 8, 13, 17, 18, 24], "accord": 2, "import": [2, 5, 7], "traj_period": [2, 3, 5, 6, 11, 15], "mani": [2, 15], "later": [2, 5, 24], "analysi": [2, 5], "Their": 2, "usag": [2, 5], "usual": [2, 3, 4], "appli": 2, "ones": [2, 3, 6], "stabl": 2, "convex": 2, "hull": 2, "meanwhil": 2, "trajectori": [2, 3, 5, 6, 11], "sinc": [2, 3, 5, 6, 10, 11, 15], "thei": [2, 5], "cover": [2, 3], "space": [2, 5, 24], "product": 2, "mai": [2, 11, 15, 19, 21], "come": [2, 9], "across": 2, "dump_period": [2, 5, 11, 15], "12": [2, 3, 5, 6, 24], "list": [2, 3, 5, 8, 10, 11, 12, 15, 20, 21, 22, 24], "procedur": [2, 3, 4, 5], "deviat": [2, 5, 6, 11], "max_devi_": [2, 5, 6, 22], "01": [2, 5, 22], "max_devi_f": [2, 5, 22], "descriptor": [2, 3, 5, 6, 17, 24], "random_se": [2, 3, 5, 22], "1112": [2, 3, 5], "name": [2, 3, 4, 5, 6, 7, 11, 15, 18, 19, 20, 21, 22, 24, 25], "soap": [2, 3, 5, 6], "c": [2, 3, 5, 6, 9, 24], "rcut": [2, 3, 5, 6], "nmax": [2, 3, 5, 6], "lmax": [2, 3, 5, 6], "sigma": [2, 3, 5, 6], "averag": [2, 3, 5, 6], "inner": [2, 3, 5, 6], "period": [2, 3, 5, 6], "cur": [2, 3, 5, 6, 17], "zeta": [2, 3, 5, 6, 22], "strategi": [2, 3, 4, 5, 6, 15, 22], "descent": [2, 3, 5, 6, 22], "evo": [3, 4, 15], "genet": [3, 8, 15], "search": [3, 15, 20, 25, 27], "initi": [3, 4, 6, 10, 15, 24], "randomli": [3, 4], "thu": [3, 4], "must": [3, 9, 15, 24], "cu4": [3, 24], "bulk": [3, 10, 27], "cu": [3, 4, 27], "random": [3, 4, 15, 22], "lattic": 3, "constant": 3, "normal": 3, "allow": 3, "invari": [3, 17], "type": [3, 4, 11, 18, 22], "volum": [3, 10], "40": 3, "cell": [3, 11], "region": [3, 17], "phi": 3, "35": 3, "145": 3, "chi": 3, "psi": 3, "50": 3, "b": 3, "30": [3, 4, 24], "As": [3, 4, 5], "most": [3, 5, 24, 25], "complex": 3, "correspond": [3, 4, 24], "configur": [3, 4, 8, 10, 14, 24], "moreov": 3, "take": 3, "much": [3, 24], "dispatch": [3, 25], "consist": 3, "larg": 3, "like": 3, "minima": [3, 15], "propbabl": 3, "area": 3, "boltz": [3, 15], "boltzmann": [3, 15, 22], "consid": 3, "256": 3, "10": [3, 6, 7, 9, 10, 11, 25], "interv": 3, "frame": [3, 4, 5, 10, 11, 12, 13, 22, 25], "20": [3, 6], "bernstein": 3, "n": [3, 24, 25], "cs\u00e1nyi": 3, "dering": 3, "v": 3, "l": [3, 21], "de": 3, "novo": 3, "self": [3, 7, 10, 21], "guid": 3, "2019": 3, "99": 3, "selector": [3, 8, 17], "other": [3, 6, 10, 15, 24, 25], "consecut": [3, 22], "perform": [3, 6, 11, 20, 21, 22, 24, 25], "respect": 3, "1000": [3, 10, 11], "400": 3, "600": [3, 5, 25], "rest": [3, 5], "candid": [3, 4, 5], "label": [3, 4, 11, 24], "512": 3, "cu8": [3, 24], "cu12": 3, "cu24": 3, "ga": [3, 26], "everi": 3, "dyn_dump_period": 3, "plu": [3, 20], "last": [3, 5, 7, 11], "128": 3, "introduc": [4, 25], "four": 4, "stage": 4, "collect": [4, 15], "select": [4, 10, 15, 22], "offer": [4, 24], "access": [4, 10, 24, 25], "its": [4, 13], "combin": [4, 20, 25], "formul": [4, 8, 25], "recognis": 4, "expedition_exampl": 4, "ref": 4, "r": [4, 21], "stop": 4, "again": [4, 11], "check": [4, 6, 10, 11, 13, 19, 21], "whether": [4, 6, 11, 21, 22], "finish": [4, 11, 13, 19, 21, 25], "move": 4, "next": 4, "provid": 4, "prompt": 4, "refer": [4, 10], "worker": [4, 8, 11, 17, 22, 24], "properli": [4, 5], "dft": 4, "code": [4, 7, 24], "sy": 4, "rxn": [4, 6, 15], "dict": [4, 10, 11, 12, 15, 18, 19, 21, 22], "particular": 4, "sever": [4, 11, 22, 24, 25, 27], "distinguish": [4, 22], "chemic": [4, 10, 20, 27], "depand": [4, 24], "calcul": [4, 7, 10, 11, 12, 18, 19, 20, 22, 24, 25], "dure": 4, "importantli": 4, "below": [4, 10, 24, 25], "read": [4, 10, 11, 25], "sysnam": [4, 5], "sysprefix": 4, "kspace": 4, "size": [4, 5, 13, 24], "9": [4, 9, 10], "water": [4, 10, 28], "molecul": [4, 7, 10], "place": 4, "abov": [4, 25], "h2o": [4, 7, 27], "surfdi": 4, "16": [4, 15], "kmesh": 4, "molecular": [4, 6, 8, 10, 11, 15, 25, 27], "dynam": [4, 8, 11, 15, 18, 20, 25, 27], "global": [4, 22, 27], "optimis": [4, 6, 7], "adsorb": [4, 8, 17, 20], "reaction": [4, 8, 17], "explain": 5, "try": [5, 6], "were": [5, 11, 13, 21], "ha": [5, 21, 24], "format": [5, 10, 18, 21, 24], "awar": 5, "broadcast": 5, "integ": [5, 11], "150": 5, "dump": [5, 11], "disk": 5, "rune": 5, "long": 5, "further": [5, 6, 25], "choos": 5, "chosen": 5, "howev": [5, 6, 18, 25], "highli": 5, "recommend": 5, "reduc": 5, "repres": 5, "seri": [5, 15], "sift": 5, "predict": [5, 12], "rang": 5, "after": [5, 24, 25], "featur": [5, 8, 22], "span": 5, "At": [5, 7], "enough": [5, 6], "previou": [5, 11], "param": [5, 7, 10, 11, 13, 15, 19, 21, 24, 25], "pd": [5, 21], "artifici": [6, 8, 20], "induc": [6, 8, 20], "afir": [6, 15, 17], "standard": 6, "make": 6, "sure": 6, "reactant": 6, "still": [6, 11, 21], "merg": 6, "object": [6, 10, 11, 12, 15, 18, 20], "target_pair": [6, 20], "gmax": [6, 20], "ginit": [6, 20], "gintv": [6, 20], "bia": 6, "graph_param": [6, 10, 20], "happen": 6, "dyn_param": [6, 18, 20], "transit": [6, 25], "state": [6, 25], "tss": 6, "fss": 6, "traj": [6, 11, 15, 17, 20], "just": 6, "highest": 6, "among": 6, "rather": 6, "than": [6, 10], "exact": 6, "co": 6, "seed": [6, 20, 22], "00": [6, 24, 25], "about": [7, 8], "extend": 7, "class": [7, 10, 11, 12, 13, 15, 18, 19, 20, 21, 22, 25], "emtmanag": 7, "subclass": 7, "abstractpotentialmanag": [7, 18, 19, 25], "emt": [7, 26], "py": [7, 10, 22], "attribut": [7, 21], "implemented_backend": [7, 18, 19], "valid_combin": [7, 18, 19], "register_calcul": [7, 18, 19], "built": [7, 24], "usr": 7, "bin": [7, 9, 11, 21], "env": [7, 22, 25], "python3": [7, 22], "utf": 7, "def": 7, "calc_param": [7, 18, 19], "arg": [7, 10, 11, 13, 18, 19, 21, 22], "kwarg": [7, 10, 11, 13, 18, 19, 20, 21, 22], "super": 7, "calc_backend": 7, "calc": [7, 11, 15, 18, 19, 20, 25], "return": [7, 10, 11, 19, 21, 22], "__name__": 7, "__main__": 7, "pass": [7, 24], "Then": 7, "through": [7, 24, 25], "lowercas": 7, "cand0": 7, "nframe": [7, 22, 25], "potter": [7, 13, 15, 22], "1517": 7, "8792752663147125": 7, "eann": [8, 17, 18, 24], "deepmd": [8, 17, 18, 24, 25, 28], "nequip": [8, 17, 18, 24], "allegro": [8, 24], "grand": 8, "canon": 8, "mont": [8, 15], "carlo": [8, 15], "overview": 8, "instal": [8, 24], "requir": [8, 24], "sourc": [8, 25], "pip": 8, "get": [8, 10, 11, 18], "tutori": 8, "extens": 8, "custom": [8, 18, 21], "builder": [8, 17], "packag": [8, 9, 17, 24], "config": [8, 17, 24], "main": [8, 17, 20], "trainer": [8, 17, 24], "matplotlib": 9, "numpi": [9, 22], "21": 9, "scipi": 9, "scikit": 9, "22": 9, "dscribe": [9, 22], "joblib": [9, 14, 22], "pyyaml": 9, "networkx": 9, "jax": 9, "27": 9, "pytorch": [9, 24], "plume": [9, 17], "execut": 9, "forg": 9, "download": 9, "git": 9, "clone": 9, "http": [9, 10], "github": 9, "com": 9, "hsulab": 9, "export": 9, "pythonpath": 9, "_your": [9, 24], "path_": [9, 24], "adsorbategraphgener": 10, "str": [10, 11, 13, 15, 18, 20, 21, 22], "posixpath": [10, 13, 19, 20, 22], "user": [10, 13, 19, 20, 22, 25], "jyxu": [10, 13, 19, 20, 22], "document": [10, 13, 19, 20, 22], "somecod": [10, 13, 19, 20, 22], "doc": [10, 13, 19, 20, 22], "structuregener": 10, "basedo": 10, "add_adsorb": 10, "float": [10, 15, 20, 22], "compare_graph": 10, "none": [10, 11, 12, 13, 15, 18, 19, 20, 21, 22], "selected_indic": 10, "del_adsorb": 10, "delet": [10, 11], "exchange_adsorb": 10, "target_speci": [10, 20], "chang": [10, 11], "anoth": 10, "abc": [10, 11, 13, 15, 18, 21, 22], "properti": [10, 11, 12, 13, 18, 21, 22, 24], "abstract": [10, 11, 13, 17, 18, 21, 22], "convert_indic": 10, "union": [10, 15, 21, 22], "int": [10, 14, 15, 20, 22], "index_convent": 10, "lmp": [10, 11, 24], "pars": [10, 11], "count": 10, "constrain": 10, "convent": 10, "convert": [10, 24], "end": 10, "output": [10, 11, 20, 22], "text": 10, "sth": 10, "parse_constraint_info": 10, "cons_text": 10, "ignore_ase_constraint": 10, "ret_text": 10, "form": 10, "transform": [10, 20], "mean": [10, 25], "lowest": 10, "smallest": 10, "z": [10, 20], "posit": [10, 11, 20], "zpo": 10, "zposit": 10, "smaller": 10, "directgener": 10, "directli": [10, 25], "as_dict": [10, 11, 18, 22], "fpath": 10, "read_xsd2": 10, "fd": 10, "materi": 10, "studio": 10, "randomgener": 10, "max_fail": 10, "max_random_tri": 10, "ran_siz": 10, "supported_system": 10, "cluster": [10, 25], "reducedregion": 10, "reservoir": 10, "caxi": 10, "max_movedisp": 10, "use_rot": 10, "fals": [10, 11, 13, 15, 20, 21, 22], "rng": [10, 22], "spheric": 10, "cubic": 10, "box": 10, "max_num_per_speci": 10, "10000": 10, "max_random_attemp": 10, "calc_acc_volum": 10, "accept": 10, "check_overlap_neighbour": 10, "nl": 10, "new_atom": 10, "chemical_symbol": 10, "species_indic": 10, "neighbour": 10, "newli": 10, "neither": 10, "too": 10, "close": 10, "far": 10, "random_position_neighbour": 10, "oper": 10, "static": 10, "compute_thermo_wavelength": 10, "expart": 10, "estimate_chemical_potenti": 10, "total_energi": 10, "zpe": 10, "du": 10, "ds": 10, "coef": 10, "estim": [10, 11, 12, 18, 19], "o2": 10, "reaxff": 10, "588": 10, "109": 10, "vdw": 10, "df": 10, "spin": 10, "polaris": 10, "196": 10, "491": 10, "09714": 10, "683": 10, "kj": 10, "mol": 10, "entropi": 10, "298": 10, "15k": 10, "205": 10, "147": 10, "apto2": 10, "mu_pt": 10, "e_apto2": 10, "g_o2": 10, "freeenergi": 10, "e_dft": 10, "u": [10, 21], "pv": 10, "thermodynam": 10, "data": [10, 11, 20], "janaf": 10, "nist": 10, "gov": 10, "formulabasedgener": 10, "chemical_formula": 10, "karg": [10, 22], "build_speci": 10, "calc_water_num": 10, "given": [10, 25], "ideal_gas_insertin": 10, "nrt": 10, "test_nvt": 10, "other_util": 10, "per_main": 10, "pertubate_stuctur": 10, "cwd": 10, "amplitud": 10, "num": [10, 22], "sort_atom": 10, "create_gener": 10, "uncertainti": [11, 17, 18, 19], "committe": [11, 17, 19], "asedriv": 11, "abstractdriv": [11, 25], "default_init_param": 11, "press": 11, "velocity_se": 11, "min_modifi": 11, "tmax": 11, "default_run_param": 11, "default_task": 11, "log_fnam": 11, "dyn": 11, "log_fpath": 11, "param_map": 11, "taup": 11, "taut": 11, "loginterv": 11, "temperature_k": 11, "map": [11, 24], "kei": 11, "actual": 11, "read_trajectori": 11, "add_step_info": 11, "atoms_": 11, "read_exist": 11, "bool": [11, 21, 22], "extra_info": 11, "singl": [11, 20], "point": 11, "goe": 11, "saved_card": 11, "restart": [11, 13, 15], "supported_task": 11, "traj_fnam": 11, "traj_fpath": 11, "retrieve_and_save_devi": 11, "devi_fpath": 11, "noreturn": [11, 13, 18, 20, 21, 22, 23], "exist": 11, "save_trajectori": 11, "delete_keyword": 11, "remov": 11, "valu": [11, 22], "pot_param": 11, "potentialmanag": 11, "read_converg": 11, "better": 11, "reset": 11, "copi": 11, "new": [11, 19], "retriev": [11, 13, 25], "extra": [11, 18, 19, 24], "inform": 11, "set_keyword": 11, "special_keyword": 11, "special": 11, "syswise_kei": 11, "systemwis": 11, "md_init_kei": 11, "md_run_kei": 11, "min_init_kei": 11, "min_run_kei": 11, "aselmpconfig": 11, "aselammpsset": 11, "deviation_filenam": 11, "model_devi": 11, "input_fnam": 11, "inputstructure_filenam": 11, "stru": 11, "log_filenam": 11, "trajectory_filenam": 11, "fileiocalcul": 11, "cached_loop_tim": 11, "cach": 11, "wall": 11, "cached_traj_fram": 11, "system_chang": 11, "pbc": 11, "initial_charg": 11, "initial_magmom": 11, "default_paramet": [11, 21, 22], "atom_styl": 11, "boundari": 11, "etol": 11, "ftol": 11, "mass": 11, "maxev": 11, "maxit": 11, "md_step": 11, "neigh_modifi": 11, "neighbor": 11, "newton": 11, "pair_coeff": 11, "pair_styl": 11, "processor": 11, "metal": 11, "note": [11, 24], "implemented_properti": 11, "stress": [11, 24], "read_result": 11, "ASE": [11, 15], "type_list": [11, 15, 24], "symbol": [11, 20], "write_input": 11, "write": [11, 21, 22], "lmpdriver": 11, "otherwis": [11, 21], "parse_thermo_data": 11, "logfile_path": 11, "parse_type_list": 11, "laspdriv": 11, "explore_typ": 11, "ssw": 11, "maxoptstep": 11, "prmass": 11, "nhmass": 11, "print_freq": 11, "sswstep": 11, "target_p": 11, "target_t": 11, "dt": 11, "ranse": 11, "allstr": 11, "arc": 11, "allfor": 11, "laspnn": 11, "equit": 11, "initial_t": 11, "print_strfreq": 11, "realmass": 11, "ttotal": 11, "bfgs_maxsteps": 11, "internal_lj": 11, "printeveri": 11, "nn": 11, "read_laspset": 11, "train_structur": 11, "trainstr": 11, "txt": 11, "trainfor": 11, "create_single_point_calcul": 11, "atoms_sort": 11, "resort": 11, "calc_nam": 11, "spc": 11, "share": [11, 14], "get_composition_from_atom": 11, "traj_dir": 11, "traj_ind_fpath": 11, "include_first": 11, "include_last": 11, "vaspdriv": 11, "freq": 11, "ibrion": 11, "nfree": 11, "nsw": 11, "potim": 11, "015": 11, "ediffg": 11, "smass": 11, "tebeg": 11, "fail": 11, "empti": 11, "errof": 11, "read_sort": 11, "sort": [11, 15], "dat": 11, "doe": [11, 24], "redon": 11, "committeeuncertaintyestim": 12, "create_estim": 12, "est_params_": [12, 18, 19], "calc_params_": 12, "create_calc_func": 12, "callabl": 12, "commandwork": 13, "scheduler_": 13, "abstractschedul": [13, 21], "command_": 13, "directory_": 13, "abstractwork": [13, 22], "driverbasedwork": [13, 25], "potter_": 13, "driver_": 13, "monitor": 13, "lifetim": 13, "queu": 13, "uniqu": 13, "inspect": [13, 25], "get_file_md5": 13, "f": [13, 20], "trainwork": [13, 23], "uuidlen": 13, "get_number_of_running_job": 13, "logger": [13, 22], "run_driv": 13, "run_work": 13, "mywork": 13, "local_exec": 13, "njob": [14, 22], "parallel": [14, 22], "abstractexpedit": 15, "main_dict": 15, "refere": 15, "calculation_param": 15, "collection_param": 15, "resdir_nam": 15, "selection_tag": 15, "creation_param": 15, "calc_dir_nam": 15, "tmp_folder": 15, "general_param": 15, "ignore_exist": 15, "label_param": 15, "check_par": 15, "parse_specord": 15, "order": 15, "working_directori": 15, "type_map": 15, "adsorbateevolut": 15, "opt_dnam": 15, "opt_fnam": 15, "opt": [15, 20], "struc_prefix": 15, "cand": 15, "evolutionaryexpedit": 15, "quasi": 15, "harvest": 15, "utilis": [15, 24], "nanm": 15, "basin": 15, "hop": 15, "anneal": 15, "popul": 15, "now": 15, "uspex": 15, "airss": 15, "mdbasedexpedit": 15, "brute": 15, "bias": 15, "manual": 15, "mdparam": 15, "500": [15, 24], "create_dataclass_from_dict": 15, "dcl": 15, "dataclass": 15, "reactionexplor": 15, "pair": [15, 20], "optraj": 15, "run_expedit": 15, "exp_json": 15, "submodul": 17, "direct": 17, "randombuild": 17, "util": 17, "content": 17, "subpackag": 17, "mors": 17, "dp": [17, 24], "opt_mors": 17, "vasp": [17, 18, 24], "evosearch": 17, "reax": [17, 18, 24], "regist": 17, "pb": [17, 24, 25], "deal": [18, 21, 25], "create_driv": 18, "freez": [18, 19, 24], "train_dir": [18, 19], "updat": [18, 19], "get_batchs": [18, 19], "agr": [18, 19], "register_schedul": 18, "params_": [18, 21], "register_train": [18, 19], "train_params_": [18, 19], "register_uncertainty_estim": [18, 19], "capabl": [18, 19], "version": 18, "m00": 18, "potentialregist": 18, "create_potenti": 18, "pot_nam": 18, "train_param": 18, "register_potenti": 18, "pot_cl": 18, "tmanag": 18, "create_pott": 18, "config_fil": 18, "wrapper": 18, "deepmdmanag": 19, "check_finish": 19, "model_path": 19, "train_config": 19, "eannmanag": 19, "train_input_nam": 19, "input_nn": 19, "json": [19, 24], "laspmanag": 19, "nequipmanag": 19, "reaxmanag": 19, "vaspmanag": 19, "gamma": 20, "fragment": 20, "graph_creat": 20, "calc_pair": 20, "has_react": 20, "update_posit": 20, "update_positions_by_graph": 20, "afirsearch": 20, "event": 20, "bunch": 20, "pseudo": 20, "pathwai": 20, "irun": 20, "init_atom": 20, "fres_path": 20, "frag": 20, "summari": 20, "nfragments_to_react": 20, "check_exist": 20, "run_neb": 20, "factori": 20, "shift": 20, "cop": 20, "force_funct": 20, "covalent_radii": 20, "pair_indic": 20, "pair_shift": 20, "function": [20, 21, 24], "grid_iter": 20, "grid": 20, "yield": 20, "3d": 20, "tupl": 20, "dimens": 20, "iter": 20, "over": 20, "x": 20, "y": 20, "partition_frag": 20, "creator": 20, "them": 20, "sampl": [20, 24], "advanc": 20, "localschedul": [21, 25], "is_finish": 21, "alwai": 21, "No": 21, "pbsschedul": 21, "enquire_command": 21, "qstat": 21, "statu": 21, "string": 21, "line": [21, 25], "shell": 21, "bash": 21, "script": [21, 25], "submit_command": 21, "qsub": 21, "suffix": 21, "Not": 21, "yet": 21, "running_statu": 21, "q": 21, "cg": 21, "tag": 21, "common": 21, "lifecycl": 21, "arbitrari": [21, 22], "argument": [21, 22], "slurmschedul": 21, "squeue": 21, "whoami": 21, "12i": 21, "12p": 21, "60j": 21, "4t": 21, "12m": 21, "12l": 21, "5d": 21, "4c": 21, "sbatch": 21, "account": 21, "cpu": [21, 24], "per": [21, 24], "gre": [21, 24], "slurmjob": 21, "mem": [21, 24], "gpu": [21, 24], "partit": [21, 24, 25], "been": 21, "assum": 21, "alreadi": [21, 24], "create_schedul": 21, "composedselector": 22, "abstractselector": 22, "info_fpath": 22, "compos": 22, "convergenceselector": 22, "geometr": 22, "cur_select": 22, "miniconda3": 22, "aiida": 22, "lib": 22, "__init__": 22, "performa": 22, "nfeatur": 22, "shape": 22, "arrrai": 22, "exponenti": 22, "coeffici": 22, "stochast": 22, "descriptor_svd": 22, "at_desc": 22, "do_vector": 22, "vh": 22, "perfrom": 22, "spars": 22, "svd": 22, "descriptorbasedselector": 22, "calc_desc": 22, "verbos": 22, "graphselector": 22, "invariantselector": 22, "fname": 22, "indent": 22, "pfunc": 22, "index_map": 22, "ret_indic": 22, "seelect": 22, "selction": 22, "protocol": 22, "variabl": 22, "length": [22, 25], "set_rng": 22, "boltzmannminimaselect": 22, "ae_cut": 22, "boltzminima": 22, "deviationselector": 22, "pot_work": [22, 23], "devi": 22, "create_selector": 22, "input_list": 22, "run_select": 22, "param_fil": 22, "run_train": 23, "dir": [23, 24], "tensorflow": 24, "io": 24, "suport": 24, "major": 24, "concern": 24, "represent": 24, "recurs": 24, "embed": 24, "centr": 24, "symmetri": 24, "equival": 24, "messag": 24, "therefor": 24, "certain": 24, "befor": 24, "correctli": 24, "besid": 24, "field": 24, "semi": 24, "empir": 24, "build": [24, 27], "ab": 24, "initio": 24, "target": 24, "total": [24, 25], "descript": 24, "reactiv": 24, "xtb": 24, "tight": 24, "bind": 24, "densiti": 24, "show": [24, 25], "specifc": [24, 25], "flavour": 24, "absolut": 24, "resolv": 24, "pp_path": 24, "pseudopotenti": 24, "vdw_path": 24, "vdwkernel": 24, "incar": 24, "kpoint": 24, "mesh": 24, "commad": 24, "mpirun": 24, "32": 24, "vasp_std": 24, "trainer_exampl": 24, "epoch": 24, "epcoh": 24, "k2": [24, 25], "4g": 24, "v100": 24, "activ": [24, 25], "numb_step": 24, "depend": 24, "deploi": 24, "auto": 24, "deployed_model": 24, "pth": 24, "catorch2": [24, 25], "eann_latest_": 24, "perfom": 25, "attacth": 25, "reus": 25, "With": 25, "circumst": 25, "realli": 25, "heavi": 25, "even": 25, "imagin": 25, "ns": 25, "ideal": 25, "performac": 25, "hpc": 25, "hipri": 25, "source_eann": 25, "sh": 25, "nconda": 25, "throughout": 25, "confid": 25, "cand100": 25, "jobid": 25, "10206151": 25, "cand96": 25, "10206152": 25, "wait": 25, "few": 25, "minut": 25, "noth": 25, "0280": 25, "new_fram": 25, "92": 25, "219757": 25, "statist": 25, "108": 25, "5682": 25, "max": 25, "2198": 25, "avg": 25, "3940": 25, "word": 25, "On": 27, "fly": 27, "platinum": 28}, "objects": {"": [[10, 0, 0, "-", "builder"], [11, 0, 0, "-", "computation"], [14, 0, 0, "-", "config"], [15, 0, 0, "-", "expedition"], [16, 0, 0, "-", "main"], [18, 0, 0, "-", "potential"], [20, 0, 0, "-", "reaction"], [21, 0, 0, "-", "scheduler"], [22, 0, 0, "-", "selector"], [23, 0, 0, "-", "trainer"]], "builder": [[10, 0, 0, "-", "adsorbate"], [10, 0, 0, "-", "builder"], [10, 0, 0, "-", "constraints"], [10, 4, 1, "", "create_generator"], [10, 0, 0, "-", "direct"], [10, 0, 0, "-", "randomBuilder"], [10, 0, 0, "-", "region"], [10, 0, 0, "-", "species"], [10, 0, 0, "-", "utils"]], "builder.adsorbate": [[10, 1, 1, "", "AdsorbateGraphGenerator"]], "builder.adsorbate.AdsorbateGraphGenerator": [[10, 2, 1, "", "add_adsorbate"], [10, 2, 1, "", "compare_graphs"], [10, 2, 1, "", "del_adsorbate"], [10, 2, 1, "", "exchange_adsorbate"], [10, 2, 1, "", "run"]], "builder.builder": [[10, 1, 1, "", "StructureGenerator"]], "builder.builder.StructureGenerator": [[10, 3, 1, "", "directory"], [10, 2, 1, "", "run"]], "builder.constraints": [[10, 4, 1, "", "convert_indices"], [10, 4, 1, "", "parse_constraint_info"]], "builder.direct": [[10, 1, 1, "", "DirectGenerator"], [10, 4, 1, "", "read_xsd2"]], "builder.direct.DirectGenerator": [[10, 2, 1, "", "as_dict"], [10, 3, 1, "", "fpath"], [10, 3, 1, "", "indices"], [10, 2, 1, "", "run"]], "builder.randomBuilder": [[10, 1, 1, "", "RandomGenerator"]], "builder.randomBuilder.RandomGenerator": [[10, 5, 1, "", "MAX_FAILED"], [10, 5, 1, "", "MAX_RANDOM_TRY"], [10, 2, 1, "", "as_dict"], [10, 2, 1, "", "run"], [10, 5, 1, "", "supported_systems"]], "builder.region": [[10, 1, 1, "", "ReducedRegion"], [10, 1, 1, "", "Reservoir"], [10, 4, 1, "", "estimate_chemical_potential"]], "builder.region.ReducedRegion": [[10, 5, 1, "", "MAX_NUM_PER_SPECIES"], [10, 5, 1, "", "MAX_RANDOM_ATTEMPS"], [10, 2, 1, "", "calc_acc_volume"], [10, 2, 1, "", "check_overlap_neighbour"], [10, 2, 1, "", "random_position_neighbour"], [10, 3, 1, "", "reservoir"]], "builder.region.Reservoir": [[10, 2, 1, "", "compute_thermo_wavelength"]], "builder.species": [[10, 1, 1, "", "FormulaBasedGenerator"], [10, 4, 1, "", "build_species"], [10, 4, 1, "", "calc_water_num"], [10, 4, 1, "", "check_overlap_neighbour"], [10, 4, 1, "", "ideal_gas_insertin"], [10, 4, 1, "", "random_position_neighbour"], [10, 4, 1, "", "test_nvt"]], "builder.species.FormulaBasedGenerator": [[10, 2, 1, "", "run"]], "builder.utils": [[10, 4, 1, "", "other_utils"], [10, 4, 1, "", "per_main"], [10, 4, 1, "", "pertubate_stucture"], [10, 4, 1, "", "sort_atoms"]], "computation": [[11, 0, 0, "-", "ase"], [11, 0, 0, "-", "driver"], [11, 0, 0, "-", "lammps"], [11, 0, 0, "-", "lasp"], [12, 0, 0, "-", "uncertainty"], [11, 0, 0, "-", "utils"], [11, 0, 0, "-", "vasp"], [13, 0, 0, "-", "worker"]], "computation.ase": [[11, 1, 1, "", "AseDriver"], [11, 4, 1, "", "retrieve_and_save_deviation"], [11, 4, 1, "", "save_trajectory"]], "computation.ase.AseDriver": [[11, 5, 1, "", "default_init_params"], [11, 5, 1, "", "default_run_params"], [11, 5, 1, "", "default_task"], [11, 3, 1, "", "directory"], [11, 5, 1, "", "log_fname"], [11, 3, 1, "", "log_fpath"], [11, 5, 1, "", "name"], [11, 5, 1, "", "param_mapping"], [11, 2, 1, "", "read_trajectory"], [11, 2, 1, "", "run"], [11, 5, 1, "", "saved_cards"], [11, 5, 1, "", "supported_tasks"], [11, 5, 1, "", "traj_fname"], [11, 3, 1, "", "traj_fpath"]], "computation.driver": [[11, 1, 1, "", "AbstractDriver"], [11, 6, 1, "", "MD_INIT_KEYS"], [11, 6, 1, "", "MD_RUN_KEYS"], [11, 6, 1, "", "MIN_INIT_KEYS"], [11, 6, 1, "", "MIN_RUN_KEYS"]], "computation.driver.AbstractDriver": [[11, 2, 1, "", "as_dict"], [11, 5, 1, "", "default_init_params"], [11, 5, 1, "", "default_run_params"], [11, 3, 1, "", "default_task"], [11, 5, 1, "", "delete"], [11, 2, 1, "", "delete_keywords"], [11, 3, 1, "", "directory"], [11, 2, 1, "", "get"], [11, 5, 1, "", "keyword"], [11, 5, 1, "", "name"], [11, 5, 1, "", "param_mapping"], [11, 5, 1, "", "pot_params"], [11, 2, 1, "", "read_converged"], [11, 2, 1, "", "read_trajectory"], [11, 2, 1, "", "reset"], [11, 2, 1, "", "run"], [11, 2, 1, "", "set_keywords"], [11, 5, 1, "", "special_keywords"], [11, 3, 1, "", "supported_tasks"], [11, 5, 1, "", "syswise_keys"]], "computation.lammps": [[11, 6, 1, "", "ASELMPCONFIG"], [11, 1, 1, "", "AseLammpsSettings"], [11, 1, 1, "", "Lammps"], [11, 1, 1, "", "LmpDriver"], [11, 4, 1, "", "parse_thermo_data"], [11, 4, 1, "", "parse_type_list"]], "computation.lammps.AseLammpsSettings": [[11, 5, 1, "", "deviation_filename"], [11, 5, 1, "", "input_fname"], [11, 5, 1, "", "inputstructure_filename"], [11, 5, 1, "", "log_filename"], [11, 5, 1, "", "trajectory_filename"]], "computation.lammps.Lammps": [[11, 5, 1, "", "cached_loop_time"], [11, 5, 1, "", "cached_traj_frames"], [11, 2, 1, "", "calculate"], [11, 5, 1, "", "command"], [11, 5, 1, "", "default_parameters"], [11, 5, 1, "", "implemented_properties"], [11, 5, 1, "", "name"], [11, 2, 1, "", "read_results"], [11, 5, 1, "", "type_list"], [11, 2, 1, "", "write_input"]], "computation.lammps.LmpDriver": [[11, 5, 1, "", "default_init_params"], [11, 5, 1, "", "default_run_params"], [11, 5, 1, "", "default_task"], [11, 5, 1, "", "delete"], [11, 5, 1, "", "keyword"], [11, 5, 1, "", "name"], [11, 5, 1, "", "param_mapping"], [11, 2, 1, "", "read_trajectory"], [11, 2, 1, "", "run"], [11, 5, 1, "", "saved_cards"], [11, 5, 1, "", "special_keywords"], [11, 5, 1, "", "supported_tasks"]], "computation.lasp": [[11, 1, 1, "", "LaspDriver"], [11, 1, 1, "", "LaspNN"], [11, 4, 1, "", "read_laspset"]], "computation.lasp.LaspDriver": [[11, 5, 1, "", "default_init_params"], [11, 5, 1, "", "default_run_params"], [11, 5, 1, "", "default_task"], [11, 5, 1, "", "name"], [11, 5, 1, "", "param_mapping"], [11, 2, 1, "", "read_trajectory"], [11, 2, 1, "", "run"], [11, 5, 1, "", "saved_cards"], [11, 5, 1, "", "supported_tasks"]], "computation.lasp.LaspNN": [[11, 2, 1, "", "calculate"], [11, 5, 1, "", "command"], [11, 5, 1, "", "default_parameters"], [11, 5, 1, "", "implemented_properties"], [11, 5, 1, "", "name"], [11, 2, 1, "", "read_results"], [11, 2, 1, "", "write_input"]], "computation.uncertainty": [[12, 0, 0, "-", "committee"], [12, 4, 1, "", "create_estimator"]], "computation.uncertainty.committee": [[12, 1, 1, "", "CommitteeUncertaintyEstimator"]], "computation.uncertainty.committee.CommitteeUncertaintyEstimator": [[12, 3, 1, "", "directory"], [12, 2, 1, "", "estimate"]], "computation.utils": [[11, 4, 1, "", "create_single_point_calculator"], [11, 4, 1, "", "get_composition_from_atoms"], [11, 4, 1, "", "parse_type_list"], [11, 4, 1, "", "read_trajectories"]], "computation.vasp": [[11, 1, 1, "", "VaspDriver"], [11, 4, 1, "", "read_sort"]], "computation.vasp.VaspDriver": [[11, 5, 1, "", "default_init_params"], [11, 5, 1, "", "default_run_params"], [11, 5, 1, "", "default_task"], [11, 5, 1, "", "name"], [11, 5, 1, "", "param_mapping"], [11, 2, 1, "", "read_trajectory"], [11, 2, 1, "", "run"], [11, 5, 1, "", "supported_tasks"], [11, 5, 1, "", "syswise_keys"]], "computation.worker": [[13, 0, 0, "-", "command"], [13, 0, 0, "-", "drive"], [13, 4, 1, "", "run_driver"], [13, 4, 1, "", "run_worker"], [13, 0, 0, "-", "train"], [13, 0, 0, "-", "worker"]], "computation.worker.command": [[13, 1, 1, "", "CommandWorker"]], "computation.worker.command.CommandWorker": [[13, 3, 1, "", "command"], [13, 2, 1, "", "run"]], "computation.worker.drive": [[13, 1, 1, "", "DriverBasedWorker"], [13, 4, 1, "", "get_file_md5"]], "computation.worker.drive.DriverBasedWorker": [[13, 5, 1, "", "batchsize"], [13, 3, 1, "", "driver"], [13, 2, 1, "", "inspect"], [13, 2, 1, "", "retrieve"], [13, 2, 1, "", "run"]], "computation.worker.train": [[13, 1, 1, "", "TrainWorker"]], "computation.worker.train.TrainWorker": [[13, 2, 1, "", "run"]], "computation.worker.worker": [[13, 1, 1, "", "AbstractWorker"]], "computation.worker.worker.AbstractWorker": [[13, 5, 1, "", "UUIDLEN"], [13, 3, 1, "", "database"], [13, 3, 1, "", "directory"], [13, 2, 1, "", "get_number_of_running_jobs"], [13, 2, 1, "", "inspect"], [13, 5, 1, "", "logger"], [13, 5, 1, "", "restart"], [13, 2, 1, "", "retrieve"], [13, 2, 1, "", "run"], [13, 3, 1, "", "scheduler"]], "config": [[14, 6, 1, "", "NJOBS"]], "expedition": [[15, 0, 0, "-", "abstract"], [15, 0, 0, "-", "adsorbate"], [15, 0, 0, "-", "evoSearch"], [15, 0, 0, "-", "md"], [15, 0, 0, "-", "reaction"], [15, 4, 1, "", "run_expedition"]], "expedition.abstract": [[15, 1, 1, "", "AbstractExpedition"]], "expedition.abstract.AbstractExpedition": [[15, 5, 1, "", "calculation_params"], [15, 5, 1, "", "collection_params"], [15, 5, 1, "", "creation_params"], [15, 5, 1, "", "general_params"], [15, 5, 1, "", "label_params"], [15, 5, 1, "", "name"], [15, 5, 1, "", "parameters"], [15, 2, 1, "", "parse_specorder"], [15, 5, 1, "", "restart"], [15, 2, 1, "", "run"], [15, 5, 1, "", "type_list"], [15, 5, 1, "", "type_map"]], "expedition.adsorbate": [[15, 1, 1, "", "AdsorbateEvolution"]], "expedition.adsorbate.AdsorbateEvolution": [[15, 5, 1, "", "collection_params"], [15, 5, 1, "", "creation_params"], [15, 5, 1, "", "name"], [15, 5, 1, "", "parameters"]], "expedition.evoSearch": [[15, 1, 1, "", "EvolutionaryExpedition"]], "expedition.evoSearch.EvolutionaryExpedition": [[15, 5, 1, "", "collection_params"], [15, 5, 1, "", "creation_params"], [15, 5, 1, "", "name"]], "expedition.md": [[15, 1, 1, "", "MDBasedExpedition"], [15, 1, 1, "", "MDParams"], [15, 4, 1, "", "create_dataclass_from_dict"]], "expedition.md.MDBasedExpedition": [[15, 5, 1, "", "collection_params"], [15, 5, 1, "", "name"]], "expedition.md.MDParams": [[15, 5, 1, "", "Pdamp"], [15, 5, 1, "", "Tdamp"], [15, 5, 1, "", "dump_period"], [15, 5, 1, "", "md_style"], [15, 5, 1, "", "pres"], [15, 5, 1, "", "steps"], [15, 5, 1, "", "task"], [15, 5, 1, "", "temp"], [15, 5, 1, "", "timestep"]], "expedition.reaction": [[15, 1, 1, "", "ReactionExplorer"]], "expedition.reaction.ReactionExplorer": [[15, 5, 1, "", "collection_params"], [15, 5, 1, "", "creation_params"], [15, 5, 1, "", "name"]], "main": [[16, 4, 1, "", "main"]], "potential": [[18, 0, 0, "-", "manager"], [19, 0, 0, "-", "managers"], [18, 0, 0, "-", "register"]], "potential.manager": [[18, 1, 1, "", "AbstractPotentialManager"]], "potential.manager.AbstractPotentialManager": [[18, 2, 1, "", "as_dict"], [18, 3, 1, "", "calc"], [18, 2, 1, "", "create_driver"], [18, 2, 1, "", "freeze"], [18, 2, 1, "", "get_batchsize"], [18, 5, 1, "", "implemented_backends"], [18, 5, 1, "", "name"], [18, 2, 1, "", "register_calculator"], [18, 2, 1, "", "register_scheduler"], [18, 2, 1, "", "register_trainer"], [18, 2, 1, "", "register_uncertainty_estimator"], [18, 3, 1, "", "scheduler"], [18, 5, 1, "", "valid_combinations"], [18, 5, 1, "", "version"]], "potential.managers": [[19, 0, 0, "-", "deepmd"], [19, 0, 0, "-", "eann"], [19, 0, 0, "-", "lasp"], [19, 0, 0, "-", "nequip"], [19, 0, 0, "-", "reax"], [19, 0, 0, "-", "vasp"]], "potential.managers.deepmd": [[19, 1, 1, "", "DeepmdManager"]], "potential.managers.deepmd.DeepmdManager": [[19, 2, 1, "", "check_finished"], [19, 2, 1, "", "freeze"], [19, 2, 1, "", "get_batchsize"], [19, 5, 1, "", "implemented_backends"], [19, 5, 1, "", "name"], [19, 2, 1, "", "register_calculator"], [19, 2, 1, "", "register_trainer"], [19, 2, 1, "", "register_uncertainty_estimator"], [19, 2, 1, "", "train"], [19, 5, 1, "", "valid_combinations"]], "potential.managers.eann": [[19, 1, 1, "", "EannManager"]], "potential.managers.eann.EannManager": [[19, 5, 1, "", "TRAIN_INPUT_NAME"], [19, 2, 1, "", "freeze"], [19, 5, 1, "", "implemented_backends"], [19, 5, 1, "", "name"], [19, 2, 1, "", "register_calculator"], [19, 2, 1, "", "register_trainer"], [19, 2, 1, "", "train"], [19, 5, 1, "", "valid_combinations"]], "potential.managers.lasp": [[19, 1, 1, "", "LaspManager"]], "potential.managers.lasp.LaspManager": [[19, 5, 1, "", "implemented_backends"], [19, 5, 1, "", "name"], [19, 2, 1, "", "register_calculator"], [19, 5, 1, "", "valid_combinations"]], "potential.managers.nequip": [[19, 1, 1, "", "NequipManager"]], "potential.managers.nequip.NequipManager": [[19, 2, 1, "", "freeze"], [19, 5, 1, "", "implemented_backends"], [19, 5, 1, "", "name"], [19, 2, 1, "", "register_calculator"], [19, 2, 1, "", "register_trainer"], [19, 2, 1, "", "train"], [19, 5, 1, "", "valid_combinations"]], "potential.managers.reax": [[19, 1, 1, "", "ReaxManager"]], "potential.managers.reax.ReaxManager": [[19, 5, 1, "", "implemented_backends"], [19, 5, 1, "", "name"], [19, 2, 1, "", "register_calculator"], [19, 5, 1, "", "valid_combinations"]], "potential.managers.vasp": [[19, 1, 1, "", "VaspManager"]], "potential.managers.vasp.VaspManager": [[19, 5, 1, "", "implemented_backends"], [19, 5, 1, "", "name"], [19, 2, 1, "", "register_calculator"], [19, 5, 1, "", "valid_combinations"]], "potential.register": [[18, 1, 1, "", "PotentialRegister"], [18, 4, 1, "", "create_potter"]], "potential.register.PotentialRegister": [[18, 2, 1, "", "create_potential"], [18, 2, 1, "", "register_potential"]], "reaction": [[20, 0, 0, "-", "AFIR"]], "reaction.AFIR": [[20, 1, 1, "", "AFIR"], [20, 1, 1, "", "AFIRSearch"], [20, 1, 1, "", "Adsorbate"], [20, 4, 1, "", "force_function"], [20, 4, 1, "", "grid_iterator"], [20, 4, 1, "", "partition_fragments"]], "reaction.AFIR.AFIR": [[20, 2, 1, "", "calc_pairs"], [20, 2, 1, "", "converged"], [20, 5, 1, "", "has_reaction"], [20, 2, 1, "", "log"], [20, 2, 1, "", "step"], [20, 2, 1, "", "update_positions"], [20, 2, 1, "", "update_positions_by_graph"]], "reaction.AFIR.AFIRSearch": [[20, 5, 1, "", "constraint"], [20, 2, 1, "", "irun"], [20, 5, 1, "", "nfragments_to_reaction"], [20, 2, 1, "", "run"], [20, 5, 1, "", "run_NEB"]], "reaction.AFIR.Adsorbate": [[20, 5, 1, "", "cop"], [20, 5, 1, "", "indices"], [20, 5, 1, "", "name"], [20, 5, 1, "", "positions"], [20, 5, 1, "", "shifts"], [20, 5, 1, "", "symbols"]], "scheduler": [[21, 4, 1, "", "create_scheduler"], [21, 0, 0, "-", "local"], [21, 0, 0, "-", "pbs"], [21, 0, 0, "-", "scheduler"], [21, 0, 0, "-", "slurm"]], "scheduler.local": [[21, 1, 1, "", "LocalScheduler"]], "scheduler.local.LocalScheduler": [[21, 2, 1, "", "is_finished"], [21, 5, 1, "", "name"], [21, 2, 1, "", "submit"]], "scheduler.pbs": [[21, 1, 1, "", "PbsScheduler"]], "scheduler.pbs.PbsScheduler": [[21, 5, 1, "", "ENQUIRE_COMMAND"], [21, 5, 1, "", "PREFIX"], [21, 5, 1, "", "SHELL"], [21, 5, 1, "", "SUBMIT_COMMAND"], [21, 5, 1, "", "SUFFIX"], [21, 5, 1, "", "default_parameters"], [21, 2, 1, "", "is_finished"], [21, 5, 1, "", "name"], [21, 5, 1, "", "running_status"]], "scheduler.scheduler": [[21, 1, 1, "", "AbstractScheduler"]], "scheduler.scheduler.AbstractScheduler": [[21, 5, 1, "", "ENQUIRE_COMMAND"], [21, 5, 1, "", "PREFIX"], [21, 5, 1, "", "SHELL"], [21, 5, 1, "", "SUBMIT_COMMAND"], [21, 5, 1, "", "SUFFIX"], [21, 5, 1, "", "default_parameters"], [21, 5, 1, "", "environs"], [21, 2, 1, "", "is_finished"], [21, 5, 1, "", "name"], [21, 5, 1, "", "parameters"], [21, 5, 1, "", "running_status"], [21, 3, 1, "", "script"], [21, 2, 1, "", "set"], [21, 2, 1, "", "submit"], [21, 5, 1, "", "user_commands"], [21, 2, 1, "", "write"]], "scheduler.slurm": [[21, 1, 1, "", "SlurmScheduler"]], "scheduler.slurm.SlurmScheduler": [[21, 5, 1, "", "ENQUIRE_COMMAND"], [21, 5, 1, "", "PREFIX"], [21, 5, 1, "", "SHELL"], [21, 5, 1, "", "SUBMIT_COMMAND"], [21, 5, 1, "", "SUFFIX"], [21, 5, 1, "", "default_parameters"], [21, 2, 1, "", "is_finished"], [21, 5, 1, "", "name"], [21, 5, 1, "", "running_status"]], "selector": [[22, 0, 0, "-", "composition"], [22, 0, 0, "-", "convergence"], [22, 4, 1, "", "create_selector"], [22, 0, 0, "-", "cur"], [22, 0, 0, "-", "descriptor"], [22, 0, 0, "-", "graph"], [22, 0, 0, "-", "invariant"], [22, 4, 1, "", "run_selection"], [22, 0, 0, "-", "selector"], [22, 0, 0, "-", "traj"], [22, 0, 0, "-", "uncertainty"]], "selector.composition": [[22, 1, 1, "", "ComposedSelector"]], "selector.composition.ComposedSelector": [[22, 5, 1, "", "default_parameters"], [22, 3, 1, "", "directory"], [22, 5, 1, "", "name"]], "selector.convergence": [[22, 1, 1, "", "ConvergenceSelector"]], "selector.convergence.ConvergenceSelector": [[22, 5, 1, "", "default_parameters"], [22, 5, 1, "", "name"]], "selector.cur": [[22, 4, 1, "", "cur_selection"], [22, 4, 1, "", "descriptor_svd"]], "selector.descriptor": [[22, 1, 1, "", "DescriptorBasedSelector"]], "selector.descriptor.DescriptorBasedSelector": [[22, 2, 1, "", "calc_desc"], [22, 5, 1, "", "default_parameters"], [22, 5, 1, "", "name"], [22, 5, 1, "", "verbose"]], "selector.graph": [[22, 1, 1, "", "GraphSelector"]], "selector.graph.GraphSelector": [[22, 5, 1, "", "default_parameters"], [22, 5, 1, "", "name"]], "selector.invariant": [[22, 1, 1, "", "InvariantSelector"]], "selector.invariant.InvariantSelector": [[22, 5, 1, "", "default_parameters"], [22, 5, 1, "", "name"]], "selector.selector": [[22, 1, 1, "", "AbstractSelector"]], "selector.selector.AbstractSelector": [[22, 2, 1, "", "as_dict"], [22, 5, 1, "", "default_parameters"], [22, 3, 1, "", "directory"], [22, 3, 1, "", "fname"], [22, 5, 1, "", "indent"], [22, 5, 1, "", "logger"], [22, 5, 1, "", "name"], [22, 5, 1, "", "njobs"], [22, 2, 1, "", "pfunc"], [22, 5, 1, "", "prefix"], [22, 2, 1, "", "select"], [22, 2, 1, "", "set"], [22, 2, 1, "", "set_rng"]], "selector.traj": [[22, 1, 1, "", "BoltzmannMinimaSelection"]], "selector.traj.BoltzmannMinimaSelection": [[22, 5, 1, "", "default_parameters"], [22, 5, 1, "", "name"]], "selector.uncertainty": [[22, 1, 1, "", "DeviationSelector"]], "selector.uncertainty.DeviationSelector": [[22, 5, 1, "", "default_parameters"], [22, 5, 1, "", "name"], [22, 5, 1, "", "pot_worker"]], "trainer": [[23, 4, 1, "", "run_trainer"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:property", "4": "py:function", "5": "py:attribute", "6": "py:data"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "property", "Python property"], "4": ["py", "function", "Python function"], "5": ["py", "attribute", "Python attribute"], "6": ["py", "data", "Python data"]}, "titleterms": {"about": 0, "featur": 0, "overview": 0, "comput": [1, 11, 12, 13], "potenti": [1, 7, 8, 18, 19, 24, 25, 26, 28], "driver": [1, 11, 25], "constraint": [1, 10], "minimis": 1, "molecular": [1, 5, 28], "dynam": [1, 5, 28], "transit": 1, "state": 1, "search": [1, 26], "worker": [1, 13, 25], "explor": [2, 3, 5, 6], "adsorb": [2, 10, 15], "configur": 2, "system": [2, 3, 4, 5, 6], "creat": [2, 3, 5, 6], "collect": [2, 3, 5, 6], "select": [2, 3, 5, 6], "global": [3, 26], "optimis": 3, "expedit": [4, 8, 15], "defin": 4, "list": [4, 27], "md": [5, 15], "chemic": 6, "reaction": [6, 15, 20], "extens": 7, "custom": 7, "gdpy": [8, 17], "document": 8, "support": 8, "introduct": 8, "user": 8, "guid": 8, "develop": 8, "instal": 9, "requir": 9, "from": 9, "sourc": 9, "conda": 9, "pip": 9, "builder": 10, "packag": [10, 11, 12, 13, 15, 18, 19, 20, 21, 22, 23], "submodul": [10, 11, 12, 13, 15, 18, 19, 20, 21, 22], "modul": [10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23], "direct": 10, "randombuild": 10, "region": 10, "speci": 10, "util": [10, 11], "content": [10, 11, 12, 13, 15, 18, 19, 20, 21, 22, 23], "subpackag": [11, 18], "mors": 11, "ase": 11, "dp": 11, "lammp": 11, "lasp": [11, 19], "opt_mors": 11, "plume": 11, "vasp": [11, 19], "uncertainti": [12, 22], "committe": 12, "command": 13, "drive": 13, "train": [13, 24], "config": 14, "abstract": 15, "evosearch": 15, "todo": [15, 20], "main": 16, "manag": [18, 19], "regist": 18, "deepmd": 19, "eann": 19, "nequip": 19, "reax": 19, "afir": 20, "schedul": [21, 25], "local": 21, "pb": 21, "slurm": 21, "selector": 22, "composit": 22, "converg": 22, "cur": 22, "descriptor": 22, "graph": 22, "invari": 22, "traj": 22, "trainer": 23, "formul": 24, "simul": 24, "get": 25, "start": 25, "unit": 25, "build": [26, 28], "cu": 26, "bulk": 26, "tutori": 27, "pt": 28, "h2o": 28, "On": 28, "fly": 28}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "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.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 56}}) \ No newline at end of file diff --git a/docs/build/html/start.html b/docs/build/html/start.html index f18d1ccb..9dc550a2 100644 --- a/docs/build/html/start.html +++ b/docs/build/html/start.html @@ -224,7 +224,7 @@

DriverSchedulerΒΆ

With potential and driver defined, we can run simulations on local machines (directly in the command line). However, simulations, under most -circumstances, would be really heavy even by MLIPs (image a 10 ns molecular +circumstances, would be really heavy even by MLIPs (imagine a 10 ns molecular dynamics). The simulations would ideally be dispatched to high performace clusters (HPCs).

The example below shows how to define a scheduler in a yaml file:

@@ -269,7 +269,7 @@

Workerenvirons: "source ~/envs/source_eann.sh\nconda activate catorch2\n" -

to run a nvt simulation with given structures by nequip on a slurm +

to run a nvt simulation with given structures by deepmd on a slurm machine

# -- submit jobs...
 #    one structure for one job
diff --git a/docs/source/_build/doctrees/environment.pickle b/docs/source/_build/doctrees/environment.pickle
index f5f616e0d5b78c1ba2764e0d9084c6a495f2dbbb..4fb6a3115ee71f993502c109eb715392786df4d9 100644
GIT binary patch
delta 425
zcmey>F7>NjYQuVsdgZpM$I7z)FflN=JKngg+%`S+bk#MSU!S&U@
zHu{jo4ww8C^*@UN&imCMob?{2w4L=|YSu?Mk6n*H>o=Uoxy~+&38t@|>v2NXf4CgC
r4u94M1g{}GivzBbo9R$$vz}JFo)#kzGXXI(5VHU=>vlaYwlk3cr0=DL

delta 425
zcmey>F7>NjYQuVsda1_NSCg{-FflN=JKne~)!0=moAnmX>rVcc^&QUZiGP>%8P4n7
zcRlMToY!|sH0u+b*FT9Pi=7g$sSzqCD6EogqeS`7p8&@q@ko5(|ZM=2LD(fAb
z_eAAP);~D!{S(eCHn^c5HgjkFfXn^(;gQ7&m-|(^CW{flyAqVe4Cnn{CY1FHrmv}<
zt8HZ#J4~`k;4@Pe1DvO%c0B7nT&cZHY1T(L&*55H)^9k^)x|K239ipm_FUF~xSZ!Y
stE>-jo>$YtEDpFzZzhAo&3anxdRmM?%ml>DK+FQftlRap*v>=(0LE0J{r~^~

diff --git a/docs/source/_build/doctrees/start.doctree b/docs/source/_build/doctrees/start.doctree
index 526b9425c5823c34f1b995aa10671a9b5e5635a2..0535fb87c7b96f2cfd4646127a1a3e6a228add62 100644
GIT binary patch
delta 366
zcmYjLy-Nad80P(Xo|lSenJE}bR_9q-WOhV;5D^hkD3p}6MZy)-3DIaN2#pP|jnNbi
z4pHw`f&V~I)Fx5T(o}yyAoZh`mIt1P=j*)z9}N)7!pYmEFkt}`PFboTVbjut4my->
z86HSBoU=`HF&y*bxy=9vx$Rv7$fP>k3`0(t;x1q~=#pvH{RpC8_icXzb}Eagdo=Ll
znI{Jh9uHu*SBD^#ykDZ&&s{SNoAET=1fD@0`s1%!4^iJag9zmZt^g*{t{ic!DH#a<
zUSJ_ZPV8^!(Qu_!s;RnpErsRK1KZlAta=L2i=W{O&M>PQXdkxz7mBDwCLu{iL}lg~
zzBr06nulm4V1ikE8p}a~ZydogUB)B^D|8(XFj%FQb|*j{>xrzmStt~DHmRM60*-eo
mluda7irCV8R822fVUO6xb}vBg8UURhWOXnZSFd$)=+Gn@xlnnHVKDn~6SPWK+zL&icsI>#h
zDQfE2N
zldW|uSsj6{(4V}~T4ZytjsO#*`{sFiR?Li^lW!V^GTH-;ZfA_xyxoX{i7{&P0TZA@
zVmCi9JHx^lKly-(#N?ya7HoN`g{7GVo0)BN8O0%NEv+dT?6Ffa#Cl+o?zZZTjAfG_
fm`QK$vh(6%tlWInBa(%2?PPu5Mxgl{eQh`ZoKA6+

diff --git a/docs/source/_build/html/_sources/start.rst.txt b/docs/source/_build/html/_sources/start.rst.txt
index 2a28cb3c..427c4333 100644
--- a/docs/source/_build/html/_sources/start.rst.txt
+++ b/docs/source/_build/html/_sources/start.rst.txt
@@ -1,20 +1,17 @@
 Getting Started
 ===============
-
 Here, we would introduce several basic components of GDPy, namely **potential**, 
 **driver**, **worker**. **Worker** is the basic unit that performs any 
 computation, which contains a ``AbstractPotentialManager`` and a ``Scheduler``.
 
 Units
 -----
-
 We use the following units through all input files:
 
 Time ``fs``, Length ``AA``, Energy ``eV``, Force ``eV/AA``.
 
 Potential
 ---------
-
 We have supported several MLIP formulations based on an ``AbstractPotentialManager`` 
 class to access **driver**, **expedition**, and **training** through workflows. 
 
@@ -35,7 +32,6 @@ See :ref:`Potential Examples` section for more details.
 
 Driver
 ------
-
 After potential is defined, we need to further specify what simulation would be 
 perfomed in the **driver** section. A driver (``AbstractDriver``) is the basic 
 unit with an attacthed **ase** ``calculators`` for basic dynamics tasks, namely, 
@@ -61,10 +57,9 @@ See :ref:`Driver Examples` section for more details.
 
 Scheduler
 ---------
-
 With **potential** and **driver** defined, we can run simulations on local 
 machines (directly in the command line). However, simulations, under most 
-circumstances, would be really heavy even by MLIPs (image a 10 ns molecular 
+circumstances, would be really heavy even by MLIPs (imagine a 10 ns molecular 
 dynamics). The simulations would ideally be dispatched to high performace clusters
 (HPCs).
 
@@ -86,7 +81,6 @@ The example below shows how to define a **scheduler** in a **yaml** file:
 
 Worker
 ------
-
 **Worker** that combines the above components is what we use throughout various 
 workflows to deal with computations. 
 
@@ -115,7 +109,7 @@ The example below shows how to define a **worker** in a **yaml** file:
         time: "0:10:00"
         environs: "source ~/envs/source_eann.sh\nconda activate catorch2\n"
 
-to run a **nvt** simulation with given structures by **nequip** on a **slurm** 
+to run a **nvt** simulation with given structures by **deepmd** on a **slurm** 
 machine
 
 .. code-block:: shell
diff --git a/docs/source/_build/html/searchindex.js b/docs/source/_build/html/searchindex.js
index ac7266a2..543dcb21 100644
--- a/docs/source/_build/html/searchindex.js
+++ b/docs/source/_build/html/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["about", "computations/index", "expeditions/ads", "expeditions/evo", "expeditions/index", "expeditions/md", "expeditions/rxn", "extensions/index", "index", "installation", "modules/builder", "modules/computation", "modules/computation.uncertainty", "modules/computation.worker", "modules/config", "modules/expedition", "modules/main", "modules/modules", "modules/potential", "modules/potential.managers", "modules/reaction", "modules/scheduler", "modules/selector", "modules/trainer", "potentials/index", "start", "tutorials/copper", "tutorials/index", "tutorials/water"], "filenames": ["about.rst", "computations/index.rst", "expeditions/ads.rst", "expeditions/evo.rst", "expeditions/index.rst", "expeditions/md.rst", "expeditions/rxn.rst", "extensions/index.rst", "index.rst", "installation.rst", "modules/builder.rst", "modules/computation.rst", "modules/computation.uncertainty.rst", "modules/computation.worker.rst", "modules/config.rst", "modules/expedition.rst", "modules/main.rst", "modules/modules.rst", "modules/potential.rst", "modules/potential.managers.rst", "modules/reaction.rst", "modules/scheduler.rst", "modules/selector.rst", "modules/trainer.rst", "potentials/index.rst", "start.rst", "tutorials/copper.rst", "tutorials/index.rst", "tutorials/water.rst"], "titles": ["About", "Computations", "Explore Adsorbate Configurations", "Explore with Global Optimisation", "Expeditions", "Explore with Molecular Dynamics (MD)", "Explore Chemical Reactions", "Extensions", "GDPy Documentation", "Installation", "builder package", "computation package", "computation.uncertainty package", "computation.worker package", "config module", "expedition package", "main module", "GDPy", "potential package", "potential.managers package", "reaction package", "scheduler package", "selector package", "trainer package", "Potentials", "Getting Started", "Build a Potential for Cu Bulk with Global Search", "Tutorials", "Build a Potential for Pt/H2O with On-the-Fly Molecular Dynamics"], "terms": {"gdpy": [0, 1, 4, 7, 9, 10, 13, 19, 20, 22, 24, 25], "stand": [0, 8], "gener": [0, 1, 2, 3, 4, 6, 8, 10, 11, 13, 15, 18, 19, 20, 22], "deep": [0, 8, 24], "potenti": [0, 3, 4, 5, 10, 11, 13, 17, 22, 23, 27], "python": [0, 7, 8, 9, 10, 24], "includ": [0, 4, 8, 10], "set": [0, 1, 2, 3, 4, 6, 8, 11, 18, 21, 22, 24, 25], "tool": [0, 8], "modul": [0, 8, 17], "autom": [0, 8], "structur": [0, 1, 2, 3, 4, 5, 6, 8, 10, 11, 13, 15, 20, 22, 24, 25, 26, 28], "explor": [0, 4, 8, 15, 20, 26, 28], "model": [0, 1, 2, 5, 6, 8, 11, 12, 19, 24, 25], "train": [0, 2, 8, 11, 17, 18, 19, 23, 25], "machin": [0, 8, 13, 18, 25], "learn": [0, 3, 8, 9, 18], "interatom": [0, 8], "mlip": [0, 8, 24, 25], "It": [0, 5, 8, 11], "develop": [0, 24], "maintain": [0, 8], "jiayan": [0, 8], "xu": [0, 8], "under": [0, 2, 3, 5, 6, 8, 24, 25], "supervis": [0, 8], "prof": [0, 8], "p": [0, 1, 2, 4, 8, 11, 24, 25], "hu": [0, 8], "queen": [0, 8], "s": [0, 2, 3, 7, 8, 11, 20, 22], "univers": [0, 8], "belfast": [0, 8], "A": [0, 2, 13, 21, 22, 25], "unifi": [0, 1, 4, 24], "interfac": [0, 1, 24, 25, 28], "variou": [0, 18, 19, 20, 25], "versatil": 0, "algorithm": [0, 1, 3, 8, 15, 20], "construct": 0, "dataset": [0, 5, 13, 19, 24], "workflow": [0, 15, 25], "thi": [1, 2, 3, 4, 5, 6, 7, 10, 11, 15, 20, 25], "section": [1, 2, 3, 4, 5, 6, 7, 24, 25], "about": [7, 8], "how": [1, 2, 3, 5, 6, 7, 24, 25, 27], "extend": 7, "file": [1, 2, 3, 4, 5, 6, 7, 10, 11, 22, 24, 25], "first": [1, 4, 7, 21, 25], "we": [1, 2, 3, 4, 5, 6, 7, 21, 24, 25, 26, 27, 28], "defin": [1, 2, 3, 5, 6, 7, 8, 24, 25], "class": [7, 10, 11, 12, 13, 15, 18, 19, 20, 21, 22, 25], "name": [2, 3, 4, 5, 6, 7, 11, 15, 18, 19, 20, 21, 22, 24, 25], "emtmanag": 7, "subclass": 7, "abstractpotentialmanag": [7, 18, 19, 25], "emt": [7, 26], "py": [7, 10, 22], "need": [1, 3, 4, 6, 7, 13, 24, 25], "implement": [1, 4, 7, 11, 15, 21, 24], "two": [1, 2, 3, 4, 7, 10, 24], "attribut": [7, 21], "implemented_backend": [7, 18, 19], "valid_combin": [7, 18, 19], "one": [1, 2, 4, 5, 7, 20, 21, 24, 25], "method": [1, 2, 3, 4, 5, 6, 7, 13, 15, 22, 24], "register_calcul": [7, 18, 19], "here": [2, 3, 5, 6, 7, 24, 25, 26, 28], "onli": [1, 3, 7, 15, 21, 24, 25], "backend": [1, 2, 5, 7, 11, 18, 19, 24, 25], "us": [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 15, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28], "built": [7, 24], "calcul": [4, 7, 10, 11, 12, 18, 19, 20, 22, 24, 25], "ase": [1, 7, 9, 10, 17, 18, 19, 22, 24, 25], "usr": 7, "bin": [7, 9, 11, 21], "env": [7, 22, 25], "python3": [7, 22], "code": [4, 7, 24], "utf": 7, "8": [1, 2, 3, 4, 5, 6, 7, 10], "from": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 15, 20, 22], "import": [2, 5, 7], "manag": [1, 7, 13, 17], "def": 7, "self": [3, 7, 10, 21], "calc_param": [7, 18, 19], "arg": [7, 10, 11, 13, 18, 19, 21, 22], "kwarg": [7, 10, 11, 13, 18, 19, 20, 21, 22], "super": 7, "calc_backend": 7, "calc": [7, 11, 15, 18, 19, 20, 25], "return": [7, 10, 11, 19, 21, 22], "__name__": 7, "__main__": 7, "pass": [7, 24], "Then": 7, "can": [1, 2, 3, 4, 5, 6, 7, 10, 18, 24, 25], "through": [7, 24, 25], "pot": [1, 4, 5, 7, 19, 24], "yaml": [1, 2, 3, 4, 5, 6, 7, 24, 25], "lowercas": 7, "param": [5, 7, 10, 11, 13, 15, 19, 21, 24, 25], "driver": [2, 5, 6, 7, 8, 13, 17, 18, 24], "extern": [1, 2, 5, 7, 24, 25], "task": [1, 2, 3, 5, 7, 11, 13, 15, 21, 24, 25], "min": [1, 2, 7, 11, 25], "run": [1, 2, 3, 4, 5, 6, 7, 10, 11, 13, 15, 20, 21, 22, 24, 25], "fmax": [1, 2, 3, 6, 7, 11, 15, 22], "0": [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 15, 20, 22, 25], "05": [1, 2, 3, 5, 6, 7, 11, 22], "step": [1, 2, 3, 4, 5, 6, 7, 11, 15, 20, 25], "10": [3, 6, 7, 9, 10, 11, 25], "At": [5, 7], "last": [3, 5, 7, 11], "optimis": [4, 6, 7], "h2o": [4, 7, 27], "molecul": [4, 7, 10], "The": [0, 1, 2, 3, 4, 5, 6, 7, 11, 13, 15, 20, 21, 22, 24, 25], "result": [1, 2, 3, 4, 5, 6, 7, 11, 20, 22, 24, 25], "ar": [0, 1, 2, 3, 4, 6, 7, 24, 25], "store": [1, 4, 7, 10, 11, 13, 21, 22], "directori": [1, 2, 3, 4, 5, 6, 7, 10, 11, 12, 13, 19, 20, 22, 23, 24], "cand0": 7, "gdp": [1, 4, 7, 9, 24, 25], "nframe": [7, 22, 25], "1": [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 13, 14, 15, 20, 22, 24, 25], "potter": [7, 13, 15, 22], "time": [1, 3, 5, 7, 11, 15, 21, 24, 25], "1517": 7, "8792752663147125": 7, "eann": [8, 17, 18, 24], "deepmd": [8, 17, 18, 24, 25, 28], "lasp": [1, 8, 17, 18, 24], "nequip": [8, 17, 18, 24, 25], "allegro": [8, 24], "molecular": [4, 6, 8, 10, 11, 15, 25, 27], "dynam": [4, 8, 11, 13, 15, 18, 20, 25, 27], "genet": [3, 8, 15], "grand": 8, "canon": 8, "mont": [8, 13, 15], "carlo": [8, 13, 15], "graph": [2, 6, 8, 10, 17, 20, 24, 25], "theori": [2, 8, 24], "adsorb": [4, 8, 17, 20], "configur": [3, 4, 8, 10, 14, 24], "artifici": [6, 8, 20], "forc": [1, 6, 8, 11, 15, 20, 24, 25], "induc": [6, 8, 20], "reaction": [4, 8, 17], "featur": [5, 8, 22], "instal": [8, 24], "requir": [8, 24], "sourc": [8, 25], "conda": [1, 8, 24], "pip": 8, "get": [8, 10, 11, 18], "start": [1, 8, 10, 21], "unit": [1, 8, 11, 15], "schedul": [1, 3, 4, 8, 13, 17, 18, 24], "worker": [4, 8, 11, 17, 18, 22, 24], "comput": [2, 3, 6, 8, 17, 22, 25], "tutori": 8, "build": [24, 27], "cu": [3, 4, 27], "global": [4, 22, 27], "search": [3, 15, 20, 25, 27], "extens": 8, "custom": [8, 18, 21], "api": [], "builder": [8, 17], "packag": [8, 9, 17, 24], "config": [8, 17, 24], "main": [8, 17, 20], "selector": [3, 8, 17], "trainer": [8, 17, 24], "must": [3, 9, 15, 24], "3": [1, 2, 3, 5, 6, 9, 10, 15, 22, 24], "9": [4, 9, 10], "matplotlib": 9, "5": [1, 2, 3, 4, 6, 9, 10, 11, 15, 20, 22], "numpi": [9, 22], "21": 9, "2": [1, 2, 3, 4, 5, 6, 9, 10, 11, 15, 20, 22, 24, 25], "scipi": 9, "7": [1, 9, 10, 22], "scikit": 9, "22": 9, "dscribe": [9, 22], "joblib": [9, 14, 22], "tinydb": [1, 9], "4": [1, 2, 3, 4, 5, 6, 9, 10, 11, 22], "pyyaml": 9, "6": [1, 2, 3, 4, 5, 6, 9, 10], "networkx": 9, "option": [1, 4, 5, 9, 10, 11, 13, 18, 21, 22, 24], "jax": 9, "27": 9, "pytorch": [9, 24], "sella": [1, 9], "plume": [9, 17], "necessari": [1, 9, 11], "add": [2, 9, 11], "execut": 9, "path": [1, 9, 10, 11, 15, 21, 22, 24], "c": [2, 3, 5, 6, 9, 24], "forg": 9, "download": 9, "repositori": [1, 4, 9, 24], "git": 9, "clone": 9, "http": [9, 10], "github": 9, "com": 9, "hsulab": 9, "export": 9, "come": [2, 9], "adsorbategraphgener": 10, "substrat": [2, 4, 10], "str": [10, 11, 13, 15, 18, 20, 21, 22], "composit": [2, 3, 4, 10, 15, 17], "dict": [4, 10, 11, 12, 15, 18, 19, 21, 22], "posixpath": [10, 13, 19, 20, 22], "user": [10, 13, 19, 20, 22, 25], "jyxu": [10, 13, 19, 20, 22], "document": [10, 13, 19, 20, 22], "somecod": [10, 13, 19, 20, 22], "base": [1, 2, 3, 5, 6, 10, 11, 12, 13, 15, 18, 19, 20, 21, 22, 24, 25], "structuregener": 10, "initi": [3, 4, 6, 10, 15, 24], "differ": [1, 2, 4, 5, 6, 10, 15, 24, 25], "basedo": 10, "add_adsorb": 10, "frame": [3, 4, 5, 10, 11, 12, 13, 19, 22, 25], "distance_to_sit": [2, 10], "float": [10, 15, 20, 22], "compare_graph": 10, "graph_param": [6, 10, 20], "none": [10, 11, 12, 13, 15, 18, 19, 20, 21, 22], "selected_indic": 10, "del_adsorb": 10, "delet": [10, 11], "valid": [1, 10, 18], "check": [4, 6, 10, 11, 13, 19, 21], "exchange_adsorb": 10, "target_speci": [10, 20], "chang": [10, 11], "an": [1, 2, 3, 5, 6, 10, 11, 22, 24, 25], "anoth": 10, "list": [2, 3, 5, 8, 10, 11, 12, 15, 20, 21, 22, 24], "atom": [1, 3, 4, 10, 11, 12, 20, 22, 24], "abc": [10, 11, 13, 15, 18, 21, 22], "properti": [10, 11, 12, 13, 18, 21, 22, 24], "abstract": [10, 11, 13, 17, 18, 21, 22], "convert_indic": 10, "indic": [1, 2, 10, 20, 22], "union": [10, 15, 21, 22], "int": [10, 14, 15, 20, 22], "index_convent": 10, "lmp": [10, 11, 24], "pars": [10, 11], "read": [4, 10, 11, 25], "xyz": [1, 2, 4, 10, 11, 15, 24, 25], "count": 10, "constrain": 10, "follow": [1, 3, 10, 25], "lammp": [1, 10, 17, 18, 19, 24, 25], "convent": 10, "convert": [10, 24], "end": 10, "input": [1, 4, 6, 10, 11, 22, 24, 25], "either": [1, 10, 22, 24], "output": [10, 11, 20, 22], "sinc": [2, 3, 5, 6, 10, 11, 15], "access": [4, 10, 24, 25], "text": 10, "sth": 10, "parse_constraint_info": 10, "cons_text": 10, "ignore_ase_constraint": 10, "true": [2, 3, 5, 6, 10, 11, 13, 15, 20, 21], "ret_text": 10, "info": [1, 4, 10, 11, 22, 24], "ani": [1, 4, 5, 10, 11, 13, 22, 24, 25], "form": 10, "below": [4, 10, 24, 25], "transform": [10, 20], "mean": [10, 25], "default": [1, 10, 11, 18, 21, 22, 25], "lowest": 10, "smallest": 10, "z": [10, 20], "posit": [10, 11, 20], "zpo": 10, "all": [2, 3, 5, 6, 10, 15, 18, 20, 25], "zposit": 10, "smaller": 10, "than": [6, 10], "format": [5, 10, 18, 21, 24], "directgener": 10, "directli": [10, 25], "fpath": 10, "select": [4, 10, 15, 22], "paramet": [1, 2, 4, 5, 6, 10, 11, 14, 15, 20, 21, 22, 23, 24, 25], "read_xsd2": 10, "fd": 10, "xsd": [1, 10], "materi": 10, "studio": 10, "support": [1, 10, 11, 15, 24, 25], "randomgener": 10, "max_fail": 10, "max_random_tri": 10, "100": [1, 5, 10, 11, 15, 25], "as_dict": [10, 11, 18, 22], "ran_siz": 10, "supported_system": 10, "bulk": [3, 10, 27], "cluster": [10, 13, 25], "surfac": [1, 2, 3, 4, 10], "reducedregion": 10, "reservoir": 10, "caxi": 10, "covalent_ratio": [2, 3, 4, 6, 10], "max_movedisp": 10, "use_rot": 10, "fals": [10, 11, 13, 15, 20, 21, 22], "rng": [10, 22], "object": [6, 10, 11, 12, 15, 18, 20], "spheric": 10, "cubic": 10, "box": 10, "max_num_per_speci": 10, "10000": 10, "max_random_attemp": 10, "1000": [3, 10, 11], "calc_acc_volum": 10, "accept": 10, "volum": [3, 10], "check_overlap_neighbour": 10, "nl": 10, "new_atom": 10, "chemical_symbol": 10, "species_indic": 10, "neighbour": 10, "newli": 10, "ad": [2, 4, 10, 11, 15], "neither": 10, "too": 10, "close": 10, "far": 10, "other": [3, 6, 10, 15, 24, 25], "random_position_neighbour": 10, "oper": [10, 18], "temperatur": [1, 5, 10, 25], "300": [1, 5, 10, 11, 15], "pressur": [1, 10, 11], "static": 10, "compute_thermo_wavelength": 10, "expart": 10, "estimate_chemical_potenti": 10, "total_energi": 10, "zpe": 10, "du": 10, "ds": 10, "coef": 10, "estim": [10, 11, 12, 19], "chemic": [4, 10, 20, 27], "exampl": [1, 3, 4, 5, 10, 24, 25], "o2": 10, "reaxff": 10, "energi": [2, 3, 6, 10, 11, 24, 25], "588": 10, "109": 10, "vdw": 10, "df": 10, "spin": 10, "polaris": 10, "196": 10, "491": 10, "09714": 10, "683": 10, "kj": 10, "mol": 10, "exp": [2, 3, 4, 5, 6, 10], "entropi": 10, "298": 10, "15k": 10, "205": 10, "147": 10, "j": [2, 10], "For": [1, 3, 5, 10, 24], "o": [2, 4, 6, 10, 24], "pt": [2, 4, 6, 10, 27], "apto2": 10, "mu_pt": 10, "e_apto2": 10, "g_o2": 10, "freeenergi": 10, "e_dft": 10, "u": [10, 21], "t": [2, 10, 11], "ts": [1, 6, 10, 11, 15], "pv": 10, "refer": [4, 10], "thermodynam": 10, "data": [10, 11, 20], "janaf": 10, "nist": 10, "gov": 10, "formulabasedgener": 10, "chemical_formula": 10, "karg": [10, 22], "build_speci": 10, "calc_water_num": 10, "number": [1, 2, 3, 5, 6, 10, 11, 14, 15, 22, 24], "water": [4, 10, 28], "given": [10, 25], "aa": [1, 2, 3, 6, 10, 15, 24, 25], "ideal_gas_insertin": 10, "nrt": 10, "test_nvt": 10, "other_util": 10, "per_main": 10, "pertubate_stuctur": 10, "cwd": 10, "amplitud": 10, "num": [10, 22], "sort_atom": 10, "create_gener": 10, "command": [1, 2, 3, 4, 5, 6, 11, 17, 19, 21, 24, 25], "drive": [1, 11, 17], "asedriv": 11, "abstractdriv": [11, 25], "default_init_param": 11, "md": [1, 2, 4, 11, 17, 25], "pdamp": [1, 11, 15], "tdamp": [1, 5, 11, 15], "dump_period": [2, 5, 11, 15], "md_style": [1, 5, 11, 15, 25], "nvt": [1, 5, 11, 15, 25], "press": 11, "temp": [1, 5, 11, 15, 25], "timestep": [1, 5, 11, 15, 25], "velocity_se": 11, "min_modifi": 11, "integr": [1, 11, 20], "verlet": [1, 11], "tmax": 11, "min_styl": [1, 11], "bfg": [1, 11, 20], "init": [1, 2, 5, 11, 25], "default_run_param": 11, "default_task": 11, "work": [1, 11, 13, 22, 23], "attach": [1, 5, 11, 19, 25], "would": [1, 2, 3, 4, 5, 6, 11, 22, 24, 25], "well": [2, 3, 5, 6, 11, 15, 22, 24], "log_fnam": 11, "dyn": 11, "log": [2, 3, 5, 6, 11, 20], "log_fpath": 11, "simul": [1, 4, 5, 8, 11, 15, 25], "param_map": 11, "taup": 11, "taut": 11, "loginterv": 11, "pre": [1, 11, 15, 24], "temperature_k": 11, "map": [11, 24], "kei": 11, "actual": 11, "read_trajectori": 11, "add_step_info": 11, "trajectori": [2, 3, 5, 6, 11], "current": [1, 4, 6, 11, 15, 19, 21, 24, 25], "atoms_": 11, "read_exist": 11, "bool": [11, 21, 22], "extra_info": 11, "addit": [1, 11], "deviat": [2, 5, 6, 11], "could": [1, 11, 24], "uncertainti": [11, 17, 19], "still": [6, 11, 21], "perform": [3, 6, 11, 20, 21, 22, 24, 25], "singl": [11, 13, 20], "point": 11, "goe": 11, "saved_card": 11, "traj": [6, 11, 15, 17, 20], "save": [2, 3, 5, 6, 11], "when": [1, 4, 5, 11, 22], "restart": [11, 13, 15], "supported_task": 11, "traj_fnam": 11, "traj_fpath": 11, "retrieve_and_save_devi": 11, "devi_fpath": 11, "noreturn": [11, 13, 18, 20, 21, 22, 23], "exist": 11, "save_trajectori": 11, "keyword": [1, 3, 5, 6, 11, 21, 22], "delete_keyword": 11, "remov": 11, "valu": [11, 22], "pot_param": 11, "potentialmanag": 11, "read_converg": 11, "better": 11, "were": [5, 11, 13, 21], "converg": [1, 2, 3, 11, 15, 17, 20], "reset": 11, "copi": 11, "new": [11, 19], "whether": [4, 6, 11, 13, 21, 22], "finish": [4, 11, 13, 19, 21, 25], "retriev": [11, 13, 25], "If": [1, 4, 5, 11, 21, 24, 25], "extra": [11, 24], "inform": 11, "set_keyword": 11, "special_keyword": 11, "special": 11, "syswise_kei": 11, "systemwis": 11, "md_init_kei": 11, "md_run_kei": 11, "min_init_kei": 11, "minimis": [2, 3, 6, 11, 25], "min_run_kei": 11, "aselmpconfig": 11, "aselammpsset": 11, "instanc": [1, 11, 15, 18, 22], "deviation_filenam": 11, "model_devi": 11, "out": [2, 3, 5, 6, 11, 20, 24], "input_fnam": 11, "inputstructure_filenam": 11, "stru": 11, "log_filenam": 11, "trajectory_filenam": 11, "dump": [5, 11], "label": [3, 4, 11, 24], "fileiocalcul": 11, "cached_loop_tim": 11, "cach": 11, "wall": 11, "previou": [5, 11], "cached_traj_fram": 11, "system_chang": 11, "cell": [3, 11], "pbc": 11, "initial_charg": 11, "initial_magmom": 11, "default_paramet": [11, 21, 22], "atom_styl": 11, "boundari": 11, "constraint": [2, 4, 11, 17, 20], "etol": 11, "ftol": 11, "mass": 11, "maxev": 11, "maxit": 11, "md_step": 11, "fire": [1, 11], "neigh_modifi": 11, "neighbor": 11, "newton": 11, "pair_coeff": 11, "pair_styl": 11, "processor": 11, "metal": 11, "note": [11, 24], "which": [1, 2, 3, 5, 11, 21, 25], "have": [1, 4, 5, 11, 19, 21, 24, 25, 27], "implemented_properti": 11, "stress": [11, 24], "read_result": 11, "ASE": [11, 15], "type_list": [11, 15, 24], "symbol": [11, 20], "integ": [5, 11], "write_input": 11, "write": [11, 21, 22], "lmpdriver": 11, "found": [2, 3, 5, 6, 11, 21], "again": [4, 11], "otherwis": [11, 21], "parse_thermo_data": 11, "logfile_path": 11, "parse_type_list": 11, "type": [3, 4, 11, 18, 22], "laspdriv": 11, "explore_typ": 11, "ssw": 11, "maxoptstep": 11, "prmass": 11, "nhmass": 11, "print_freq": 11, "sswstep": 11, "target_p": 11, "target_t": 11, "dt": 11, "ranse": 11, "allstr": 11, "arc": 11, "allfor": 11, "laspnn": 11, "equit": 11, "initial_t": 11, "print_strfreq": 11, "realmass": 11, "ttotal": 11, "bfgs_maxsteps": 11, "internal_lj": 11, "printeveri": 11, "nn": 11, "read_laspset": 11, "train_structur": 11, "trainstr": 11, "txt": 11, "trainfor": 11, "create_single_point_calcul": 11, "atoms_sort": 11, "resort": 11, "calc_nam": 11, "creat": [1, 4, 11, 15, 18, 21, 22], "spc": 11, "some": [1, 4, 11, 14, 24], "mai": [2, 11, 15, 19, 21], "share": [11, 14], "get_composition_from_atom": 11, "traj_dir": 11, "traj_period": [2, 3, 5, 6, 11, 15], "traj_ind_fpath": 11, "include_first": 11, "include_last": 11, "sever": [4, 11, 22, 24, 25, 27], "vaspdriv": 11, "freq": 11, "ibrion": 11, "nfree": 11, "nsw": 11, "potim": 11, "015": 11, "ediffg": 11, "smass": 11, "tebeg": 11, "fail": 11, "empti": 11, "errof": 11, "system": [1, 8, 11, 15, 24, 27], "kpt": [2, 3, 4, 11, 24], "read_sort": 11, "sort": [11, 15], "dat": 11, "doe": [11, 24], "redon": 11, "commandwork": 13, "scheduler_": 13, "abstractschedul": [13, 21], "command_": 13, "directory_": 13, "abstractwork": [13, 22], "compon": [1, 13, 20, 25], "driverbasedwork": [13, 25], "potter_": 13, "driver_": 13, "monitor": 13, "job": [1, 13, 14, 18, 21, 22, 24, 25], "lifetim": 13, "queu": 13, "databas": [1, 4, 13], "each": [1, 2, 3, 4, 5, 13, 21, 22], "uniqu": 13, "id": [1, 13, 21], "its": [4, 13], "batchsiz": [1, 13, 18, 24], "inspect": [13, 25], "split": [1, 2, 3, 6, 13], "group": [1, 2, 3, 6, 13, 20], "submit": [1, 4, 13, 18, 21, 24, 25], "get_file_md5": 13, "f": [13, 20], "trainwork": [13, 23], "size": [4, 5, 13, 24], "seri": [5, 13, 15], "dertermin": 13, "serial": 13, "popul": [13, 15], "ga": [3, 13, 26], "propag": 13, "monit": 13, "uuidlen": 13, "36": [2, 13], "get_number_of_running_job": 13, "logger": [13, 22], "run_driv": 13, "run_work": 13, "mywork": 13, "local_exec": 13, "njob": [14, 22], "parallel": [14, 22], "abstractexpedit": 15, "main_dict": 15, "refere": 15, "calculation_param": 15, "collection_param": 15, "resdir_nam": 15, "selection_tag": 15, "final": [1, 6, 15], "creation_param": 15, "calc_dir_nam": 15, "tmp_folder": 15, "general_param": 15, "ignore_exist": 15, "label_param": 15, "check_par": 15, "parse_specord": 15, "determin": [2, 15], "speci": [2, 3, 5, 6, 15, 17], "order": 15, "mani": [2, 15], "same": [1, 2, 5, 15, 18, 24, 25], "working_directori": 15, "type_map": 15, "adsorbateevolut": 15, "opt_dnam": 15, "opt_fnam": 15, "opt": [15, 20], "struc_prefix": 15, "cand": 15, "evolutionaryexpedit": 15, "quasi": 15, "random": [3, 4, 15, 22], "collect": [4, 15], "harvest": 15, "utilis": [15, 24], "nanm": 15, "basin": 15, "hop": 15, "anneal": 15, "minima": [3, 15], "now": 15, "uspex": 15, "airss": 15, "boltz": [3, 15], "boltzmann": [3, 15, 22], "16": [4, 15], "evo": [3, 4, 15], "mdbasedexpedit": 15, "strategi": [2, 3, 4, 5, 6, 15, 22], "brute": 15, "bias": 15, "manual": 15, "prepar": [1, 4, 15, 24], "fs": [1, 5, 6, 15, 25], "ev": [1, 2, 3, 6, 15, 25], "mdparam": 15, "500": [15, 24], "create_dataclass_from_dict": 15, "dcl": 15, "dataclass": 15, "reactionexplor": 15, "afir": [6, 15, 17], "pair": [15, 20], "optraj": 15, "rxn": [4, 6, 15], "run_expedit": 15, "exp_json": 15, "submodul": 17, "direct": 17, "randombuild": 17, "region": [3, 17], "util": 17, "content": 17, "subpackag": 17, "mors": 17, "dp": [17, 24], "opt_mors": 17, "vasp": [17, 18, 24], "expedit": [2, 3, 5, 6, 17, 25], "evosearch": 17, "reax": [17, 18, 24], "regist": 17, "local": [1, 17, 24, 25], "pb": [17, 24, 25], "slurm": [1, 17, 24, 25], "cur": [2, 3, 5, 6, 17], "descriptor": [2, 3, 5, 6, 17, 24], "invari": [3, 17], "evaluate_potenti": [], "iterative_train": [], "manual_train": [], "train_potenti": [], "deal": [18, 21, 25], "create_driv": 18, "dyn_param": [6, 18, 20], "howev": [5, 6, 18, 25], "create_work": 18, "queue": [1, 3, 4, 18, 21, 24], "get_batchs": [18, 19], "agr": [18, 19], "register_schedul": 18, "params_": [18, 21], "register_train": [18, 19], "train_params_": [18, 19], "version": 18, "m00": 18, "potentialregist": 18, "create_potenti": 18, "pot_nam": 18, "train_param": 18, "register_potenti": 18, "pot_cl": 18, "tmanag": 18, "create_pott": 18, "config_fil": 18, "wrapper": 18, "deepmdmanag": 19, "check_finish": 19, "model_path": 19, "freez": [19, 24], "train_dir": 19, "committe": [11, 17, 19], "train_config": 19, "eannmanag": 19, "train_input_nam": 19, "input_nn": 19, "json": [19, 24], "laspmanag": 19, "nequipmanag": 19, "estimate_uncertainti": 19, "updat": 19, "reaxmanag": 19, "vaspmanag": 19, "gamma": 20, "fragment": 20, "graph_creat": 20, "calc_pair": 20, "has_react": 20, "update_posit": 20, "update_positions_by_graph": 20, "afirsearch": 20, "target_pair": [6, 20], "gmax": [6, 20], "ginit": [6, 20], "gintv": [6, 20], "seed": [6, 20, 22], "todo": 20, "event": 20, "bunch": 20, "pseudo": 20, "pathwai": 20, "irun": 20, "init_atom": 20, "fres_path": 20, "frag": 20, "combin": [4, 20, 25], "summari": 20, "nfragments_to_react": 20, "check_exist": 20, "run_neb": 20, "factori": 20, "shift": 20, "cop": 20, "force_funct": 20, "covalent_radii": 20, "pair_indic": 20, "pair_shift": 20, "function": [20, 21, 24], "grid_iter": 20, "grid": 20, "yield": 20, "coordin": [2, 20], "3d": 20, "tupl": 20, "dimens": 20, "iter": 20, "over": 20, "x": 20, "y": 20, "partition_frag": 20, "creator": 20, "find": [2, 20], "them": 20, "sampl": [20, 24], "advanc": 20, "localschedul": [21, 25], "is_finish": 21, "alwai": 21, "No": 21, "pbsschedul": 21, "enquire_command": 21, "qstat": 21, "statu": 21, "prefix": [2, 3, 4, 21], "string": 21, "line": [21, 25], "shell": 21, "bash": 21, "l": [3, 21], "script": [21, 25], "submit_command": 21, "qsub": 21, "suffix": 21, "Not": 21, "yet": 21, "running_statu": 21, "r": [4, 21], "q": 21, "pd": [5, 21], "cg": 21, "tag": 21, "common": 21, "lifecycl": 21, "environ": [1, 21, 24, 25], "arbitrari": [21, 22], "argument": [21, 22], "specif": [1, 3, 21, 27], "user_command": [1, 21, 25], "slurmschedul": 21, "squeue": 21, "whoami": 21, "12i": 21, "12p": 21, "60j": 21, "4t": 21, "12m": 21, "12l": 21, "5d": 21, "4c": 21, "sbatch": 21, "account": 21, "cpu": [21, 24], "per": [21, 24], "gre": [21, 24], "slurmjob": 21, "mem": [21, 24], "gpu": [21, 24], "node": [1, 21, 24], "ntask": [1, 21, 24, 25], "partit": [21, 24, 25], "ha": [5, 21, 24], "been": 21, "assum": 21, "alreadi": [21, 24], "create_schedul": 21, "initialis": [1, 21], "composedselector": 22, "abstractselector": 22, "consecut": [3, 22], "info_fpath": 22, "compos": 22, "convergenceselector": 22, "geometr": 22, "cur_select": 22, "zeta": [2, 3, 5, 6, 22], "descent": [2, 3, 5, 6, 22], "miniconda3": 22, "aiida": 22, "lib": 22, "site": [2, 6, 22], "__init__": 22, "performa": 22, "nfeatur": 22, "shape": 22, "arrrai": 22, "exponenti": 22, "coeffici": 22, "stochast": 22, "descriptor_svd": 22, "at_desc": 22, "do_vector": 22, "vh": 22, "perfrom": 22, "spars": 22, "svd": 22, "descriptorbasedselector": 22, "calc_desc": 22, "criteria": [1, 2, 3, 5, 6, 22], "random_se": [2, 3, 5, 22], "verbos": 22, "graphselector": 22, "invariantselector": 22, "fname": 22, "indent": 22, "pfunc": 22, "index_map": 22, "ret_indic": 22, "seelect": 22, "selction": 22, "protocol": 22, "variabl": 22, "length": [22, 25], "set_rng": 22, "boltzmannminimaselect": 22, "ae_cut": 22, "boltzminima": 22, "deviationselector": 22, "pot_work": [22, 23], "should": [1, 4, 5, 6, 22, 24], "max_devi_": [2, 5, 6, 22], "01": [2, 5, 22], "25": [2, 5, 6, 22], "max_devi_f": [2, 5, 22], "devi": 22, "create_selector": 22, "input_list": 22, "run_select": 22, "param_fil": 22, "check_converg": [], "evaluate_al": [], "model_dir": [], "freeze_ensembl": [], "freeze_model": [], "read_properti": [], "rms_dict": [], "x_ref": [], "x_pred": [], "take": 3, "dictionari": [], "contain": [2, 3, 24, 25], "rm": [], "error": [], "run_command": [], "comment": [], "find_system": [], "raw_data": [], "frames2dataset": [], "generate_random_se": [], "read_dptrain_json": [], "iter_directori": [], "main_databas": [], "run_train": 23, "dir": [23, 24], "introduc": [4, 25], "basic": [1, 25], "formul": [4, 8, 25], "tensorflow": 24, "io": 24, "e": [1, 3, 4, 24], "g": [1, 3, 4, 24], "show": [24, 25], "specifc": [24, 25], "deployed_model": 24, "pth": 24, "lmp_cat": [], "suport": 24, "represent": 24, "recurs": 24, "embed": 24, "centr": 24, "symmetri": 24, "equival": 24, "messag": 24, "offer": [4, 24], "therefor": 24, "certain": 24, "befor": 24, "correspond": [3, 4, 24], "correctli": 24, "besid": 24, "field": 24, "semi": 24, "empir": 24, "ab": 24, "initio": 24, "target": 24, "total": [24, 25], "descript": 24, "reactiv": 24, "xtb": 24, "tight": 24, "bind": 24, "densiti": 24, "after": [5, 24, 25], "further": [5, 6, 25], "specifi": [1, 4, 24, 25], "what": [1, 4, 25], "perfom": 25, "attacth": 25, "transit": [6, 25], "state": [6, 25], "reus": 25, "thermostat": [1, 25], "600": [3, 5, 25], "kelvin": [1, 25], "see": [1, 2, 3, 4, 24, 25], "more": [1, 4, 24, 25], "detail": [1, 24, 25], "With": 25, "most": [3, 5, 24, 25], "circumst": 25, "realli": 25, "heavi": 25, "even": 25, "imag": 25, "ns": 25, "ideal": 25, "dispatch": [3, 25], "high": [2, 25], "performac": 25, "hpc": 25, "k2": [24, 25], "hipri": 25, "00": [6, 24, 25], "source_eann": 25, "sh": 25, "nconda": 25, "activ": [24, 25], "catorch2": [24, 25], "n": [3, 24, 25], "automat": [1, 24, 25], "abov": [4, 25], "throughout": 25, "confid": 25, "cand100": 25, "jobid": 25, "10206151": 25, "cand96": 25, "10206152": 25, "wait": 25, "few": 25, "minut": 25, "noth": 25, "0280": 25, "new_fram": 25, "92": 25, "219757": 25, "statist": 25, "108": 25, "5682": 25, "max": 25, "2198": 25, "avg": 25, "3940": 25, "In": [2, 3, 4, 5, 6, 25], "word": 25, "coppper": [], "On": 27, "fly": 27, "demonstr": [2, 3, 5, 6, 27], "veri": [2, 5, 27], "overview": 8, "logo": [], "made": 1, "up": 1, "three": [1, 5, 6], "deleg": 1, "minis": 1, "exapl": [], "organis": 1, "200": [1, 6], "To": [1, 24], "minim": 1, "parameetr": 1, "while": 1, "four": 4, "stage": 4, "dsada": [], "sy": 4, "candid": [3, 4, 5], "relat": [1, 4, 24], "ref": 4, "definit": [1, 2, 3, 4, 6], "explorast": [], "As": [3, 4, 5], "usual": [2, 3, 4], "procedur": [2, 3, 4, 5], "h": [1, 2, 4, 24], "instruct": [], "later": [2, 5, 24], "usag": [2, 5], "There": [1, 4], "wai": [1, 4], "fix": [1, 4], "move_mask": 1, "fraction": [], "fractionalxyz": 1, "latter": 1, "overridden": [1, 5], "great": 1, "help": [1, 5], "similiar": [1, 2], "nve": 1, "npt": 1, "heatbath": 1, "frequenc": 1, "control": [1, 3], "atm": 1, "equilibrium": 1, "both": 1, "give": 1, "neb": 1, "engin": 1, "written": [1, 24], "d": [1, 24], "xxx": [1, 24], "instead": [1, 24], "server": 1, "light": 1, "weight": 1, "tinydb_": [], "_tinydb": [], "activt": 1, "py37": 1, "separ": [1, 6], "second": [1, 4], "occupi": 1, "committeeuncertaintyestim": 12, "predict": [5, 12], "create_estim": 12, "est_params_": 12, "calc_params_": 12, "create_calc_func": 12, "callabl": 12, "evok": [], "major": 24, "concern": 24, "flavour": 24, "much": [3, 24], "pp_path": 24, "_your": [9, 24], "pseudopotenti": 24, "path_": [9, 24], "vdw_path": 24, "vdwkernel": 24, "absolut": 24, "resolv": 24, "incar": 24, "kpoint": 24, "mesh": 24, "space": [2, 5, 24], "30": [3, 4, 24], "commad": 24, "mpirun": 24, "32": 24, "vasp_std": 24, "depand": [4, 24], "pythonpath": 9, "epoch": 24, "cu4": [3, 24], "cu8": [3, 24], "12": [2, 3, 5, 6, 24], "4g": 24, "v100": 24, "worker_exampl": 1, "regard": [], "epcoh": 24, "numb_step": 24, "depend": 24, "deploi": 24, "auto": 24, "40247882": [], "eann_latest_": 24, "trainer_exampl": 24, "recognis": 4, "particular": 4, "do": [], "sysnam": [4, 5], "syeprefix": [], "kspace": 4, "done": [], "sysprefix": 4, "distinguish": 4, "dft": 4, "dure": 4, "importantli": 4, "surfdi": 4, "18": [2, 4], "kmesh": 4, "randomli": [3, 4], "place": 4, "pdc": [], "150": 5, "1500": [], "2000": [], "broadcast": 5, "1112": [2, 3, 5], "atomic_energi": [], "soap": [2, 3, 5, 6], "rcut": [2, 3, 5, 6], "nmax": [2, 3, 5, 6], "lmax": [2, 3, 5, 6], "sigma": [2, 3, 5, 6], "averag": [2, 3, 5, 6], "inner": [2, 3, 5, 6], "period": [2, 3, 5, 6], "percent": [], "try": [5, 6], "call": [2, 3, 5, 6], "properli": [4, 5], "awar": 5, "explain": 5, "where": [2, 3, 4, 5, 6], "disk": 5, "rune": 5, "long": 5, "choos": 5, "chosen": 5, "analysi": [2, 5], "sift": 5, "thei": [2, 5], "rang": 5, "stai": [], "continu": [], "move": 4, "next": 4, "stop": 4, "provid": 4, "prompt": 4, "thu": [3, 4], "highli": 5, "recommend": 5, "reduc": 5, "repres": 5, "span": 5, "enough": [5, 6], "rest": [3, 5], "cu12": 3, "cu24": 3, "everi": 3, "dyn_dump_period": 3, "plu": 3, "256": 3, "128": 3, "20": [3, 6], "50": 3, "40": 3, "phi": 3, "35": 3, "145": 3, "chi": 3, "psi": 3, "b": 3, "infer": [], "lattic": 3, "constant": 3, "normal": 3, "allow": 3, "complex": 3, "moreov": 3, "consist": 3, "larg": 3, "like": 3, "low": [2, 3], "propbabl": 3, "cover": [2, 3], "area": 3, "articl": [2, 3], "bernstein": 3, "cs\u00e1nyi": 3, "dering": 3, "v": 3, "de": 3, "novo": 3, "guid": 3, "npj": [2, 3], "mater": [2, 3], "2019": 3, "99": 3, "interv": 3, "consid": 3, "ones": [2, 3, 6], "respect": 3, "400": 3, "512": 3, "gad": [], "s1co": [], "pt111s33ad": [], "action": 2, "prefer": 2, "pbc_grid": [2, 6], "graph_radiu": [2, 6], "neigh": [2, 6], "skin": [2, 6], "adsorbate_el": [2, 6], "coordination_numb": 2, "site_radiu": 2, "check_site_uniqu": 2, "3x3": 2, "layer": 2, "111": 2, "pt111": 2, "enumer": 2, "possibl": [2, 6], "adsorpt": 2, "approach": 2, "hollow": 2, "deshpand": 2, "maxson": 2, "greelei": 2, "multident": 2, "coverag": 2, "heterogen": 2, "catalysi": 2, "2020": 2, "79": 2, "accord": 2, "Their": 2, "appli": 2, "stabl": 2, "convex": 2, "hull": 2, "meanwhil": 2, "product": 2, "across": 2, "standard": 6, "make": 6, "sure": 6, "reactant": 6, "srxn": [], "s2co": [], "co": 6, "null": [], "keep": [], "merg": 6, "bia": 6, "happen": 6, "tss": 6, "fss": 6, "just": 6, "highest": 6, "among": 6, "rather": 6, "exact": 6, "expedition_exampl": 4, "platinum": 28}, "objects": {"": [[10, 0, 0, "-", "builder"], [11, 0, 0, "-", "computation"], [14, 0, 0, "-", "config"], [15, 0, 0, "-", "expedition"], [16, 0, 0, "-", "main"], [18, 0, 0, "-", "potential"], [20, 0, 0, "-", "reaction"], [21, 0, 0, "-", "scheduler"], [22, 0, 0, "-", "selector"], [23, 0, 0, "-", "trainer"]], "builder": [[10, 0, 0, "-", "adsorbate"], [10, 0, 0, "-", "builder"], [10, 0, 0, "-", "constraints"], [10, 4, 1, "", "create_generator"], [10, 0, 0, "-", "direct"], [10, 0, 0, "-", "randomBuilder"], [10, 0, 0, "-", "region"], [10, 0, 0, "-", "species"], [10, 0, 0, "-", "utils"]], "builder.adsorbate": [[10, 1, 1, "", "AdsorbateGraphGenerator"]], "builder.adsorbate.AdsorbateGraphGenerator": [[10, 2, 1, "", "add_adsorbate"], [10, 2, 1, "", "compare_graphs"], [10, 2, 1, "", "del_adsorbate"], [10, 2, 1, "", "exchange_adsorbate"], [10, 2, 1, "", "run"]], "builder.builder": [[10, 1, 1, "", "StructureGenerator"]], "builder.builder.StructureGenerator": [[10, 3, 1, "", "directory"], [10, 2, 1, "", "run"]], "builder.constraints": [[10, 4, 1, "", "convert_indices"], [10, 4, 1, "", "parse_constraint_info"]], "builder.direct": [[10, 1, 1, "", "DirectGenerator"], [10, 4, 1, "", "read_xsd2"]], "builder.direct.DirectGenerator": [[10, 3, 1, "", "fpath"], [10, 3, 1, "", "indices"], [10, 2, 1, "", "run"]], "builder.randomBuilder": [[10, 1, 1, "", "RandomGenerator"]], "builder.randomBuilder.RandomGenerator": [[10, 5, 1, "", "MAX_FAILED"], [10, 5, 1, "", "MAX_RANDOM_TRY"], [10, 2, 1, "", "as_dict"], [10, 2, 1, "", "run"], [10, 5, 1, "", "supported_systems"]], "builder.region": [[10, 1, 1, "", "ReducedRegion"], [10, 1, 1, "", "Reservoir"], [10, 4, 1, "", "estimate_chemical_potential"]], "builder.region.ReducedRegion": [[10, 5, 1, "", "MAX_NUM_PER_SPECIES"], [10, 5, 1, "", "MAX_RANDOM_ATTEMPS"], [10, 2, 1, "", "calc_acc_volume"], [10, 2, 1, "", "check_overlap_neighbour"], [10, 2, 1, "", "random_position_neighbour"], [10, 3, 1, "", "reservoir"]], "builder.region.Reservoir": [[10, 2, 1, "", "compute_thermo_wavelength"]], "builder.species": [[10, 1, 1, "", "FormulaBasedGenerator"], [10, 4, 1, "", "build_species"], [10, 4, 1, "", "calc_water_num"], [10, 4, 1, "", "check_overlap_neighbour"], [10, 4, 1, "", "ideal_gas_insertin"], [10, 4, 1, "", "random_position_neighbour"], [10, 4, 1, "", "test_nvt"]], "builder.species.FormulaBasedGenerator": [[10, 2, 1, "", "run"]], "builder.utils": [[10, 4, 1, "", "other_utils"], [10, 4, 1, "", "per_main"], [10, 4, 1, "", "pertubate_stucture"], [10, 4, 1, "", "sort_atoms"]], "computation": [[11, 0, 0, "-", "ase"], [11, 0, 0, "-", "driver"], [11, 0, 0, "-", "lammps"], [11, 0, 0, "-", "lasp"], [12, 0, 0, "-", "uncertainty"], [11, 0, 0, "-", "utils"], [11, 0, 0, "-", "vasp"], [13, 0, 0, "-", "worker"]], "computation.ase": [[11, 1, 1, "", "AseDriver"], [11, 4, 1, "", "retrieve_and_save_deviation"], [11, 4, 1, "", "save_trajectory"]], "computation.ase.AseDriver": [[11, 5, 1, "", "default_init_params"], [11, 5, 1, "", "default_run_params"], [11, 5, 1, "", "default_task"], [11, 3, 1, "", "directory"], [11, 5, 1, "", "log_fname"], [11, 3, 1, "", "log_fpath"], [11, 5, 1, "", "name"], [11, 5, 1, "", "param_mapping"], [11, 2, 1, "", "read_trajectory"], [11, 2, 1, "", "run"], [11, 5, 1, "", "saved_cards"], [11, 5, 1, "", "supported_tasks"], [11, 5, 1, "", "traj_fname"], [11, 3, 1, "", "traj_fpath"]], "computation.driver": [[11, 1, 1, "", "AbstractDriver"], [11, 6, 1, "", "MD_INIT_KEYS"], [11, 6, 1, "", "MD_RUN_KEYS"], [11, 6, 1, "", "MIN_INIT_KEYS"], [11, 6, 1, "", "MIN_RUN_KEYS"]], "computation.driver.AbstractDriver": [[11, 2, 1, "", "as_dict"], [11, 5, 1, "", "default_init_params"], [11, 5, 1, "", "default_run_params"], [11, 3, 1, "", "default_task"], [11, 5, 1, "", "delete"], [11, 2, 1, "", "delete_keywords"], [11, 3, 1, "", "directory"], [11, 2, 1, "", "get"], [11, 5, 1, "", "keyword"], [11, 5, 1, "", "name"], [11, 5, 1, "", "param_mapping"], [11, 5, 1, "", "pot_params"], [11, 2, 1, "", "read_converged"], [11, 2, 1, "", "read_trajectory"], [11, 2, 1, "", "reset"], [11, 2, 1, "", "run"], [11, 2, 1, "", "set_keywords"], [11, 5, 1, "", "special_keywords"], [11, 3, 1, "", "supported_tasks"], [11, 5, 1, "", "syswise_keys"]], "computation.lammps": [[11, 6, 1, "", "ASELMPCONFIG"], [11, 1, 1, "", "AseLammpsSettings"], [11, 1, 1, "", "Lammps"], [11, 1, 1, "", "LmpDriver"], [11, 4, 1, "", "parse_thermo_data"], [11, 4, 1, "", "parse_type_list"]], "computation.lammps.AseLammpsSettings": [[11, 5, 1, "", "deviation_filename"], [11, 5, 1, "", "input_fname"], [11, 5, 1, "", "inputstructure_filename"], [11, 5, 1, "", "log_filename"], [11, 5, 1, "", "trajectory_filename"]], "computation.lammps.Lammps": [[11, 5, 1, "", "cached_loop_time"], [11, 5, 1, "", "cached_traj_frames"], [11, 2, 1, "", "calculate"], [11, 5, 1, "", "command"], [11, 5, 1, "", "default_parameters"], [11, 5, 1, "", "implemented_properties"], [11, 5, 1, "", "name"], [11, 2, 1, "", "read_results"], [11, 5, 1, "", "type_list"], [11, 2, 1, "", "write_input"]], "computation.lammps.LmpDriver": [[11, 5, 1, "", "default_init_params"], [11, 5, 1, "", "default_run_params"], [11, 5, 1, "", "default_task"], [11, 5, 1, "", "delete"], [11, 5, 1, "", "keyword"], [11, 5, 1, "", "name"], [11, 5, 1, "", "param_mapping"], [11, 2, 1, "", "read_trajectory"], [11, 2, 1, "", "run"], [11, 5, 1, "", "saved_cards"], [11, 5, 1, "", "special_keywords"], [11, 5, 1, "", "supported_tasks"]], "computation.lasp": [[11, 1, 1, "", "LaspDriver"], [11, 1, 1, "", "LaspNN"], [11, 4, 1, "", "read_laspset"]], "computation.lasp.LaspDriver": [[11, 5, 1, "", "default_init_params"], [11, 5, 1, "", "default_run_params"], [11, 5, 1, "", "default_task"], [11, 5, 1, "", "name"], [11, 5, 1, "", "param_mapping"], [11, 2, 1, "", "read_trajectory"], [11, 2, 1, "", "run"], [11, 5, 1, "", "saved_cards"], [11, 5, 1, "", "supported_tasks"]], "computation.lasp.LaspNN": [[11, 2, 1, "", "calculate"], [11, 5, 1, "", "command"], [11, 5, 1, "", "default_parameters"], [11, 5, 1, "", "implemented_properties"], [11, 5, 1, "", "name"], [11, 2, 1, "", "read_results"], [11, 2, 1, "", "write_input"]], "computation.uncertainty": [[12, 0, 0, "-", "committee"], [12, 4, 1, "", "create_estimator"]], "computation.uncertainty.committee": [[12, 1, 1, "", "CommitteeUncertaintyEstimator"]], "computation.uncertainty.committee.CommitteeUncertaintyEstimator": [[12, 3, 1, "", "directory"], [12, 2, 1, "", "estimate"]], "computation.utils": [[11, 4, 1, "", "create_single_point_calculator"], [11, 4, 1, "", "get_composition_from_atoms"], [11, 4, 1, "", "parse_type_list"], [11, 4, 1, "", "read_trajectories"]], "computation.vasp": [[11, 1, 1, "", "VaspDriver"], [11, 4, 1, "", "read_sort"]], "computation.vasp.VaspDriver": [[11, 5, 1, "", "default_init_params"], [11, 5, 1, "", "default_run_params"], [11, 5, 1, "", "default_task"], [11, 5, 1, "", "name"], [11, 5, 1, "", "param_mapping"], [11, 2, 1, "", "read_trajectory"], [11, 2, 1, "", "run"], [11, 5, 1, "", "supported_tasks"], [11, 5, 1, "", "syswise_keys"]], "computation.worker": [[13, 0, 0, "-", "command"], [13, 0, 0, "-", "drive"], [13, 4, 1, "", "run_driver"], [13, 4, 1, "", "run_worker"], [13, 0, 0, "-", "train"], [13, 0, 0, "-", "worker"]], "computation.worker.command": [[13, 1, 1, "", "CommandWorker"]], "computation.worker.command.CommandWorker": [[13, 3, 1, "", "command"], [13, 2, 1, "", "run"]], "computation.worker.drive": [[13, 1, 1, "", "DriverBasedWorker"], [13, 4, 1, "", "get_file_md5"]], "computation.worker.drive.DriverBasedWorker": [[13, 5, 1, "", "batchsize"], [13, 3, 1, "", "driver"], [13, 2, 1, "", "inspect"], [13, 2, 1, "", "retrieve"], [13, 2, 1, "", "run"]], "computation.worker.train": [[13, 1, 1, "", "TrainWorker"]], "computation.worker.train.TrainWorker": [[13, 2, 1, "", "run"]], "computation.worker.worker": [[13, 1, 1, "", "AbstractWorker"]], "computation.worker.worker.AbstractWorker": [[13, 5, 1, "", "UUIDLEN"], [13, 3, 1, "", "database"], [13, 3, 1, "", "directory"], [13, 2, 1, "", "get_number_of_running_jobs"], [13, 2, 1, "", "inspect"], [13, 5, 1, "", "logger"], [13, 5, 1, "", "restart"], [13, 2, 1, "", "retrieve"], [13, 2, 1, "", "run"], [13, 3, 1, "", "scheduler"]], "config": [[14, 6, 1, "", "NJOBS"]], "expedition": [[15, 0, 0, "-", "abstract"], [15, 0, 0, "-", "adsorbate"], [15, 0, 0, "-", "evoSearch"], [15, 0, 0, "-", "md"], [15, 0, 0, "-", "reaction"], [15, 4, 1, "", "run_expedition"]], "expedition.abstract": [[15, 1, 1, "", "AbstractExpedition"]], "expedition.abstract.AbstractExpedition": [[15, 5, 1, "", "calculation_params"], [15, 5, 1, "", "collection_params"], [15, 5, 1, "", "creation_params"], [15, 5, 1, "", "general_params"], [15, 5, 1, "", "label_params"], [15, 5, 1, "", "name"], [15, 5, 1, "", "parameters"], [15, 2, 1, "", "parse_specorder"], [15, 5, 1, "", "restart"], [15, 2, 1, "", "run"], [15, 5, 1, "", "type_list"], [15, 5, 1, "", "type_map"]], "expedition.adsorbate": [[15, 1, 1, "", "AdsorbateEvolution"]], "expedition.adsorbate.AdsorbateEvolution": [[15, 5, 1, "", "collection_params"], [15, 5, 1, "", "creation_params"], [15, 5, 1, "", "name"], [15, 5, 1, "", "parameters"]], "expedition.evoSearch": [[15, 1, 1, "", "EvolutionaryExpedition"]], "expedition.evoSearch.EvolutionaryExpedition": [[15, 5, 1, "", "collection_params"], [15, 5, 1, "", "creation_params"], [15, 5, 1, "", "name"]], "expedition.md": [[15, 1, 1, "", "MDBasedExpedition"], [15, 1, 1, "", "MDParams"], [15, 4, 1, "", "create_dataclass_from_dict"]], "expedition.md.MDBasedExpedition": [[15, 5, 1, "", "collection_params"], [15, 5, 1, "", "name"]], "expedition.md.MDParams": [[15, 5, 1, "", "Pdamp"], [15, 5, 1, "", "Tdamp"], [15, 5, 1, "", "dump_period"], [15, 5, 1, "", "md_style"], [15, 5, 1, "", "pres"], [15, 5, 1, "", "steps"], [15, 5, 1, "", "task"], [15, 5, 1, "", "temp"], [15, 5, 1, "", "timestep"]], "expedition.reaction": [[15, 1, 1, "", "ReactionExplorer"]], "expedition.reaction.ReactionExplorer": [[15, 5, 1, "", "collection_params"], [15, 5, 1, "", "creation_params"], [15, 5, 1, "", "name"]], "main": [[16, 4, 1, "", "main"]], "potential": [[18, 0, 0, "-", "manager"], [19, 0, 0, "-", "managers"], [18, 0, 0, "-", "register"]], "potential.manager": [[18, 1, 1, "", "AbstractPotentialManager"]], "potential.manager.AbstractPotentialManager": [[18, 2, 1, "", "as_dict"], [18, 3, 1, "", "calc"], [18, 2, 1, "", "create_driver"], [18, 2, 1, "", "create_worker"], [18, 2, 1, "", "get_batchsize"], [18, 5, 1, "", "implemented_backends"], [18, 5, 1, "", "name"], [18, 2, 1, "", "register_calculator"], [18, 2, 1, "", "register_scheduler"], [18, 2, 1, "", "register_trainer"], [18, 3, 1, "", "scheduler"], [18, 5, 1, "", "valid_combinations"], [18, 5, 1, "", "version"]], "potential.managers": [[19, 0, 0, "-", "deepmd"], [19, 0, 0, "-", "eann"], [19, 0, 0, "-", "lasp"], [19, 0, 0, "-", "nequip"], [19, 0, 0, "-", "reax"], [19, 0, 0, "-", "vasp"]], "potential.managers.deepmd": [[19, 1, 1, "", "DeepmdManager"]], "potential.managers.deepmd.DeepmdManager": [[19, 2, 1, "", "check_finished"], [19, 2, 1, "", "freeze"], [19, 2, 1, "", "get_batchsize"], [19, 5, 1, "", "implemented_backends"], [19, 5, 1, "", "name"], [19, 2, 1, "", "register_calculator"], [19, 2, 1, "", "register_trainer"], [19, 2, 1, "", "train"], [19, 5, 1, "", "valid_combinations"]], "potential.managers.eann": [[19, 1, 1, "", "EannManager"]], "potential.managers.eann.EannManager": [[19, 5, 1, "", "TRAIN_INPUT_NAME"], [19, 2, 1, "", "freeze"], [19, 5, 1, "", "implemented_backends"], [19, 5, 1, "", "name"], [19, 2, 1, "", "register_calculator"], [19, 2, 1, "", "register_trainer"], [19, 2, 1, "", "train"], [19, 5, 1, "", "valid_combinations"]], "potential.managers.lasp": [[19, 1, 1, "", "LaspManager"]], "potential.managers.lasp.LaspManager": [[19, 5, 1, "", "implemented_backends"], [19, 5, 1, "", "name"], [19, 2, 1, "", "register_calculator"], [19, 5, 1, "", "valid_combinations"]], "potential.managers.nequip": [[19, 1, 1, "", "NequipManager"]], "potential.managers.nequip.NequipManager": [[19, 2, 1, "", "estimate_uncertainty"], [19, 2, 1, "", "freeze"], [19, 5, 1, "", "implemented_backends"], [19, 5, 1, "", "name"], [19, 2, 1, "", "register_calculator"], [19, 2, 1, "", "register_trainer"], [19, 2, 1, "", "train"], [19, 5, 1, "", "valid_combinations"]], "potential.managers.reax": [[19, 1, 1, "", "ReaxManager"]], "potential.managers.reax.ReaxManager": [[19, 5, 1, "", "implemented_backends"], [19, 5, 1, "", "name"], [19, 2, 1, "", "register_calculator"], [19, 5, 1, "", "valid_combinations"]], "potential.managers.vasp": [[19, 1, 1, "", "VaspManager"]], "potential.managers.vasp.VaspManager": [[19, 5, 1, "", "implemented_backends"], [19, 5, 1, "", "name"], [19, 2, 1, "", "register_calculator"], [19, 5, 1, "", "valid_combinations"]], "potential.register": [[18, 1, 1, "", "PotentialRegister"], [18, 4, 1, "", "create_potter"]], "potential.register.PotentialRegister": [[18, 2, 1, "", "create_potential"], [18, 2, 1, "", "register_potential"]], "reaction": [[20, 0, 0, "-", "AFIR"]], "reaction.AFIR": [[20, 1, 1, "", "AFIR"], [20, 1, 1, "", "AFIRSearch"], [20, 1, 1, "", "Adsorbate"], [20, 4, 1, "", "force_function"], [20, 4, 1, "", "grid_iterator"], [20, 4, 1, "", "partition_fragments"]], "reaction.AFIR.AFIR": [[20, 2, 1, "", "calc_pairs"], [20, 2, 1, "", "converged"], [20, 5, 1, "", "has_reaction"], [20, 2, 1, "", "log"], [20, 2, 1, "", "step"], [20, 2, 1, "", "update_positions"], [20, 2, 1, "", "update_positions_by_graph"]], "reaction.AFIR.AFIRSearch": [[20, 5, 1, "", "constraint"], [20, 2, 1, "", "irun"], [20, 5, 1, "", "nfragments_to_reaction"], [20, 2, 1, "", "run"], [20, 5, 1, "", "run_NEB"]], "reaction.AFIR.Adsorbate": [[20, 5, 1, "", "cop"], [20, 5, 1, "", "indices"], [20, 5, 1, "", "name"], [20, 5, 1, "", "positions"], [20, 5, 1, "", "shifts"], [20, 5, 1, "", "symbols"]], "scheduler": [[21, 4, 1, "", "create_scheduler"], [21, 0, 0, "-", "local"], [21, 0, 0, "-", "pbs"], [21, 0, 0, "-", "scheduler"], [21, 0, 0, "-", "slurm"]], "scheduler.local": [[21, 1, 1, "", "LocalScheduler"]], "scheduler.local.LocalScheduler": [[21, 2, 1, "", "is_finished"], [21, 5, 1, "", "name"], [21, 2, 1, "", "submit"]], "scheduler.pbs": [[21, 1, 1, "", "PbsScheduler"]], "scheduler.pbs.PbsScheduler": [[21, 5, 1, "", "ENQUIRE_COMMAND"], [21, 5, 1, "", "PREFIX"], [21, 5, 1, "", "SHELL"], [21, 5, 1, "", "SUBMIT_COMMAND"], [21, 5, 1, "", "SUFFIX"], [21, 5, 1, "", "default_parameters"], [21, 2, 1, "", "is_finished"], [21, 5, 1, "", "name"], [21, 5, 1, "", "running_status"]], "scheduler.scheduler": [[21, 1, 1, "", "AbstractScheduler"]], "scheduler.scheduler.AbstractScheduler": [[21, 5, 1, "", "ENQUIRE_COMMAND"], [21, 5, 1, "", "PREFIX"], [21, 5, 1, "", "SHELL"], [21, 5, 1, "", "SUBMIT_COMMAND"], [21, 5, 1, "", "SUFFIX"], [21, 5, 1, "", "default_parameters"], [21, 5, 1, "", "environs"], [21, 2, 1, "", "is_finished"], [21, 5, 1, "", "name"], [21, 5, 1, "", "parameters"], [21, 5, 1, "", "running_status"], [21, 3, 1, "", "script"], [21, 2, 1, "", "set"], [21, 2, 1, "", "submit"], [21, 5, 1, "", "user_commands"], [21, 2, 1, "", "write"]], "scheduler.slurm": [[21, 1, 1, "", "SlurmScheduler"]], "scheduler.slurm.SlurmScheduler": [[21, 5, 1, "", "ENQUIRE_COMMAND"], [21, 5, 1, "", "PREFIX"], [21, 5, 1, "", "SHELL"], [21, 5, 1, "", "SUBMIT_COMMAND"], [21, 5, 1, "", "SUFFIX"], [21, 5, 1, "", "default_parameters"], [21, 2, 1, "", "is_finished"], [21, 5, 1, "", "name"], [21, 5, 1, "", "running_status"]], "selector": [[22, 0, 0, "-", "composition"], [22, 0, 0, "-", "convergence"], [22, 4, 1, "", "create_selector"], [22, 0, 0, "-", "cur"], [22, 0, 0, "-", "descriptor"], [22, 0, 0, "-", "graph"], [22, 0, 0, "-", "invariant"], [22, 4, 1, "", "run_selection"], [22, 0, 0, "-", "selector"], [22, 0, 0, "-", "traj"], [22, 0, 0, "-", "uncertainty"]], "selector.composition": [[22, 1, 1, "", "ComposedSelector"]], "selector.composition.ComposedSelector": [[22, 5, 1, "", "default_parameters"], [22, 3, 1, "", "directory"], [22, 5, 1, "", "name"]], "selector.convergence": [[22, 1, 1, "", "ConvergenceSelector"]], "selector.convergence.ConvergenceSelector": [[22, 5, 1, "", "default_parameters"], [22, 5, 1, "", "name"]], "selector.cur": [[22, 4, 1, "", "cur_selection"], [22, 4, 1, "", "descriptor_svd"]], "selector.descriptor": [[22, 1, 1, "", "DescriptorBasedSelector"]], "selector.descriptor.DescriptorBasedSelector": [[22, 2, 1, "", "calc_desc"], [22, 5, 1, "", "default_parameters"], [22, 5, 1, "", "name"], [22, 5, 1, "", "verbose"]], "selector.graph": [[22, 1, 1, "", "GraphSelector"]], "selector.graph.GraphSelector": [[22, 5, 1, "", "default_parameters"], [22, 5, 1, "", "name"]], "selector.invariant": [[22, 1, 1, "", "InvariantSelector"]], "selector.invariant.InvariantSelector": [[22, 5, 1, "", "default_parameters"], [22, 5, 1, "", "name"]], "selector.selector": [[22, 1, 1, "", "AbstractSelector"]], "selector.selector.AbstractSelector": [[22, 2, 1, "", "as_dict"], [22, 5, 1, "", "default_parameters"], [22, 3, 1, "", "directory"], [22, 3, 1, "", "fname"], [22, 5, 1, "", "indent"], [22, 5, 1, "", "logger"], [22, 5, 1, "", "name"], [22, 5, 1, "", "njobs"], [22, 2, 1, "", "pfunc"], [22, 2, 1, "", "select"], [22, 2, 1, "", "set"], [22, 2, 1, "", "set_rng"]], "selector.traj": [[22, 1, 1, "", "BoltzmannMinimaSelection"]], "selector.traj.BoltzmannMinimaSelection": [[22, 5, 1, "", "default_parameters"], [22, 5, 1, "", "name"]], "selector.uncertainty": [[22, 1, 1, "", "DeviationSelector"]], "selector.uncertainty.DeviationSelector": [[22, 5, 1, "", "default_parameters"], [22, 5, 1, "", "name"], [22, 5, 1, "", "pot_worker"]], "trainer": [[23, 4, 1, "", "run_trainer"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:property", "4": "py:function", "5": "py:attribute", "6": "py:data"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "property", "Python property"], "4": ["py", "function", "Python function"], "5": ["py", "attribute", "Python attribute"], "6": ["py", "data", "Python data"]}, "titleterms": {"about": 0, "featur": 0, "comput": [1, 11, 12, 13], "driver": [1, 11, 25], "expedit": [4, 8, 15], "extens": 7, "custom": 7, "potenti": [1, 7, 8, 18, 19, 24, 25, 26, 28], "gdpy": [8, 17], "document": 8, "support": 8, "introduct": 8, "user": 8, "guid": 8, "develop": 8, "instal": 9, "requir": 9, "from": 9, "sourc": 9, "conda": 9, "pip": 9, "builder": 10, "packag": [10, 11, 12, 13, 15, 18, 19, 20, 21, 22, 23], "submodul": [10, 11, 12, 13, 15, 18, 19, 20, 21, 22], "adsorb": [2, 10, 15], "modul": [10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23], "constraint": [1, 10], "direct": 10, "randombuild": 10, "region": 10, "speci": 10, "util": [10, 11], "content": [10, 11, 12, 13, 15, 18, 19, 20, 21, 22, 23], "subpackag": [11, 18], "mors": 11, "ase": 11, "dp": 11, "lammp": 11, "lasp": [11, 19], "opt_mors": 11, "plume": 11, "vasp": [11, 19], "worker": [1, 13, 25], "command": 13, "drive": 13, "train": [13, 24], "config": 14, "abstract": 15, "evosearch": 15, "todo": 15, "md": [5, 15], "reaction": [6, 15, 20], "main": 16, "api": [], "manag": [18, 19], "regist": 18, "deepmd": 19, "eann": 19, "nequip": 19, "reax": 19, "afir": 20, "schedul": [21, 25], "local": 21, "pb": 21, "slurm": 21, "selector": 22, "composit": 22, "converg": 22, "cur": 22, "descriptor": 22, "graph": 22, "invari": 22, "traj": 22, "uncertainti": [12, 22], "trainer": 23, "evaluate_potenti": [], "iterative_train": [], "manual_train": [], "train_potenti": [], "get": 25, "start": 25, "unit": 25, "tutori": 27, "build": [26, 28], "cu": 26, "global": [3, 26], "search": [1, 26], "coppper": [], "water": [], "pt": 28, "h2o": 28, "On": 28, "fly": 28, "molecular": [1, 5, 28], "dynam": [1, 5, 28], "bulk": 26, "overview": 0, "minimis": 1, "transit": 1, "state": 1, "explor": [2, 3, 5, 6], "list": [4, 27], "configur": 2, "optimis": 3, "chemic": 6, "defin": 4, "system": [2, 3, 4, 5, 6], "simul": 24, "formul": 24, "committe": 12, "creat": [2, 3, 5, 6], "collect": [2, 3, 5, 6], "select": [2, 3, 5, 6]}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "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.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 56}})
\ No newline at end of file
+Search.setIndex({"docnames": ["about", "computations/index", "expeditions/ads", "expeditions/evo", "expeditions/index", "expeditions/md", "expeditions/rxn", "extensions/index", "index", "installation", "modules/builder", "modules/computation", "modules/computation.uncertainty", "modules/computation.worker", "modules/config", "modules/expedition", "modules/main", "modules/modules", "modules/potential", "modules/potential.managers", "modules/reaction", "modules/scheduler", "modules/selector", "modules/trainer", "potentials/index", "start", "tutorials/copper", "tutorials/index", "tutorials/water"], "filenames": ["about.rst", "computations/index.rst", "expeditions/ads.rst", "expeditions/evo.rst", "expeditions/index.rst", "expeditions/md.rst", "expeditions/rxn.rst", "extensions/index.rst", "index.rst", "installation.rst", "modules/builder.rst", "modules/computation.rst", "modules/computation.uncertainty.rst", "modules/computation.worker.rst", "modules/config.rst", "modules/expedition.rst", "modules/main.rst", "modules/modules.rst", "modules/potential.rst", "modules/potential.managers.rst", "modules/reaction.rst", "modules/scheduler.rst", "modules/selector.rst", "modules/trainer.rst", "potentials/index.rst", "start.rst", "tutorials/copper.rst", "tutorials/index.rst", "tutorials/water.rst"], "titles": ["About", "Computations", "Explore Adsorbate Configurations", "Explore with Global Optimisation", "Expeditions", "Explore with Molecular Dynamics (MD)", "Explore Chemical Reactions", "Extensions", "GDPy Documentation", "Installation", "builder package", "computation package", "computation.uncertainty package", "computation.worker package", "config module", "expedition package", "main module", "GDPy", "potential package", "potential.managers package", "reaction package", "scheduler package", "selector package", "trainer package", "Potentials", "Getting Started", "Build a Potential for Cu Bulk with Global Search", "Tutorials", "Build a Potential for Pt/H2O with On-the-Fly Molecular Dynamics"], "terms": {"gdpy": [0, 1, 4, 7, 9, 10, 13, 19, 20, 22, 24, 25], "stand": [0, 8], "gener": [0, 1, 2, 3, 4, 6, 8, 10, 11, 13, 15, 18, 19, 20, 22], "deep": [0, 8, 24], "potenti": [0, 3, 4, 5, 10, 11, 13, 17, 22, 23, 27], "python": [0, 7, 8, 9, 10, 24], "includ": [0, 4, 8, 10], "set": [0, 1, 2, 3, 4, 6, 8, 11, 18, 21, 22, 24, 25], "tool": [0, 8], "modul": [0, 8, 17], "autom": [0, 8], "structur": [0, 1, 2, 3, 4, 5, 6, 8, 10, 11, 13, 15, 20, 22, 24, 25, 26, 28], "explor": [0, 4, 8, 15, 20, 26, 28], "model": [0, 1, 2, 5, 6, 8, 11, 12, 19, 24, 25], "train": [0, 2, 8, 11, 17, 18, 19, 23, 25], "machin": [0, 8, 13, 18, 25], "learn": [0, 3, 8, 9, 18], "interatom": [0, 8], "mlip": [0, 8, 24, 25], "It": [0, 5, 8, 11], "develop": [0, 24], "maintain": [0, 8], "jiayan": [0, 8], "xu": [0, 8], "under": [0, 2, 3, 5, 6, 8, 24, 25], "supervis": [0, 8], "prof": [0, 8], "p": [0, 1, 2, 4, 8, 11, 24, 25], "hu": [0, 8], "queen": [0, 8], "s": [0, 2, 3, 7, 8, 11, 20, 22], "univers": [0, 8], "belfast": [0, 8], "A": [0, 2, 13, 21, 22, 25], "unifi": [0, 1, 4, 24], "interfac": [0, 1, 24, 25, 28], "variou": [0, 18, 19, 20, 25], "versatil": 0, "algorithm": [0, 1, 3, 8, 15, 20], "construct": 0, "dataset": [0, 5, 13, 19, 24], "workflow": [0, 15, 25], "thi": [1, 2, 3, 4, 5, 6, 7, 10, 11, 15, 20, 25], "section": [1, 2, 3, 4, 5, 6, 7, 24, 25], "about": [7, 8], "how": [1, 2, 3, 5, 6, 7, 24, 25, 27], "extend": 7, "file": [1, 2, 3, 4, 5, 6, 7, 10, 11, 22, 24, 25], "first": [1, 4, 7, 21, 25], "we": [1, 2, 3, 4, 5, 6, 7, 21, 24, 25, 26, 27, 28], "defin": [1, 2, 3, 5, 6, 7, 8, 24, 25], "class": [7, 10, 11, 12, 13, 15, 18, 19, 20, 21, 22, 25], "name": [2, 3, 4, 5, 6, 7, 11, 15, 18, 19, 20, 21, 22, 24, 25], "emtmanag": 7, "subclass": 7, "abstractpotentialmanag": [7, 18, 19, 25], "emt": [7, 26], "py": [7, 10, 22], "need": [1, 3, 4, 6, 7, 13, 24, 25], "implement": [1, 4, 7, 11, 15, 21, 24], "two": [1, 2, 3, 4, 7, 10, 24], "attribut": [7, 21], "implemented_backend": [7, 18, 19], "valid_combin": [7, 18, 19], "one": [1, 2, 4, 5, 7, 20, 21, 24, 25], "method": [1, 2, 3, 4, 5, 6, 7, 13, 15, 22, 24], "register_calcul": [7, 18, 19], "here": [2, 3, 5, 6, 7, 24, 25, 26, 28], "onli": [1, 3, 7, 15, 21, 24, 25], "backend": [1, 2, 5, 7, 11, 18, 19, 24, 25], "us": [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 15, 18, 19, 20, 21, 22, 23, 24, 25, 26, 28], "built": [7, 24], "calcul": [4, 7, 10, 11, 12, 18, 19, 20, 22, 24, 25], "ase": [1, 7, 9, 10, 17, 18, 19, 22, 24, 25], "usr": 7, "bin": [7, 9, 11, 21], "env": [7, 22, 25], "python3": [7, 22], "code": [4, 7, 24], "utf": 7, "8": [1, 2, 3, 4, 5, 6, 7, 10], "from": [1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 15, 20, 22], "import": [2, 5, 7], "manag": [1, 7, 13, 17], "def": 7, "self": [3, 7, 10, 21], "calc_param": [7, 18, 19], "arg": [7, 10, 11, 13, 18, 19, 21, 22], "kwarg": [7, 10, 11, 13, 18, 19, 20, 21, 22], "super": 7, "calc_backend": 7, "calc": [7, 11, 15, 18, 19, 20, 25], "return": [7, 10, 11, 19, 21, 22], "__name__": 7, "__main__": 7, "pass": [7, 24], "Then": 7, "can": [1, 2, 3, 4, 5, 6, 7, 10, 18, 24, 25], "through": [7, 24, 25], "pot": [1, 4, 5, 7, 19, 24], "yaml": [1, 2, 3, 4, 5, 6, 7, 24, 25], "lowercas": 7, "param": [5, 7, 10, 11, 13, 15, 19, 21, 24, 25], "driver": [2, 5, 6, 7, 8, 13, 17, 18, 24], "extern": [1, 2, 5, 7, 24, 25], "task": [1, 2, 3, 5, 7, 11, 13, 15, 21, 24, 25], "min": [1, 2, 7, 11, 25], "run": [1, 2, 3, 4, 5, 6, 7, 10, 11, 13, 15, 20, 21, 22, 24, 25], "fmax": [1, 2, 3, 6, 7, 11, 15, 22], "0": [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 15, 20, 22, 25], "05": [1, 2, 3, 5, 6, 7, 11, 22], "step": [1, 2, 3, 4, 5, 6, 7, 11, 15, 20, 25], "10": [3, 6, 7, 9, 10, 11, 25], "At": [5, 7], "last": [3, 5, 7, 11], "optimis": [4, 6, 7], "h2o": [4, 7, 27], "molecul": [4, 7, 10], "The": [0, 1, 2, 3, 4, 5, 6, 7, 11, 13, 15, 20, 21, 22, 24, 25], "result": [1, 2, 3, 4, 5, 6, 7, 11, 20, 22, 24, 25], "ar": [0, 1, 2, 3, 4, 6, 7, 24, 25], "store": [1, 4, 7, 10, 11, 13, 21, 22], "directori": [1, 2, 3, 4, 5, 6, 7, 10, 11, 12, 13, 19, 20, 22, 23, 24], "cand0": 7, "gdp": [1, 4, 7, 9, 24, 25], "nframe": [7, 22, 25], "1": [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 13, 14, 15, 20, 22, 24, 25], "potter": [7, 13, 15, 22], "time": [1, 3, 5, 7, 11, 15, 21, 24, 25], "1517": 7, "8792752663147125": 7, "eann": [8, 17, 18, 24], "deepmd": [8, 17, 18, 24, 25, 28], "lasp": [1, 8, 17, 18, 24], "nequip": [8, 17, 18, 24], "allegro": [8, 24], "molecular": [4, 6, 8, 10, 11, 15, 25, 27], "dynam": [4, 8, 11, 13, 15, 18, 20, 25, 27], "genet": [3, 8, 15], "grand": 8, "canon": 8, "mont": [8, 13, 15], "carlo": [8, 13, 15], "graph": [2, 6, 8, 10, 17, 20, 24, 25], "theori": [2, 8, 24], "adsorb": [4, 8, 17, 20], "configur": [3, 4, 8, 10, 14, 24], "artifici": [6, 8, 20], "forc": [1, 6, 8, 11, 15, 20, 24, 25], "induc": [6, 8, 20], "reaction": [4, 8, 17], "featur": [5, 8, 22], "instal": [8, 24], "requir": [8, 24], "sourc": [8, 25], "conda": [1, 8, 24], "pip": 8, "get": [8, 10, 11, 18], "start": [1, 8, 10, 21], "unit": [1, 8, 11, 15], "schedul": [1, 3, 4, 8, 13, 17, 18, 24], "worker": [4, 8, 11, 17, 18, 22, 24], "comput": [2, 3, 6, 8, 17, 22, 25], "tutori": 8, "build": [24, 27], "cu": [3, 4, 27], "global": [4, 22, 27], "search": [3, 15, 20, 25, 27], "extens": 8, "custom": [8, 18, 21], "api": [], "builder": [8, 17], "packag": [8, 9, 17, 24], "config": [8, 17, 24], "main": [8, 17, 20], "selector": [3, 8, 17], "trainer": [8, 17, 24], "must": [3, 9, 15, 24], "3": [1, 2, 3, 5, 6, 9, 10, 15, 22, 24], "9": [4, 9, 10], "matplotlib": 9, "5": [1, 2, 3, 4, 6, 9, 10, 11, 15, 20, 22], "numpi": [9, 22], "21": 9, "2": [1, 2, 3, 4, 5, 6, 9, 10, 11, 15, 20, 22, 24, 25], "scipi": 9, "7": [1, 9, 10, 22], "scikit": 9, "22": 9, "dscribe": [9, 22], "joblib": [9, 14, 22], "tinydb": [1, 9], "4": [1, 2, 3, 4, 5, 6, 9, 10, 11, 22], "pyyaml": 9, "6": [1, 2, 3, 4, 5, 6, 9, 10], "networkx": 9, "option": [1, 4, 5, 9, 10, 11, 13, 18, 21, 22, 24], "jax": 9, "27": 9, "pytorch": [9, 24], "sella": [1, 9], "plume": [9, 17], "necessari": [1, 9, 11], "add": [2, 9, 11], "execut": 9, "path": [1, 9, 10, 11, 15, 21, 22, 24], "c": [2, 3, 5, 6, 9, 24], "forg": 9, "download": 9, "repositori": [1, 4, 9, 24], "git": 9, "clone": 9, "http": [9, 10], "github": 9, "com": 9, "hsulab": 9, "export": 9, "come": [2, 9], "adsorbategraphgener": 10, "substrat": [2, 4, 10], "str": [10, 11, 13, 15, 18, 20, 21, 22], "composit": [2, 3, 4, 10, 15, 17], "dict": [4, 10, 11, 12, 15, 18, 19, 21, 22], "posixpath": [10, 13, 19, 20, 22], "user": [10, 13, 19, 20, 22, 25], "jyxu": [10, 13, 19, 20, 22], "document": [10, 13, 19, 20, 22], "somecod": [10, 13, 19, 20, 22], "base": [1, 2, 3, 5, 6, 10, 11, 12, 13, 15, 18, 19, 20, 21, 22, 24, 25], "structuregener": 10, "initi": [3, 4, 6, 10, 15, 24], "differ": [1, 2, 4, 5, 6, 10, 15, 24, 25], "basedo": 10, "add_adsorb": 10, "frame": [3, 4, 5, 10, 11, 12, 13, 19, 22, 25], "distance_to_sit": [2, 10], "float": [10, 15, 20, 22], "compare_graph": 10, "graph_param": [6, 10, 20], "none": [10, 11, 12, 13, 15, 18, 19, 20, 21, 22], "selected_indic": 10, "del_adsorb": 10, "delet": [10, 11], "valid": [1, 10, 18], "check": [4, 6, 10, 11, 13, 19, 21], "exchange_adsorb": 10, "target_speci": [10, 20], "chang": [10, 11], "an": [1, 2, 3, 5, 6, 10, 11, 22, 24, 25], "anoth": 10, "list": [2, 3, 5, 8, 10, 11, 12, 15, 20, 21, 22, 24], "atom": [1, 3, 4, 10, 11, 12, 20, 22, 24], "abc": [10, 11, 13, 15, 18, 21, 22], "properti": [10, 11, 12, 13, 18, 21, 22, 24], "abstract": [10, 11, 13, 17, 18, 21, 22], "convert_indic": 10, "indic": [1, 2, 10, 20, 22], "union": [10, 15, 21, 22], "int": [10, 14, 15, 20, 22], "index_convent": 10, "lmp": [10, 11, 24], "pars": [10, 11], "read": [4, 10, 11, 25], "xyz": [1, 2, 4, 10, 11, 15, 24, 25], "count": 10, "constrain": 10, "follow": [1, 3, 10, 25], "lammp": [1, 10, 17, 18, 19, 24, 25], "convent": 10, "convert": [10, 24], "end": 10, "input": [1, 4, 6, 10, 11, 22, 24, 25], "either": [1, 10, 22, 24], "output": [10, 11, 20, 22], "sinc": [2, 3, 5, 6, 10, 11, 15], "access": [4, 10, 24, 25], "text": 10, "sth": 10, "parse_constraint_info": 10, "cons_text": 10, "ignore_ase_constraint": 10, "true": [2, 3, 5, 6, 10, 11, 13, 15, 20, 21], "ret_text": 10, "info": [1, 4, 10, 11, 22, 24], "ani": [1, 4, 5, 10, 11, 13, 22, 24, 25], "form": 10, "below": [4, 10, 24, 25], "transform": [10, 20], "mean": [10, 25], "default": [1, 10, 11, 18, 21, 22, 25], "lowest": 10, "smallest": 10, "z": [10, 20], "posit": [10, 11, 20], "zpo": 10, "all": [2, 3, 5, 6, 10, 15, 18, 20, 25], "zposit": 10, "smaller": 10, "than": [6, 10], "format": [5, 10, 18, 21, 24], "directgener": 10, "directli": [10, 25], "fpath": 10, "select": [4, 10, 15, 22], "paramet": [1, 2, 4, 5, 6, 10, 11, 14, 15, 20, 21, 22, 23, 24, 25], "read_xsd2": 10, "fd": 10, "xsd": [1, 10], "materi": 10, "studio": 10, "support": [1, 10, 11, 15, 24, 25], "randomgener": 10, "max_fail": 10, "max_random_tri": 10, "100": [1, 5, 10, 11, 15, 25], "as_dict": [10, 11, 18, 22], "ran_siz": 10, "supported_system": 10, "bulk": [3, 10, 27], "cluster": [10, 13, 25], "surfac": [1, 2, 3, 4, 10], "reducedregion": 10, "reservoir": 10, "caxi": 10, "covalent_ratio": [2, 3, 4, 6, 10], "max_movedisp": 10, "use_rot": 10, "fals": [10, 11, 13, 15, 20, 21, 22], "rng": [10, 22], "object": [6, 10, 11, 12, 15, 18, 20], "spheric": 10, "cubic": 10, "box": 10, "max_num_per_speci": 10, "10000": 10, "max_random_attemp": 10, "1000": [3, 10, 11], "calc_acc_volum": 10, "accept": 10, "volum": [3, 10], "check_overlap_neighbour": 10, "nl": 10, "new_atom": 10, "chemical_symbol": 10, "species_indic": 10, "neighbour": 10, "newli": 10, "ad": [2, 4, 10, 11, 15], "neither": 10, "too": 10, "close": 10, "far": 10, "other": [3, 6, 10, 15, 24, 25], "random_position_neighbour": 10, "oper": [10, 18], "temperatur": [1, 5, 10, 25], "300": [1, 5, 10, 11, 15], "pressur": [1, 10, 11], "static": 10, "compute_thermo_wavelength": 10, "expart": 10, "estimate_chemical_potenti": 10, "total_energi": 10, "zpe": 10, "du": 10, "ds": 10, "coef": 10, "estim": [10, 11, 12, 19], "chemic": [4, 10, 20, 27], "exampl": [1, 3, 4, 5, 10, 24, 25], "o2": 10, "reaxff": 10, "energi": [2, 3, 6, 10, 11, 24, 25], "588": 10, "109": 10, "vdw": 10, "df": 10, "spin": 10, "polaris": 10, "196": 10, "491": 10, "09714": 10, "683": 10, "kj": 10, "mol": 10, "exp": [2, 3, 4, 5, 6, 10], "entropi": 10, "298": 10, "15k": 10, "205": 10, "147": 10, "j": [2, 10], "For": [1, 3, 5, 10, 24], "o": [2, 4, 6, 10, 24], "pt": [2, 4, 6, 10, 27], "apto2": 10, "mu_pt": 10, "e_apto2": 10, "g_o2": 10, "freeenergi": 10, "e_dft": 10, "u": [10, 21], "t": [2, 10, 11], "ts": [1, 6, 10, 11, 15], "pv": 10, "refer": [4, 10], "thermodynam": 10, "data": [10, 11, 20], "janaf": 10, "nist": 10, "gov": 10, "formulabasedgener": 10, "chemical_formula": 10, "karg": [10, 22], "build_speci": 10, "calc_water_num": 10, "number": [1, 2, 3, 5, 6, 10, 11, 14, 15, 22, 24], "water": [4, 10, 28], "given": [10, 25], "aa": [1, 2, 3, 6, 10, 15, 24, 25], "ideal_gas_insertin": 10, "nrt": 10, "test_nvt": 10, "other_util": 10, "per_main": 10, "pertubate_stuctur": 10, "cwd": 10, "amplitud": 10, "num": [10, 22], "sort_atom": 10, "create_gener": 10, "command": [1, 2, 3, 4, 5, 6, 11, 17, 19, 21, 24, 25], "drive": [1, 11, 17], "asedriv": 11, "abstractdriv": [11, 25], "default_init_param": 11, "md": [1, 2, 4, 11, 17, 25], "pdamp": [1, 11, 15], "tdamp": [1, 5, 11, 15], "dump_period": [2, 5, 11, 15], "md_style": [1, 5, 11, 15, 25], "nvt": [1, 5, 11, 15, 25], "press": 11, "temp": [1, 5, 11, 15, 25], "timestep": [1, 5, 11, 15, 25], "velocity_se": 11, "min_modifi": 11, "integr": [1, 11, 20], "verlet": [1, 11], "tmax": 11, "min_styl": [1, 11], "bfg": [1, 11, 20], "init": [1, 2, 5, 11, 25], "default_run_param": 11, "default_task": 11, "work": [1, 11, 13, 22, 23], "attach": [1, 5, 11, 19, 25], "would": [1, 2, 3, 4, 5, 6, 11, 22, 24, 25], "well": [2, 3, 5, 6, 11, 15, 22, 24], "log_fnam": 11, "dyn": 11, "log": [2, 3, 5, 6, 11, 20], "log_fpath": 11, "simul": [1, 4, 5, 8, 11, 15, 25], "param_map": 11, "taup": 11, "taut": 11, "loginterv": 11, "pre": [1, 11, 15, 24], "temperature_k": 11, "map": [11, 24], "kei": 11, "actual": 11, "read_trajectori": 11, "add_step_info": 11, "trajectori": [2, 3, 5, 6, 11], "current": [1, 4, 6, 11, 15, 19, 21, 24, 25], "atoms_": 11, "read_exist": 11, "bool": [11, 21, 22], "extra_info": 11, "addit": [1, 11], "deviat": [2, 5, 6, 11], "could": [1, 11, 24], "uncertainti": [11, 17, 19], "still": [6, 11, 21], "perform": [3, 6, 11, 20, 21, 22, 24, 25], "singl": [11, 13, 20], "point": 11, "goe": 11, "saved_card": 11, "traj": [6, 11, 15, 17, 20], "save": [2, 3, 5, 6, 11], "when": [1, 4, 5, 11, 22], "restart": [11, 13, 15], "supported_task": 11, "traj_fnam": 11, "traj_fpath": 11, "retrieve_and_save_devi": 11, "devi_fpath": 11, "noreturn": [11, 13, 18, 20, 21, 22, 23], "exist": 11, "save_trajectori": 11, "keyword": [1, 3, 5, 6, 11, 21, 22], "delete_keyword": 11, "remov": 11, "valu": [11, 22], "pot_param": 11, "potentialmanag": 11, "read_converg": 11, "better": 11, "were": [5, 11, 13, 21], "converg": [1, 2, 3, 11, 15, 17, 20], "reset": 11, "copi": 11, "new": [11, 19], "whether": [4, 6, 11, 13, 21, 22], "finish": [4, 11, 13, 19, 21, 25], "retriev": [11, 13, 25], "If": [1, 4, 5, 11, 21, 24, 25], "extra": [11, 24], "inform": 11, "set_keyword": 11, "special_keyword": 11, "special": 11, "syswise_kei": 11, "systemwis": 11, "md_init_kei": 11, "md_run_kei": 11, "min_init_kei": 11, "minimis": [2, 3, 6, 11, 25], "min_run_kei": 11, "aselmpconfig": 11, "aselammpsset": 11, "instanc": [1, 11, 15, 18, 22], "deviation_filenam": 11, "model_devi": 11, "out": [2, 3, 5, 6, 11, 20, 24], "input_fnam": 11, "inputstructure_filenam": 11, "stru": 11, "log_filenam": 11, "trajectory_filenam": 11, "dump": [5, 11], "label": [3, 4, 11, 24], "fileiocalcul": 11, "cached_loop_tim": 11, "cach": 11, "wall": 11, "previou": [5, 11], "cached_traj_fram": 11, "system_chang": 11, "cell": [3, 11], "pbc": 11, "initial_charg": 11, "initial_magmom": 11, "default_paramet": [11, 21, 22], "atom_styl": 11, "boundari": 11, "constraint": [2, 4, 11, 17, 20], "etol": 11, "ftol": 11, "mass": 11, "maxev": 11, "maxit": 11, "md_step": 11, "fire": [1, 11], "neigh_modifi": 11, "neighbor": 11, "newton": 11, "pair_coeff": 11, "pair_styl": 11, "processor": 11, "metal": 11, "note": [11, 24], "which": [1, 2, 3, 5, 11, 21, 25], "have": [1, 4, 5, 11, 19, 21, 24, 25, 27], "implemented_properti": 11, "stress": [11, 24], "read_result": 11, "ASE": [11, 15], "type_list": [11, 15, 24], "symbol": [11, 20], "integ": [5, 11], "write_input": 11, "write": [11, 21, 22], "lmpdriver": 11, "found": [2, 3, 5, 6, 11, 21], "again": [4, 11], "otherwis": [11, 21], "parse_thermo_data": 11, "logfile_path": 11, "parse_type_list": 11, "type": [3, 4, 11, 18, 22], "laspdriv": 11, "explore_typ": 11, "ssw": 11, "maxoptstep": 11, "prmass": 11, "nhmass": 11, "print_freq": 11, "sswstep": 11, "target_p": 11, "target_t": 11, "dt": 11, "ranse": 11, "allstr": 11, "arc": 11, "allfor": 11, "laspnn": 11, "equit": 11, "initial_t": 11, "print_strfreq": 11, "realmass": 11, "ttotal": 11, "bfgs_maxsteps": 11, "internal_lj": 11, "printeveri": 11, "nn": 11, "read_laspset": 11, "train_structur": 11, "trainstr": 11, "txt": 11, "trainfor": 11, "create_single_point_calcul": 11, "atoms_sort": 11, "resort": 11, "calc_nam": 11, "creat": [1, 4, 11, 15, 18, 21, 22], "spc": 11, "some": [1, 4, 11, 14, 24], "mai": [2, 11, 15, 19, 21], "share": [11, 14], "get_composition_from_atom": 11, "traj_dir": 11, "traj_period": [2, 3, 5, 6, 11, 15], "traj_ind_fpath": 11, "include_first": 11, "include_last": 11, "sever": [4, 11, 22, 24, 25, 27], "vaspdriv": 11, "freq": 11, "ibrion": 11, "nfree": 11, "nsw": 11, "potim": 11, "015": 11, "ediffg": 11, "smass": 11, "tebeg": 11, "fail": 11, "empti": 11, "errof": 11, "system": [1, 8, 11, 15, 24, 27], "kpt": [2, 3, 4, 11, 24], "read_sort": 11, "sort": [11, 15], "dat": 11, "doe": [11, 24], "redon": 11, "commandwork": 13, "scheduler_": 13, "abstractschedul": [13, 21], "command_": 13, "directory_": 13, "abstractwork": [13, 22], "compon": [1, 13, 20, 25], "driverbasedwork": [13, 25], "potter_": 13, "driver_": 13, "monitor": 13, "job": [1, 13, 14, 18, 21, 22, 24, 25], "lifetim": 13, "queu": 13, "databas": [1, 4, 13], "each": [1, 2, 3, 4, 5, 13, 21, 22], "uniqu": 13, "id": [1, 13, 21], "its": [4, 13], "batchsiz": [1, 13, 18, 24], "inspect": [13, 25], "split": [1, 2, 3, 6, 13], "group": [1, 2, 3, 6, 13, 20], "submit": [1, 4, 13, 18, 21, 24, 25], "get_file_md5": 13, "f": [13, 20], "trainwork": [13, 23], "size": [4, 5, 13, 24], "seri": [5, 13, 15], "dertermin": 13, "serial": 13, "popul": [13, 15], "ga": [3, 13, 26], "propag": 13, "monit": 13, "uuidlen": 13, "36": [2, 13], "get_number_of_running_job": 13, "logger": [13, 22], "run_driv": 13, "run_work": 13, "mywork": 13, "local_exec": 13, "njob": [14, 22], "parallel": [14, 22], "abstractexpedit": 15, "main_dict": 15, "refere": 15, "calculation_param": 15, "collection_param": 15, "resdir_nam": 15, "selection_tag": 15, "final": [1, 6, 15], "creation_param": 15, "calc_dir_nam": 15, "tmp_folder": 15, "general_param": 15, "ignore_exist": 15, "label_param": 15, "check_par": 15, "parse_specord": 15, "determin": [2, 15], "speci": [2, 3, 5, 6, 15, 17], "order": 15, "mani": [2, 15], "same": [1, 2, 5, 15, 18, 24, 25], "working_directori": 15, "type_map": 15, "adsorbateevolut": 15, "opt_dnam": 15, "opt_fnam": 15, "opt": [15, 20], "struc_prefix": 15, "cand": 15, "evolutionaryexpedit": 15, "quasi": 15, "random": [3, 4, 15, 22], "collect": [4, 15], "harvest": 15, "utilis": [15, 24], "nanm": 15, "basin": 15, "hop": 15, "anneal": 15, "minima": [3, 15], "now": 15, "uspex": 15, "airss": 15, "boltz": [3, 15], "boltzmann": [3, 15, 22], "16": [4, 15], "evo": [3, 4, 15], "mdbasedexpedit": 15, "strategi": [2, 3, 4, 5, 6, 15, 22], "brute": 15, "bias": 15, "manual": 15, "prepar": [1, 4, 15, 24], "fs": [1, 5, 6, 15, 25], "ev": [1, 2, 3, 6, 15, 25], "mdparam": 15, "500": [15, 24], "create_dataclass_from_dict": 15, "dcl": 15, "dataclass": 15, "reactionexplor": 15, "afir": [6, 15, 17], "pair": [15, 20], "optraj": 15, "rxn": [4, 6, 15], "run_expedit": 15, "exp_json": 15, "submodul": 17, "direct": 17, "randombuild": 17, "region": [3, 17], "util": 17, "content": 17, "subpackag": 17, "mors": 17, "dp": [17, 24], "opt_mors": 17, "vasp": [17, 18, 24], "expedit": [2, 3, 5, 6, 17, 25], "evosearch": 17, "reax": [17, 18, 24], "regist": 17, "local": [1, 17, 24, 25], "pb": [17, 24, 25], "slurm": [1, 17, 24, 25], "cur": [2, 3, 5, 6, 17], "descriptor": [2, 3, 5, 6, 17, 24], "invari": [3, 17], "evaluate_potenti": [], "iterative_train": [], "manual_train": [], "train_potenti": [], "deal": [18, 21, 25], "create_driv": 18, "dyn_param": [6, 18, 20], "howev": [5, 6, 18, 25], "create_work": 18, "queue": [1, 3, 4, 18, 21, 24], "get_batchs": [18, 19], "agr": [18, 19], "register_schedul": 18, "params_": [18, 21], "register_train": [18, 19], "train_params_": [18, 19], "version": 18, "m00": 18, "potentialregist": 18, "create_potenti": 18, "pot_nam": 18, "train_param": 18, "register_potenti": 18, "pot_cl": 18, "tmanag": 18, "create_pott": 18, "config_fil": 18, "wrapper": 18, "deepmdmanag": 19, "check_finish": 19, "model_path": 19, "freez": [19, 24], "train_dir": 19, "committe": [11, 17, 19], "train_config": 19, "eannmanag": 19, "train_input_nam": 19, "input_nn": 19, "json": [19, 24], "laspmanag": 19, "nequipmanag": 19, "estimate_uncertainti": 19, "updat": 19, "reaxmanag": 19, "vaspmanag": 19, "gamma": 20, "fragment": 20, "graph_creat": 20, "calc_pair": 20, "has_react": 20, "update_posit": 20, "update_positions_by_graph": 20, "afirsearch": 20, "target_pair": [6, 20], "gmax": [6, 20], "ginit": [6, 20], "gintv": [6, 20], "seed": [6, 20, 22], "todo": 20, "event": 20, "bunch": 20, "pseudo": 20, "pathwai": 20, "irun": 20, "init_atom": 20, "fres_path": 20, "frag": 20, "combin": [4, 20, 25], "summari": 20, "nfragments_to_react": 20, "check_exist": 20, "run_neb": 20, "factori": 20, "shift": 20, "cop": 20, "force_funct": 20, "covalent_radii": 20, "pair_indic": 20, "pair_shift": 20, "function": [20, 21, 24], "grid_iter": 20, "grid": 20, "yield": 20, "coordin": [2, 20], "3d": 20, "tupl": 20, "dimens": 20, "iter": 20, "over": 20, "x": 20, "y": 20, "partition_frag": 20, "creator": 20, "find": [2, 20], "them": 20, "sampl": [20, 24], "advanc": 20, "localschedul": [21, 25], "is_finish": 21, "alwai": 21, "No": 21, "pbsschedul": 21, "enquire_command": 21, "qstat": 21, "statu": 21, "prefix": [2, 3, 4, 21], "string": 21, "line": [21, 25], "shell": 21, "bash": 21, "l": [3, 21], "script": [21, 25], "submit_command": 21, "qsub": 21, "suffix": 21, "Not": 21, "yet": 21, "running_statu": 21, "r": [4, 21], "q": 21, "pd": [5, 21], "cg": 21, "tag": 21, "common": 21, "lifecycl": 21, "environ": [1, 21, 24, 25], "arbitrari": [21, 22], "argument": [21, 22], "specif": [1, 3, 21, 27], "user_command": [1, 21, 25], "slurmschedul": 21, "squeue": 21, "whoami": 21, "12i": 21, "12p": 21, "60j": 21, "4t": 21, "12m": 21, "12l": 21, "5d": 21, "4c": 21, "sbatch": 21, "account": 21, "cpu": [21, 24], "per": [21, 24], "gre": [21, 24], "slurmjob": 21, "mem": [21, 24], "gpu": [21, 24], "node": [1, 21, 24], "ntask": [1, 21, 24, 25], "partit": [21, 24, 25], "ha": [5, 21, 24], "been": 21, "assum": 21, "alreadi": [21, 24], "create_schedul": 21, "initialis": [1, 21], "composedselector": 22, "abstractselector": 22, "consecut": [3, 22], "info_fpath": 22, "compos": 22, "convergenceselector": 22, "geometr": 22, "cur_select": 22, "zeta": [2, 3, 5, 6, 22], "descent": [2, 3, 5, 6, 22], "miniconda3": 22, "aiida": 22, "lib": 22, "site": [2, 6, 22], "__init__": 22, "performa": 22, "nfeatur": 22, "shape": 22, "arrrai": 22, "exponenti": 22, "coeffici": 22, "stochast": 22, "descriptor_svd": 22, "at_desc": 22, "do_vector": 22, "vh": 22, "perfrom": 22, "spars": 22, "svd": 22, "descriptorbasedselector": 22, "calc_desc": 22, "criteria": [1, 2, 3, 5, 6, 22], "random_se": [2, 3, 5, 22], "verbos": 22, "graphselector": 22, "invariantselector": 22, "fname": 22, "indent": 22, "pfunc": 22, "index_map": 22, "ret_indic": 22, "seelect": 22, "selction": 22, "protocol": 22, "variabl": 22, "length": [22, 25], "set_rng": 22, "boltzmannminimaselect": 22, "ae_cut": 22, "boltzminima": 22, "deviationselector": 22, "pot_work": [22, 23], "should": [1, 4, 5, 6, 22, 24], "max_devi_": [2, 5, 6, 22], "01": [2, 5, 22], "25": [2, 5, 6, 22], "max_devi_f": [2, 5, 22], "devi": 22, "create_selector": 22, "input_list": 22, "run_select": 22, "param_fil": 22, "check_converg": [], "evaluate_al": [], "model_dir": [], "freeze_ensembl": [], "freeze_model": [], "read_properti": [], "rms_dict": [], "x_ref": [], "x_pred": [], "take": 3, "dictionari": [], "contain": [2, 3, 24, 25], "rm": [], "error": [], "run_command": [], "comment": [], "find_system": [], "raw_data": [], "frames2dataset": [], "generate_random_se": [], "read_dptrain_json": [], "iter_directori": [], "main_databas": [], "run_train": 23, "dir": [23, 24], "introduc": [4, 25], "basic": [1, 25], "formul": [4, 8, 25], "tensorflow": 24, "io": 24, "e": [1, 3, 4, 24], "g": [1, 3, 4, 24], "show": [24, 25], "specifc": [24, 25], "deployed_model": 24, "pth": 24, "lmp_cat": [], "suport": 24, "represent": 24, "recurs": 24, "embed": 24, "centr": 24, "symmetri": 24, "equival": 24, "messag": 24, "offer": [4, 24], "therefor": 24, "certain": 24, "befor": 24, "correspond": [3, 4, 24], "correctli": 24, "besid": 24, "field": 24, "semi": 24, "empir": 24, "ab": 24, "initio": 24, "target": 24, "total": [24, 25], "descript": 24, "reactiv": 24, "xtb": 24, "tight": 24, "bind": 24, "densiti": 24, "after": [5, 24, 25], "further": [5, 6, 25], "specifi": [1, 4, 24, 25], "what": [1, 4, 25], "perfom": 25, "attacth": 25, "transit": [6, 25], "state": [6, 25], "reus": 25, "thermostat": [1, 25], "600": [3, 5, 25], "kelvin": [1, 25], "see": [1, 2, 3, 4, 24, 25], "more": [1, 4, 24, 25], "detail": [1, 24, 25], "With": 25, "most": [3, 5, 24, 25], "circumst": 25, "realli": 25, "heavi": 25, "even": 25, "imag": [], "ns": 25, "ideal": 25, "dispatch": [3, 25], "high": [2, 25], "performac": 25, "hpc": 25, "k2": [24, 25], "hipri": 25, "00": [6, 24, 25], "source_eann": 25, "sh": 25, "nconda": 25, "activ": [24, 25], "catorch2": [24, 25], "n": [3, 24, 25], "automat": [1, 24, 25], "abov": [4, 25], "throughout": 25, "confid": 25, "cand100": 25, "jobid": 25, "10206151": 25, "cand96": 25, "10206152": 25, "wait": 25, "few": 25, "minut": 25, "noth": 25, "0280": 25, "new_fram": 25, "92": 25, "219757": 25, "statist": 25, "108": 25, "5682": 25, "max": 25, "2198": 25, "avg": 25, "3940": 25, "In": [2, 3, 4, 5, 6, 25], "word": 25, "coppper": [], "On": 27, "fly": 27, "demonstr": [2, 3, 5, 6, 27], "veri": [2, 5, 27], "overview": 8, "logo": [], "made": 1, "up": 1, "three": [1, 5, 6], "deleg": 1, "minis": 1, "exapl": [], "organis": 1, "200": [1, 6], "To": [1, 24], "minim": 1, "parameetr": 1, "while": 1, "four": 4, "stage": 4, "dsada": [], "sy": 4, "candid": [3, 4, 5], "relat": [1, 4, 24], "ref": 4, "definit": [1, 2, 3, 4, 6], "explorast": [], "As": [3, 4, 5], "usual": [2, 3, 4], "procedur": [2, 3, 4, 5], "h": [1, 2, 4, 24], "instruct": [], "later": [2, 5, 24], "usag": [2, 5], "There": [1, 4], "wai": [1, 4], "fix": [1, 4], "move_mask": 1, "fraction": [], "fractionalxyz": 1, "latter": 1, "overridden": [1, 5], "great": 1, "help": [1, 5], "similiar": [1, 2], "nve": 1, "npt": 1, "heatbath": 1, "frequenc": 1, "control": [1, 3], "atm": 1, "equilibrium": 1, "both": 1, "give": 1, "neb": 1, "engin": 1, "written": [1, 24], "d": [1, 24], "xxx": [1, 24], "instead": [1, 24], "server": 1, "light": 1, "weight": 1, "tinydb_": [], "_tinydb": [], "activt": 1, "py37": 1, "separ": [1, 6], "second": [1, 4], "occupi": 1, "committeeuncertaintyestim": 12, "predict": [5, 12], "create_estim": 12, "est_params_": 12, "calc_params_": 12, "create_calc_func": 12, "callabl": 12, "evok": [], "major": 24, "concern": 24, "flavour": 24, "much": [3, 24], "pp_path": 24, "_your": [9, 24], "pseudopotenti": 24, "path_": [9, 24], "vdw_path": 24, "vdwkernel": 24, "absolut": 24, "resolv": 24, "incar": 24, "kpoint": 24, "mesh": 24, "space": [2, 5, 24], "30": [3, 4, 24], "commad": 24, "mpirun": 24, "32": 24, "vasp_std": 24, "depand": [4, 24], "pythonpath": 9, "epoch": 24, "cu4": [3, 24], "cu8": [3, 24], "12": [2, 3, 5, 6, 24], "4g": 24, "v100": 24, "worker_exampl": 1, "regard": [], "epcoh": 24, "numb_step": 24, "depend": 24, "deploi": 24, "auto": 24, "40247882": [], "eann_latest_": 24, "trainer_exampl": 24, "recognis": 4, "particular": 4, "do": [], "sysnam": [4, 5], "syeprefix": [], "kspace": 4, "done": [], "sysprefix": 4, "distinguish": 4, "dft": 4, "dure": 4, "importantli": 4, "surfdi": 4, "18": [2, 4], "kmesh": 4, "randomli": [3, 4], "place": 4, "pdc": [], "150": 5, "1500": [], "2000": [], "broadcast": 5, "1112": [2, 3, 5], "atomic_energi": [], "soap": [2, 3, 5, 6], "rcut": [2, 3, 5, 6], "nmax": [2, 3, 5, 6], "lmax": [2, 3, 5, 6], "sigma": [2, 3, 5, 6], "averag": [2, 3, 5, 6], "inner": [2, 3, 5, 6], "period": [2, 3, 5, 6], "percent": [], "try": [5, 6], "call": [2, 3, 5, 6], "properli": [4, 5], "awar": 5, "explain": 5, "where": [2, 3, 4, 5, 6], "disk": 5, "rune": 5, "long": 5, "choos": 5, "chosen": 5, "analysi": [2, 5], "sift": 5, "thei": [2, 5], "rang": 5, "stai": [], "continu": [], "move": 4, "next": 4, "stop": 4, "provid": 4, "prompt": 4, "thu": [3, 4], "highli": 5, "recommend": 5, "reduc": 5, "repres": 5, "span": 5, "enough": [5, 6], "rest": [3, 5], "cu12": 3, "cu24": 3, "everi": 3, "dyn_dump_period": 3, "plu": 3, "256": 3, "128": 3, "20": [3, 6], "50": 3, "40": 3, "phi": 3, "35": 3, "145": 3, "chi": 3, "psi": 3, "b": 3, "infer": [], "lattic": 3, "constant": 3, "normal": 3, "allow": 3, "complex": 3, "moreov": 3, "consist": 3, "larg": 3, "like": 3, "low": [2, 3], "propbabl": 3, "cover": [2, 3], "area": 3, "articl": [2, 3], "bernstein": 3, "cs\u00e1nyi": 3, "dering": 3, "v": 3, "de": 3, "novo": 3, "guid": 3, "npj": [2, 3], "mater": [2, 3], "2019": 3, "99": 3, "interv": 3, "consid": 3, "ones": [2, 3, 6], "respect": 3, "400": 3, "512": 3, "gad": [], "s1co": [], "pt111s33ad": [], "action": 2, "prefer": 2, "pbc_grid": [2, 6], "graph_radiu": [2, 6], "neigh": [2, 6], "skin": [2, 6], "adsorbate_el": [2, 6], "coordination_numb": 2, "site_radiu": 2, "check_site_uniqu": 2, "3x3": 2, "layer": 2, "111": 2, "pt111": 2, "enumer": 2, "possibl": [2, 6], "adsorpt": 2, "approach": 2, "hollow": 2, "deshpand": 2, "maxson": 2, "greelei": 2, "multident": 2, "coverag": 2, "heterogen": 2, "catalysi": 2, "2020": 2, "79": 2, "accord": 2, "Their": 2, "appli": 2, "stabl": 2, "convex": 2, "hull": 2, "meanwhil": 2, "product": 2, "across": 2, "standard": 6, "make": 6, "sure": 6, "reactant": 6, "srxn": [], "s2co": [], "co": 6, "null": [], "keep": [], "merg": 6, "bia": 6, "happen": 6, "tss": 6, "fss": 6, "just": 6, "highest": 6, "among": 6, "rather": 6, "exact": 6, "expedition_exampl": 4, "platinum": 28, "imagin": 25}, "objects": {"": [[10, 0, 0, "-", "builder"], [11, 0, 0, "-", "computation"], [14, 0, 0, "-", "config"], [15, 0, 0, "-", "expedition"], [16, 0, 0, "-", "main"], [18, 0, 0, "-", "potential"], [20, 0, 0, "-", "reaction"], [21, 0, 0, "-", "scheduler"], [22, 0, 0, "-", "selector"], [23, 0, 0, "-", "trainer"]], "builder": [[10, 0, 0, "-", "adsorbate"], [10, 0, 0, "-", "builder"], [10, 0, 0, "-", "constraints"], [10, 4, 1, "", "create_generator"], [10, 0, 0, "-", "direct"], [10, 0, 0, "-", "randomBuilder"], [10, 0, 0, "-", "region"], [10, 0, 0, "-", "species"], [10, 0, 0, "-", "utils"]], "builder.adsorbate": [[10, 1, 1, "", "AdsorbateGraphGenerator"]], "builder.adsorbate.AdsorbateGraphGenerator": [[10, 2, 1, "", "add_adsorbate"], [10, 2, 1, "", "compare_graphs"], [10, 2, 1, "", "del_adsorbate"], [10, 2, 1, "", "exchange_adsorbate"], [10, 2, 1, "", "run"]], "builder.builder": [[10, 1, 1, "", "StructureGenerator"]], "builder.builder.StructureGenerator": [[10, 3, 1, "", "directory"], [10, 2, 1, "", "run"]], "builder.constraints": [[10, 4, 1, "", "convert_indices"], [10, 4, 1, "", "parse_constraint_info"]], "builder.direct": [[10, 1, 1, "", "DirectGenerator"], [10, 4, 1, "", "read_xsd2"]], "builder.direct.DirectGenerator": [[10, 3, 1, "", "fpath"], [10, 3, 1, "", "indices"], [10, 2, 1, "", "run"]], "builder.randomBuilder": [[10, 1, 1, "", "RandomGenerator"]], "builder.randomBuilder.RandomGenerator": [[10, 5, 1, "", "MAX_FAILED"], [10, 5, 1, "", "MAX_RANDOM_TRY"], [10, 2, 1, "", "as_dict"], [10, 2, 1, "", "run"], [10, 5, 1, "", "supported_systems"]], "builder.region": [[10, 1, 1, "", "ReducedRegion"], [10, 1, 1, "", "Reservoir"], [10, 4, 1, "", "estimate_chemical_potential"]], "builder.region.ReducedRegion": [[10, 5, 1, "", "MAX_NUM_PER_SPECIES"], [10, 5, 1, "", "MAX_RANDOM_ATTEMPS"], [10, 2, 1, "", "calc_acc_volume"], [10, 2, 1, "", "check_overlap_neighbour"], [10, 2, 1, "", "random_position_neighbour"], [10, 3, 1, "", "reservoir"]], "builder.region.Reservoir": [[10, 2, 1, "", "compute_thermo_wavelength"]], "builder.species": [[10, 1, 1, "", "FormulaBasedGenerator"], [10, 4, 1, "", "build_species"], [10, 4, 1, "", "calc_water_num"], [10, 4, 1, "", "check_overlap_neighbour"], [10, 4, 1, "", "ideal_gas_insertin"], [10, 4, 1, "", "random_position_neighbour"], [10, 4, 1, "", "test_nvt"]], "builder.species.FormulaBasedGenerator": [[10, 2, 1, "", "run"]], "builder.utils": [[10, 4, 1, "", "other_utils"], [10, 4, 1, "", "per_main"], [10, 4, 1, "", "pertubate_stucture"], [10, 4, 1, "", "sort_atoms"]], "computation": [[11, 0, 0, "-", "ase"], [11, 0, 0, "-", "driver"], [11, 0, 0, "-", "lammps"], [11, 0, 0, "-", "lasp"], [12, 0, 0, "-", "uncertainty"], [11, 0, 0, "-", "utils"], [11, 0, 0, "-", "vasp"], [13, 0, 0, "-", "worker"]], "computation.ase": [[11, 1, 1, "", "AseDriver"], [11, 4, 1, "", "retrieve_and_save_deviation"], [11, 4, 1, "", "save_trajectory"]], "computation.ase.AseDriver": [[11, 5, 1, "", "default_init_params"], [11, 5, 1, "", "default_run_params"], [11, 5, 1, "", "default_task"], [11, 3, 1, "", "directory"], [11, 5, 1, "", "log_fname"], [11, 3, 1, "", "log_fpath"], [11, 5, 1, "", "name"], [11, 5, 1, "", "param_mapping"], [11, 2, 1, "", "read_trajectory"], [11, 2, 1, "", "run"], [11, 5, 1, "", "saved_cards"], [11, 5, 1, "", "supported_tasks"], [11, 5, 1, "", "traj_fname"], [11, 3, 1, "", "traj_fpath"]], "computation.driver": [[11, 1, 1, "", "AbstractDriver"], [11, 6, 1, "", "MD_INIT_KEYS"], [11, 6, 1, "", "MD_RUN_KEYS"], [11, 6, 1, "", "MIN_INIT_KEYS"], [11, 6, 1, "", "MIN_RUN_KEYS"]], "computation.driver.AbstractDriver": [[11, 2, 1, "", "as_dict"], [11, 5, 1, "", "default_init_params"], [11, 5, 1, "", "default_run_params"], [11, 3, 1, "", "default_task"], [11, 5, 1, "", "delete"], [11, 2, 1, "", "delete_keywords"], [11, 3, 1, "", "directory"], [11, 2, 1, "", "get"], [11, 5, 1, "", "keyword"], [11, 5, 1, "", "name"], [11, 5, 1, "", "param_mapping"], [11, 5, 1, "", "pot_params"], [11, 2, 1, "", "read_converged"], [11, 2, 1, "", "read_trajectory"], [11, 2, 1, "", "reset"], [11, 2, 1, "", "run"], [11, 2, 1, "", "set_keywords"], [11, 5, 1, "", "special_keywords"], [11, 3, 1, "", "supported_tasks"], [11, 5, 1, "", "syswise_keys"]], "computation.lammps": [[11, 6, 1, "", "ASELMPCONFIG"], [11, 1, 1, "", "AseLammpsSettings"], [11, 1, 1, "", "Lammps"], [11, 1, 1, "", "LmpDriver"], [11, 4, 1, "", "parse_thermo_data"], [11, 4, 1, "", "parse_type_list"]], "computation.lammps.AseLammpsSettings": [[11, 5, 1, "", "deviation_filename"], [11, 5, 1, "", "input_fname"], [11, 5, 1, "", "inputstructure_filename"], [11, 5, 1, "", "log_filename"], [11, 5, 1, "", "trajectory_filename"]], "computation.lammps.Lammps": [[11, 5, 1, "", "cached_loop_time"], [11, 5, 1, "", "cached_traj_frames"], [11, 2, 1, "", "calculate"], [11, 5, 1, "", "command"], [11, 5, 1, "", "default_parameters"], [11, 5, 1, "", "implemented_properties"], [11, 5, 1, "", "name"], [11, 2, 1, "", "read_results"], [11, 5, 1, "", "type_list"], [11, 2, 1, "", "write_input"]], "computation.lammps.LmpDriver": [[11, 5, 1, "", "default_init_params"], [11, 5, 1, "", "default_run_params"], [11, 5, 1, "", "default_task"], [11, 5, 1, "", "delete"], [11, 5, 1, "", "keyword"], [11, 5, 1, "", "name"], [11, 5, 1, "", "param_mapping"], [11, 2, 1, "", "read_trajectory"], [11, 2, 1, "", "run"], [11, 5, 1, "", "saved_cards"], [11, 5, 1, "", "special_keywords"], [11, 5, 1, "", "supported_tasks"]], "computation.lasp": [[11, 1, 1, "", "LaspDriver"], [11, 1, 1, "", "LaspNN"], [11, 4, 1, "", "read_laspset"]], "computation.lasp.LaspDriver": [[11, 5, 1, "", "default_init_params"], [11, 5, 1, "", "default_run_params"], [11, 5, 1, "", "default_task"], [11, 5, 1, "", "name"], [11, 5, 1, "", "param_mapping"], [11, 2, 1, "", "read_trajectory"], [11, 2, 1, "", "run"], [11, 5, 1, "", "saved_cards"], [11, 5, 1, "", "supported_tasks"]], "computation.lasp.LaspNN": [[11, 2, 1, "", "calculate"], [11, 5, 1, "", "command"], [11, 5, 1, "", "default_parameters"], [11, 5, 1, "", "implemented_properties"], [11, 5, 1, "", "name"], [11, 2, 1, "", "read_results"], [11, 2, 1, "", "write_input"]], "computation.uncertainty": [[12, 0, 0, "-", "committee"], [12, 4, 1, "", "create_estimator"]], "computation.uncertainty.committee": [[12, 1, 1, "", "CommitteeUncertaintyEstimator"]], "computation.uncertainty.committee.CommitteeUncertaintyEstimator": [[12, 3, 1, "", "directory"], [12, 2, 1, "", "estimate"]], "computation.utils": [[11, 4, 1, "", "create_single_point_calculator"], [11, 4, 1, "", "get_composition_from_atoms"], [11, 4, 1, "", "parse_type_list"], [11, 4, 1, "", "read_trajectories"]], "computation.vasp": [[11, 1, 1, "", "VaspDriver"], [11, 4, 1, "", "read_sort"]], "computation.vasp.VaspDriver": [[11, 5, 1, "", "default_init_params"], [11, 5, 1, "", "default_run_params"], [11, 5, 1, "", "default_task"], [11, 5, 1, "", "name"], [11, 5, 1, "", "param_mapping"], [11, 2, 1, "", "read_trajectory"], [11, 2, 1, "", "run"], [11, 5, 1, "", "supported_tasks"], [11, 5, 1, "", "syswise_keys"]], "computation.worker": [[13, 0, 0, "-", "command"], [13, 0, 0, "-", "drive"], [13, 4, 1, "", "run_driver"], [13, 4, 1, "", "run_worker"], [13, 0, 0, "-", "train"], [13, 0, 0, "-", "worker"]], "computation.worker.command": [[13, 1, 1, "", "CommandWorker"]], "computation.worker.command.CommandWorker": [[13, 3, 1, "", "command"], [13, 2, 1, "", "run"]], "computation.worker.drive": [[13, 1, 1, "", "DriverBasedWorker"], [13, 4, 1, "", "get_file_md5"]], "computation.worker.drive.DriverBasedWorker": [[13, 5, 1, "", "batchsize"], [13, 3, 1, "", "driver"], [13, 2, 1, "", "inspect"], [13, 2, 1, "", "retrieve"], [13, 2, 1, "", "run"]], "computation.worker.train": [[13, 1, 1, "", "TrainWorker"]], "computation.worker.train.TrainWorker": [[13, 2, 1, "", "run"]], "computation.worker.worker": [[13, 1, 1, "", "AbstractWorker"]], "computation.worker.worker.AbstractWorker": [[13, 5, 1, "", "UUIDLEN"], [13, 3, 1, "", "database"], [13, 3, 1, "", "directory"], [13, 2, 1, "", "get_number_of_running_jobs"], [13, 2, 1, "", "inspect"], [13, 5, 1, "", "logger"], [13, 5, 1, "", "restart"], [13, 2, 1, "", "retrieve"], [13, 2, 1, "", "run"], [13, 3, 1, "", "scheduler"]], "config": [[14, 6, 1, "", "NJOBS"]], "expedition": [[15, 0, 0, "-", "abstract"], [15, 0, 0, "-", "adsorbate"], [15, 0, 0, "-", "evoSearch"], [15, 0, 0, "-", "md"], [15, 0, 0, "-", "reaction"], [15, 4, 1, "", "run_expedition"]], "expedition.abstract": [[15, 1, 1, "", "AbstractExpedition"]], "expedition.abstract.AbstractExpedition": [[15, 5, 1, "", "calculation_params"], [15, 5, 1, "", "collection_params"], [15, 5, 1, "", "creation_params"], [15, 5, 1, "", "general_params"], [15, 5, 1, "", "label_params"], [15, 5, 1, "", "name"], [15, 5, 1, "", "parameters"], [15, 2, 1, "", "parse_specorder"], [15, 5, 1, "", "restart"], [15, 2, 1, "", "run"], [15, 5, 1, "", "type_list"], [15, 5, 1, "", "type_map"]], "expedition.adsorbate": [[15, 1, 1, "", "AdsorbateEvolution"]], "expedition.adsorbate.AdsorbateEvolution": [[15, 5, 1, "", "collection_params"], [15, 5, 1, "", "creation_params"], [15, 5, 1, "", "name"], [15, 5, 1, "", "parameters"]], "expedition.evoSearch": [[15, 1, 1, "", "EvolutionaryExpedition"]], "expedition.evoSearch.EvolutionaryExpedition": [[15, 5, 1, "", "collection_params"], [15, 5, 1, "", "creation_params"], [15, 5, 1, "", "name"]], "expedition.md": [[15, 1, 1, "", "MDBasedExpedition"], [15, 1, 1, "", "MDParams"], [15, 4, 1, "", "create_dataclass_from_dict"]], "expedition.md.MDBasedExpedition": [[15, 5, 1, "", "collection_params"], [15, 5, 1, "", "name"]], "expedition.md.MDParams": [[15, 5, 1, "", "Pdamp"], [15, 5, 1, "", "Tdamp"], [15, 5, 1, "", "dump_period"], [15, 5, 1, "", "md_style"], [15, 5, 1, "", "pres"], [15, 5, 1, "", "steps"], [15, 5, 1, "", "task"], [15, 5, 1, "", "temp"], [15, 5, 1, "", "timestep"]], "expedition.reaction": [[15, 1, 1, "", "ReactionExplorer"]], "expedition.reaction.ReactionExplorer": [[15, 5, 1, "", "collection_params"], [15, 5, 1, "", "creation_params"], [15, 5, 1, "", "name"]], "main": [[16, 4, 1, "", "main"]], "potential": [[18, 0, 0, "-", "manager"], [19, 0, 0, "-", "managers"], [18, 0, 0, "-", "register"]], "potential.manager": [[18, 1, 1, "", "AbstractPotentialManager"]], "potential.manager.AbstractPotentialManager": [[18, 2, 1, "", "as_dict"], [18, 3, 1, "", "calc"], [18, 2, 1, "", "create_driver"], [18, 2, 1, "", "create_worker"], [18, 2, 1, "", "get_batchsize"], [18, 5, 1, "", "implemented_backends"], [18, 5, 1, "", "name"], [18, 2, 1, "", "register_calculator"], [18, 2, 1, "", "register_scheduler"], [18, 2, 1, "", "register_trainer"], [18, 3, 1, "", "scheduler"], [18, 5, 1, "", "valid_combinations"], [18, 5, 1, "", "version"]], "potential.managers": [[19, 0, 0, "-", "deepmd"], [19, 0, 0, "-", "eann"], [19, 0, 0, "-", "lasp"], [19, 0, 0, "-", "nequip"], [19, 0, 0, "-", "reax"], [19, 0, 0, "-", "vasp"]], "potential.managers.deepmd": [[19, 1, 1, "", "DeepmdManager"]], "potential.managers.deepmd.DeepmdManager": [[19, 2, 1, "", "check_finished"], [19, 2, 1, "", "freeze"], [19, 2, 1, "", "get_batchsize"], [19, 5, 1, "", "implemented_backends"], [19, 5, 1, "", "name"], [19, 2, 1, "", "register_calculator"], [19, 2, 1, "", "register_trainer"], [19, 2, 1, "", "train"], [19, 5, 1, "", "valid_combinations"]], "potential.managers.eann": [[19, 1, 1, "", "EannManager"]], "potential.managers.eann.EannManager": [[19, 5, 1, "", "TRAIN_INPUT_NAME"], [19, 2, 1, "", "freeze"], [19, 5, 1, "", "implemented_backends"], [19, 5, 1, "", "name"], [19, 2, 1, "", "register_calculator"], [19, 2, 1, "", "register_trainer"], [19, 2, 1, "", "train"], [19, 5, 1, "", "valid_combinations"]], "potential.managers.lasp": [[19, 1, 1, "", "LaspManager"]], "potential.managers.lasp.LaspManager": [[19, 5, 1, "", "implemented_backends"], [19, 5, 1, "", "name"], [19, 2, 1, "", "register_calculator"], [19, 5, 1, "", "valid_combinations"]], "potential.managers.nequip": [[19, 1, 1, "", "NequipManager"]], "potential.managers.nequip.NequipManager": [[19, 2, 1, "", "estimate_uncertainty"], [19, 2, 1, "", "freeze"], [19, 5, 1, "", "implemented_backends"], [19, 5, 1, "", "name"], [19, 2, 1, "", "register_calculator"], [19, 2, 1, "", "register_trainer"], [19, 2, 1, "", "train"], [19, 5, 1, "", "valid_combinations"]], "potential.managers.reax": [[19, 1, 1, "", "ReaxManager"]], "potential.managers.reax.ReaxManager": [[19, 5, 1, "", "implemented_backends"], [19, 5, 1, "", "name"], [19, 2, 1, "", "register_calculator"], [19, 5, 1, "", "valid_combinations"]], "potential.managers.vasp": [[19, 1, 1, "", "VaspManager"]], "potential.managers.vasp.VaspManager": [[19, 5, 1, "", "implemented_backends"], [19, 5, 1, "", "name"], [19, 2, 1, "", "register_calculator"], [19, 5, 1, "", "valid_combinations"]], "potential.register": [[18, 1, 1, "", "PotentialRegister"], [18, 4, 1, "", "create_potter"]], "potential.register.PotentialRegister": [[18, 2, 1, "", "create_potential"], [18, 2, 1, "", "register_potential"]], "reaction": [[20, 0, 0, "-", "AFIR"]], "reaction.AFIR": [[20, 1, 1, "", "AFIR"], [20, 1, 1, "", "AFIRSearch"], [20, 1, 1, "", "Adsorbate"], [20, 4, 1, "", "force_function"], [20, 4, 1, "", "grid_iterator"], [20, 4, 1, "", "partition_fragments"]], "reaction.AFIR.AFIR": [[20, 2, 1, "", "calc_pairs"], [20, 2, 1, "", "converged"], [20, 5, 1, "", "has_reaction"], [20, 2, 1, "", "log"], [20, 2, 1, "", "step"], [20, 2, 1, "", "update_positions"], [20, 2, 1, "", "update_positions_by_graph"]], "reaction.AFIR.AFIRSearch": [[20, 5, 1, "", "constraint"], [20, 2, 1, "", "irun"], [20, 5, 1, "", "nfragments_to_reaction"], [20, 2, 1, "", "run"], [20, 5, 1, "", "run_NEB"]], "reaction.AFIR.Adsorbate": [[20, 5, 1, "", "cop"], [20, 5, 1, "", "indices"], [20, 5, 1, "", "name"], [20, 5, 1, "", "positions"], [20, 5, 1, "", "shifts"], [20, 5, 1, "", "symbols"]], "scheduler": [[21, 4, 1, "", "create_scheduler"], [21, 0, 0, "-", "local"], [21, 0, 0, "-", "pbs"], [21, 0, 0, "-", "scheduler"], [21, 0, 0, "-", "slurm"]], "scheduler.local": [[21, 1, 1, "", "LocalScheduler"]], "scheduler.local.LocalScheduler": [[21, 2, 1, "", "is_finished"], [21, 5, 1, "", "name"], [21, 2, 1, "", "submit"]], "scheduler.pbs": [[21, 1, 1, "", "PbsScheduler"]], "scheduler.pbs.PbsScheduler": [[21, 5, 1, "", "ENQUIRE_COMMAND"], [21, 5, 1, "", "PREFIX"], [21, 5, 1, "", "SHELL"], [21, 5, 1, "", "SUBMIT_COMMAND"], [21, 5, 1, "", "SUFFIX"], [21, 5, 1, "", "default_parameters"], [21, 2, 1, "", "is_finished"], [21, 5, 1, "", "name"], [21, 5, 1, "", "running_status"]], "scheduler.scheduler": [[21, 1, 1, "", "AbstractScheduler"]], "scheduler.scheduler.AbstractScheduler": [[21, 5, 1, "", "ENQUIRE_COMMAND"], [21, 5, 1, "", "PREFIX"], [21, 5, 1, "", "SHELL"], [21, 5, 1, "", "SUBMIT_COMMAND"], [21, 5, 1, "", "SUFFIX"], [21, 5, 1, "", "default_parameters"], [21, 5, 1, "", "environs"], [21, 2, 1, "", "is_finished"], [21, 5, 1, "", "name"], [21, 5, 1, "", "parameters"], [21, 5, 1, "", "running_status"], [21, 3, 1, "", "script"], [21, 2, 1, "", "set"], [21, 2, 1, "", "submit"], [21, 5, 1, "", "user_commands"], [21, 2, 1, "", "write"]], "scheduler.slurm": [[21, 1, 1, "", "SlurmScheduler"]], "scheduler.slurm.SlurmScheduler": [[21, 5, 1, "", "ENQUIRE_COMMAND"], [21, 5, 1, "", "PREFIX"], [21, 5, 1, "", "SHELL"], [21, 5, 1, "", "SUBMIT_COMMAND"], [21, 5, 1, "", "SUFFIX"], [21, 5, 1, "", "default_parameters"], [21, 2, 1, "", "is_finished"], [21, 5, 1, "", "name"], [21, 5, 1, "", "running_status"]], "selector": [[22, 0, 0, "-", "composition"], [22, 0, 0, "-", "convergence"], [22, 4, 1, "", "create_selector"], [22, 0, 0, "-", "cur"], [22, 0, 0, "-", "descriptor"], [22, 0, 0, "-", "graph"], [22, 0, 0, "-", "invariant"], [22, 4, 1, "", "run_selection"], [22, 0, 0, "-", "selector"], [22, 0, 0, "-", "traj"], [22, 0, 0, "-", "uncertainty"]], "selector.composition": [[22, 1, 1, "", "ComposedSelector"]], "selector.composition.ComposedSelector": [[22, 5, 1, "", "default_parameters"], [22, 3, 1, "", "directory"], [22, 5, 1, "", "name"]], "selector.convergence": [[22, 1, 1, "", "ConvergenceSelector"]], "selector.convergence.ConvergenceSelector": [[22, 5, 1, "", "default_parameters"], [22, 5, 1, "", "name"]], "selector.cur": [[22, 4, 1, "", "cur_selection"], [22, 4, 1, "", "descriptor_svd"]], "selector.descriptor": [[22, 1, 1, "", "DescriptorBasedSelector"]], "selector.descriptor.DescriptorBasedSelector": [[22, 2, 1, "", "calc_desc"], [22, 5, 1, "", "default_parameters"], [22, 5, 1, "", "name"], [22, 5, 1, "", "verbose"]], "selector.graph": [[22, 1, 1, "", "GraphSelector"]], "selector.graph.GraphSelector": [[22, 5, 1, "", "default_parameters"], [22, 5, 1, "", "name"]], "selector.invariant": [[22, 1, 1, "", "InvariantSelector"]], "selector.invariant.InvariantSelector": [[22, 5, 1, "", "default_parameters"], [22, 5, 1, "", "name"]], "selector.selector": [[22, 1, 1, "", "AbstractSelector"]], "selector.selector.AbstractSelector": [[22, 2, 1, "", "as_dict"], [22, 5, 1, "", "default_parameters"], [22, 3, 1, "", "directory"], [22, 3, 1, "", "fname"], [22, 5, 1, "", "indent"], [22, 5, 1, "", "logger"], [22, 5, 1, "", "name"], [22, 5, 1, "", "njobs"], [22, 2, 1, "", "pfunc"], [22, 2, 1, "", "select"], [22, 2, 1, "", "set"], [22, 2, 1, "", "set_rng"]], "selector.traj": [[22, 1, 1, "", "BoltzmannMinimaSelection"]], "selector.traj.BoltzmannMinimaSelection": [[22, 5, 1, "", "default_parameters"], [22, 5, 1, "", "name"]], "selector.uncertainty": [[22, 1, 1, "", "DeviationSelector"]], "selector.uncertainty.DeviationSelector": [[22, 5, 1, "", "default_parameters"], [22, 5, 1, "", "name"], [22, 5, 1, "", "pot_worker"]], "trainer": [[23, 4, 1, "", "run_trainer"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:property", "4": "py:function", "5": "py:attribute", "6": "py:data"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "property", "Python property"], "4": ["py", "function", "Python function"], "5": ["py", "attribute", "Python attribute"], "6": ["py", "data", "Python data"]}, "titleterms": {"about": 0, "featur": 0, "comput": [1, 11, 12, 13], "driver": [1, 11, 25], "expedit": [4, 8, 15], "extens": 7, "custom": 7, "potenti": [1, 7, 8, 18, 19, 24, 25, 26, 28], "gdpy": [8, 17], "document": 8, "support": 8, "introduct": 8, "user": 8, "guid": 8, "develop": 8, "instal": 9, "requir": 9, "from": 9, "sourc": 9, "conda": 9, "pip": 9, "builder": 10, "packag": [10, 11, 12, 13, 15, 18, 19, 20, 21, 22, 23], "submodul": [10, 11, 12, 13, 15, 18, 19, 20, 21, 22], "adsorb": [2, 10, 15], "modul": [10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23], "constraint": [1, 10], "direct": 10, "randombuild": 10, "region": 10, "speci": 10, "util": [10, 11], "content": [10, 11, 12, 13, 15, 18, 19, 20, 21, 22, 23], "subpackag": [11, 18], "mors": 11, "ase": 11, "dp": 11, "lammp": 11, "lasp": [11, 19], "opt_mors": 11, "plume": 11, "vasp": [11, 19], "worker": [1, 13, 25], "command": 13, "drive": 13, "train": [13, 24], "config": 14, "abstract": 15, "evosearch": 15, "todo": 15, "md": [5, 15], "reaction": [6, 15, 20], "main": 16, "api": [], "manag": [18, 19], "regist": 18, "deepmd": 19, "eann": 19, "nequip": 19, "reax": 19, "afir": 20, "schedul": [21, 25], "local": 21, "pb": 21, "slurm": 21, "selector": 22, "composit": 22, "converg": 22, "cur": 22, "descriptor": 22, "graph": 22, "invari": 22, "traj": 22, "uncertainti": [12, 22], "trainer": 23, "evaluate_potenti": [], "iterative_train": [], "manual_train": [], "train_potenti": [], "get": 25, "start": 25, "unit": 25, "tutori": 27, "build": [26, 28], "cu": 26, "global": [3, 26], "search": [1, 26], "coppper": [], "water": [], "pt": 28, "h2o": 28, "On": 28, "fly": 28, "molecular": [1, 5, 28], "dynam": [1, 5, 28], "bulk": 26, "overview": 0, "minimis": 1, "transit": 1, "state": 1, "explor": [2, 3, 5, 6], "list": [4, 27], "configur": 2, "optimis": 3, "chemic": 6, "defin": 4, "system": [2, 3, 4, 5, 6], "simul": 24, "formul": 24, "committe": 12, "creat": [2, 3, 5, 6], "collect": [2, 3, 5, 6], "select": [2, 3, 5, 6]}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "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.intersphinx": 1, "sphinx.ext.todo": 2, "sphinx": 56}})
\ No newline at end of file
diff --git a/docs/source/_build/html/start.html b/docs/source/_build/html/start.html
index f18d1ccb..9dc550a2 100644
--- a/docs/source/_build/html/start.html
+++ b/docs/source/_build/html/start.html
@@ -224,7 +224,7 @@ 

DriverSchedulerΒΆ

With potential and driver defined, we can run simulations on local machines (directly in the command line). However, simulations, under most -circumstances, would be really heavy even by MLIPs (image a 10 ns molecular +circumstances, would be really heavy even by MLIPs (imagine a 10 ns molecular dynamics). The simulations would ideally be dispatched to high performace clusters (HPCs).

The example below shows how to define a scheduler in a yaml file:

@@ -269,7 +269,7 @@

Workerenvirons: "source ~/envs/source_eann.sh\nconda activate catorch2\n"

-

to run a nvt simulation with given structures by nequip on a slurm +

to run a nvt simulation with given structures by deepmd on a slurm machine

# -- submit jobs...
 #    one structure for one job
diff --git a/docs/source/start.rst b/docs/source/start.rst
index 2a28cb3c..427c4333 100644
--- a/docs/source/start.rst
+++ b/docs/source/start.rst
@@ -1,20 +1,17 @@
 Getting Started
 ===============
-
 Here, we would introduce several basic components of GDPy, namely **potential**, 
 **driver**, **worker**. **Worker** is the basic unit that performs any 
 computation, which contains a ``AbstractPotentialManager`` and a ``Scheduler``.
 
 Units
 -----
-
 We use the following units through all input files:
 
 Time ``fs``, Length ``AA``, Energy ``eV``, Force ``eV/AA``.
 
 Potential
 ---------
-
 We have supported several MLIP formulations based on an ``AbstractPotentialManager`` 
 class to access **driver**, **expedition**, and **training** through workflows. 
 
@@ -35,7 +32,6 @@ See :ref:`Potential Examples` section for more details.
 
 Driver
 ------
-
 After potential is defined, we need to further specify what simulation would be 
 perfomed in the **driver** section. A driver (``AbstractDriver``) is the basic 
 unit with an attacthed **ase** ``calculators`` for basic dynamics tasks, namely, 
@@ -61,10 +57,9 @@ See :ref:`Driver Examples` section for more details.
 
 Scheduler
 ---------
-
 With **potential** and **driver** defined, we can run simulations on local 
 machines (directly in the command line). However, simulations, under most 
-circumstances, would be really heavy even by MLIPs (image a 10 ns molecular 
+circumstances, would be really heavy even by MLIPs (imagine a 10 ns molecular 
 dynamics). The simulations would ideally be dispatched to high performace clusters
 (HPCs).
 
@@ -86,7 +81,6 @@ The example below shows how to define a **scheduler** in a **yaml** file:
 
 Worker
 ------
-
 **Worker** that combines the above components is what we use throughout various 
 workflows to deal with computations. 
 
@@ -115,7 +109,7 @@ The example below shows how to define a **worker** in a **yaml** file:
         time: "0:10:00"
         environs: "source ~/envs/source_eann.sh\nconda activate catorch2\n"
 
-to run a **nvt** simulation with given structures by **nequip** on a **slurm** 
+to run a **nvt** simulation with given structures by **deepmd** on a **slurm** 
 machine
 
 .. code-block:: shell