diff --git a/README.md b/README.md index 55756e5a5..f8363d368 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,9 @@ -i-PI: a Universal Force Engine -============================== +# i-PI: a Universal Force Engine A Python interface for ab initio path integral molecular dynamics simulations (and more). -i-PI is a Python server (that does not need to be compiled and only requires a relatively -recent version of Python and Numpy) that applies an algorithm to update the positions of -the nuclei. One of many compatible external codes acts as client, and computes the +i-PI is a Python server (that does not need to be compiled and only requires a relatively +recent version of Python and Numpy) that applies an algorithm to update the positions of +the nuclei. One of many compatible external codes acts as client, and computes the electronic energy and forces. This is typically a patched version of an electronic structure code, but a @@ -13,17 +12,17 @@ potentials is included for test purposes. i-PI was originally developed to simulate the quantum mechanical nature of light nuclei by performing path integral molecular dynamics simulations, -and it implements most of the state-of-the-art methods to accelerate this kind of -calculations. It has since grown to also provide all sorts of simulation -strategies, from replica exchange to geometry optimization. +and it implements most of the state-of-the-art methods to accelerate this kind of +calculations. It has since grown to also provide all sorts of simulation +strategies, from replica exchange to geometry optimization. If you use i-PI in your research, please cite the accompanying publication: -for version 3, the relevant paper is -[Litman et al., *J. Chem. Phys.* 161, 062504 (2024)](https://doi.org/10.1063/5.0215869) +for version 3, the relevant paper is +[Litman et al., _J. Chem. Phys._ 161, 062504 (2024)](https://doi.org/10.1063/5.0215869) ``` @article{litman2024ipi, -title={i-PI 3.0: a flexible and efficient framework for advanced atomistic simulations}, +title={i-PI 3.0: a flexible and efficient framework for advanced atomistic simulations}, author={Yair Litman and Venkat Kapil and Yotam M. Y. Feldman and Davide Tisi and Tomislav Begušić and Karen Fidanyan and Guillaume Fraux and Jacob Higer and Matthias Kellner and Tao E. Li and Eszter S. Pós and Elia Stocco and George Trenins and Barak Hirshberg and Mariana Rossi and Michele Ceriotti}, journal = {J. Chem. Phys.}, pages = {062505}, @@ -32,8 +31,7 @@ year = {2024} } ``` -Quick Setup ------------ +## Quick Setup To use i-PI with an existing driver, install and update using `pip`: @@ -49,8 +47,11 @@ Last Release: pip install -U ipi ``` -Source installation -------------------- +## Documentation + +You can find the online documentation at [https://docs.ipi-code.org](https://docs.ipi-code.org/). Alternatively, you can build it locally by following instructions in the `docs/README.md` file. + +## Source installation To develop i-PI or test it with the self-contained driver, follow these instructions. It is assumed that i-PI will @@ -63,11 +64,10 @@ git clone https://github.com/i-pi/i-pi.git ``` Source the environment settings file `env.sh` as `source env.sh` or `. -env.sh`. It is useful to put this in your `.bashrc` or other settings file if +env.sh`. It is useful to put this in your `.bashrc` or other settings file if you always want to have i-PI available. - -### Compile the driver code +## Compile the driver code The built-in driver requires a FORTRAN compiler, and can be built as @@ -78,14 +78,14 @@ cd ../.. ``` There is also a Python driver available in `drivers/py`, which however has limited -functionalities. +functionalities. -### Examples and demos +## Examples and demos The `examples` and `demos` folders contain inputs for many different types of calculations based on i-PI. Examples are typically minimal use-cases of specific features, while demos are more structured, tutorial-like examples that show how -to realize more complex setups, and also provide a brief discussion of the +to realize more complex setups, and also provide a brief discussion of the underlying algorithms. To run these examples, you should typically start i-PI, redirecting the output to @@ -93,7 +93,7 @@ a log file, and then run a couple of instances of the driver code. The progress of the wrapper is followed by monitoring the log file with the `tail` Linux command. Optionally, you can make a copy of the directory with the example somewhere -else if you want to keep the i-PI directory clean. For example +else if you want to keep the i-PI directory clean. For example, after sourcing the `env.sh` file, ```bash cd demos/para-h2-tutorial/tutorial-1/ @@ -105,7 +105,12 @@ tail -f log The monitoring can be interrupted with CTRL+C when the run has finished (5000 steps). -### Run the automatic test suite +## Tutorials and online resources + +The i-PI [documentation](https://docs.ipi-code.org/onlinereso.html) has a list of +available tutorials, recipes and other useful online resources. + +## Run the automatic test suite The automatic test suite can be run by calling the i-pi-tests script. You need to have the `pytest` package installed @@ -118,8 +123,7 @@ You may also need to install some dependencies, listed in `requirements.txt`. See more details in the README file inside the `ipi_tests` folder. -Contributing ------------- +## Contributing If you have new features you want to implement into i-PI, your contributions are much welcome. See `CONTRIBUTING.md` for a brief set of style guidelines and best practices. Before embarking diff --git a/docs/README b/docs/README.md similarity index 57% rename from docs/README rename to docs/README.md index f0bc71199..d130343b4 100644 --- a/docs/README +++ b/docs/README.md @@ -1,13 +1,12 @@ -i-PI documentation -================== +## i-PI documentation -This folder contains the files needed to build the documentation for i-PI. +This folder contains the files needed to locally build the documentation for i-PI. * `latex/` contains the "legacy" TeX manual, that includes also autogenerated input reference * `scripts/` contains automatic scripts to build the input reference * `src/` contains RST files that are compiled by sphynx into the HTML documentation. -To make the docs, make sure you have all the needed packages in `requirements.txt` installed, and type `make html`. The local documentation will be generated in `_build/html`. +To make the docs, make sure you have all the needed packages in `requirements.txt` installed, which can be achieved with `pip install -r requirements.txt`, and type `make html`. The local documentation will be generated in `_build/html`. To make the TeX docs follow the instructions in `latex`. diff --git a/docs/_static/custom_styles.css b/docs/_static/custom_styles.css new file mode 100644 index 000000000..13c727374 --- /dev/null +++ b/docs/_static/custom_styles.css @@ -0,0 +1,8 @@ +figcaption { + font-style: italic; /* makes text italic */ + font-size: 0.9em; /* reduces font size to 90% of the surrounding text */ +} + +img.white-background { + background-color: white; +} diff --git a/docs/_static/favicon-ipi.png b/docs/_static/favicon-ipi.png new file mode 100644 index 000000000..beaf016d9 Binary files /dev/null and b/docs/_static/favicon-ipi.png differ diff --git a/docs/latex/README b/docs/latex/README deleted file mode 100644 index 59a8b0e0c..000000000 --- a/docs/latex/README +++ /dev/null @@ -1,46 +0,0 @@ - -- Documentation directory -- - - * This gives all the documentation for the program. - - * Directories: - - figures: Holds the figures used in the manual. - - input_docs: Generated by the Makefile to hold the automatically generated - input reference sections of the manual. - - * Files: - - ../scripts/create_man.py: python script which automatically generates latex help files - for all the classes, for use in the manual. - - ../scripts/help_list.py: python script which can generate custom help files for - the output classes, for use in the manual. - - ../scripts/help.py: python script which can generate custom help files for - each of the input classes, for use in the manual. - - Makefile: The makefile for the automatically generated manual. - - manual.tex: TeX file giving the manual template. - - mybib.bib: Bibliography file for the manual. - - elsarticle-num-names.bst: Bibliography style file. - - etoolbox.sty: LaTeX package which is used by manual.tex. - - * Some of the above files are used to automatically generate sections of the - user manual, and to create an xml showing the class hierarchy. The sections - of the user manual are created in a directory input_docs. - The user manual itself is created in two files, manual.pdf and manual.xml. - These are: - - manual.pdf: The user manual file. This explains how to run the code, - the input and output file syntax, and the design paradigm for ipi. - Also contains a tutorial which goes step by step through an example - calculation. - - manual.xml: This is an xml file that contains all the input names - along with a description of their purpose and what values are - expected for each of them. - - * To make the help files use: - -$ make - - * To remove the input reference sections and LaTeX compiled files, use: - -$ make clean - - * To remove all the generated files, use: - -$ make distclean diff --git a/docs/latex/README.md b/docs/latex/README.md new file mode 100644 index 000000000..de1b68f5f --- /dev/null +++ b/docs/latex/README.md @@ -0,0 +1,45 @@ + +## Documentation Directory + +This directory contains all the documentation for the program. + +### Directories + +- **figures**: Holds the figures used in the manual. +- **input_docs**: Generated by the Makefile to hold the automatically generated input reference sections of the manual. + +### Files + +- `../scripts/create_man.py`: Python script that automatically generates LaTeX help files for all the classes, used in the manual. +- `../scripts/help_list.py`: Python script to generate custom help files for the output classes, used in the manual. +- `../scripts/help.py`: Python script to generate custom help files for each of the input classes, used in the manual. +- `Makefile`: Makefile for generating the manual automatically. +- `manual.tex`: TeX file serving as the template for the manual. +- `mybib.bib`: Bibliography file for the manual. +- `elsarticle-num-names.bst`: Bibliography style file. +- `etoolbox.sty`: LaTeX package used by `manual.tex`. + +### Notes + +Some of the files listed above are used to automatically generate sections of the user manual and to create an XML file showing the class hierarchy. The sections of the user manual are generated in the `input_docs` directory. The user manual itself is created in two files: + +- **manual.pdf**: The main user manual file, explaining how to run the code, the syntax for input and output files, and the design paradigm for i-PI. It also contains a tutorial that goes step-by-step through an example calculation. +- **manual.xml**: An XML file that contains all the input names, along with descriptions of their purpose and the expected values for each. + +### Commands + +- **Generate Help Files**: + ```bash + make + ``` + +- **Clean Up (Remove Input Reference Sections and LaTeX Compiled Files)**: + ```bash + make clean + ``` + +- **Full Clean (Remove All Generated Files)**: + ```bash + make distclean + ``` + diff --git a/docs/requirements.txt b/docs/requirements.txt index 1d4517693..a05ac6e3f 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,5 +1,6 @@ sphinx >= 3.2 -jinja2 < 3.1 +jinja2 sphinxcontrib-bibtex==2.1.4 numpy pathlib +furo diff --git a/docs/src/conf.py b/docs/src/conf.py index a1bccef5c..a6ebf7cb5 100644 --- a/docs/src/conf.py +++ b/docs/src/conf.py @@ -54,11 +54,12 @@ # The theme to use for HTML and HTML Help pages. See the documentation for # a list of builtin themes. # -html_theme = "agogo" +html_title = "i-PI documentation pages" +html_theme = "furo" html_theme_options = { - "rightsidebar": "false", + "top_of_page_buttons": [], } - +html_favicon = "../_static/favicon-ipi.png" html_logo = "../figures/ipi-logo.svg" html_css_files = [ diff --git a/docs/src/distributed.rst b/docs/src/distributed.rst index f7187b44e..6e4cfa288 100644 --- a/docs/src/distributed.rst +++ b/docs/src/distributed.rst @@ -224,6 +224,7 @@ example above. .. _fig-network: .. figure:: ../figures/ipi-network.* + :class: white-background :width: 90.0% A schematic representation of the network layout one diff --git a/docs/src/getting-started.rst b/docs/src/getting-started.rst index 0d8c176ff..e1f6d2e06 100644 --- a/docs/src/getting-started.rst +++ b/docs/src/getting-started.rst @@ -435,6 +435,7 @@ nodes, and to queue and manage computational jobs. .. _fig-running: .. figure:: ../figures/ipi-running.* + :class: white-background :width: 90.0% Different approaches to run i-PI and a number of diff --git a/docs/src/introduction.rst b/docs/src/introduction.rst index 21e3934b2..d198457a8 100644 --- a/docs/src/introduction.rst +++ b/docs/src/introduction.rst @@ -27,6 +27,7 @@ A schematic representation of the code structure and the server-client communica .. figure:: ../figures/ipi-structure-v3.* :width: 90.0% + :class: white-background Figure 1. Schematic representation of the i-PI code structure and the server-client communication. @@ -81,6 +82,7 @@ machinery in i-PI might appear complicated at first, and deserves a brief discussion. .. figure:: ../figures/ipi-forces.* + :class: white-background :width: 90.0% Schematic representation of the different objects that @@ -146,6 +148,7 @@ a “depend” object class, which is given the parameters on which it depends and a function used to calculate its value. .. figure:: ../figures/ipi-depend.* + :class: white-background :width: 90.0% Schematic overview of the functioning of the diff --git a/docs/src/onlinereso.rst b/docs/src/onlinereso.rst index 62f971018..8ca372b5b 100644 --- a/docs/src/onlinereso.rst +++ b/docs/src/onlinereso.rst @@ -1,7 +1,15 @@ .. _librarywebsites: -On-line resources -================= +Tutorials, recipes, and on-line resources +========================================= + +Massive Open Online Course (MOOC) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The theory behind classical and path-integral methods for structure +and dynamics along with practical exercises can be found in an online +course freely available to everyone, and accessible from this +`link `_. i-PI resources ~~~~~~~~~~~~~~ @@ -13,50 +21,59 @@ In http://gle4md.org/ one can also obtain colored-noise parameters to run Path Integral with Generalized Langevin Equation thermostat (PI+GLE/PIGLET) calculations. -Several examples of usage of i-PI to perform advanced molecular simulations -can be found among the recipes of the -`atomistic cookbook `_. +Examples and demos +~~~~~~~~~~~~~~~~~~~ +The `examples` and `demos` folders in the i-PI `source code `_ +contain inputs for many different types of +calculations based on i-PI. Examples are typically minimal use-cases of specific +features, examples of client codes, or setups for high performance computing, +while demos are more structured, tutorial-like examples that show how +to realize more complex setups, and also provide a brief discussion of the +underlying algorithms. + +To run these examples, you should typically start i-PI, redirecting the output to +a log file, and then run a couple of instances of the driver code. The progress +of the wrapper is followed by monitoring the log file with the `tail` Linux command. + +Optionally, you can make a copy of the directory with the example somewhere +else if you want to keep the i-PI directory clean. For example:: + + bash + cd demos/para-h2-tutorial/tutorial-1/ + i-pi tutorial-1.xml > log & + i-pi-driver -a localhost -p 31415 -m sg -o 15 & + i-pi-driver -a localhost -p 31415 -m sg -o 15 & + tail -f log + +Tutorials +~~~~~~~~~ +A simple tutorial on how to run i-PI can be found in the documentation: +`a simple tutorial `_. -Python resources -~~~~~~~~~~~~~~~~ - -For help with Python programming, see -`www.python.org `__. For information about the NumPy -mathematical library, see `www.numpy.org `__, and for -worked examples of its capabilities see -`www.scipy.org/Tentative_NumPy_Tutorial `__. -Finally, see http://hgomersall.github.io/pyFFTW/ for documentation on -the Python FFTW library that is currently implemented with i-PI. - - -Client code resources -~~~~~~~~~~~~~~~~~~~~~ - -Several codes provide out-of-the-box an i-PI interface, including -ASE, -CASTEP, -CP2K, -DFTB+, -elphmod, -ffsGDML, -FHI-aims, -LAMMPS, -librascal, -Quantum ESPRESSO, -Siesta, -Yaff. - -If you are interested in interfacing your code to i-PI please get in -touch, we are always glad to help! - -There are several Fortran and C libraries that most client codes will -probably need to run, such as FFTW, BLAS and LAPACK. These can be found -at `www.fftw.org `__, -`www.netlib.org/blas `__ and -`www.netlib.org/lapack `__ respectively. - -These codes do not come as part of the i-PI package, and must be -downloaded separately. - -.. See chapter :ref:`clientinstall` for more details of how to do this. +You can try a set of guided examples that demonstrate some more +advanced features of i-PI. These Tutorials, from the 2021 CECAM +Flagship school, are available here: +`i-PI 2021 tutorials `_. + +Tutorials from the 2023 CECAM Flagship school are available here: +`i-PI 2023 tutorials `_. + +Tutorial from one of our developers on using machine learning interatomic potentials with i-PI are available here: +`MLIPs-with-i-PI `_. + +Note that these examples use some features +(such as qTIP4P/F water and the Zundel cation potentials in the driver code, +and optionally also CP2K). Instructions on how to install and run these codes +with i-PI are contained in the tutorial. + +Atomistic recipes +~~~~~~~~~~~~~~~~~ + +Several examples of usage of i-PI to perform advanced molecular +simulations can be found among the recipes of the +`atomistic cookbook `_. +These include an +`introduction to path integral simulations `_, +a discussion of `how to compute quantum heat capacities `_, +and an example of `path integral metadynamics `_. diff --git a/examples/clients/mace/README.md b/examples/clients/mace/README.md new file mode 100644 index 000000000..3b8f24ef3 --- /dev/null +++ b/examples/clients/mace/README.md @@ -0,0 +1,28 @@ +# MACE Example + +Runs an example of the pretrained [MACE model](https://github.com/ACEsuit/mace-mp/releases/download/mace_mp_0c/mace-small-density-agnesi-stress.model) for simple molecular dynamics of liquid water at 300 K. + +## Installation + +To be able to run MACE, check out the installation instructions at [https://github.com/ACEsuit/mace/tree/main?tab=readme-ov-file#installation](https://github.com/ACEsuit/mace/tree/main?tab=readme-ov-file#installation). + +## Running the Example + +To download the pretrained [MACE model](https://github.com/ACEsuit/mace-mp/releases/download/mace_mp_0c/mace-small-density-agnesi-stress.model): + +```bash +bash getmodel.sh +``` + +Then, run the following to start the i-PI simulation: + +```bash +i-pi input.xml & sleep 10 +i-pi-py_driver -a driver -u -m mace -o init.xyz,mace.model +``` + +### Options (after `-o`) + +- Path to a template file, used to retrieve the types for all atoms in the system. +- Path to the model file. + diff --git a/examples/clients/mace/RESTART b/examples/clients/mace/RESTART deleted file mode 100644 index 3be060e83..000000000 --- a/examples/clients/mace/RESTART +++ /dev/null @@ -1,365 +0,0 @@ - - - 31415 - [{"bit_generator": "MT19937", "state": {"key": [795669418, 3354365008, 150463171, 3937589838, 937846891, 734296723, 764622735, 1183299804, 1272117760, 2010368631, 1241689493, 3626464784, 1162653305, 1289276628, 1367499306, 3247908752, 1963981358, 2105964165, 1030412370, 3753156803, 1150834373, 4031974639, 531307719, 4045118304, 2683788309, 116245922, 2731998769, 136843156, 2169419932, 2880162252, 4007512466, 488361195, 401722091, 2070790009, 1569274038, 815594016, 124972808, 474005227, 3249330448, 2100162826, 3174580426, 2683556907, 4048106153, 1785067589, 2389562067, 836361726, 50342815, 267551970, 3029837949, 3708063355, 717650658, 4006537337, 2479145810, 3256975969, 724976954, 2961068974, 1504794639, 1505207924, 2503985603, 311245764, 1337733744, 75442868, 165388908, 4036439509, 85007674, 1868694522, 2350085548, 3505596813, 47545258, 2074303192, 1070457701, 1029840107, 353040402, 1973126927, 1264732370, 2845086742, 2526982946, 711245124, 1767309883, 2553172272, 3804650134, 289756061, 1111550931, 4144472782, 3996394604, 1981950798, 844362391, 3764917697, 3438324015, 2851666299, 2537341468, 2679862414, 1922363332, 666882440, 3941252033, 757464743, 1045369080, 2905858236, 730860388, 1325996640, 3162113550, 2567309825, 1103202741, 3175399181, 2025511874, 2412947386, 3058427547, 227013550, 2159447082, 1067678484, 3425716523, 417688251, 808501564, 3029168553, 776434612, 115305601, 2788751616, 4246589453, 1253335687, 4141730143, 2414042400, 3419716119, 1633385319, 3247093955, 2994012100, 3972147166, 3745802163, 1304644993, 865244793, 3828379540, 692694198, 4224136046, 341321136, 3189881009, 3230663087, 2858154757, 1490950918, 2482160305, 2121120586, 3007482108, 822603820, 611698261, 2765298047, 345565265, 950359221, 1557230050, 709103228, 1186524570, 292929978, 1821072176, 738923492, 4274644, 779539689, 481731554, 1561808887, 4203195225, 1555517680, 3751871402, 1482431159, 2791267293, 3707069758, 3234075511, 2672838488, 1009278333, 1527771451, 3152681530, 2014224365, 148003440, 3882068492, 351078994, 1651963697, 1054663714, 2397065047, 1469924118, 1137039177, 3577753374, 686392654, 3017336343, 1040761223, 365471914, 2744241982, 2232067354, 4292242034, 3280899888, 2970074168, 4021665697, 4032550683, 2848764242, 134774596, 2698474524, 3951539303, 3050877350, 425236979, 3681969874, 536833020, 645868093, 3820567878, 818193000, 3703993042, 2811873296, 200223563, 2261193604, 4002620488, 573051517, 559569805, 1751201194, 3958517026, 3946914696, 843371176, 3401646834, 1276160980, 3113426010, 3652866953, 3777818492, 1153305286, 634988187, 4656920, 4017875503, 4244574051, 3891820314, 1921680474, 1139973881, 26053146, 3540936332, 1190218234, 3858351434, 4215348533, 1192366508, 3769660024, 3473641435, 798054066, 2265876112, 1057572646, 1880763545, 232212048, 1559861968, 2573998448, 879167696, 1381352741, 3800595158, 2698089866, 1949124578, 613088558, 733254358, 1014535932, 904484089, 2246187117, 4044798376, 2066284160, 3744977864, 800089136, 3114088148, 1106568495, 3832704901, 368290159, 1891318290, 2578953184, 623604879, 220664755, 4211596409, 3902639138, 3893193846, 444071368, 3037681030, 417202030, 3408758382, 1941104578, 4235778810, 1412270470, 3337251361, 3965657496, 565829799, 2074175501, 3575557, 105655240, 2090581125, 3306098583, 3395704630, 1923485982, 1800504879, 184025064, 3741358783, 1531109577, 3771712710, 1779168700, 3845470585, 54968271, 958679375, 643136974, 3568839812, 816610774, 269396381, 1071003538, 3955364110, 194687099, 350181071, 1806095246, 3847618589, 3093771598, 4091627518, 2587247322, 3899980915, 1407852399, 1825407665, 2573244759, 1807374193, 3505525555, 3863992055, 1480680373, 1898960191, 1705678055, 743066202, 1640873890, 1502514469, 62759855, 2132297488, 2382508606, 1130137488, 3409343240, 81886173, 218725541, 4201682764, 911613040, 1789780226, 2328217590, 3070595230, 1307451716, 917012100, 2466257247, 2759529868, 4189490536, 3495955071, 3707418358, 1380836129, 3581386770, 680470424, 4156278160, 3183533111, 2255433561, 31125173, 607214606, 3405607994, 2681426217, 4147600795, 3619039237, 763225706, 3096727002, 368528808, 3715678351, 3960812773, 1794416641, 24849552, 2330330218, 4198000056, 944776381, 4016144718, 4015476207, 2542135582, 891526613, 3275670597, 260289596, 1686366879, 811749559, 1930701239, 4106811535, 3486653570, 3757236663, 3058744443, 573883924, 1597973411, 2849367252, 837698365, 4068634250, 1668230932, 372720237, 2224907569, 4138179720, 2153761699, 1142555848, 642912525, 1775227279, 2202501344, 1576309174, 2020529413, 2759079887, 1476875451, 2490373885, 140951714, 3261701581, 2900952306, 2771780919, 3024978145, 3847035909, 2590213672, 3657015728, 2933466694, 2652199769, 779968378, 693587481, 3238084161, 1292859236, 3901198107, 1642771831, 2504839327, 2593018406, 3232082142, 2294577705, 3434756417, 1176324409, 2586064527, 3649392695, 4270213721, 369682239, 1833859305, 3004923589, 2157403691, 2909620342, 4038662021, 530878050, 3727607169, 2581922589, 3325028835, 3492366495, 2778152583, 1317623030, 985094443, 4200028354, 3818659668, 2290320879, 996660363, 4254245440, 3634630451, 2515846723, 3412149142, 713547821, 3915598384, 1722967802, 3031991720, 397851792, 2268486426, 1485982870, 1312405573, 1549720048, 3093342568, 2946875941, 763765622, 2904735136, 2576787606, 1307812616, 1922019727, 3895352419, 3130267707, 3041543726, 4156570049, 2040426037, 4185810248, 3336129979, 1543746434, 4114276353, 968506551, 831488510, 3910628170, 1588848655, 2295202084, 552508107, 2895382473, 3046575372, 1866870955, 705382541, 2784623343, 4182110533, 2827559551, 1027960460, 1950086097, 912710698, 3326002035, 3658909104, 1297039826, 714298744, 3314813781, 3390897113, 4117186502, 4249300284, 2177611878, 3519404052, 1215103020, 888161319, 3639110818, 2770087358, 4230724586, 1084939770, 1124825233, 2642336164, 3102293704, 2636412376, 3895111296, 4015894980, 1480524830, 2283627770, 2896169265, 1525361018, 4252128804, 3188301813, 578157311, 2825512587, 1353889048, 4109758585, 696181235, 715287672, 3344116697, 80143085, 1098959985, 3214960309, 2416526557, 607618034, 70832594, 1701217967, 2165635687, 970104148, 3879061619, 3523994229, 4192455772, 3014553164, 58296115, 3570431746, 2418920482, 3046097006, 366177630, 206133899, 3934812939, 3106058444, 3539689581, 219917426, 299931320, 1588386678, 2497199221, 1214539462, 1239314913, 3984725088, 2692578908, 750931547, 3585571140, 488681398, 1376038242, 560384883, 1332416451, 2912016916, 1884794666, 3769249332, 30846606, 1774556799, 411741744, 2798886417, 4156313896, 1075162039, 501151935, 605601098, 3840102651, 1767398917, 21611012, 2366766995, 3276021819, 379749019, 1353987593, 1364614484, 1303524118, 3975728117, 3671464016, 2958317770, 3854446205, 3411077042, 913017910, 1979049403, 1435107822, 2874429353, 2302569380, 3196830537, 3863113770, 410539094, 1769756413, 3673454397, 870551312, 3979217, 2679612570, 1291584258, 1565027228, 1877575392, 2372846756, 1697524416, 4175015869, 2274297454, 3741847250, 523408423, 4063843078, 2235754156, 3232533841, 2757177941, 2074155385, 386877545, 260349822, 4059210860, 3349159924, 531748356, 174724555, 3122595409, 3660832320, 579592266, 1350622822, 3279112166, 21688457, 2177358206, 3414507844, 3960313028, 2220533609, 3596959752, 808052420, 1362285260, 304161502, 2334325099, 4090228266, 526360154, 3527253401, 4177434316, 3382911628], "pos": 549}}] - - - - [ step, time{picosecond}, conserved{electronvolt}, temperature{kelvin}, kinetic_md{electronvolt}, - potential{electronvolt}, pressure_md{megapascal} ] - - positions - 1 - - 1 - 20000 - -
driver
-
- - - - - - - 9.50044560e-04 - 4.79612667e-04 - [ 1.00000000e+00 ] - - - - - - 1.08732992e-03 - 4.13413730e+03 - - 2.06706865e+01 - [ 1 ] - - - - - [ 2.11270674e+01, -1.36860295e+01, 1.21309109e+01, 2.13905728e+01, -1.48995535e+01, - 1.07839955e+01, 2.25466837e+01, -1.33494742e+01, 1.32355387e+01, 5.26292258e+00, - 3.03753005e+00, 2.95386440e+00, 4.63759498e+00, 3.75319475e+00, 4.79162448e+00, - 7.05549943e+00, 3.02660946e+00, 3.41089634e+00, 7.68280951e+00, 2.29463670e+00, - 1.15917368e+01, 8.54721344e+00, 1.59180645e+00, 1.01638082e+01, 7.05049810e+00, - 1.18156011e+00, 1.29580753e+01, -1.10555593e+01, -3.38025456e+00, -2.78541863e+00, - -1.11640441e+01, -4.97217119e+00, -4.00393338e+00, -1.28770002e+01, -2.98973666e+00, - -3.18922815e+00, -1.30773732e+00, 2.80916019e+00, 8.78308389e+00, -1.09035460e+00, - 3.24684786e+00, 1.05259695e+01, -2.21290761e+00, 4.33986686e+00, 8.10540613e+00, - 1.84994004e+01, -2.31212286e+00, 1.11324281e+01, 1.71343793e+01, -1.70545212e+00, - 1.00958713e+01, 1.99982592e+01, -1.89798731e+00, 1.02215215e+01, 3.38480627e+00, - -1.02059660e+01, -5.25221279e+00, 4.42576485e+00, -9.68664476e+00, -3.78241580e+00, - 1.68203597e+00, -9.68905088e+00, -5.09542299e+00, -5.21005973e+00, -1.63108694e+01, - -2.04708461e-01, -4.81781665e+00, -1.64227168e+01, -2.03623163e+00, -5.20969305e+00, - -1.45138746e+01, 2.22953104e-01, 1.86595134e+01, -7.56514257e+00, 1.32421462e+01, - 1.75798948e+01, -7.41248045e+00, 1.46026588e+01, 1.86576022e+01, -5.83205625e+00, - 1.25999077e+01, 2.57610855e+00, 5.13558558e+00, 6.81030022e+00, 1.73244179e+00, - 6.50463350e+00, 5.97680624e+00, 1.31691165e+00, 4.10234979e+00, 7.63449444e+00, - 1.39082898e+01, -9.96245939e+00, -3.25461663e+00, 1.51760632e+01, -1.15296706e+01, - -3.37732662e+00, 1.21007828e+01, -1.06523614e+01, -3.82444376e+00, 1.43524418e+01, - -7.39241448e+00, 3.56923216e+00, 1.27091775e+01, -7.73508523e+00, 2.69144356e+00, - 1.40691294e+01, -7.71022717e+00, 5.37580268e+00, -1.00675908e+00, -1.38432193e+01, - -2.97327593e+00, 1.70353123e-01, -1.27373430e+01, -3.84661160e+00, -1.73060924e+00, - -1.47524708e+01, -4.44555342e+00, 1.19729669e+01, 1.20733431e+01, -1.09025244e+01, - 9.99274183e+00, 1.17436895e+01, -1.04749088e+01, 1.18702114e+01, 1.38183802e+01, - -1.18703636e+01, 8.87350781e+00, -2.48453830e+00, 1.15231984e+01, 8.12254908e+00, - -2.17080193e+00, 9.66660045e+00, 7.63740978e+00, -2.25628963e+00, 1.27883558e+01, - 7.00672454e+00, -7.64976099e+00, 9.18220677e+00, 7.32437430e+00, -8.06738688e+00, - 7.37415484e+00, 6.43037804e+00, -9.16811693e+00, 1.00843559e+01, 8.03480627e+00, - -1.37102624e+01, 6.42921056e+00, 7.19894411e+00, -1.29335143e+01, 7.92774287e+00, - 8.66077412e+00, -1.54183582e+01, 6.97959522e+00, 5.38843050e+00, -4.28167030e-01, - -1.51443836e-01, 4.36031236e+00, 6.15179755e-01, 1.11561161e+00, 6.61865298e+00, - 9.53834535e-01, -5.84401180e-01, 1.35501597e+00, 1.42545868e+00, -1.95721393e+00, - 9.18335400e-01, 3.27806467e+00, -1.49220028e+00, -2.33137187e-01, 9.05564928e-01, - -2.84057752e+00, 7.29756827e+00, -1.10870354e+01, 1.57980278e+00, 5.71466230e+00, - -1.17390022e+01, 7.22268454e-01, 6.80927105e+00, -1.17038612e+01, 3.26405193e+00, - -5.01975383e+00, 3.03973079e+00, 5.01794918e+00, -5.32441308e+00, 2.66702778e+00, - 3.16062835e+00, -5.48883063e+00, 4.90714636e+00, 5.28519501e+00, 1.62103241e+01, - -1.76560529e+00, 6.97472841e+00, 1.60801190e+01, -3.24935234e+00, 5.82579474e+00, - 1.77963247e+01, -1.01672498e+00, 6.12825446e+00, 3.80024484e+00, -3.34448566e+00, - 3.35091101e+00, 3.23139426e+00, -4.33013813e+00, 4.76447241e+00, 5.45818342e+00, - -4.06170044e+00, 2.88609058e+00, -2.29106555e+00, 8.27699077e+00, 1.09064600e+00, - -3.59302905e+00, 9.60437448e+00, 8.14797198e-01, -2.46438985e+00, 7.44183939e+00, - -5.48883046e-01, 1.25077487e+01, -1.18739711e+01, 6.65675297e+00, 1.26707463e+01, - -1.01264862e+01, 7.68378868e+00, 1.07093093e+01, -1.23594150e+01, 6.65739810e+00, - 8.60509597e+00, -7.60304481e+00, 4.63854382e+00, 9.02578016e+00, -5.87949593e+00, - 4.07482932e+00, 7.12403922e+00, -8.13379120e+00, 3.51070503e+00, -3.00012077e+00, - -6.53179460e+00, 8.59007709e+00, -3.93905553e+00, -5.85750020e+00, 9.99816090e+00, - -1.75352091e+00, -7.63786023e+00, 9.17090076e+00, 1.20655910e+00, 1.10365477e+01, - -1.09830488e+00, 6.09246061e-01, 1.15808414e+01, 5.61555958e-01, 2.73453294e+00, - 1.20648566e+01, -1.25111478e+00, 2.62638436e+01, 7.27406319e+00, -8.75588526e+00, - 2.56834674e+01, 5.56426063e+00, -8.04139770e+00, 2.82412254e+01, 7.33859615e+00, - -8.38692536e+00, 2.74104908e+00, -1.86292973e+01, -9.19589353e+00, 4.43387362e+00, - -1.87846089e+01, -9.91418570e+00, 1.87855716e+00, -1.89783535e+01, -1.09205196e+01, - 3.97947941e+00, -5.47257104e+00, -6.83899148e+00, 2.77379545e+00, -4.71009592e+00, - -5.43207979e+00, 4.09371918e+00, -3.94218484e+00, -7.84955906e+00, 1.00356554e+01, - -1.76389816e+01, 4.22779892e+00, 1.15089292e+01, -1.81197327e+01, 5.10668667e+00, - 1.01129107e+01, -1.89069149e+01, 2.93228675e+00, 1.77493187e+01, -1.18696630e+01, - 6.15072403e+00, 1.69455996e+01, -1.15938719e+01, 7.68457144e+00, 1.65835561e+01, - -1.12666150e+01, 5.00737837e+00, 1.18087642e+01, -1.60388415e+01, -1.00042403e+01, - 1.28761001e+01, -1.76032488e+01, -1.02550343e+01, 1.22292183e+01, -1.49850429e+01, - -1.12468680e+01, -5.96314832e+00, -6.31887619e+00, 1.34500300e+01, -5.34715059e+00, - -7.72600390e+00, 1.44440780e+01, -6.88656998e+00, -7.10836674e+00, 1.20318716e+01, - 1.10557748e+01, -1.59085722e+01, -5.04387646e+00, 1.01204107e+01, -1.60028369e+01, - -3.54596491e+00, 1.01659085e+01, -1.68147828e+01, -6.31941602e+00, -8.45427460e+00, - -2.65667497e+00, 6.91745263e+00, -6.74375125e+00, -1.90126068e+00, 7.19132870e+00, - -8.96376344e+00, -2.19363418e+00, 5.14498758e+00, -3.89182857e-01, -1.56888753e+01, - 2.32879823e+00, -1.30089714e+00, -1.66343724e+01, 9.12257571e-01, -1.14188798e+00, - -1.46359268e+01, 3.51386876e+00, 9.37211806e+00, 8.54468618e+00, -2.89250979e+00, - 8.78141523e+00, 9.73701187e+00, -4.32302866e+00, 8.41517272e+00, 7.08433969e+00, - -3.31834175e+00, -2.22955499e+00, -7.91668250e-01, -2.38386476e+01, -1.83492868e+00, - -5.00991552e-01, -2.57437208e+01, -2.69880773e+00, -2.55960022e+00, -2.36353985e+01, - 8.27387771e+00, -7.33575688e+00, -5.87942330e+00, 6.35092941e+00, -7.08113274e+00, - -6.27991783e+00, 8.93763592e+00, -6.51719245e+00, -7.49966962e+00, 2.78840510e+00, - -9.64941990e+00, 3.87609500e+00, 2.92156758e+00, -9.98374738e+00, 5.82207066e+00, - 1.38506984e+00, -8.31553711e+00, 4.00615367e+00, 1.07803427e+00, 1.59229763e-01, - 5.61183782e+00, 2.53864873e+00, -5.23310319e-01, 4.94295750e+00, 7.65852377e-01, - 1.80102640e+00, 4.69045864e+00, 9.11194385e+00, 3.31117500e+00, -4.99694516e-01, - 7.69970540e+00, 4.29870451e+00, -9.81299344e-02, 1.04928491e+01, 4.20896687e+00, - 7.07434059e-01, 2.38843651e+00, -9.25719293e+00, -9.78855489e+00, 1.36723765e+00, - -1.07359219e+01, -9.52936754e+00, 3.35064685e+00, -9.18585996e+00, -8.32908184e+00, - -1.43231528e+01, -6.45597217e+00, -4.46118807e-01, -1.35679796e+01, -8.08771676e+00, - 3.00320855e-01, -1.28697145e+01, -5.48665674e+00, -1.07547594e+00, 1.18110613e+01, - -1.16531694e+01, -7.86500448e+00, 1.33622440e+01, -1.18955804e+01, -8.98089540e+00, - 1.20009816e+01, -1.32121475e+01, -6.74890856e+00, -3.45863064e+00, 2.95792643e+00, - -6.42658349e+00, -4.60614013e+00, 4.23189006e+00, -7.22285576e+00, -4.53339575e+00, - 1.42190834e+00, -6.19058161e+00, 3.24364788e+00, 7.02915419e+00, -5.39215348e-01, - 2.39708876e+00, 8.97617965e+00, -4.20126044e-01, 2.22196985e+00, 6.22895666e+00, - 5.56327805e-01, 1.59984204e+01, -5.84287574e+00, 1.86363441e+01, 1.47801353e+01, - -4.84559303e+00, 1.93533925e+01, 1.76828486e+01, -4.66931904e+00, 1.86230162e+01, - 6.08237008e+00, -1.47299814e+01, -3.78247837e+00, 4.78901045e+00, -1.39028545e+01, - -2.67742636e+00, 5.53381502e+00, -1.64397207e+01, -4.20231347e+00, -7.50143750e+00, - -9.10652021e-01, -1.65044874e+00, -8.92524410e+00, -1.77729527e+00, -2.40806154e+00, - -6.42215400e+00, 1.15848502e-01, -2.75045541e+00, 4.89505746e+00, 1.50494897e-01, - -4.99621539e+00, 3.58312493e+00, 7.36814991e-01, -6.02014838e+00, 3.76068453e+00, - -7.84227605e-02, -3.11714262e+00, -6.04596705e+00, -1.16496551e+00, -7.32403541e+00, - -5.59894261e+00, -2.87674427e+00, -6.45698238e+00, -7.57587741e+00, -1.76917601e+00, - -8.43410745e+00, 9.18653546e+00, -2.93498856e+00, 2.68500255e+00, 1.06367956e+01, - -3.65150207e+00, 1.61132687e+00, 8.38250023e+00, -1.93721739e+00, 1.16504700e+00, - 1.81626625e+00, -3.49676977e+00, -2.66477091e+00, 2.53150870e-01, -2.48620331e+00, - -2.85322051e+00, 2.40622962e+00, -3.44596743e+00, -9.93811065e-01, -2.94171379e+00, - -1.15802091e+01, 1.09161095e+01, -1.83503870e+00, -1.27216331e+01, 1.19853877e+01, - -2.68174694e+00, -9.95836912e+00, 1.17372362e+01, 1.20695200e+01, 6.92946961e+00, - 1.49151598e+00, 1.24390565e+01, 7.58521727e+00, 3.11596461e+00, 1.02554837e+01, - 7.32440427e+00, 1.21067003e+00, 1.43493276e+01, -1.57856515e+00, 2.03568985e+00, - 1.33636654e+01, -2.85087860e+00, 2.83623937e+00, 1.35985432e+01, -1.40251297e+00, - 3.14717634e-01, 6.55740268e+00, -8.17481875e-01, 6.81465394e+00, 5.85552908e+00, - -2.29389688e+00, 6.09518757e+00, 6.99006081e+00, 2.96832928e-01, 5.51556803e+00, - -6.87704245e-01, -6.34197738e+00, 3.27981758e+00, -2.52168336e+00, -6.66243631e+00, - 3.19109582e+00, -3.52920568e-01, -4.48559485e+00, 2.57382443e+00, 1.09885570e+01, - 1.20134297e+01, 2.00488702e+01, 9.53804230e+00, 1.09072164e+01, 2.00175146e+01, - 1.20661894e+01, 1.14325396e+01, 1.87478346e+01, 2.15889011e+00, -2.38560921e+01, - 7.86816975e+00, 3.35910665e+00, -2.52233478e+01, 8.24868855e+00, 4.78545613e-01, - -2.46866501e+01, 7.71853200e+00, -6.73627901e-01, -2.15188712e+01, 8.17319475e-01, - -1.90340564e+00, -2.08759741e+01, 1.93195444e+00, 7.31174686e-01, -2.03629864e+01, - 9.02513546e-01 ] - -

- [ -4.02765830e+00, -3.16023137e+00, -6.88011833e+00, 6.46755190e-01, 1.53026954e+00, - -2.19506763e+00, -1.67835222e+00, -5.32155921e-01, -1.06085925e+00, -2.30471976e+00, - -3.52917704e+00, -3.94006174e+00, -7.34979987e-01, -2.10239481e-01, 7.18707512e-01, - 1.57005590e+00, 2.18516271e-01, 9.25232779e-01, 3.34019920e+00, -1.05455782e+01, - -6.37139586e+00, 1.26402730e-01, 1.25768619e-02, -3.09142555e-01, -8.39207249e-01, - -8.35248753e-01, -8.58037086e-01, 4.08421754e+00, 2.35572425e+00, -4.59257653e+00, - 3.17769176e-01, 2.33664714e+00, -1.33226716e+00, 6.13647976e-02, 9.14908453e-01, - 1.99621940e-01, -5.36433556e-01, 9.78577617e+00, 3.15100532e+00, -7.67098039e-02, - -2.68685188e-01, -2.21983725e+00, -4.40882737e-01, -1.71483915e-01, -7.17212520e-01, - 8.57637765e+00, 2.82256107e+00, 5.53177831e+00, 1.80559963e+00, 2.46786279e+00, - 1.51779938e+00, -2.02623211e+00, -5.78135941e-01, 1.49030327e+00, 1.07439175e+01, - 5.39180849e+00, -5.47784454e+00, 1.58381688e+00, 5.05886077e-01, 3.76803356e-01, - -1.38751615e+00, 2.95688436e-01, 1.58410366e+00, -2.80636045e+00, -4.90422672e+00, - -8.54444216e+00, -1.66361699e+00, 6.62247945e-01, 3.77915326e-01, -6.72869185e-01, - 1.70899114e+00, -1.39645304e+00, -8.89305852e+00, 8.87294193e-01, -6.25731915e+00, - -7.89802389e-01, -1.47434221e+00, 2.03450683e+00, 1.18483688e+00, -1.62130683e+00, - -9.66050236e-01, 1.79957758e+00, -1.91158836e+00, 1.52148414e+00, 1.02392868e+00, - 4.96524210e-01, -3.88683893e-01, 2.97483850e-01, -1.81675060e-01, -5.40274010e-01, - 7.56174836e+00, -4.17216519e+00, -2.04695415e-01, -1.07181836e+00, 4.49563846e-01, - 8.76759186e-01, -3.84162916e-01, -3.88527314e+00, -1.62530511e+00, 5.65454856e+00, - 2.91730118e+00, -3.90989881e+00, 1.54231359e+00, -2.21972512e-01, -4.51045558e-02, - 3.99416478e-01, -1.00950555e+00, 3.39184284e-01, 5.90140476e+00, -3.22770125e+00, - 7.82044643e+00, 2.09317553e-01, 2.68579455e-01, 6.63090432e-01, 1.44255027e+00, - -2.32917987e+00, 2.01606232e-01, -3.12618017e+00, 4.30261848e+00, -2.71378848e+00, - 1.85882366e+00, -1.61633781e-01, 2.64130322e-01, -4.46744495e-01, 1.31080074e+00, - 6.60114040e-01, -8.30310641e+00, 9.25745314e-01, 7.64332400e+00, -2.01002448e+00, - 2.30174903e-01, -1.23201926e+00, 2.66401112e-01, 6.12873234e-01, 1.13792494e+00, - -9.92961866e-01, 1.40104874e+00, -1.54976667e+00, -2.09460862e+00, -1.11318979e+00, - -6.77879296e-01, -1.48922489e+00, 5.77486551e-01, 8.95837254e-02, 7.19296755e-01, - -2.14225094e-01, 5.13432993e+00, 8.13091174e-02, 3.19785272e-01, 2.05804267e+00, - -7.06147577e-01, 1.19400637e+00, -1.09844364e+00, -9.70764522e-01, -9.63044853e+00, - 9.95372411e+00, 1.10906246e+00, -5.38801179e-01, 2.52658243e+00, 4.24814703e-01, - 3.51643210e-01, 2.65609594e-01, 3.20325937e+00, -3.83370547e-01, 5.46853459e+00, - -3.80891311e-01, -5.78597893e-01, 1.00601378e+00, -1.94028707e+00, 8.53963967e-01, - -1.04905411e-01, -2.10817786e-01, 4.75283908e+00, -2.80392819e+00, -5.34639991e-01, - -1.04298964e+00, -2.56306844e-02, -6.25008824e-01, -1.09859980e+00, 5.12861463e-01, - 7.24710437e+00, -6.36295046e+00, -4.66028066e+00, 1.51129191e-01, -3.51535018e-01, - 1.01099172e+00, -5.30210104e-01, -5.26844762e-01, -1.07618887e-01, -1.32849603e+01, - -7.81488092e+00, -1.18072980e+00, -9.30213958e-01, -1.94013976e-01, 6.33616430e-01, - 1.19898755e+00, -2.30617292e+00, 2.61701779e+00, 7.71101489e+00, 1.60726495e+00, - -2.40983274e+00, -1.16338678e+00, 1.88871931e-01, 1.71770472e+00, -4.64385501e-02, - 1.39155166e+00, -1.74835047e+00, -1.41568360e+00, -2.86578718e+00, 5.52999030e+00, - -2.24926040e+00, -3.61432769e-01, -1.12630561e+00, 1.68660194e+00, -2.49880250e+00, - -7.77272175e-01, -3.01543784e+00, 6.03277807e+00, 2.86043016e+00, -2.12976635e-01, - 2.01492967e+00, -1.78760816e+00, -6.61890776e-01, -1.30111518e+00, 9.38199658e-01, - 4.99052574e+00, -3.20148706e+00, -4.28580193e+00, -1.76106567e+00, -2.18336915e+00, - -5.12765262e-01, 1.10394817e+00, -7.30500839e-01, 2.46295960e+00, 1.16724054e+00, - -3.43835368e+00, 3.35366912e+00, -9.52601684e-01, -1.21651126e+00, 1.85209383e+00, - 2.44758034e+00, -1.24989641e+00, -1.42092175e-01, 9.30070829e-02, -1.00986313e+01, - 3.71453120e+00, -1.57124704e+00, -1.57842572e-01, 2.80923890e-01, 9.74670118e-01, - -6.44852652e-01, -8.06646424e-01, -2.64682957e+00, -1.04039827e+01, -1.28501080e+01, - 1.68550729e+00, 6.62379774e-01, -1.08806618e+00, -5.42781546e-02, -2.12338052e+00, - -7.09371750e-01, -2.86715414e+00, -2.89936794e+00, 1.39691277e+00, -7.03065772e-01, - -4.01449140e-01, -4.40156839e-01, -1.39532149e+00, -1.55399108e+00, 2.18289212e-01, - 3.92577101e+00, -6.97357837e+00, 7.06725283e+00, -4.66206715e-01, -1.69782685e+00, - -1.08672806e+00, -2.30218438e+00, 1.65965573e+00, 2.07218951e+00, 4.66525729e+00, - 1.26098992e+01, -4.00067984e+00, -7.35377098e-01, 1.50851886e+00, -1.64387393e+00, - -1.62093913e+00, 1.29255558e+00, 2.57817323e+00, 4.40735433e+00, -1.51360322e+00, - 9.76654291e+00, -2.55092007e+00, 1.55729978e+00, 1.22987852e+00, -1.41074169e+00, - 1.68281967e+00, -4.22655643e+00, -7.24433989e+00, -4.51111007e+00, 3.50913442e-01, - 3.92032331e-01, 1.68475390e+00, -1.38236289e+00, 2.16342139e-01, 4.02620945e-01, - 1.58645468e+00, -2.42720323e+00, -2.88063493e+00, -2.43603217e+00, 6.39552310e-01, - -1.23633810e+00, -1.75135112e+00, -1.61746470e+00, 5.66089197e-01, -1.19265022e+00, - -4.45566252e+00, 1.46674521e+00, -1.62711333e+00, -9.79802117e-01, -2.69954658e+00, - 1.00992706e+00, 4.79890537e-01, -2.24175980e+00, 9.71855533e-01, 5.76489712e+00, - -6.64159634e+00, -1.21802309e+01, -1.07858699e-01, 6.62944859e-01, -1.81036037e+00, - -6.50039954e-01, 7.18291481e-01, 9.49026400e-01, 5.46607017e+00, 8.67055746e+00, - 6.89907713e-01, -8.89380803e-01, 7.82411332e-01, 2.33811329e-01, 1.90045957e+00, - -1.43146248e+00, -1.20403128e+00, 5.34999992e+00, -5.37143672e-01, -7.42224616e-01, - 1.14401389e+00, -2.02676171e+00, 7.25767787e-01, 1.38819101e+00, -1.07684631e+00, - 2.11049922e+00, 4.94613560e+00, -2.47629465e+00, -4.81220995e+00, -3.62407656e+00, - -6.21428478e-01, 2.48121999e+00, 4.89964677e-01, 1.94082430e+00, 1.75503578e-01, - 4.64198784e+00, -5.28542267e+00, 1.87467637e+00, -8.36058746e-01, 2.89787801e-01, - -1.50441306e-01, -1.57859573e+00, -4.54015547e-01, -6.22336881e-01, 7.79080554e+00, - 3.85125618e+00, -2.88449914e+00, 4.03841820e-01, 5.42378712e-01, 1.73163636e+00, - -8.49431866e-01, 4.23521295e-01, 3.47485965e-01, -3.84957440e+00, 4.57855459e+00, - 7.17096730e+00, 1.88463955e+00, 1.71916155e+00, 1.69169705e+00, 1.02318947e+00, - -2.43890026e-01, 3.02909344e-01, 5.14240978e+00, -1.23371036e+00, 1.14767194e+00, - -8.54565063e-01, 1.50345811e+00, -5.15548466e-01, 3.10364515e-02, -7.48013507e-01, - 4.36977353e-01, -7.47807746e+00, 6.27566212e+00, 1.87739418e+00, 1.26082206e+00, - -6.17876533e-02, -6.51088895e-01, -1.28752643e+00, 9.40911536e-02, 2.24710031e-01, - -8.60913146e+00, 3.13634246e+00, -5.22275443e+00, -2.00695888e+00, 3.89703254e-01, - 4.69470837e-02, -1.42436128e+00, 1.09837492e+00, -6.95885886e-01, 2.63575791e+00, - 5.20132739e+00, -2.48589051e+00, -1.06453295e+00, -2.03802874e+00, -8.44154407e-01, - -1.90732616e+00, -4.50714573e-01, 8.73494630e-01, -3.09347871e+00, -2.49271916e+00, - 2.55373723e+00, 2.18455516e+00, -2.15960624e+00, -1.35163423e+00, 1.55154456e+00, - -6.16741959e-02, 5.97961238e-01, -1.29709652e-02, 4.03233615e+00, -2.89978788e+00, - -9.23892726e-01, -9.99338701e-02, -8.88772142e-01, -5.08559082e-01, 1.12082844e+00, - 1.23042350e+00, -5.65678688e+00, 3.90278929e+00, 1.58369961e+00, 1.54060894e+00, - 1.20331859e+00, 3.02411668e+00, 1.97412122e+00, -3.35319919e-01, 1.09255916e-01, - 4.76458711e+00, 3.15184088e+00, -1.21439625e+01, 9.39418898e-01, 1.43614538e-01, - -8.71666677e-01, 6.68427271e-02, 1.02012295e+00, 1.82573777e-01, 5.88240113e-01, - 6.44210105e+00, -5.67351310e-01, -1.85489322e+00, -5.02684523e-01, 6.05553861e-02, - 1.76710710e-01, -2.02505386e+00, -1.41940272e+00, 4.15874511e+00, 1.30142366e+01, - 1.40701259e+00, 1.98563976e+00, 1.23602998e+00, -5.64438487e-01, -1.09987142e+00, - -1.95882860e-01, -1.73178964e+00, -5.59174795e+00, 1.36496200e+01, 3.56245544e+00, - -1.66428666e+00, -2.21370979e-01, 6.37547650e-01, 1.27997883e-01, 4.08643296e-01, - -1.21172144e+00, -4.01016350e-01, -5.57590252e+00, -8.90880408e+00, -2.37565308e+00, - -1.80892597e-01, 2.29027900e+00, 1.00249387e+00, 1.82021769e+00, 3.58229650e-01, - 2.07814011e-01, -6.04090738e+00, -4.42046679e+00, 8.80624118e-01, -1.67505974e-01, - 1.26718922e+00, -1.19360672e-01, 2.28569512e+00, 2.55251102e+00, 5.92740372e+00, - 1.76594769e+01, -5.29238134e-01, -2.21418228e+00, 1.96654873e+00, -1.46373470e+00, - 2.73622576e-02, 3.19472484e+00, 1.81582156e+00, 4.49426744e+00, -4.55970942e+00, - 9.33984742e+00, -6.49580638e-01, -2.29683261e-01, 1.31664350e+00, 2.26546880e-01, - 5.56581079e-01, 2.65156828e-01, -2.09260328e+00, -1.05341376e+00, 3.26833856e+00, - 1.04515423e-01, 1.89093396e+00, 7.92865605e-01, -4.98700350e-02, 1.57796084e+00, - -1.28357407e+00, -4.42784886e+00, -2.42557309e+00, 4.26836218e+00, 1.09690039e+00, - 1.18463101e+00, 1.75466877e+00, -1.14322099e+00, 2.43708040e+00, -1.44543158e+00, - -1.60552469e+00, 4.55175566e-01, -9.25674731e-01, -9.22299171e-01, -1.76795613e+00, - -9.32968169e-01, -1.57739533e+00, -1.20199857e-01, -5.55904036e-01, -1.73947725e+00, - -4.24156667e+00, 5.90537105e+00, -2.62989661e-01, -6.26245215e-01, 4.91116432e-01, - 1.09954587e+00, 1.99217319e+00, 9.78589205e-01, 4.23093659e+00, -4.87338632e+00, - -7.01468491e-01, -8.39465960e-01, 5.88624039e-01, 8.01985241e-02, 2.71379766e+00, - -1.00809113e+00, -2.81042990e-01, -1.20095635e+01, -2.29213926e+00, 3.19024062e+00, - -1.58003258e+00, -2.43456480e+00, 9.72091106e-01, 8.17191111e-01, 1.18797677e+00, - 1.71905046e+00 ] -

- - [ 2.91643931e+04, 1.83747161e+03, 1.83747161e+03, 2.91643931e+04, 1.83747161e+03, - 1.83747161e+03, 2.91643931e+04, 1.83747161e+03, 1.83747161e+03, 2.91643931e+04, - 1.83747161e+03, 1.83747161e+03, 2.91643931e+04, 1.83747161e+03, 1.83747161e+03, - 2.91643931e+04, 1.83747161e+03, 1.83747161e+03, 2.91643931e+04, 1.83747161e+03, - 1.83747161e+03, 2.91643931e+04, 1.83747161e+03, 1.83747161e+03, 2.91643931e+04, - 1.83747161e+03, 1.83747161e+03, 2.91643931e+04, 1.83747161e+03, 1.83747161e+03, - 2.91643931e+04, 1.83747161e+03, 1.83747161e+03, 2.91643931e+04, 1.83747161e+03, - 1.83747161e+03, 2.91643931e+04, 1.83747161e+03, 1.83747161e+03, 2.91643931e+04, - 1.83747161e+03, 1.83747161e+03, 2.91643931e+04, 1.83747161e+03, 1.83747161e+03, - 2.91643931e+04, 1.83747161e+03, 1.83747161e+03, 2.91643931e+04, 1.83747161e+03, - 1.83747161e+03, 2.91643931e+04, 1.83747161e+03, 1.83747161e+03, 2.91643931e+04, - 1.83747161e+03, 1.83747161e+03, 2.91643931e+04, 1.83747161e+03, 1.83747161e+03, - 2.91643931e+04, 1.83747161e+03, 1.83747161e+03, 2.91643931e+04, 1.83747161e+03, - 1.83747161e+03, 2.91643931e+04, 1.83747161e+03, 1.83747161e+03, 2.91643931e+04, - 1.83747161e+03, 1.83747161e+03, 2.91643931e+04, 1.83747161e+03, 1.83747161e+03, - 2.91643931e+04, 1.83747161e+03, 1.83747161e+03, 2.91643931e+04, 1.83747161e+03, - 1.83747161e+03, 2.91643931e+04, 1.83747161e+03, 1.83747161e+03, 2.91643931e+04, - 1.83747161e+03, 1.83747161e+03, 2.91643931e+04, 1.83747161e+03, 1.83747161e+03, - 2.91643931e+04, 1.83747161e+03, 1.83747161e+03, 2.91643931e+04, 1.83747161e+03, - 1.83747161e+03, 2.91643931e+04, 1.83747161e+03, 1.83747161e+03, 2.91643931e+04, - 1.83747161e+03, 1.83747161e+03, 2.91643931e+04, 1.83747161e+03, 1.83747161e+03, - 2.91643931e+04, 1.83747161e+03, 1.83747161e+03, 2.91643931e+04, 1.83747161e+03, - 1.83747161e+03, 2.91643931e+04, 1.83747161e+03, 1.83747161e+03, 2.91643931e+04, - 1.83747161e+03, 1.83747161e+03, 2.91643931e+04, 1.83747161e+03, 1.83747161e+03, - 2.91643931e+04, 1.83747161e+03, 1.83747161e+03, 2.91643931e+04, 1.83747161e+03, - 1.83747161e+03, 2.91643931e+04, 1.83747161e+03, 1.83747161e+03, 2.91643931e+04, - 1.83747161e+03, 1.83747161e+03, 2.91643931e+04, 1.83747161e+03, 1.83747161e+03, - 2.91643931e+04, 1.83747161e+03, 1.83747161e+03, 2.91643931e+04, 1.83747161e+03, - 1.83747161e+03, 2.91643931e+04, 1.83747161e+03, 1.83747161e+03, 2.91643931e+04, - 1.83747161e+03, 1.83747161e+03, 2.91643931e+04, 1.83747161e+03, 1.83747161e+03, - 2.91643931e+04, 1.83747161e+03, 1.83747161e+03, 2.91643931e+04, 1.83747161e+03, - 1.83747161e+03, 2.91643931e+04, 1.83747161e+03, 1.83747161e+03, 2.91643931e+04, - 1.83747161e+03, 1.83747161e+03, 2.91643931e+04, 1.83747161e+03, 1.83747161e+03, - 2.91643931e+04, 1.83747161e+03, 1.83747161e+03, 2.91643931e+04, 1.83747161e+03, - 1.83747161e+03, 2.91643931e+04, 1.83747161e+03, 1.83747161e+03, 2.91643931e+04, - 1.83747161e+03, 1.83747161e+03, 2.91643931e+04, 1.83747161e+03, 1.83747161e+03, - 2.91643931e+04, 1.83747161e+03, 1.83747161e+03, 2.91643931e+04, 1.83747161e+03, - 1.83747161e+03, 2.91643931e+04, 1.83747161e+03, 1.83747161e+03, 2.91643931e+04, - 1.83747161e+03, 1.83747161e+03 ] - - - [ O, H, H, O, H, - H, O, H, H, O, - H, H, O, H, H, - O, H, H, O, H, - H, O, H, H, O, - H, H, O, H, H, - O, H, H, O, H, - H, O, H, H, O, - H, H, O, H, H, - O, H, H, O, H, - H, O, H, H, O, - H, H, O, H, H, - O, H, H, O, H, - H, O, H, H, O, - H, H, O, H, H, - O, H, H, O, H, - H, O, H, H, O, - H, H, O, H, H, - O, H, H, O, H, - H, O, H, H, O, - H, H, O, H, H, - O, H, H, O, H, - H, O, H, H, O, - H, H, O, H, H, - O, H, H, O, H, - H, O, H, H, O, - H, H, O, H, H, - O, H, H, O, H, - H, O, H, H, O, - H, H, O, H, H, - O, H, H, O, H, - H, O, H, H, O, - H, H, O, H, H, - O, H, H, O, H, - H, O, H, H, O, - H, H, O, H, H, - O, H, H, O, H, - H, O, H, H, O, - H, H ] - -
- - [ 1.96756566e+01, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.96756566e+01, - 0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 1.96756566e+01 ] - -
-
diff --git a/ipi/engine/initializer.py b/ipi/engine/initializer.py index 03ee134ad..e609502b7 100644 --- a/ipi/engine/initializer.py +++ b/ipi/engine/initializer.py @@ -123,7 +123,7 @@ def init_file( ratoms = [] info( - " # Initializing from file %s. Dimension: %s, units: %s, cell_units: %s" + " @init_file: Initializing from file %s. Dimension: %s, units: %s, cell_units: %s" % (filename, dimension, units, cell_units), verbosity.low, ) @@ -283,7 +283,7 @@ def set_vector(iif, dq, rq): res = nm_rescale(nbeads, dbeads) # path rescaler if nbeads != dbeads: info( - " # Initialize is rescaling from %5d beads to %5d beads" + " @set_vector: Initialize is rescaling from %5d beads to %5d beads" % (nbeads, dbeads), verbosity.low, ) @@ -368,7 +368,7 @@ def init_stage1(self, simul): for k, v in self.queue: info( - " # Initializer (stage 1) parsing " + str(k) + " object.", + " @initializer: Initializer (stage 1) parsing " + str(k) + " object.", verbosity.high, ) @@ -491,7 +491,7 @@ def init_stage1(self, simul): rtemp = simul.ensemble.temp else: info( - " # Resampling velocities at temperature %s %s" + " @initializer: Resampling velocities at temperature %s %s" % (v.value, v.units), verbosity.low, ) @@ -615,7 +615,7 @@ def init_stage2(self, simul): for k, v in self.queue: info( - " # Initializer (stage 2) parsing " + str(k) + " object.", + " @initializer: Initializer (stage 2) parsing " + str(k) + " object.", verbosity.high, ) diff --git a/ipi/engine/simulation.py b/ipi/engine/simulation.py index ce896971f..2d6a6013a 100644 --- a/ipi/engine/simulation.py +++ b/ipi/engine/simulation.py @@ -21,6 +21,7 @@ from ipi.utils.softexit import softexit import ipi.engine.outputs as eoutputs import ipi.inputs.simulation as isimulation +import threading from concurrent.futures import ThreadPoolExecutor @@ -108,8 +109,8 @@ def load_from_xml( # echo the input file if verbose enough if verbosity.low: - print(" # i-PI loaded input file: ", fn_input) - elif verbosity.medium: + print(" @simulation: i-PI loaded input file: ", fn_input) + if verbosity.medium: print(" --- begin input file content ---") ifile = open(fn_input, "r") for line in ifile.readlines(): @@ -151,7 +152,7 @@ def __init__( cumulative total. """ - info(" # Initializing simulation object ", verbosity.low) + info(" @simulation: Initializing simulation object ", verbosity.low) self.prng = prng self.mode = mode self.threading = threads @@ -161,6 +162,12 @@ def __init__( self.syslist = syslist for s in syslist: s.prng = self.prng # bind the system's prng to self prng + if threading.current_thread() == threading.main_thread(): + info( + "@ RANDOM SEED: The seed used in this calculation was " + + str(self.prng.seed), + verbosity.low, + ) s.init.init_stage1(s) # TODO - does this have any meaning now that we introduce the smotion class? @@ -268,7 +275,9 @@ def softexit(self): if self.step < self.tsteps: self.step += 1 if not self.rollback: - info("SOFTEXIT: Saving the latest status at the end of the step") + info( + " @simulation.softexit: Saving the latest status at the end of the step" + ) self.chk.store() self.chk.write(store=False) @@ -377,7 +386,7 @@ def run(self): or (verbosity.low and self.step % 1000 == 0) ): info( - " # Average timings at MD step % 7d. t/step: %10.5e" + " @simulation.run: Average timings at MD step % 7d. t/step: %10.5e" % (self.step, ttot / cstep) ) cstep = 0 @@ -396,11 +405,13 @@ def run(self): info(line) if os.path.exists("EXIT"): - info(" # EXIT file detected! Bye bye!", verbosity.low) + info(" @simulation.run: EXIT file detected! Bye bye!", verbosity.low) break if (self.ttime > 0) and (time.time() - simtime > self.ttime): - info(" # Wall clock time expired! Bye bye!", verbosity.low) + info( + " @simulation.run: Wall clock time expired! Bye bye!", verbosity.low + ) break self.rollback = False diff --git a/ipi/engine/system.py b/ipi/engine/system.py index 7f5c2e65a..dd7c99d83 100644 --- a/ipi/engine/system.py +++ b/ipi/engine/system.py @@ -61,7 +61,7 @@ def __init__( systems. """ - info(" # Initializing system object ", verbosity.low) + info(" @system: Initializing system object ", verbosity.low) self.prefix = prefix self.init = init self.ensemble = ensemble @@ -82,7 +82,7 @@ def bind(self, simul): self.simul = simul # keeps a handle to the parent simulation object # binds important computation engines - info(" # Binding the forces ", verbosity.low) + info(" @system.bind: Binding the forces ", verbosity.low) self.forces.bind( self.beads, self.cell, diff --git a/ipi/inputs/barostats.py b/ipi/inputs/barostats.py index f832be7a8..ff8833815 100644 --- a/ipi/inputs/barostats.py +++ b/ipi/inputs/barostats.py @@ -41,7 +41,7 @@ class InputBaro(Input): { "dtype": str, "default": "dummy", - "help": """The type of barostat. 'isotropic' implements the Bussi-Zykova-Parrinello barostat [doi:10.1063/1.3073889] that isotropically scales the volume while sampling the isothermal isobaric ensemble. The implementation details are given in [doi:10.1016/j.cpc.2013.10.027]. 'sc-isotropic' implements the same for Suzuki-Chin path integral molecular dynamics [10.1021/acs.jctc.8b01297]. This barostat is suitable for simulating liquids. 'flexible' implements the path integral version of the Martyna-Tuckerman-Tobias-Klein barostat which incorporates full cell fluctuations while sampling the isothermal isobaric ensemble [doi:10.1063/1.478193]. This is suitable for anisotropic systems such as molecular solids. 'anisotropic' implements the Raiteri-Gale-Bussi barostat which enables cell fluctuations at constant external stress [10.1088/0953-8984/23/33/334213]. It is suitable for simulating solids at given external (non-diagonal) stresses and requires specifying a reference cell for estimating strain. Note that this ensemble is valid only within the elastic limit of small strains. For diagonal stresses (or external pressures) the 'flexible' and the 'anisotropic' modes should give very similar results. 'dummy' barostat does not do anything.""", + "help": """The type of barostat. 'isotropic' implements the Bussi-Zykova-Parrinello barostat [doi:10.1063/1.3073889] that isotropically scales the volume while sampling the isothermal isobaric ensemble. The implementation details are given in [doi:10.1016/j.cpc.2013.10.027]. This barostat is suitable for simulating liquids. 'sc-isotropic' implements the same for Suzuki-Chin path integral molecular dynamics [10.1021/acs.jctc.8b01297] and should only be used with the Suzuki-Chin NPT ensemble. 'flexible' implements the path integral version of the Martyna-Tuckerman-Tobias-Klein barostat which incorporates full cell fluctuations while sampling the isothermal isobaric ensemble [doi:10.1063/1.478193]. This is suitable for anisotropic systems such as molecular solids. 'anisotropic' implements the Raiteri-Gale-Bussi barostat which enables cell fluctuations at constant external stress [10.1088/0953-8984/23/33/334213]. It is suitable for simulating solids at given external (non-diagonal) stresses and requires specifying a reference cell for estimating strain. Note that this ensemble is valid only within the elastic limit of small strains. For diagonal stresses (or external pressures) the 'flexible' and the 'anisotropic' modes should give very similar results. 'dummy' barostat does not do anything.""", "options": [ "dummy", "isotropic", diff --git a/ipi/inputs/forcefields.py b/ipi/inputs/forcefields.py index f3b8e0757..5174a8c23 100644 --- a/ipi/inputs/forcefields.py +++ b/ipi/inputs/forcefields.py @@ -471,7 +471,7 @@ class InputFFDebye(InputForceField): "default": input_default(factory=np.zeros, args=(0,)), "help": "Specifies the Hessian of the harmonic potential. " "Default units are atomic. Units can be specified only by xml attribute. " - r"Implemented options are: 'atomic_unit', 'ev/ang^2'", + r"Implemented options are: 'atomic_unit', 'ev/ang\^2'", "dimension": "hessian", }, ), diff --git a/ipi/inputs/motion/dynamics.py b/ipi/inputs/motion/dynamics.py index 2a9ae7931..e4571c74d 100644 --- a/ipi/inputs/motion/dynamics.py +++ b/ipi/inputs/motion/dynamics.py @@ -144,5 +144,4 @@ def fetch(self): rv = super(InputDynamics, self).fetch() rv["mode"] = self.mode.fetch() rv["splitting"] = self.splitting.fetch() - print(self) return rv diff --git a/ipi/inputs/prng.py b/ipi/inputs/prng.py index 2fa5ca34b..78e386aae 100644 --- a/ipi/inputs/prng.py +++ b/ipi/inputs/prng.py @@ -51,7 +51,6 @@ class InputRandom(Input): InputValue, { "dtype": int, - # "default": 123456, "default": -1, "help": "This specifies the seed number used to generate the initial state of the random number generator. Previously, the default seed was fixed as 123456. Currently, the default seed is random and given by the system time (down to ms). This is done in utils/prng.py.", }, diff --git a/ipi/inputs/system.py b/ipi/inputs/system.py index 2d69bc82f..82fe28969 100644 --- a/ipi/inputs/system.py +++ b/ipi/inputs/system.py @@ -90,7 +90,7 @@ def fetch(self): for label, to_insert in sorted(zip(labels, ins), reverse=True): # sort from longest to smallest label, to avoid replacing 'string' in 'string1' sys = sys.replace(label, to_insert) - print("Generating system from template: \n", sys) + print(" @inputsystemplate.fetch: Generating system from template:", sys) xsys = xml_parse_string(sys) # parses the string to an XML object isys = InputSystem() isys.parse( diff --git a/ipi/interfaces/sockets.py b/ipi/interfaces/sockets.py index 8c9c17810..8aecbb35a 100644 --- a/ipi/interfaces/sockets.py +++ b/ipi/interfaces/sockets.py @@ -486,11 +486,15 @@ def getforce(self): if mxtra: try: mxtradict = json.loads(mxtra) - info("Extra string JSON has been loaded.", verbosity.debug) + info( + "@driver.getforce: Extra string JSON has been loaded.", + verbosity.debug, + ) except: # if we can't parse it as a dict, issue a warning and carry on info( - "Extra string could not be loaded as a dictionary. Extra=" + mxtra, + "@driver.getforce: Extra string could not be loaded as a dictionary. Extra=" + + mxtra, verbosity.debug, ) mxtradict = {} @@ -654,7 +658,9 @@ def open(self): try: self.server.bind(self.sockets_prefix + self.address) info( - "Created unix socket with address " + self.address, verbosity.medium + " @interfacesocket.open: Created unix socket with address " + + self.address, + verbosity.medium, ) except socket.error: raise RuntimeError( @@ -676,7 +682,7 @@ def open(self): self.server.bind((self.address, self.port)) info( - "Created inet socket with address " + " @interfacesocket.open: Created inet socket with address " + self.address + " and port number " + str(self.port), @@ -700,7 +706,10 @@ def open(self): def close(self): """Closes down the socket.""" - info(" @SOCKET: Shutting down the driver interface.", verbosity.low) + info( + " @interfacesocket.close: Shutting down the driver interface.", + verbosity.low, + ) for c in self.clients: try: @@ -718,7 +727,7 @@ def close(self): self.server.close() except: info( - " @SOCKET: Problem shutting down the server socket. Will just continue and hope for the best.", + " @interfacesocket.close: Problem shutting down the server socket. Will just continue and hope for the best.", verbosity.low, ) if self.mode == "unix": @@ -795,7 +804,7 @@ def pool_update(self): client.settimeout(TIMEOUT) driver = Driver(client) info( - " @SOCKET: Client asked for connection from " + " @interfacesocket.pool_update: Client asked for connection from " + str(address) + ". Now hand-shaking.", verbosity.low, @@ -805,7 +814,7 @@ def pool_update(self): driver.exit_on_disconnect = self.exit_on_disconnect self.clients.append(driver) info( - " @SOCKET: Handshaking was successful. Added to the client list.", + " @interfacesocket.pool_update: Handshaking was successful. Added to the client list.", verbosity.low, ) self.poll_iter = UPDATEFREQ # if a new client was found, will try again harder next time @@ -948,7 +957,7 @@ def dispatch_free_client(self, fc, match_ids="any", send_threads=[]): r["status"] = "Running" self.prlist.remove(r) info( - " @SOCKET: %s Assigning [%5s] request id %4s to client with last-id %4s (% 3d/% 3d : %s)" + " @interfacesocket.dispatch_free_client: %s Assigning [%5s] request id %4s to client with last-id %4s (% 3d/% 3d : %s)" % ( time.strftime("%y/%m/%d-%H:%M:%S"), match_ids, diff --git a/ipi/utils/io/__init__.py b/ipi/utils/io/__init__.py index bd0a076b7..b6efb5609 100644 --- a/ipi/utils/io/__init__.py +++ b/ipi/utils/io/__init__.py @@ -456,7 +456,9 @@ def open_backup(filename, mode="r", buffering=-1): if fn_backup != filename: os.rename(filename, fn_backup) info( - "Backup performed: {0:s} -> {1:s}".format(filename, fn_backup), + " @open_backup: Backup performed: {0:s} -> {1:s}".format( + filename, fn_backup + ), verbosity.low, ) diff --git a/ipi/utils/io/io_units.py b/ipi/utils/io/io_units.py index 059b61e21..64ef7fe68 100755 --- a/ipi/utils/io/io_units.py +++ b/ipi/utils/io/io_units.py @@ -113,7 +113,7 @@ def process_units( ) info( - " # Interpreting input with dimension %s, units %s and cell units %s" + " @process_units: Interpreting input with dimension %s, units %s and cell units %s" % (dimension, units, cell_units), verbosity.high, ) diff --git a/ipi/utils/prng.py b/ipi/utils/prng.py index c73bfb307..890907fe6 100644 --- a/ipi/utils/prng.py +++ b/ipi/utils/prng.py @@ -15,8 +15,6 @@ import numpy as np import concurrent.futures import time -from ipi.utils.messages import verbosity, info -import threading __all__ = ["Random"] @@ -58,13 +56,6 @@ def __init__(self, seed=-1, state=None, n_threads=1): self.seed = seed - if threading.current_thread() == threading.main_thread(): - info( - "@ RANDOM SEED: The seed used in this calculation was " - + str(self.seed), - verbosity.low, - ) - self.rng = [ np.random.Generator(np.random.MT19937(s)) for s in np.random.SeedSequence(seed).spawn(n_threads) diff --git a/ipi/utils/softexit.py b/ipi/utils/softexit.py index a49924785..70b675c40 100644 --- a/ipi/utils/softexit.py +++ b/ipi/utils/softexit.py @@ -77,17 +77,21 @@ def trigger(self, status="restartable", message=""): message: The message to output to standard output. """ - print("SOFTEXIT CALLED FROM THREAD", threading.currentThread(), message) + print( + " @softexit.trigger: SOFTEXIT CALLED FROM THREAD", + threading.currentThread(), + message, + ) if not self.triggered: # avoid double calls from different threads self.exiting = True self.triggered = True if status == "restartable": - message += "\nRestartable as is: YES." + message += " Restartable as is: YES." elif status == "success": - message += "\nI-PI reports success. Restartable as is: NO." + message += " I-PI reports success. Restartable as is: NO." elif status == "bad": - message += "\nI-PI reports a problem. Restartable as is: NO." + message += " I-PI reports a problem. Restartable as is: NO." else: raise ValueError("Unknown option for softexit status.")