diff --git a/.github/workflows/mirror_gitee.yml b/.github/workflows/mirror_gitee.yml new file mode 100644 index 000000000..35d6d0c52 --- /dev/null +++ b/.github/workflows/mirror_gitee.yml @@ -0,0 +1,19 @@ +name: Mirror to Gitee Repo + +on: [ push, delete, create ] + +# Ensures that only one mirror task will run at a time. +concurrency: + group: git-mirror + +jobs: + git-mirror: + runs-on: ubuntu-latest + steps: + - uses: wearerequired/git-mirror-action@v1 + env: + ORGANIZATION: deepmodeling + SSH_PRIVATE_KEY: ${{ secrets.SYNC_GITEE_PRIVATE_KEY }} + with: + source-repo: "git@github.com:deepmodeling/dpgen.git" + destination-repo: "git@gitee.com:deepmodeling/dpgen.git" diff --git a/.gitignore b/.gitignore index 0bf470ad4..f833e149e 100644 --- a/.gitignore +++ b/.gitignore @@ -39,3 +39,4 @@ dpgen.egg-info dbconfig.json .vscode/* .idea/* +_build diff --git a/README.md b/README.md index c20e0882a..8462ccaf2 100644 --- a/README.md +++ b/README.md @@ -85,23 +85,23 @@ and if everything works, it gives ``` DeepModeling ------------ -Version: 0.5.1.dev53+gddbeee7.d20191020 -Date: Oct-07-2019 -Path: /home/me/miniconda3/envs/py363/lib/python3.6/site-packages/dpgen-0.5.1.dev53+gddbeee7.d20191020-py3.6.egg/dpgen +Version: 0.9.2 +Date: Mar-25-2021 +Path: /root/yuzhi/dpgen-test/lib/python3.6/site-packages/dpgen -Dependency +Reference +------------ +Please cite: +Yuzhi Zhang, Haidi Wang, Weijie Chen, Jinzhe Zeng, Linfeng Zhang, Han Wang, and Weinan E, +DP-GEN: A concurrent learning platform for the generation of reliable deep learning +based potential energy models, Computer Physics Communications, 2020, 107206. ------------ - numpy 1.17.2 /home/me/miniconda3/envs/py363/lib/python3.6/site-packages/numpy - dpdata 0.1.10 /home/me/miniconda3/envs/py363/lib/python3.6/site-packages/dpdata-0.1.10-py3.6.egg/dpdata - pymatgen 2019.7.2 /home/me/miniconda3/envs/py363/lib/python3.6/site-packages/pymatgen - monty 2.0.4 /home/me/miniconda3/envs/py363/lib/python3.6/site-packages/monty - ase 3.17.0 /home/me/miniconda3/envs/py363/lib/python3.6/site-packages/ase-3.17.0-py3.6.egg/ase - paramiko 2.6.0 /home/me/miniconda3/envs/py363/lib/python3.6/site-packages/paramiko - custodian 2019.2.10 /home/me/miniconda3/envs/py363/lib/python3.6/site-packages/custodian Description ------------ -usage: dpgen [-h] {init_surf,init_bulk,run,run/report,test,db} ... +usage: dpgen [-h] + {init_surf,init_bulk,auto_gen_param,init_reaction,run,run/report,collect,simplify,autotest,db} + ... dpgen is a convenient script that uses DeepGenerator to prepare initial data, drive DeepMDkit and analyze results. This script works based on several sub- @@ -109,18 +109,21 @@ commands with their own options. To see the options for the sub-commands, type "dpgen sub-command -h". positional arguments: - {init_surf,init_bulk,run,run/report,test,db} + {init_surf,init_bulk,auto_gen_param,init_reaction,run,run/report,collect,simplify,autotest,db} init_surf Generating initial data for surface systems. init_bulk Generating initial data for bulk systems. + auto_gen_param auto gen param.json + init_reaction Generating initial data for reactive systems. run Main process of Deep Potential Generator. run/report Report the systems and the thermodynamic conditions of the labeled frames. - test Auto-test for Deep Potential. - db Collecting data from Deep Generator. + collect Collect data. + simplify Simplify data. + autotest Auto-test for Deep Potential. + db Collecting data from DP-GEN. optional arguments: -h, --help show this help message and exit - ``` @@ -380,9 +383,7 @@ In `PARAM`, you can specialize the task as you expect. "init_data_sys": [ "CH4.POSCAR.01x01x01/02.md/sys-0004-0001/deepmd" ], - "init_batch_size": [ - 8 - ], + "sys_configs_prefix": "....../init/", "sys_configs": [ [ @@ -392,63 +393,73 @@ In `PARAM`, you can specialize the task as you expect. "CH4.POSCAR.01x01x01/01.scale_pert/sys-0004-0001/scale*/00001*/POSCAR" ] ], - "sys_batch_size": [ - 8, - 8, - 8, - 8 - ], + "_comment": " that's all ", "numb_models": 4, "train_param": "input.json", "default_training_param": { - "_comment": "that's all", - "use_smooth": true, - "sel_a": [ - 16, - 4 - ], - "rcut_smth": 0.5, - "rcut": 5, - "filter_neuron": [ - 10, - 20, - 40 - ], - "filter_resnet_dt": false, - "n_axis_neuron": 12, - "n_neuron": [ - 100, - 100, - 100 - ], - "resnet_dt": true, - "coord_norm": true, - "type_fitting_net": false, - "systems": [], - "set_prefix": "set", - "stop_batch": 40000, - "batch_size": 1, - "start_lr": 0.001, - "decay_steps": 200, - "decay_rate": 0.95, - "seed": 0, - "start_pref_e": 0.02, - "limit_pref_e": 2, - "start_pref_f": 1000, - "limit_pref_f": 1, - "start_pref_v": 0.0, - "limit_pref_v": 0.0, - "disp_file": "lcurve.out", - "disp_freq": 1000, - "numb_test": 4, - "save_freq": 1000, - "save_ckpt": "model.ckpt", - "load_ckpt": "model.ckpt", - "disp_training": true, - "time_training": true, - "profiling": false, - "profiling_file": "timeline.json" + "model": { + "type_map": [ + "H", + "C" + ], + "descriptor": { + "type": "se_a", + "sel": [ + 16, + 4 + ], + "rcut_smth": 0.5, + "rcut": 5, + "neuron": [ + 120, + 120, + 120 + ], + "resnet_dt": true, + "axis_neuron": 12, + "seed": 1 + }, + "fitting_net": { + "neuron": [ + 25, + 50, + 100 + ], + "resnet_dt": false, + "seed": 1 + } + }, + "learning_rate": { + "type": "exp", + "start_lr": 0.001, + "decay_steps": 100, + "decay_rate": 0.95 + }, + "loss": { + "start_pref_e": 0.02, + "limit_pref_e": 2, + "start_pref_f": 1000, + "limit_pref_f": 1, + "start_pref_v": 0.0, + "limit_pref_v": 0.0 + }, + "training": { + "set_prefix": "set", + "stop_batch": 2000, + "batch_size": 1, + "disp_file": "lcurve.out", + "disp_freq": 1000, + "numb_test": 4, + "save_freq": 1000, + "save_ckpt": "model.ckpt", + "load_ckpt": "model.ckpt", + "disp_training": true, + "time_training": true, + "profiling": false, + "profiling_file": "timeline.json", + "_comment": "that's all" + } }, "model_devi_dt": 0.002, "model_devi_skip": 0, @@ -514,15 +525,15 @@ The bold notation of key (such aas **type_map**) means that it's a necessary key | ***init_data_sys*** | List of string|["CH4.POSCAR.01x01x01/.../deepmd"] |Directories of initial data. You may use either absolute or relative path here. | ***sys_format*** | String | "vasp/poscar" | Format of initial data. It will be `vasp/poscar` if not set. | init_multi_systems | Boolean | false | If set to `true`, `init_data_sys` directories should contain sub-directories of various systems. DP-GEN will regard all of these sub-directories as inital data systems. - | **init_batch_size** | String of integer | [8] | Each number is the batch_size of corresponding system for training in `init_data_sys`. One recommended rule for setting the `sys_batch_size` and `init_batch_size` is that `batch_size` mutiply number of atoms ot the stucture should be larger than 32. If set to `auto`, batch size will be 32 divided by number of atoms. | + | init_batch_size | String of integer | [8] | Each number is the batch_size of corresponding system for training in `init_data_sys`. One recommended rule for setting the `sys_batch_size` and `init_batch_size` is that `batch_size` mutiply number of atoms ot the stucture should be larger than 32. If set to `auto`, batch size will be 32 divided by number of atoms. | | sys_configs_prefix | String | "/sharedext4/.../data/" | Prefix of `sys_configs` | **sys_configs** | List of list of string | [
["/sharedext4/.../POSCAR"],
["....../POSCAR"]
] | Containing directories of structures to be explored in iterations.Wildcard characters are supported here. | -| **sys_batch_size** | List of integer | [8, 8] | Each number is the batch_size for training of corresponding system in `sys_configs`. If set to `auto`, batch size will be 32 divided by number of atoms. | +| sys_batch_size | List of integer | [8, 8] | Each number is the batch_size for training of corresponding system in `sys_configs`. If set to `auto`, batch size will be 32 divided by number of atoms. | | *#Training* | **numb_models** | Integer | 4 (recommend) | Number of models to be trained in `00.train`. | | training_iter0_model_path | list of string | ["/path/to/model0_ckpt/", ...] | The model used to init the first iter training. Number of element should be equal to `numb_models` | | training_init_model | bool | False | Iteration > 0, the model parameters will be initilized from the model trained at the previous iteration. Iteration == 0, the model parameters will be initialized from `training_iter0_model_path`. | -| **default_training_param** | Dict | {
...
"use_smooth": true,
"sel_a": [16, 4],
"rcut_smth": 0.5,
"rcut": 5,
"filter_neuron": [10, 20, 40],
...
} | Training parameters for `deepmd-kit` in `00.train`.
You can find instructions from here: (https://github.com/deepmodeling/deepmd-kit)..
We commonly let `stop_batch` = 200 * `decay_steps`. | +| **default_training_param** | Dict | | Training parameters for `deepmd-kit` in `00.train`.
You can find instructions from here: (https://github.com/deepmodeling/deepmd-kit)..
| | *#Exploration* | **model_devi_dt** | Float | 0.002 (recommend) | Timestep for MD | | **model_devi_skip** | Integer | 0 | Number of structures skipped for fp in each MD @@ -532,7 +543,7 @@ The bold notation of key (such aas **type_map**) means that it's a necessary key | **model_devi_e_trust_hi** | Float | 1e10 | Upper bound of energies for the selection. | | **model_devi_clean_traj** | Boolean | true | Deciding whether to clean traj folders in MD since they are too large. | | **model_devi_nopbc** | Boolean | False | Assume open boundary condition in MD simulations. | -| model_devi_activation_func | List of String | ["tanh", "tanh", "tanh", "tanh"] | Set activation functions for models, length of the list should be the same as `numb_models` | +| model_devi_activation_func | List of list of string | [["tanh","tanh"],["tanh","gelu"],["gelu","tanh"],["gelu","gelu"]] | Set activation functions for models, length of the List should be the same as `numb_models`, and two elements in the list of string respectively assign activation functions to the embedding and fitting nets within each model. *Backward compatibility*: the orginal "List of String" format is still supported, where embedding and fitting nets of one model use the same activation function, and the length of the List should be the same as `numb_models`| | **model_devi_jobs** | [
{
"sys_idx": [0],
"temps":
[100],
"press":
[1],
"trj_freq":
10,
"nsteps":
1000,
"ensembles":
"nvt"
},
...
] | List of dict | Settings for exploration in `01.model_devi`. Each dict in the list corresponds to one iteration. The index of `model_devi_jobs` exactly accord with index of iterations | | **model_devi_jobs["sys_idx"]** | List of integer | [0] | Systems to be selected as the initial structure of MD and be explored. The index corresponds exactly to the `sys_configs`. | | **model_devi_jobs["temps"]** | List of integer | [50, 300] | Temperature (**K**) in MD @@ -1085,6 +1096,110 @@ Here `pick_data` is the data to simplify and currently only supports `MultiSyste ## Set up machine +### new dpdispatcher update note +dpdispatcher Update Note: +dpdispatcher has updated and the api of `machine.json` is changed. +dpgen will use new dpdispatcher if the key `api_version` in dpgen's `machine.json`'s value is equal or large than `1.0`. + +And dpgen will use old dpdispatcher if the key `api_version` is not specified in `machine.json` or the `api_version` is smaller than `1.0`. +This gurantees that the old `machine.json`s still work. + +And for now dpdispatcher is maintained on a seperate repo. +The repo link: https://github.com/deepmodeling/dpdispatcher + +The api of new dpdispatcher is close to old one except for a few changes. + +The new `machine.json` examples can be seen [here](https://docs.deepmodeling.org/projects/dpdispatcher/en/latest/getting-started.html) + +And Here are the explanations of the keys in [machine](https://docs.deepmodeling.org/projects/dpdispatcher/en/latest/machine.html) +[resources](https://docs.deepmodeling.org/projects/dpdispatcher/en/latest/resources.html). + + +Here is a example `machine.json` for dpgen's new dpdispatcher. +Please check the [documents](https://deepmd.readthedocs.io/projects/dpdispatcher/en/latest/) for more information about new dpdispatcher. + +an example of new dpgen's machine.json +```json +{ + "api_version": "1.0", + "train": [ + { + "command": "dp", + "machine": { + "batch_type": "PBS", + "context_type": "SSHContext", + "local_root": "./", + "remote_root": "/home/user1234/work_path_dpdispatcher_test", + "remote_profile": { + "hostname": "39.xxx.xx.xx", + "username": "user1234" + } + }, + "resources": { + "number_node": 1, + "cpu_per_node": 4, + "gpu_per_node": 1, + "queue_name": "T4_4_15", + "group_size": 1, + "custom_flags":["#SBATCH --mem=32G"], + "strategy": {"if_cuda_multi_devices": true}, + "para_deg": 3, + "source_list": ["/home/user1234/deepmd.1.2.4.env"] + } + } + ], + "model_devi":[ + { + "command": "lmp", + "machine":{ + "batch_type": "PBS", + "context_type": "SSHContext", + "local_root": "./", + "remote_root": "/home/user1234/work_path_dpdispatcher_test", + "remote_profile": { + "hostname": "39.xxx.xx.xx", + "username": "user1234" + } + }, + "resources": { + "number_node": 1, + "cpu_per_node": 4, + "gpu_per_node": 1, + "queue_name": "T4_4_15", + "group_size": 5, + "source_list": ["/home/user1234/deepmd.1.2.4.env"] + } + } + ], + "fp":[ + { + "command": "vasp_std", + "machine":{ + "batch_type": "PBS", + "context_type": "SSHContext", + "local_root": "./", + "remote_root": "/home/user1234/work_path_dpdispatcher_test", + "remote_profile": { + "hostname": "39.xxx.xx.xx", + "username": "user1234" + } + }, + "resources": { + "number_node": 1, + "cpu_per_node": 32, + "gpu_per_node": 0, + "queue_name": "G_32_128", + "group_size": 1, + "source_list": ["~/vasp.env"] + } + } + ] +} +``` +note1: the key "local_root" in dpgen's machine.json is always `./` + +### old dpdispatcher + When switching into a new machine, you may modifying the `MACHINE`, according to the actual circumstance. Once you have finished, the `MACHINE` can be re-used for any DP-GEN tasks without any extra efforts. An example for `MACHINE` is: @@ -1093,7 +1208,7 @@ An example for `MACHINE` is: "train": [ { "machine": { - "machine_type": "slurm", + "batch": "slurm", "hostname": "localhost", "port": 22, "username": "Angus", @@ -1112,13 +1227,13 @@ An example for `MACHINE` is: "time_limit": "23:0:0", "qos": "data" }, - "deepmd_path": "....../tf1120-lowprec" + "command": "USERPATH/dp" } ], "model_devi": [ { "machine": { - "machine_type": "slurm", + "batch": "slurm", "hostname": "localhost", "port": 22, "username": "Angus", @@ -1144,7 +1259,7 @@ An example for `MACHINE` is: "fp": [ { "machine": { - "machine_type": "slurm", + "batch": "slurm", "hostname": "localhost", "port": 22, "username": "Angus", @@ -1177,17 +1292,14 @@ Following table illustrates which key is needed for three types of machine: `tra | :---------------- | :--------------------- | :-------------------------------------- | :-------------------------------------------------------------| | machine | NEED | NEED | NEED | resources | NEED | NEED | NEED -| deepmd_path | NEED | -| command | |NEED | NEED | -| group_size | | NEED | NEED | +| command | NEED |NEED | NEED +| group_size | NEED | NEED | NEED | The following table gives explicit descriptions on keys in param.json. Key | Type | Example | Discription | | :---------------- | :--------------------- | :-------------------------------------- | :-------------------------------------------------------------| -|deepmd_path | String |"......tf1120-lowprec" | Installed directory of DeepMD-Kit 0.x, which should contain `bin lib include`. -| python_path | String | "....../python3.6/bin/python" | Python path for DeePMD-kit 1.x installed. This option should not be used with `deepmd_path` together. | machine | Dict | | Settings of the machine for TASK. | resources | Dict | | Resources needed for calculation. | # Followings are keys in resources @@ -1197,6 +1309,8 @@ The following table gives explicit descriptions on keys in param.json. | manual_cuda_devices | Interger | 1 | Used with key "manual_cuda_multiplicity" specify the gpu number | manual_cuda_multiplicity |Interger | 5 | Used in 01.model_devi,used with key "manual_cuda_devices" specify the MD program number running on one GPU at the same time,dpgen will automatically allocate MD jobs on different GPU. This can improve GPU usage for GPU like V100. | node_cpu | Integer | 4 | Only for LSF. The number of CPU cores on each node that should be allocated to the job. +| new_lsf_gpu | Boolean | false | **Only for LSF.** Control whether new syntax of GPU to be enabled. If enabled, DP-GEN will generate line like `#BSUB -gpu num=1:mode=shared:j_exclusive=yes` in job submission script. Only support LSF>=10.1.0.3, and `LSB_GPU_NEW_SYNTAX=Y` should be set. Default: `false`. +| exclusive | Boolean | false | **Only for LSF, and only take effect when `new_lsf_gpu` enabled.** Control whether enable `j_exclusive` during running. Default: `false`. | source_list | List of string | "....../vasp.env" | Environment needed for certain job. For example, if "env" is in the list, 'source env' will be written in the script. | module_list | List of string | [ "Intel/2018", "Anaconda3"] | For example, If "Intel/2018" is in the list, "module load Intel/2018" will be written in the script. | partition | String | "AdminGPU" | Partition / queue in which to run the job. | diff --git a/doc/Makefile b/doc/Makefile new file mode 100644 index 000000000..d4bb2cbb9 --- /dev/null +++ b/doc/Makefile @@ -0,0 +1,20 @@ +# Minimal makefile for Sphinx documentation +# + +# You can set these variables from the command line, and also +# from the environment for the first two. +SPHINXOPTS ?= +SPHINXBUILD ?= sphinx-build +SOURCEDIR = . +BUILDDIR = _build + +# Put it first so that "make" without argument is like "make help". +help: + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) + +.PHONY: help Makefile + +# Catch-all target: route all unknown targets to Sphinx using the new +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). +%: Makefile + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) diff --git a/doc/README.md b/doc/README.md new file mode 100644 index 000000000..ef178ce8e --- /dev/null +++ b/doc/README.md @@ -0,0 +1,4 @@ +# How to contribute + +- If you want to add the documentation of a toy model, simply put your file in the directory doc/toymodels/ and push; +- If you want to add a new directory for a new category of instructions, make a new directory and add it in doc/index.rst. diff --git a/doc/conf.py b/doc/conf.py new file mode 100644 index 000000000..4bc4d16d6 --- /dev/null +++ b/doc/conf.py @@ -0,0 +1,80 @@ +# Configuration file for the Sphinx documentation builder. +# +# This file only contains a selection of the most common options. For a full +# list see the documentation: +# https://www.sphinx-doc.org/en/master/usage/configuration.html + +# -- Path setup -------------------------------------------------------------- + +# If extensions (or modules to document with autodoc) are in another directory, +# add these directories to sys.path here. If the directory is relative to the +# documentation root, use os.path.abspath to make it absolute, like shown here. +# +import os +import subprocess +# import sys +import recommonmark +from recommonmark.transform import AutoStructify + + +# -- Project information ----------------------------------------------------- + +project = 'DPGEN' +copyright = '2020, Deep Potential' +author = 'Deep Potential' + + +# -- General configuration --------------------------------------------------- + +# Add any Sphinx extension module names here, as strings. They can be +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom +# ones. +# extensions = [ +# 'recommonmark', +# "sphinx_rtd_theme", +# 'myst_parser', +# 'sphinx_markdown_tables', +# 'sphinx.ext.autosummary' +# ] + +extensions = [ + "sphinx_rtd_theme", + 'myst_parser', + 'sphinx.ext.autosummary', +] + + +# Tell sphinx what the primary language being documented is. +primary_domain = 'cpp' + +# Tell sphinx what the pygments highlight language should be. +highlight_language = 'cpp' + +# +myst_heading_anchors = 4 + +# Add any paths that contain templates here, relative to this directory. +templates_path = ['_templates'] + +# List of patterns, relative to source directory, that match files and +# directories to ignore when looking for source files. +# This pattern also affects html_static_path and html_extra_path. +exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] + + +# -- Options for HTML output ------------------------------------------------- + +# The theme to use for HTML and HTML Help pages. See the documentation for +# a list of builtin themes. +# +html_theme = 'sphinx_rtd_theme' + +# Add any paths that contain custom static files (such as style sheets) here, +# relative to this directory. They are copied after the builtin static files, +# so a file named "default.css" will overwrite the builtin "default.css". +# html_static_path = ['_static'] +# html_css_files = ['css/custom.css'] + +autodoc_default_flags = ['members'] +autosummary_generate = True +master_doc = 'index' diff --git a/doc/index.rst b/doc/index.rst new file mode 100644 index 000000000..0cf46839d --- /dev/null +++ b/doc/index.rst @@ -0,0 +1,28 @@ +========================== +DPGEN's documentation +========================== + +.. _tutorial: + +.. toctree:: + :maxdepth: 2 + :caption: Tutorial + :glob: + + toymodels/* + + +.. _Contribution: + +.. toctree:: + :maxdepth: 2 + :caption: Contribution Guild + + README.md + +* :ref:`genindex` +* :ref:`modindex` +* :ref:`search` + +.. _feedback: +.. _affiliated packages: diff --git a/doc/make.bat b/doc/make.bat new file mode 100644 index 000000000..2119f5109 --- /dev/null +++ b/doc/make.bat @@ -0,0 +1,35 @@ +@ECHO OFF + +pushd %~dp0 + +REM Command file for Sphinx documentation + +if "%SPHINXBUILD%" == "" ( + set SPHINXBUILD=sphinx-build +) +set SOURCEDIR=. +set BUILDDIR=_build + +if "%1" == "" goto help + +%SPHINXBUILD% >NUL 2>NUL +if errorlevel 9009 ( + echo. + echo.The 'sphinx-build' command was not found. Make sure you have Sphinx + echo.installed, then set the SPHINXBUILD environment variable to point + echo.to the full path of the 'sphinx-build' executable. Alternatively you + echo.may add the Sphinx directory to PATH. + echo. + echo.If you don't have Sphinx installed, grab it from + echo.http://sphinx-doc.org/ + exit /b 1 +) + +%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% +goto end + +:help +%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% + +:end +popd diff --git a/doc/requirements.txt b/doc/requirements.txt new file mode 100644 index 000000000..df6eb698d --- /dev/null +++ b/doc/requirements.txt @@ -0,0 +1,5 @@ +sphinx==3.2.1 +recommonmark==0.7.1 +sphinx_rtd_theme==0.5.2 +sphinx_markdown_tables==0.0.15 +myst-parser==0.13.7 diff --git a/doc/toymodels/black.md b/doc/toymodels/black.md new file mode 100644 index 000000000..cfaff6e38 --- /dev/null +++ b/doc/toymodels/black.md @@ -0,0 +1 @@ +# This is a blank file to test sphinx-build diff --git a/dpgen/__init__.py b/dpgen/__init__.py index 5333e3c3c..1351b73fe 100644 --- a/dpgen/__init__.py +++ b/dpgen/__init__.py @@ -36,15 +36,17 @@ def info(): print('Date: ' + __date__) print('Path: ' + ROOT_PATH) print('') - # print('Dependency') - # print('------------') - # for modui in ['numpy', 'dpdata', 'pymatgen', 'monty', 'ase', 'paramiko', 'custodian' ]: - # try: - # mm = __import__(modui) - # print('%10s %10s %s' % (modui, mm.__version__, mm.__path__[0])) - # except ImportError: - # print('%10s %10s Not Found' % (modui, '')) - # print() + print('Dependency') + print('------------') + for modui in ['numpy', 'dpdata', 'pymatgen', 'monty', 'ase', 'paramiko', 'custodian' ]: + try: + mm = __import__(modui) + print('%10s %10s %s' % (modui, mm.__version__, mm.__path__[0])) + except ImportError: + print('%10s %10s Not Found' % (modui, '')) + except AttributeError: + print('%10s %10s unknown version or path' %(modui, '')) + print() # reference print("""Reference diff --git a/dpgen/auto_test/Surface.py b/dpgen/auto_test/Surface.py index 478845d11..aa6db13d4 100644 --- a/dpgen/auto_test/Surface.py +++ b/dpgen/auto_test/Surface.py @@ -180,13 +180,13 @@ def _compute_lower(self, ptr_data += "Miller_Indices: \tSurf_E(J/m^2) EpA(eV) equi_EpA(eV)\n" for ii in all_tasks: task_result = loadfn(os.path.join(ii, 'result_task.json')) - natoms = task_result['atom_numbs'][0] - epa = task_result['energies'][-1] / task_result['atom_numbs'][0] + natoms = np.sum(task_result['atom_numbs']) + epa = task_result['energies'][-1] / natoms AA = np.linalg.norm(np.cross(task_result['cells'][0][0], task_result['cells'][0][1])) equi_path = os.path.abspath(os.path.join(os.path.dirname(output_file), '../relaxation/relax_task')) equi_result = loadfn(os.path.join(equi_path, 'result.json')) - equi_epa = equi_result['energies'][-1] / equi_result['atom_numbs'][0] + equi_epa = equi_result['energies'][-1] / np.sum(equi_result['atom_numbs']) structure_dir = os.path.basename(ii) Cf = 1.60217657e-16 / (1e-20 * 2) * 0.001 diff --git a/dpgen/auto_test/common_equi.py b/dpgen/auto_test/common_equi.py index c8fa31431..9dcb83e03 100644 --- a/dpgen/auto_test/common_equi.py +++ b/dpgen/auto_test/common_equi.py @@ -1,6 +1,6 @@ import glob import os - +import warnings from monty.serialization import dumpfn import dpgen.auto_test.lib.crys as crys @@ -10,6 +10,8 @@ from dpgen.auto_test.mpdb import get_structure from dpgen.dispatcher.Dispatcher import make_dispatcher from dpgen.remote.decide_machine import decide_fp_machine, decide_model_devi_machine +from distutils.version import LooseVersion +from dpgen.dispatcher.Dispatcher import make_submission lammps_task_type = ['deepmd', 'meam', 'eam_fs', 'eam_alloy'] @@ -149,6 +151,7 @@ def run_equi(confs, if len(run_tasks) == 0: return else: + # if LooseVersion() run_tasks = [os.path.basename(ii) for ii in all_task] machine, resources, command, group_size = util.get_machine_info(mdata, inter_type) print('%d tasks will be submited '%len(run_tasks)) @@ -156,16 +159,36 @@ def run_equi(confs, work_path = work_path_list[ii] disp = make_dispatcher(machine, resources, work_path, [run_tasks[ii]], group_size) print("%s --> Runing... "%(work_path)) + + api_version = mdata.get('api_version', '0.9') + if LooseVersion(api_version) < LooseVersion('1.0'): + warnings.warn(f"the dpdispatcher will be updated to new version." + f"And the interface may be changed. Please check the documents for more details") disp.run_jobs(resources, - command, - work_path, - [run_tasks[ii]], - group_size, - forward_common_files, - forward_files, - backward_files, - outlog='outlog', - errlog='errlog') + command, + work_path, + [run_tasks[ii]], + group_size, + forward_common_files, + forward_files, + backward_files, + outlog='outlog', + errlog='errlog') + elif LooseVersion(api_version) >= LooseVersion('1.0'): + submission = make_submission( + mdata_machine=machine, + mdata_resource=resources, + commands=[command], + work_path=work_path, + run_tasks=run_tasks, + group_size=group_size, + forward_common_files=forward_common_files, + forward_files=forward_files, + backward_files=backward_files, + outlog = 'outlog', + errlog = 'errlog' + ) + submission.run_submission() def post_equi(confs, inter_param): diff --git a/dpgen/auto_test/common_prop.py b/dpgen/auto_test/common_prop.py index 0ffe1e60d..bbd7203e2 100644 --- a/dpgen/auto_test/common_prop.py +++ b/dpgen/auto_test/common_prop.py @@ -1,5 +1,7 @@ +from distutils.version import LooseVersion import glob import os +import warnings from multiprocessing import Pool import dpgen.auto_test.lib.util as util from dpgen import dlog @@ -12,6 +14,7 @@ from dpgen.auto_test.calculator import make_calculator from dpgen.dispatcher.Dispatcher import make_dispatcher from dpgen.remote.decide_machine import decide_fp_machine, decide_model_devi_machine +from dpgen.dispatcher.Dispatcher import make_submission lammps_task_type = ['deepmd', 'meam', 'eam_fs', 'eam_alloy'] @@ -196,7 +199,11 @@ def worker(work_path, run_tasks = [os.path.basename(ii) for ii in all_task] machine, resources, command, group_size = util.get_machine_info(mdata, inter_type) disp = make_dispatcher(machine, resources, work_path, run_tasks, group_size) - disp.run_jobs(resources, + api_version = mdata.get('api_version', '0.9') + if LooseVersion(api_version) < LooseVersion('1.0'): + warnings.warn(f"the dpdispatcher will be updated to new version." + f"And the interface may be changed. Please check the documents for more details") + disp.run_jobs(resources, command, work_path, run_tasks, @@ -206,7 +213,21 @@ def worker(work_path, backward_files, outlog='outlog', errlog='errlog') - + elif LooseVersion(api_version) >= LooseVersion('1.0'): + submission = make_submission( + mdata_machine=machine, + mdata_resource=resources, + commands=[command], + work_path=work_path, + run_tasks=run_tasks, + group_size=group_size, + forward_common_files=forward_common_files, + forward_files=forward_files, + backward_files=backward_files, + outlog = 'outlog', + errlog = 'errlog' + ) + submission.run_submission() def post_property(confs, # inter_param, diff --git a/dpgen/data/gen.py b/dpgen/data/gen.py index 91b649a2a..10d220d61 100644 --- a/dpgen/data/gen.py +++ b/dpgen/data/gen.py @@ -20,12 +20,13 @@ import dpgen.data.tools.bcc as bcc import dpgen.data.tools.diamond as diamond import dpgen.data.tools.sc as sc +from distutils.version import LooseVersion from dpgen.generator.lib.vasp import incar_upper from pymatgen.core import Structure from pymatgen.io.vasp import Incar from dpgen.remote.decide_machine import decide_fp_machine from dpgen import ROOT_PATH -from dpgen.dispatcher.Dispatcher import Dispatcher, make_dispatcher +from dpgen.dispatcher.Dispatcher import Dispatcher, make_dispatcher, make_submission @@ -581,9 +582,13 @@ def run_vasp_relax(jdata, mdata): # if not _vasp_check_fin(ii): # relax_run_tasks.append(ii) run_tasks = [os.path.basename(ii) for ii in relax_run_tasks] - dispatcher = make_dispatcher(mdata['fp_machine'], mdata['fp_resources'], work_dir, run_tasks, fp_group_size) - #dlog.info(run_tasks) - dispatcher.run_jobs(fp_resources, + + api_version = mdata.get('api_version', '0.9') + if LooseVersion(api_version) < LooseVersion('1.0'): + warnings.warn(f"the dpdispatcher will be updated to new version." + f"And the interface may be changed. Please check the documents for more details") + dispatcher = make_dispatcher(mdata['fp_machine'], mdata['fp_resources'], work_dir, run_tasks, fp_group_size) + dispatcher.run_jobs(fp_resources, [fp_command], work_dir, run_tasks, @@ -592,6 +597,22 @@ def run_vasp_relax(jdata, mdata): forward_files, backward_files) + elif LooseVersion(api_version) >= LooseVersion('1.0'): + submission = make_submission( + mdata['fp_machine'], + mdata['fp_resources'], + commands=[fp_command], + work_path=work_dir, + run_tasks=run_tasks, + group_size=fp_group_size, + forward_common_files=forward_common_files, + forward_files=forward_files, + backward_files=backward_files, + outlog = 'fp.log', + errlog = 'fp.log') + submission.run_submission() + + def run_vasp_md(jdata, mdata): fp_command = mdata['fp_command'] fp_group_size = mdata['fp_group_size'] @@ -627,8 +648,12 @@ def run_vasp_md(jdata, mdata): run_tasks = [ii.replace(work_dir+"/", "") for ii in md_run_tasks] #dlog.info("md_work_dir", work_dir) #dlog.info("run_tasks",run_tasks) - dispatcher = make_dispatcher(mdata['fp_machine'], mdata['fp_resources'], work_dir, run_tasks, fp_group_size) - dispatcher.run_jobs(fp_resources, + api_version = mdata.get('api_version', '0.9') + if LooseVersion(api_version) < LooseVersion('1.0'): + warnings.warn(f"the dpdispatcher will be updated to new version." + f"And the interface may be changed. Please check the documents for more details") + dispatcher = make_dispatcher(mdata['fp_machine'], mdata['fp_resources'], work_dir, run_tasks, fp_group_size) + dispatcher.run_jobs(fp_resources, [fp_command], work_dir, run_tasks, @@ -637,6 +662,21 @@ def run_vasp_md(jdata, mdata): forward_files, backward_files) + elif LooseVersion(api_version) >= LooseVersion('1.0'): + submission = make_submission( + mdata['fp_machine'], + mdata['fp_resources'], + commands=[fp_command], + work_path=work_dir, + run_tasks=run_tasks, + group_size=fp_group_size, + forward_common_files=forward_common_files, + forward_files=forward_files, + backward_files=backward_files, + outlog = 'fp.log', + errlog = 'fp.log') + submission.run_submission() + def gen_init_bulk(args) : try: import ruamel diff --git a/dpgen/dispatcher/Batch.py b/dpgen/dispatcher/Batch.py index 6296fe976..1240be9f7 100644 --- a/dpgen/dispatcher/Batch.py +++ b/dpgen/dispatcher/Batch.py @@ -143,20 +143,21 @@ def _sub_script_inner(self, for ii,jj in zip(job_dirs, args) : ret += 'cd %s\n' % ii ret += 'test $? -ne 0 && exit 1\n\n' - if self.manual_cuda_devices <= 0: - ret += 'if [ ! -f tag_%d_finished ] ;then\n' % idx - ret += ' %s 1>> %s 2>> %s \n' % (self.sub_script_cmd(cmd, jj, res), outlog, errlog) - if res['allow_failure'] is False: - ret += ' if test $? -ne 0; then exit 1; else touch tag_%d_finished; fi \n' % idx - else : - ret += ' if test $? -ne 0; then touch tag_failure_%d; fi \n' % idx - ret += ' touch tag_%d_finished \n' % idx - ret += 'fi\n\n' + if self.manual_cuda_devices > 0: + # set CUDA_VISIBLE_DEVICES + ret += 'export CUDA_VISIBLE_DEVICES=%d\n' % (self.cmd_cnt % self.manual_cuda_devices) + ret += '{ if [ ! -f tag_%d_finished ] ;then\n' % idx + ret += ' %s 1>> %s 2>> %s \n' % (self.sub_script_cmd(cmd, jj, res), outlog, errlog) + if res['allow_failure'] is False: + ret += ' if test $? -ne 0; then exit 1; else touch tag_%d_finished; fi \n' % idx else : - # do not support task-wise restart - tmp_cmd = ' %s 1>> %s 2>> %s ' % (self.sub_script_cmd(cmd, jj, res), outlog, errlog) - ret += 'export CUDA_VISIBLE_DEVICES=%d; %s &\n\n' % ((self.cmd_cnt % self.manual_cuda_devices), tmp_cmd) + ret += ' if test $? -ne 0; then touch tag_failure_%d; fi \n' % idx + ret += ' touch tag_%d_finished \n' % idx + ret += 'fi }' + if self.manual_cuda_devices > 0: + ret += '&' self.cmd_cnt += 1 + ret += '\n\n' ret += 'cd %s\n' % self.context.remote_root ret += 'test $? -ne 0 && exit 1\n' if self.manual_cuda_devices > 0 and self.cmd_cnt % (self.manual_cuda_devices * self.manual_cuda_multiplicity) == 0: diff --git a/dpgen/dispatcher/Dispatcher.py b/dpgen/dispatcher/Dispatcher.py index 22dae322c..655761816 100644 --- a/dpgen/dispatcher/Dispatcher.py +++ b/dpgen/dispatcher/Dispatcher.py @@ -1,4 +1,6 @@ +from distutils.version import LooseVersion import os,sys,time,random,json,glob +from dpdispatcher import Task, Submission, Resources, Machine from dpgen.dispatcher.LocalContext import LocalSession from dpgen.dispatcher.LocalContext import LocalContext from dpgen.dispatcher.LazyLocalContext import LazyLocalContext @@ -12,6 +14,8 @@ from dpgen.dispatcher.JobStatus import JobStatus from dpgen import dlog from hashlib import sha1 +# import dargs +from dargs.dargs import Argument def _split_tasks(tasks, group_size): @@ -338,3 +342,40 @@ def make_dispatcher(mdata, mdata_resource=None, work_path=None, run_tasks=None, context_type = 'lazy-local' disp = Dispatcher(mdata, context_type=context_type, batch_type=batch_type) return disp + +def make_submission(mdata_machine, mdata_resources, commands, work_path, run_tasks, group_size, + forward_common_files, forward_files, backward_files, outlog, errlog): + + machine = Machine.load_from_dict(mdata_machine) + resources = Resources.load_from_dict(mdata_resources) + + if mdata_machine['local_root'] != './': + raise RuntimeError(f"local_root must be './' in dpgen's machine.json.") + + command = "&&".join(commands) + + task_list = [] + for ii in run_tasks: + task = Task( + command=command, + task_work_path=ii, + forward_files=forward_files, + backward_files=backward_files, + outlog=outlog, + errlog=errlog + ) + task_list.append(task) + + submission = Submission( + work_base=work_path, + machine=machine, + resources=resources, + task_list=task_list, + forward_common_files=forward_common_files, + backward_common_files=[] + ) + return submission + + + + diff --git a/dpgen/dispatcher/LSF.py b/dpgen/dispatcher/LSF.py index 0fa407f18..c31b5178c 100644 --- a/dpgen/dispatcher/LSF.py +++ b/dpgen/dispatcher/LSF.py @@ -108,13 +108,18 @@ def sub_script_head(self, res): if res['node_cpu']: ret += '#BSUB -R span[ptile=%d]\n' % res['node_cpu'] if res.get('new_lsf_gpu', False): - # supported in LSF >= 10.1.0 SP6 - # ref: https://www.ibm.com/support/knowledgecenter/en/SSWRJV_10.1.0/lsf_resource_sharing/use_gpu_res_reqs.html - ret += '#BSUB -n %d\n#BSUB -gpu "num=%d:mode=shared:j_exclusive=yes"\n' % ( - res['numb_gpu'], res['task_per_node']) + # supported in LSF >= 10.1.0.3 + # ref: https://www.ibm.com/support/knowledgecenter/en/SSWRJV_10.1.0 + # /lsf_resource_sharing/use_gpu_res_reqs.html + if res.get('exclusive', False): + j_exclusive = "no" + else: + j_exclusive = "yes" + ret += '#BSUB -n %d\n#BSUB -gpu "num=%d:mode=shared:j_exclusive=%s"\n' % ( + res['task_per_node'], res['numb_gpu'], j_exclusive) else: ret += '#BSUB -n %d\n#BSUB -R "select[ngpus >0] rusage[ngpus_excl_p=%d]"\n' % ( - res['numb_gpu'], res['task_per_node']) + res['task_per_node'], res['numb_gpu']) if res['time_limit']: ret += '#BSUB -W %s\n' % (res['time_limit'].split(':')[ 0] + ':' + res['time_limit'].split(':')[1]) diff --git a/dpgen/dispatcher/SSHContext.py b/dpgen/dispatcher/SSHContext.py index 552315358..1ce2e5520 100644 --- a/dpgen/dispatcher/SSHContext.py +++ b/dpgen/dispatcher/SSHContext.py @@ -73,6 +73,8 @@ def _setup_ssh(self, assert(self.ssh.get_transport().is_active()) transport = self.ssh.get_transport() transport.set_keepalive(60) + # reset sftp + self._sftp = None def get_ssh_client(self) : return self.ssh @@ -83,6 +85,28 @@ def get_session_root(self) : def close(self) : self.ssh.close() + def exec_command(self, cmd, retry = 0): + """Calling self.ssh.exec_command but has an exception check.""" + try: + return self.ssh.exec_command(cmd) + except paramiko.ssh_exception.SSHException: + # SSH session not active + # retry for up to 3 times + if retry < 3: + dlog.warning("SSH session not active in calling %s, retry the command..." % cmd) + # ensure alive + self.ensure_alive() + return self.exec_command(cmd, retry = retry+1) + raise RuntimeError("SSH session not active") + + @property + def sftp(self): + """Returns sftp. Open a new one if not existing.""" + if self._sftp is None: + self.ensure_alive() + self._sftp = self.ssh.open_sftp() + return self._sftp + class SSHContext (object): def __init__ (self, @@ -100,9 +124,7 @@ def __init__ (self, self.ssh_session = ssh_session self.ssh_session.ensure_alive() try: - sftp = self.ssh_session.ssh.open_sftp() - sftp.mkdir(self.remote_root) - sftp.close() + self.sftp.mkdir(self.remote_root) except: pass @@ -110,6 +132,10 @@ def __init__ (self, def ssh(self): return self.ssh_session.get_ssh_client() + @property + def sftp(self): + return self.ssh_session.sftp + def close(self): self.ssh_session.close() @@ -160,11 +186,19 @@ def download(self, os.chdir(cwd) def block_checkcall(self, - cmd) : + cmd, + retry=0) : self.ssh_session.ensure_alive() - stdin, stdout, stderr = self.ssh.exec_command(('cd %s ;' % self.remote_root) + cmd) + stdin, stdout, stderr = self.ssh_session.exec_command(('cd %s ;' % self.remote_root) + cmd) exit_status = stdout.channel.recv_exit_status() if exit_status != 0: + if retry<3: + # sleep 60 s + dlog.warning("Get error code %d in calling %s through ssh with job: %s . message: %s" % + (exit_status, cmd, self.job_uuid, stderr.read().decode('utf-8'))) + dlog.warning("Sleep 60 s and retry the command...") + time.sleep(60) + return self.block_checkcall(cmd, retry=retry+1) raise RuntimeError("Get error code %d in calling %s through ssh with job: %s . message: %s" % (exit_status, cmd, self.job_uuid, stderr.read().decode('utf-8'))) return stdin, stdout, stderr @@ -172,7 +206,7 @@ def block_checkcall(self, def block_call(self, cmd) : self.ssh_session.ensure_alive() - stdin, stdout, stderr = self.ssh.exec_command(('cd %s ;' % self.remote_root) + cmd) + stdin, stdout, stderr = self.ssh_session.exec_command(('cd %s ;' % self.remote_root) + cmd) exit_status = stdout.channel.recv_exit_status() return exit_status, stdin, stdout, stderr @@ -184,32 +218,26 @@ def clean(self) : def write_file(self, fname, write_str): self.ssh_session.ensure_alive() - sftp = self.ssh.open_sftp() - with sftp.open(os.path.join(self.remote_root, fname), 'w') as fp : + with self.sftp.open(os.path.join(self.remote_root, fname), 'w') as fp : fp.write(write_str) - sftp.close() def read_file(self, fname): self.ssh_session.ensure_alive() - sftp = self.ssh.open_sftp() - with sftp.open(os.path.join(self.remote_root, fname), 'r') as fp: + with self.sftp.open(os.path.join(self.remote_root, fname), 'r') as fp: ret = fp.read().decode('utf-8') - sftp.close() return ret def check_file_exists(self, fname): self.ssh_session.ensure_alive() - sftp = self.ssh.open_sftp() try: - sftp.stat(os.path.join(self.remote_root, fname)) + self.sftp.stat(os.path.join(self.remote_root, fname)) ret = True except IOError: ret = False - sftp.close() return ret - + def call(self, cmd): - stdin, stdout, stderr = self.ssh.exec_command(cmd) + stdin, stdout, stderr = self.ssh_session.exec_command(cmd) # stdin, stdout, stderr = self.ssh.exec_command('echo $$; exec ' + cmd) # pid = stdout.readline().strip() # print(pid) @@ -259,33 +287,48 @@ def _put_files(self, # trans from_f = os.path.join(self.local_root, of) to_f = os.path.join(self.remote_root, of) - sftp = self.ssh.open_sftp() try: - sftp.put(from_f, to_f) + self.sftp.put(from_f, to_f) except FileNotFoundError: raise FileNotFoundError("from %s to %s Error!"%(from_f,to_f)) # remote extract self.block_checkcall('tar xf %s' % of) # clean up os.remove(from_f) - sftp.remove(to_f) - sftp.close() + self.sftp.remove(to_f) def _get_files(self, files) : - of = self.job_uuid + '.tgz' - flist = "" - for ii in files : - flist += " " + ii + of = self.job_uuid + '.tar.gz' # remote tar - self.block_checkcall('tar czf %s %s' % (of, flist)) + # If the number of files are large, we may get "Argument list too long" error. + # Thus, we may run tar commands for serveral times and tar only 100 files for + # each time. + per_nfile = 100 + ntar = len(files) // per_nfile + 1 + if ntar <= 1: + self.block_checkcall('tar czf %s %s' % (of, " ".join(files))) + else: + of_tar = self.job_uuid + '.tar' + for ii in range(ntar): + ff = files[per_nfile * ii : per_nfile * (ii+1)] + if ii == 0: + # tar cf for the first time + self.block_checkcall('tar cf %s %s' % (of_tar, " ".join(ff))) + else: + # append using tar rf + # -r, --append append files to the end of an archive + self.block_checkcall('tar rf %s %s' % (of_tar, " ".join(ff))) + # compress the tar file using gzip, and will get a tar.gz file + # overwrite considering dpgen may stop and restart + # -f, --force force overwrite of output file and compress links + self.block_checkcall('gzip -f %s' % of_tar) # trans from_f = os.path.join(self.remote_root, of) to_f = os.path.join(self.local_root, of) if os.path.isfile(to_f) : os.remove(to_f) - sftp = self.ssh.open_sftp() - sftp.get(from_f, to_f) + self.sftp.get(from_f, to_f) # extract cwd = os.getcwd() os.chdir(self.local_root) @@ -294,5 +337,4 @@ def _get_files(self, os.chdir(cwd) # cleanup os.remove(to_f) - sftp.remove(from_f) - sftp.close() + self.sftp.remove(from_f) diff --git a/dpgen/dispatcher/Slurm.py b/dpgen/dispatcher/Slurm.py index 67f29fca8..a1f8ba933 100644 --- a/dpgen/dispatcher/Slurm.py +++ b/dpgen/dispatcher/Slurm.py @@ -103,6 +103,8 @@ def sub_script_head(self, res): temp_exclude += "," temp_exclude = temp_exclude[:-1] ret += '#SBATCH --exclude=%s \n' % temp_exclude + for flag in res.get('custom_flags', []): + ret += '#SBATCH %s \n' % flag ret += "\n" for ii in res['module_unload_list'] : ret += "module unload %s\n" % ii @@ -152,7 +154,7 @@ def _get_job_id(self) : else: return "" - def _check_status_inner(self, job_id): + def _check_status_inner(self, job_id, retry=0): ret, stdin, stdout, stderr\ = self.context.block_call ('squeue -o "%.18i %.2t" -j ' + job_id) if (ret != 0) : @@ -163,6 +165,11 @@ def _check_status_inner(self, job_id): else : return JobStatus.terminated else : + # retry 3 times + if retry < 3: + # rest 60s + time.sleep(60) + return self._check_status_inner(job_id, retry=retry+1) raise RuntimeError\ ("status command squeue fails to execute\nerror message:%s\nreturn code %d\n" % (err_str, ret)) status_line = stdout.read().decode('utf-8').split ('\n')[-2] diff --git a/dpgen/generator/lib/abacus_pw_scf.py b/dpgen/generator/lib/abacus_pw_scf.py new file mode 100644 index 000000000..5db58cc10 --- /dev/null +++ b/dpgen/generator/lib/abacus_pw_scf.py @@ -0,0 +1,95 @@ +import numpy as np +bohr2ang = 0.52917721067 +def make_abacus_pw_scf_kpt(fp_params): + # Make KPT file for abacus pw scf calculation. + # KPT file is the file containing k points infomation in ABACUS scf calculation. + k_points = [1, 1, 1, 0, 0, 0] + if "k_points" in fp_params: + k_points = fp_params["k_points"] + if len(k_points) != 6: + raise RuntimeError("k_points has to be a list containig 6 integers specifying MP k points generation.") + ret = "K_POINTS\n0\nGamma\n" + for i in range(6): + ret += str(k_points[i]) + " " + return ret + +def make_abacus_pw_scf_input(fp_params): + # Make INPUT file for abacus pw scf calculation. + ret = "INPUT_PARAMETERS\n" + assert(fp_params['ntype'] >= 0 and type(fp_params["ntype"]) == int) + ret += "ntype %d\n" % fp_params['ntype'] + ret += "pseudo_dir ./\n" + if "ecutwfc" in fp_params: + assert(fp_params["ecutwfc"] >= 0) + ret += "ecutwfc %f\n" % fp_params["ecutwfc"] + if "mixing_type" in fp_params: + assert(fp_params["mixing_type"] in ["plain", "kerker", "pulay", "pulay-kerker", "broyden"]) + ret += "mixing_type %s\n" % fp_params["mixing_type"] + if "mixing_beta" in fp_params: + assert(fp_params["mixing_beta"] >= 0 and fp_params["mixing_beta"] < 1) + ret += "mixing_beta %f\n" % fp_params["mixing_beta"] + if "symmetry" in fp_params: + assert(fp_params["symmetry"] == 0 or fp_params["symmetry"] == 1) + ret += "symmetry %d\n" % fp_params["symmetry"] + if "nbands" in fp_params: + assert(fp_params["nbands"] > 0 and type(fp_params["nbands"]) == int) + ret += "nbands %f\n" % fp_params["nbands"] + if "nspin" in fp_params: + assert(fp_params["nspin"] == 1 or fp_params["nspin"] == 2 or fp_params["nspin"] == 4) + ret += "nspin %d\n" % fp_params["nspin"] + if "ks_solver" in fp_params: + assert(fp_params["ks_solver"] in ["cg", "dav", "lapack", "genelpa", "hpseps", "scalapack_gvx"]) + ret += "ks_solver %s\n" % fp_params["ks_solver"] + if "smearing" in fp_params: + assert(fp_params["smearing"] in ["gauss", "fd", "fixed", "mp", "mp2", "mv"]) + ret += "smearing %s\n" % fp_params["smearing"] + if "sigma" in fp_params: + assert(fp_params["sigma"] >= 0) + ret += "sigma %f\n" % fp_params["sigma"] + ret += "force 1\nstress 1\n" + return ret + +def make_abacus_pw_scf_stru(sys_data, fp_pp_files): + atom_names = sys_data['atom_names'] + atom_numbs = sys_data['atom_numbs'] + assert(len(atom_names) == len(fp_pp_files)) + assert(len(atom_names) == len(atom_numbs)) + cell = sys_data["cells"][0].reshape([3, 3]) + coord = sys_data['coords'][0] + #volume = np.linalg.det(cell) + #lattice_const = np.power(volume, 1/3) + lattice_const = 1/bohr2ang # in Bohr, in this way coord and cell are in Angstrom + + ret = "ATOMIC_SPECIES\n" + for iatom in range(len(atom_names)): + ret += atom_names[iatom] + " 1.00 " + fp_pp_files[iatom] + "\n" + + ret += "\nLATTICE_CONSTANT\n" + ret += str(lattice_const) + "\n\n" + + ret += "LATTICE_VECTORS\n" + for ix in range(3): + for iy in range(3): + ret += str(cell[ix][iy]) + " " + ret += "\n" + ret += "\n" + + ret += "ATOMIC_POSITIONS\n" + ret += "Cartesian # Cartesian(Unit is LATTICE_CONSTANT)\n" + natom_tot = 0 + for iele in range(len(atom_names)): + ret += atom_names[iele] + "\n" + ret += "0.0\n" + ret += str(atom_numbs[iele]) + "\n" + for iatom in range(atom_numbs[iele]): + ret += "%.12f %.12f %.12f %d %d %d\n" % (coord[natom_tot, 0], coord[natom_tot, 1], coord[natom_tot, 2], 0, 0, 0) + natom_tot += 1 + assert(natom_tot == sum(atom_numbs)) + + return ret + + +if __name__ == "__main__": + fp_params = {"k_points": [1, 1, 1, 0, 0, 0]} + ret = make_abacus_pw_scf_kpt(fp_params) + print(ret) \ No newline at end of file diff --git a/dpgen/generator/lib/lammps.py b/dpgen/generator/lib/lammps.py index 8221f249d..03dca2b4e 100644 --- a/dpgen/generator/lib/lammps.py +++ b/dpgen/generator/lib/lammps.py @@ -77,8 +77,9 @@ def make_lammps_input(ensemble, if jdata.get('use_clusters', False): keywords += "atomic " if jdata.get('use_relative', False): - eps = jdata.get('eps', 0.) keywords += "relative %s " % jdata['epsilon'] + if jdata.get('use_relative_v', False): + keywords += "relative_v %s " % jdata['epsilon_v'] if ele_temp_f is not None: keywords += "fparam ${ELE_TEMP}" if ele_temp_a is not None: diff --git a/dpgen/generator/run.py b/dpgen/generator/run.py index 41c8ee26d..ceaaed9b2 100644 --- a/dpgen/generator/run.py +++ b/dpgen/generator/run.py @@ -4,7 +4,7 @@ init: data iter: 00.train - 01.mode_devi + 01.model_devi 02.vasp 03.data """ @@ -43,6 +43,7 @@ from dpgen.generator.lib.vasp import make_vasp_incar_user_dict from dpgen.generator.lib.vasp import incar_upper from dpgen.generator.lib.pwscf import make_pwscf_input +from dpgen.generator.lib.abacus_pw_scf import make_abacus_pw_scf_stru, make_abacus_pw_scf_input, make_abacus_pw_scf_kpt #from dpgen.generator.lib.pwscf import cvt_1frame from dpgen.generator.lib.pwmat import make_pwmat_input_dict from dpgen.generator.lib.pwmat import write_input_dict @@ -57,11 +58,16 @@ from dpgen.remote.group_jobs import group_slurm_jobs from dpgen.remote.group_jobs import group_local_jobs from dpgen.remote.decide_machine import decide_train_machine, decide_fp_machine, decide_model_devi_machine -from dpgen.dispatcher.Dispatcher import Dispatcher, _split_tasks, make_dispatcher +from dpgen.dispatcher.Dispatcher import Dispatcher, _split_tasks, make_dispatcher, make_submission from dpgen.util import sepline from dpgen import ROOT_PATH from pymatgen.io.vasp import Incar,Kpoints,Potcar from dpgen.auto_test.lib.vasp import make_kspacing_kpoints +try: + from gromacs.fileformats.mdp import MDP +except ImportError: + dlog.info("GromacsWrapper>=0.8.0 is needed for DP-GEN + Gromacs.") + pass template_name = 'template' train_name = '00.train' @@ -120,7 +126,7 @@ def copy_model(numb_model, prv_iter_index, cur_iter_index) : prv_train_path = os.path.abspath(prv_train_path) cur_train_path = os.path.abspath(cur_train_path) create_path(cur_train_path) - for ii in range(numb_model) : + for ii in range(numb_model): prv_train_task = os.path.join(prv_train_path, train_task_fmt%ii) os.chdir(cur_train_path) os.symlink(os.path.relpath(prv_train_task), train_task_fmt%ii) @@ -176,10 +182,14 @@ def poscar_to_conf(poscar, conf): sys.to_lammps_lmp(conf) -def dump_to_poscar(dump, poscar, type_map) : - sys = dpdata.System(dump, fmt = 'lammps/dump', type_map = type_map) +def dump_to_poscar(dump, poscar, type_map, fmt = "lammps/dump") : + sys = dpdata.System(dump, fmt = fmt, type_map = type_map) sys.to_vasp_poscar(poscar) +def dump_to_deepmd_raw(dump, deepmd_raw, type_map, fmt='gromacs/gro'): + system = dpdata.System(dump, fmt = fmt, type_map = type_map) + system.to_deepmd_raw(deepmd_raw) + def make_train (iter_index, jdata, @@ -301,13 +311,7 @@ def make_train (iter_index, except KeyError: mdata = set_version(mdata) # setup data systems - if LooseVersion(mdata["deepmd_version"]) < LooseVersion('1'): - # 0.x - jinput['systems'] = init_data_sys - jinput['batch_size'] = init_batch_size - if use_ele_temp: - raise RuntimeError('the electron temperature is only supported by deepmd-kit >= 1.0.0, please upgrade your deepmd-kit') - else: + if LooseVersion(mdata["deepmd_version"]) >= LooseVersion('1') and LooseVersion(mdata["deepmd_version"]) < LooseVersion('2'): # 1.x jinput['training']['systems'] = init_data_sys jinput['training']['batch_size'] = init_batch_size @@ -323,11 +327,37 @@ def make_train (iter_index, jinput['model']['fitting_net'].pop('numb_fparam', None) else: raise RuntimeError('invalid setting for use_ele_temp ' + str(use_ele_temp)) + elif LooseVersion(mdata["deepmd_version"]) >= LooseVersion('2') and LooseVersion(mdata["deepmd_version"]) < LooseVersion('3'): + # 2.x + jinput['training']['training_data'] = {} + jinput['training']['training_data']['systems'] = init_data_sys + jinput['training']['training_data']['batch_size'] = init_batch_size + jinput['model']['type_map'] = jdata['type_map'] + # electron temperature + if use_ele_temp == 0: + pass + elif use_ele_temp == 1: + jinput['model']['fitting_net']['numb_fparam'] = 1 + jinput['model']['fitting_net'].pop('numb_aparam', None) + elif use_ele_temp == 2: + jinput['model']['fitting_net']['numb_aparam'] = 1 + jinput['model']['fitting_net'].pop('numb_fparam', None) + else: + raise RuntimeError('invalid setting for use_ele_temp ' + str(use_ele_temp)) + else: + raise RuntimeError("DP-GEN currently only supports for DeePMD-kit 1.x version!" ) # set training reuse model if training_reuse_iter is not None and iter_index >= training_reuse_iter: - jinput['training']['auto_prob_style'] \ - ="prob_sys_size; 0:%d:%f; %d:%d:%f" \ - %(old_range, training_reuse_old_ratio, old_range, len(init_data_sys), 1.-training_reuse_old_ratio) + if LooseVersion('1') <= LooseVersion(mdata["deepmd_version"]) < LooseVersion('2'): + jinput['training']['auto_prob_style'] \ + ="prob_sys_size; 0:%d:%f; %d:%d:%f" \ + %(old_range, training_reuse_old_ratio, old_range, len(init_data_sys), 1.-training_reuse_old_ratio) + elif LooseVersion('2') <= LooseVersion(mdata["deepmd_version"]) < LooseVersion('3'): + jinput['training']['training_data']['auto_prob'] \ + ="prob_sys_size; 0:%d:%f; %d:%d:%f" \ + %(old_range, training_reuse_old_ratio, old_range, len(init_data_sys), 1.-training_reuse_old_ratio) + else: + raise RuntimeError("Unsupported DeePMD-kit version: %s" % mdata["deepmd_version"]) if jinput['loss'].get('start_pref_e') is not None: jinput['loss']['start_pref_e'] = training_reuse_start_pref_e if jinput['loss'].get('start_pref_f') is not None: @@ -344,21 +374,28 @@ def make_train (iter_index, raise RuntimeError ("data sys %s does not exists, cwd is %s" % (jj, os.getcwd())) os.chdir(cwd) # set random seed for each model - if LooseVersion(mdata["deepmd_version"]) < LooseVersion('1'): - # 0.x - jinput['seed'] = random.randrange(sys.maxsize) % (2**32) - else: + if LooseVersion(mdata["deepmd_version"]) >= LooseVersion('1') and LooseVersion(mdata["deepmd_version"]) < LooseVersion('3'): # 1.x - jinput['model']['descriptor']['seed'] = random.randrange(sys.maxsize) % (2**32) + if jinput['model']['descriptor']['type'] == 'hybrid': + for desc in jinput['model']['descriptor']['list']: + desc['seed'] = random.randrange(sys.maxsize) % (2**32) + else: + jinput['model']['descriptor']['seed'] = random.randrange(sys.maxsize) % (2**32) jinput['model']['fitting_net']['seed'] = random.randrange(sys.maxsize) % (2**32) jinput['training']['seed'] = random.randrange(sys.maxsize) % (2**32) + else: + raise RuntimeError("DP-GEN currently only supports for DeePMD-kit 1.x version!" ) # set model activation function if model_devi_activation_func is not None: if LooseVersion(mdata["deepmd_version"]) < LooseVersion('1'): raise RuntimeError('model_devi_activation_func does not suppport deepmd version', mdata['deepmd_version']) assert(type(model_devi_activation_func) is list and len(model_devi_activation_func) == numb_models) - jinput['model']['descriptor']['activation_function'] = model_devi_activation_func[ii] - jinput['model']['fitting_net']['activation_function'] = model_devi_activation_func[ii] + if len(np.array(model_devi_activation_func).shape) == 2 : # 2-dim list for emd/fitting net-resolved assignment of actF + jinput['model']['descriptor']['activation_function'] = model_devi_activation_func[ii][0] + jinput['model']['fitting_net']['activation_function'] = model_devi_activation_func[ii][1] + if len(np.array(model_devi_activation_func).shape) == 1 : # for backward compatibility, 1-dim list, not net-resolved + jinput['model']['descriptor']['activation_function'] = model_devi_activation_func[ii] + jinput['model']['descriptor']['activation_function'] = model_devi_activation_func[ii] # dump the input.json with open(os.path.join(task_path, train_input_file), 'w') as outfile: json.dump(jinput, outfile, indent = 4) @@ -417,6 +454,7 @@ def detect_batch_size(batch_size, system=None): def run_train (iter_index, jdata, mdata) : + # print("debug:run_train:mdata", mdata) # load json param numb_models = jdata['numb_models'] # train_param = jdata['train_param'] @@ -429,12 +467,9 @@ def run_train (iter_index, mdata["deepmd_version"] except KeyError: mdata = set_version(mdata) - if LooseVersion(mdata["deepmd_version"]) < LooseVersion('1'): - # 0.x - deepmd_path = mdata['deepmd_path'] - else: - # 1.x - train_command = mdata.get('train_command', 'dp') + + + train_command = mdata.get('train_command', 'dp') train_resources = mdata['train_resources'] # paths @@ -451,13 +486,8 @@ def run_train (iter_index, task_path = os.path.join(work_path, train_task_fmt % ii) all_task.append(task_path) commands = [] - if LooseVersion(mdata["deepmd_version"]) < LooseVersion('1'): - # 0.x - command = os.path.join(deepmd_path, 'bin/dp_train %s' % train_input_file) - commands.append(command) - command = os.path.join(deepmd_path, 'bin/dp_frz') - commands.append(command) - else: + if LooseVersion(mdata["deepmd_version"]) >= LooseVersion('1') and LooseVersion(mdata["deepmd_version"]) < LooseVersion('3'): + # 1.x ## Commands are like `dp train` and `dp freeze` ## train_command should not be None @@ -467,9 +497,12 @@ def run_train (iter_index, command = "{ if [ ! -f model.ckpt.index ]; then %s --init-model old/model.ckpt; else %s --restart model.ckpt; fi }" % (command, command) else: command = "{ if [ ! -f model.ckpt.index ]; then %s; else %s --restart model.ckpt; fi }" % (command, command) + command = "/bin/sh -c '%s'" % command commands.append(command) command = '%s freeze' % train_command commands.append(command) + else: + raise RuntimeError("DP-GEN currently only supports for DeePMD-kit 1.x version!" ) #_tasks = [os.path.basename(ii) for ii in all_task] # run_tasks = [] @@ -525,8 +558,14 @@ def run_train (iter_index, except: train_group_size = 1 - dispatcher = make_dispatcher(mdata['train_machine'], mdata['train_resources'], work_path, run_tasks, train_group_size) - dispatcher.run_jobs(mdata['train_resources'], + api_version = mdata.get('api_version', '0.9') + # print('debug:commands', commands) + + if LooseVersion(api_version) < LooseVersion('1.0'): + warnings.warn(f"the dpdispatcher will be updated to new version." + f"And the interface may be changed. Please check the documents for more details") + dispatcher = make_dispatcher(mdata['train_machine'], mdata['train_resources'], work_path, run_tasks, train_group_size) + dispatcher.run_jobs(mdata['train_resources'], commands, work_path, run_tasks, @@ -537,6 +576,21 @@ def run_train (iter_index, outlog = 'train.log', errlog = 'train.log') + elif LooseVersion(api_version) >= LooseVersion('1.0'): + submission = make_submission( + mdata['train_machine'], + mdata['train_resources'], + commands=commands, + work_path=work_path, + run_tasks=run_tasks, + group_size=train_group_size, + forward_common_files=trans_comm_data, + forward_files=forward_files, + backward_files=backward_files, + outlog = 'train.log', + errlog = 'train.log') + submission.run_submission() + def post_train (iter_index, jdata, mdata) : @@ -694,6 +748,9 @@ def revise_by_keys(lmp_lines, keys, values): def make_model_devi (iter_index, jdata, mdata) : + # The MD engine to perform model deviation + # Default is lammps + model_devi_engine = jdata.get('model_devi_engine', "lammps") model_devi_jobs = jdata['model_devi_jobs'] if (iter_index >= len(model_devi_jobs)) : return False @@ -739,24 +796,27 @@ def make_model_devi (iter_index, for ss in conf_systems: conf_counter = 0 for cc in ss : - conf_name = make_model_devi_conf_name(sys_idx[sys_counter], conf_counter) - orig_poscar_name = conf_name + '.orig.poscar' - poscar_name = conf_name + '.poscar' - lmp_name = conf_name + '.lmp' - if shuffle_poscar : - os.symlink(cc, os.path.join(conf_path, orig_poscar_name)) - poscar_shuffle(os.path.join(conf_path, orig_poscar_name), - os.path.join(conf_path, poscar_name)) - else : - os.symlink(cc, os.path.join(conf_path, poscar_name)) - if 'sys_format' in jdata: - fmt = jdata['sys_format'] - else: - fmt = 'vasp/poscar' - system = dpdata.System(os.path.join(conf_path, poscar_name), fmt = fmt, type_map = jdata['type_map']) - if jdata.get('model_devi_nopbc', False): - system.remove_pbc() - system.to_lammps_lmp(os.path.join(conf_path, lmp_name)) + if model_devi_engine == "lammps": + conf_name = make_model_devi_conf_name(sys_idx[sys_counter], conf_counter) + orig_poscar_name = conf_name + '.orig.poscar' + poscar_name = conf_name + '.poscar' + lmp_name = conf_name + '.lmp' + if shuffle_poscar : + os.symlink(cc, os.path.join(conf_path, orig_poscar_name)) + poscar_shuffle(os.path.join(conf_path, orig_poscar_name), + os.path.join(conf_path, poscar_name)) + else : + os.symlink(cc, os.path.join(conf_path, poscar_name)) + if 'sys_format' in jdata: + fmt = jdata['sys_format'] + else: + fmt = 'vasp/poscar' + system = dpdata.System(os.path.join(conf_path, poscar_name), fmt = fmt, type_map = jdata['type_map']) + if jdata.get('model_devi_nopbc', False): + system.remove_pbc() + system.to_lammps_lmp(os.path.join(conf_path, lmp_name)) + elif model_devi_engine == "gromacs": + pass conf_counter += 1 sys_counter += 1 @@ -766,7 +826,12 @@ def make_model_devi (iter_index, use_plm = jdata.get('model_devi_plumed', False) use_plm_path = jdata.get('model_devi_plumed_path', False) if input_mode == "native": - _make_model_devi_native(iter_index, jdata, mdata, conf_systems) + if model_devi_engine == "lammps": + _make_model_devi_native(iter_index, jdata, mdata, conf_systems) + elif model_devi_engine == "gromacs": + _make_model_devi_native_gromacs(iter_index, jdata, mdata, conf_systems) + else: + raise RuntimeError("unknown model_devi engine", model_devi_engine) elif input_mode == "revise_template": _make_model_devi_revmat(iter_index, jdata, mdata, conf_systems) else: @@ -1007,12 +1072,98 @@ def _make_model_devi_native(iter_index, jdata, mdata, conf_systems): conf_counter += 1 sys_counter += 1 +def _make_model_devi_native_gromacs(iter_index, jdata, mdata, conf_systems): + model_devi_jobs = jdata['model_devi_jobs'] + if (iter_index >= len(model_devi_jobs)) : + return False + cur_job = model_devi_jobs[iter_index] + dt = cur_job.get("dt", None) + if dt is not None: + model_devi_dt = dt + else: + model_devi_dt = jdata['model_devi_dt'] + nsteps = cur_job.get("nsteps", None) + if nsteps is None: + raise RuntimeError("nsteps is None, you should set nsteps in model_devi_jobs!") + # Currently Gromacs engine is not supported for different temperatures! + # If you want to change temperatures, you should change it in mdp files. + + sys_idx = expand_idx(cur_job['sys_idx']) + if (len(sys_idx) != len(list(set(sys_idx)))) : + raise RuntimeError("system index should be uniq") + + mass_map = jdata['mass_map'] + + iter_name = make_iter_name(iter_index) + train_path = os.path.join(iter_name, train_name) + train_path = os.path.abspath(train_path) + models = glob.glob(os.path.join(train_path, "graph*pb")) + task_model_list = [] + for ii in models: + task_model_list.append(os.path.join('..', os.path.basename(ii))) + work_path = os.path.join(iter_name, model_devi_name) + + sys_counter = 0 + for ss in conf_systems: + conf_counter = 0 + task_counter = 0 + for cc in ss : + task_name = make_model_devi_task_name(sys_idx[sys_counter], task_counter) + #conf_name = make_model_devi_conf_name(sys_idx[sys_counter], conf_counter) + '.lmp' + task_path = os.path.join(work_path, task_name) + # dlog.info(task_path) + create_path(task_path) + #create_path(os.path.join(task_path, 'traj')) + #loc_conf_name = 'conf.lmp' + gromacs_settings = jdata.get("gromacs_settings" , "") + for key,file in gromacs_settings.items(): + if key != "traj_filename" and key != "mdp_filename": + os.symlink(os.path.join(cc,file), os.path.join(task_path, file)) + + # input.json for DP-Gromacs + with open(os.path.join(cc, "input.json")) as f: + input_json = json.load(f) + input_json["graph_file"] = models[0] + with open(os.path.join(task_path,'input.json'), 'w') as _outfile: + json.dump(input_json, _outfile, indent = 4) + + # trj_freq + trj_freq = cur_job.get("trj_freq", 10) + mdp = MDP() + mdp.read(os.path.join(cc, gromacs_settings['mdp_filename'])) + mdp['nstcomm'] = trj_freq + mdp['nstxout'] = trj_freq + mdp['nstlog'] = trj_freq + mdp['nstenergy'] = trj_freq + # dt + mdp['dt'] = dt + mdp.write(os.path.join(task_path, gromacs_settings['mdp_filename'])) + + cwd_ = os.getcwd() + os.chdir(task_path) + job = {} + + job["model_devi_dt"] = model_devi_dt + job["nsteps"] = nsteps + with open('job.json', 'w') as _outfile: + json.dump(job, _outfile, indent = 4) + os.chdir(cwd_) + + task_counter += 1 + conf_counter += 1 + sys_counter += 1 + + def run_model_devi (iter_index, jdata, mdata) : #rmdlog.info("This module has been run !") lmp_exec = mdata['lmp_command'] + # Angus: lmp_exec name should be changed to model_devi_exec. + # We should also change make_dispatcher + # For now, I will use this name for gromacs command + model_devi_group_size = mdata['model_devi_group_size'] model_devi_resources = mdata['model_devi_resources'] use_plm = jdata.get('model_devi_plumed', False) @@ -1024,9 +1175,6 @@ def run_model_devi (iter_index, all_task = glob.glob(os.path.join(work_path, "task.*")) all_task.sort() - command = "{ if [ ! -f dpgen.restart.10000 ]; then %s -i input.lammps -v restart 0; else %s -i input.lammps -v restart 1; fi }" % (lmp_exec, lmp_exec) - commands = [command] - fp = open (os.path.join(work_path, 'cur_job.json'), 'r') cur_job = json.load (fp) @@ -1045,18 +1193,46 @@ def run_model_devi (iter_index, #dlog.info("run_tasks in run_model_deviation",run_tasks_) all_models = glob.glob(os.path.join(work_path, 'graph*pb')) model_names = [os.path.basename(ii) for ii in all_models] - forward_files = ['conf.lmp', 'input.lammps', 'traj'] - backward_files = ['model_devi.out', 'model_devi.log', 'traj'] - if use_plm: - forward_files += ['input.plumed'] - # backward_files += ['output.plumed'] - backward_files += ['output.plumed','COLVAR','dump.0.xyz'] - if use_plm_path: - forward_files += ['plmpath.pdb'] + + model_devi_engine = jdata.get("model_devi_engine", "lammps") + if model_devi_engine == "lammps": + command = "{ if [ ! -f dpgen.restart.10000 ]; then %s -i input.lammps -v restart 0; else %s -i input.lammps -v restart 1; fi }" % (lmp_exec, lmp_exec) + command = "/bin/sh -c '%s'" % command + commands = [command] + forward_files = ['conf.lmp', 'input.lammps', 'traj'] + backward_files = ['model_devi.out', 'model_devi.log', 'traj'] + if use_plm: + forward_files += ['input.plumed'] + # backward_files += ['output.plumed'] + backward_files += ['output.plumed','COLVAR','dump.0.xyz'] + if use_plm_path: + forward_files += ['plmpath.pdb'] + elif model_devi_engine == "gromacs": + gromacs_settings = jdata.get("gromacs_settings", {}) + mdp_filename = gromacs_settings.get("mdp_filename", "md.mdp") + topol_filename = gromacs_settings.get("topol_filename", "processed.top") + conf_filename = gromacs_settings.get("conf_filename", "conf.gro") + index_filename = gromacs_settings.get("index_filename", "index.raw") + deffnm = gromacs_settings.get("deffnm", "deepmd") + maxwarn = gromacs_settings.get("maxwarn", 1) + nsteps = cur_job["nsteps"] + + command = "%s grompp -f %s -p %s -c %s -o %s -maxwarn %d" % (lmp_exec, mdp_filename, topol_filename, conf_filename, deffnm, maxwarn) + command += "&& %s mdrun -deffnm %s -nsteps %d" %(lmp_exec, deffnm, nsteps) + commands = [command] + + forward_files = [mdp_filename, topol_filename, conf_filename, index_filename, "input.json" ] + backward_files = ["%s.tpr" % deffnm, "%s.log" %deffnm , 'model_devi.out', 'model_devi.log'] + cwd = os.getcwd() - dispatcher = make_dispatcher(mdata['model_devi_machine'], mdata['model_devi_resources'], work_path, run_tasks, model_devi_group_size) - dispatcher.run_jobs(mdata['model_devi_resources'], + + api_version = mdata.get('api_version', '0.9') + if LooseVersion(api_version) < LooseVersion('1.0'): + warnings.warn(f"the dpdispatcher will be updated to new version." + f"And the interface may be changed. Please check the documents for more details") + dispatcher = make_dispatcher(mdata['model_devi_machine'], mdata['model_devi_resources'], work_path, run_tasks, model_devi_group_size) + dispatcher.run_jobs(mdata['model_devi_resources'], commands, work_path, run_tasks, @@ -1067,6 +1243,20 @@ def run_model_devi (iter_index, outlog = 'model_devi.log', errlog = 'model_devi.log') + elif LooseVersion(api_version) >= LooseVersion('1.0'): + submission = make_submission( + mdata['model_devi_machine'], + mdata['model_devi_resources'], + commands=commands, + work_path=work_path, + run_tasks=run_tasks, + group_size=model_devi_group_size, + forward_common_files=model_names, + forward_files=forward_files, + backward_files=backward_files, + outlog = 'model_devi.log', + errlog = 'model_devi.log') + submission.run_submission() def post_model_devi (iter_index, jdata, @@ -1249,6 +1439,7 @@ def _make_fp_vasp_inner (modd_path, numb_task = 0 dlog.info("system {0:s} accurate_ratio: {1:8.4f} thresholds: {2:6.4f} and {3:6.4f} eff. task min and max {4:4d} {5:4d} number of fp tasks: {6:6d}".format(ss, accurate_ratio, fp_accurate_soft_threshold, fp_accurate_threshold, fp_task_min, this_fp_task_max, numb_task)) # make fp tasks + model_devi_engine = jdata.get("model_devi_engine", "lammps") count_bad_box = 0 count_bad_cluster = 0 for cc in range(numb_task) : @@ -1256,7 +1447,12 @@ def _make_fp_vasp_inner (modd_path, ii = fp_candidate[cc][1] ss = os.path.basename(tt).split('.')[1] conf_name = os.path.join(tt, "traj") - conf_name = os.path.join(conf_name, str(ii) + '.lammpstrj') + if model_devi_engine == "lammps": + conf_name = os.path.join(conf_name, str(ii) + '.lammpstrj') + elif model_devi_engine == "gromacs": + conf_name = os.path.join(conf_name, str(ii) + '.gromacstrj') + else: + raise RuntimeError("unknown model_devi engine", model_devi_engine) conf_name = os.path.abspath(conf_name) if skip_bad_box is not None: skip = check_bad_box(conf_name, skip_bad_box) @@ -1304,7 +1500,13 @@ def _make_fp_vasp_inner (modd_path, cwd = os.getcwd() for ii in fp_tasks: os.chdir(ii) - dump_to_poscar('conf.dump', 'POSCAR', type_map) + if model_devi_engine == "lammps": + dump_to_poscar('conf.dump', 'POSCAR', type_map, fmt = "lammps/dump") + elif model_devi_engine == "gromacs": + # dump_to_poscar('conf.dump', 'POSCAR', type_map, fmt = "gromacs/gro") + dump_to_deepmd_raw('conf.dump', 'deepmd.raw', type_map, fmt = 'gromacs/gro') + else: + raise RuntimeError("unknown model_devi engine", model_devi_engine) os.chdir(cwd) return fp_tasks @@ -1643,6 +1845,41 @@ def make_fp_pwscf(iter_index, # link pp files _link_fp_vasp_pp(iter_index, jdata) +def make_fp_abacus_pw_scf(iter_index, + jdata) : + # make config + fp_tasks = _make_fp_vasp_configs(iter_index, jdata) + if len(fp_tasks) == 0 : + return + # make abacus/pw/scf input + iter_name = make_iter_name(iter_index) + work_path = os.path.join(iter_name, fp_name) + fp_pp_files = jdata['fp_pp_files'] + if 'user_fp_params' in jdata.keys() : + fp_params = jdata['user_fp_params'] + #user_input = True + else: + raise RuntimeError("Key 'user_fp_params' and its value have to be specified in parameter json file.") + cwd = os.getcwd() + for ii in fp_tasks: + os.chdir(ii) + sys_data = dpdata.System('POSCAR').data + if 'mass_map' in jdata: + sys_data['atom_masses'] = jdata['mass_map'] + ret_input = make_abacus_pw_scf_input(fp_params) + with open('INPUT', 'w') as fp: + fp.write(ret_input) + ret_kpt = make_abacus_pw_scf_kpt(fp_params) + with open("KPT", "w") as fp: + fp.write(ret_kpt) + ret_stru = make_abacus_pw_scf_stru(sys_data, fp_pp_files) + with open("STRU", "w") as fp: + fp.write(ret_stru) + + os.chdir(cwd) + # link pp files + _link_fp_vasp_pp(iter_index, jdata) + def make_fp_siesta(iter_index, jdata) : @@ -1685,9 +1922,14 @@ def make_fp_gaussian(iter_index, else: fp_params = jdata['fp_params'] cwd = os.getcwd() + + model_devi_engine = jdata.get('model_devi_engine', 'lammps') for ii in fp_tasks: os.chdir(ii) - sys_data = dpdata.System('POSCAR').data + if model_devi_engine == "lammps": + sys_data = dpdata.System('POSCAR').data + elif model_devi_engine == "gromacs": + sys_data = dpdata.System("deepmd.raw", fmt='deepmd/raw').data ret = make_gaussian_input(sys_data, fp_params) with open('input', 'w') as fp: fp.write(ret) @@ -1761,6 +2003,8 @@ def make_fp (iter_index, make_fp_vasp(iter_index, jdata) elif fp_style == "pwscf" : make_fp_pwscf(iter_index, jdata) + elif fp_style == "abacus/scf" : + make_fp_abacus_pw_scf(iter_index, jdata) elif fp_style == "siesta" : make_fp_siesta(iter_index, jdata) elif fp_style == "gaussian" : @@ -1794,6 +2038,16 @@ def _qe_check_fin(ii) : return False return True +def _abacus_pw_scf_check_fin(ii) : + if os.path.isfile(os.path.join(ii, 'OUT.ABACUS/running_scf.log')) : + with open(os.path.join(ii, 'OUT.ABACUS/running_scf.log'), 'r') as fp : + content = fp.read() + count = content.count('!FINAL_ETOT_IS') + if count != 1 : + return False + else : + return False + return True def _siesta_check_fin(ii) : if os.path.isfile(os.path.join(ii, 'output')) : @@ -1865,8 +2119,13 @@ def run_fp_inner (iter_index, # if not check_fin(ii) : # fp_run_tasks.append(ii) run_tasks = [os.path.basename(ii) for ii in fp_run_tasks] - dispatcher = make_dispatcher(mdata['fp_machine'], mdata['fp_resources'], work_path, run_tasks, fp_group_size) - dispatcher.run_jobs(mdata['fp_resources'], + + api_version = mdata.get('api_version', '0.9') + if LooseVersion(api_version) < LooseVersion('1.0'): + warnings.warn(f"the dpdispatcher will be updated to new version." + f"And the interface may be changed. Please check the documents for more details") + dispatcher = make_dispatcher(mdata['fp_machine'], mdata['fp_resources'], work_path, run_tasks, fp_group_size) + dispatcher.run_jobs(mdata['fp_resources'], [fp_command], work_path, run_tasks, @@ -1878,6 +2137,20 @@ def run_fp_inner (iter_index, outlog = log_file, errlog = log_file) + elif LooseVersion(api_version) >= LooseVersion('1.0'): + submission = make_submission( + mdata['fp_machine'], + mdata['fp_resources'], + commands=[fp_command], + work_path=work_path, + run_tasks=run_tasks, + group_size=fp_group_size, + forward_common_files=forward_common_files, + forward_files=forward_files, + backward_files=backward_files, + outlog = log_file, + errlog = log_file) + submission.run_submission() def run_fp (iter_index, @@ -1904,6 +2177,10 @@ def run_fp (iter_index, forward_files = ['input'] + fp_pp_files backward_files = ['output'] run_fp_inner(iter_index, jdata, mdata, forward_files, backward_files, _qe_check_fin, log_file = 'output') + elif fp_style == "abacus/scf": + forward_files = ["INPUT", "STRU", "KPT"] + fp_pp_files + backward_files = ["output", "OUT.ABACUS"] + run_fp_inner(iter_index, jdata, mdata, forward_files, backward_files, _abacus_pw_scf_check_fin, log_file = 'output') elif fp_style == "siesta": forward_files = ['input'] + fp_pp_files backward_files = ['output'] @@ -2078,6 +2355,51 @@ def post_fp_pwscf (iter_index, all_sys.to_deepmd_raw(sys_data_path) all_sys.to_deepmd_npy(sys_data_path, set_size = len(sys_output)) +def post_fp_abacus_pw_scf (iter_index, + jdata): + model_devi_jobs = jdata['model_devi_jobs'] + assert (iter_index < len(model_devi_jobs)) + + iter_name = make_iter_name(iter_index) + work_path = os.path.join(iter_name, fp_name) + fp_tasks = glob.glob(os.path.join(work_path, 'task.*')) + fp_tasks.sort() + if len(fp_tasks) == 0 : + return + + system_index = [] + for ii in fp_tasks : + system_index.append(os.path.basename(ii).split('.')[1]) + system_index.sort() + set_tmp = set(system_index) + system_index = list(set_tmp) + system_index.sort() + + cwd = os.getcwd() + for ss in system_index : + sys_output = glob.glob(os.path.join(work_path, "task.%s.*"%ss)) + sys_input = glob.glob(os.path.join(work_path, "task.%s.*/INPUT"%ss)) + sys_output.sort() + sys_input.sort() + + flag=True + for ii,oo in zip(sys_input,sys_output) : + if flag: + _sys = dpdata.LabeledSystem(oo, fmt = 'abacus/scf', type_map = jdata['type_map']) + if len(_sys)>0: + all_sys=_sys + flag=False + else: + pass + else: + _sys = dpdata.LabeledSystem(oo, fmt = 'abacus/scf', type_map = jdata['type_map']) + if len(_sys)>0: + all_sys.append(_sys) + + sys_data_path = os.path.join(work_path, 'data.%s'%ss) + all_sys.to_deepmd_raw(sys_data_path) + all_sys.to_deepmd_npy(sys_data_path, set_size = len(sys_output)) + def post_fp_siesta (iter_index, jdata): model_devi_jobs = jdata['model_devi_jobs'] @@ -2267,6 +2589,8 @@ def post_fp (iter_index, post_fp_vasp(iter_index, jdata) elif fp_style == "pwscf" : post_fp_pwscf(iter_index, jdata) + elif fp_style == "abacus/scf": + post_fp_abacus_pw_scf(iter_index, jdata) elif fp_style == "siesta": post_fp_siesta(iter_index, jdata) elif fp_style == 'gaussian' : @@ -2289,31 +2613,11 @@ def post_fp (iter_index, shutil.rmtree(ii) def set_version(mdata): - if 'deepmd_path' in mdata: - deepmd_version = '0.1' - #elif 'python_path' in mdata: - # deepmd_version = '1' - #elif 'train_command' in mdata: - # deepmd_version = '1' - elif 'train' in mdata: - if 'deepmd_path' in mdata['train'][0]: - deepmd_version = '0.1' - else: - deepmd_version = '1' - # elif 'python_path' in mdata['train'][0]: - # deepmd_version = '1' - # elif 'command' in mdata['train']: - # deepmd_version = '1' - else: - deepmd_version = '1' - # set + + deepmd_version = '1' mdata['deepmd_version'] = deepmd_version return mdata - - - - def run_iter (param_file, machine_file) : try: import ruamel diff --git a/dpgen/remote/decide_machine.py b/dpgen/remote/decide_machine.py index cedfca451..cda17853e 100644 --- a/dpgen/remote/decide_machine.py +++ b/dpgen/remote/decide_machine.py @@ -1,280 +1,288 @@ -#!/usr/bin/env python -# coding: utf-8 - -from dpgen.dispatcher.SSHContext import SSHSession -from dpgen.dispatcher.SSHContext import SSHContext -from dpgen.dispatcher.Slurm import Slurm -from dpgen.dispatcher.LSF import LSF -from dpgen import dlog -import os -import json -import numpy as np - - -def decide_train_machine(mdata): - if 'train' in mdata: - continue_flag = False - if 'record.machine' in os.listdir(): - try: - with open('record.machine', 'r') as _infile: - profile = json.load(_infile) - if profile['purpose'] == 'train': - mdata['train_machine'] = profile['machine'] - mdata['train_resources'] = profile['resources'] - if 'deepmd_path' in profile: - mdata['deepmd_path'] = profile['deepmd_path'] - elif 'python_path' in profile: - mdata['python_path'] = profile['python_path'] - if "group_size" in profile: - mdata["train_group_size"] = profile["group_size"] - if 'deepmd_version' in profile: - mdata["deepmd_version"] = profile['deepmd_version'] - continue_flag = True - except: - pass - if ("hostname" not in mdata["train"][0]["machine"]) or (len(mdata["train"]) == 1): - mdata["train_machine"] = mdata["train"][0]["machine"] - mdata["train_resources"] = mdata["train"][0]["resources"] - if 'deepmd_path' in mdata["train"][0]: - mdata["deepmd_path"] = mdata["train"][0]["deepmd_path"] - elif 'python_path' in mdata["train"][0]: - mdata["python_path"] = mdata["train"][0]["python_path"] - if "group_size" in mdata["train"][0]: - mdata["train_group_size"] = mdata["train"][0]["group_size"] - if 'deepmd_version' in mdata["train"][0]: - mdata["deepmd_version"] = mdata["train"][0]["deepmd_version"] - if 'command' in mdata["train"][0]: - mdata["train_command"] = mdata["train"][0]["command"] - continue_flag = True - - pd_flag = False - pd_count_list =[] - # pd for pending job in slurm - # if we need to launch new machine_idxines - if not continue_flag: - - #assert isinstance(mdata['train']['machine'], list) - #assert isinstance(mdata['train']['resources'], list) - #assert len(mdata['train']['machine']) == len(mdata['train']['resources']) - # mdata['train'] is a list - for machine_idx in range(len(mdata['train'])): - temp_machine = mdata['train'][machine_idx]['machine'] - temp_resources = mdata['train'][machine_idx]['resources'] - temp_ssh_sess = SSHSession(temp_machine) - cwd = os.getcwd() - temp_context = SSHContext(cwd, temp_ssh_sess) - if temp_machine['machine_type'] == 'lsf': - temp_batch = LSF(temp_context) - else: - temp_batch = Slurm(temp_context) - # For other type of machines, please add them using 'elif'. - # Here slurm is selected as the final choice in convinience. - command = temp_batch._make_squeue(temp_machine, temp_resources) - ret, stdin, stdout, stderr = temp_batch.context.block_call(command) - pd_response = stdout.read().decode('utf-8').split("\n") - pd_count = len(pd_response) - temp_context.clean() - ## If there is no need to waiting for allocation - if pd_count ==1: - mdata['train_machine'] = temp_machine - mdata['train_resources'] = temp_resources - if 'deepmd_path' in mdata['train'][machine_idx]: - mdata['deepmd_path'] = mdata['train'][machine_idx]['deepmd_path'] - elif 'python_path' in mdata['train'][machine_idx]: - mdata['python_path'] = mdata['train'][machine_idx]['python_path'] - if 'group_size' in mdata['train'][machine_idx]: - mdata['train_group_size'] = mdata['train'][machine_idx]['group_size'] - if 'deepmd_version' in mdata['train'][machine_idx]: - mdata['deepmd_version'] = mdata['train'][machine_idx]['deepmd_version'] - - ## No need to wait - pd_flag = True - break - else: - pd_count_list.append(pd_count) - if not pd_flag: - ## All machines need waiting, then compare waiting jobs - ## Select a machine which has fewest waiting jobs - min_machine_idx = np.argsort(pd_count_list)[0] - mdata['train_machine'] = mdata['train'][min_machine_idx]['machine'] - mdata['train_resources'] = mdata['train'][min_machine_idx]['resources'] - if 'deepmd_path' in mdata['train'][min_machine_idx]: - mdata['deepmd_path'] = mdata['train'][min_machine_idx]['deepmd_path'] - elif 'python_path' in mdata['train'][min_machine_idx]: - mdata['python_path'] = mdata['train'][min_machine_idx]['python_path'] - if "group_size" in mdata['train'][min_machine_idx]: - mdata["train_group_size"] = mdata['train'][min_machine_idx]["group_size"] - if 'deepmd_version' in mdata['train'][min_machine_idx]: - mdata['deepmd_version'] = mdata['train'][min_machine_idx]["deepmd_version"] - - ## Record which machine is selected - with open("record.machine","w") as _outfile: - profile = {} - profile['purpose'] = 'train' - profile['machine'] = mdata['train_machine'] - profile['resources'] = mdata['train_resources'] - if 'deepmd_path' in mdata: - profile['deepmd_path'] = mdata['deepmd_path'] - elif 'python_path' in mdata: - profile['python_path'] = mdata['python_path'] - if "train_group_size" in mdata: - profile["group_size"] = mdata["train_group_size"] - if 'deepmd_version' in mdata: - profile['deepmd_version'] = mdata['deepmd_version'] - - json.dump(profile, _outfile, indent = 4) - return mdata - -def decide_model_devi_machine(mdata): - if 'model_devi' in mdata: - continue_flag = False - if 'record.machine' in os.listdir(): - try: - with open('record.machine', 'r') as _infile: - profile = json.load(_infile) - if profile['purpose'] == 'model_devi': - mdata['model_devi_machine'] = profile['machine'] - mdata['model_devi_resources'] = profile['resources'] - mdata['lmp_command'] = profile['command'] - mdata['model_devi_group_size'] = profile['group_size'] - continue_flag = True - except: - pass - if ("hostname" not in mdata["model_devi"][0]["machine"]) or (len(mdata["model_devi"]) == 1): - mdata["model_devi_machine"] = mdata["model_devi"][0]["machine"] - mdata["model_devi_resources"] = mdata["model_devi"][0]["resources"] - mdata["lmp_command"] = mdata["model_devi"][0]["command"] - #if "group_size" in mdata["train"][0]: - mdata["model_devi_group_size"] = mdata["model_devi"][0]["group_size"] - continue_flag = True - - pd_count_list =[] - pd_flag = False - if not continue_flag: - - #assert isinstance(mdata['model_devi']['machine'], list) - #ssert isinstance(mdata['model_devi']['resources'], list) - #assert len(mdata['model_devi']['machine']) == len(mdata['model_devi']['resources']) - - for machine_idx in range(len(mdata['model_devi'])): - temp_machine = mdata['model_devi'][machine_idx]['machine'] - temp_resources = mdata['model_devi'][machine_idx]['resources'] - #assert isinstance(temp_machine, dict), "unsupported type of model_devi machine [%d]!" %machine_idx - #assert isinstance(temp_resources, dict), "unsupported type of model_devi resources [%d]!"%machine_idx - #assert temp_machine['machine_type'] == 'slurm', "Currently only support for Slurm!" - temp_ssh_sess = SSHSession(temp_machine) - cwd = os.getcwd() - temp_context = SSHContext(cwd, temp_ssh_sess) - if temp_machine['machine_type'] == 'lsf': - temp_batch = LSF(temp_context) - else: - temp_batch = Slurm(temp_context) - # For other type of machines, please add them using 'elif'. - # Here slurm is selected as the final choice in convinience. - command = temp_batch._make_squeue(temp_machine, temp_resources) - ret, stdin, stdout, stderr = temp_batch.context.block_call(command) - pd_response = stdout.read().decode('utf-8').split("\n") - pd_count = len(pd_response) - temp_context.clean() - if pd_count ==0: - mdata['model_devi_machine'] = temp_machine - mdata['model_devi_resources'] = temp_resources - mdata['lmp_command'] = mdata['model_devi'][machine_idx]['command'] - mdata['model_devi_group_size'] = mdata['model_devi'][machine_idx]['group_size'] - pd_flag = True - break - else: - pd_count_list.append(pd_count) - if not pd_flag: - min_machine_idx = np.argsort(pd_count_list)[0] - mdata['model_devi_machine'] = mdata['model_devi'][min_machine_idx]['machine'] - mdata['model_devi_resources'] = mdata['model_devi'][min_machine_idx]['resources'] - mdata['lmp_command'] = mdata['model_devi'][min_machine_idx]['command'] - mdata['model_devi_group_size'] = mdata['model_devi'][min_machine_idx]['group_size'] - with open("record.machine","w") as _outfile: - profile = {} - profile['purpose'] = 'model_devi' - profile['machine'] = mdata['model_devi_machine'] - profile['resources'] = mdata['model_devi_resources'] - profile['group_size'] = mdata['model_devi_group_size'] - profile['command'] = mdata['lmp_command'] - - json.dump(profile, _outfile, indent = 4) - return mdata -def decide_fp_machine(mdata): - - if 'fp' in mdata: - #ssert isinstance(mdata['fp']['machine'], list) - #assert isinstance(mdata['fp']['resources'], list) - #assert len(mdata['fp']['machine']) == len(mdata['fp']['resources']) - continue_flag = False - ## decide whether to use an existing machine - if 'record.machine' in os.listdir(): - try: - with open('record.machine', 'r') as _infile: - profile = json.load(_infile) - if profile['purpose'] == 'fp': - mdata['fp_machine'] = profile['machine'] - mdata['fp_resources'] = profile['resources'] - mdata['fp_command'] = profile['command'] - mdata['fp_group_size'] = profile['group_size'] - #mdata['deepmd_path'] = profile['deepmd_path'] - continue_flag = True - except: - pass - if ("hostname" not in mdata["fp"][0]["machine"]) or (len(mdata["fp"]) == 1): - mdata["fp_machine"] = mdata["fp"][0]["machine"] - mdata["fp_resources"] = mdata["fp"][0]["resources"] - mdata["fp_command"] = mdata["fp"][0]["command"] - #if "group_size" in mdata["train"][0]: - mdata["fp_group_size"] = mdata["fp"][0]["group_size"] - continue_flag = True - - - pd_count_list =[] - pd_flag = False - if not continue_flag: - for machine_idx in range(len(mdata['fp'])): - temp_machine = mdata['fp'][machine_idx]['machine'] - temp_resources = mdata['fp'][machine_idx]['resources'] - temp_ssh_sess = SSHSession(temp_machine) - cwd = os.getcwd() - temp_context = SSHContext(cwd, temp_ssh_sess) - if temp_machine['machine_type'] == 'lsf': - temp_batch = LSF(temp_context) - else: - temp_batch = Slurm(temp_context) - # For other type of machines, please add them using 'elif'. - # Here slurm is selected as the final choice in convinience. - command = temp_batch._make_squeue(temp_machine, temp_resources) - ret, stdin, stdout, stderr = temp_batch.context.block_call(command) - pd_response = stdout.read().decode('utf-8').split("\n") - pd_count = len(pd_response) - temp_context.clean() - #dlog.info(temp_machine["username"] + " " + temp_machine["hostname"] + " " + str(pd_count)) - if pd_count ==0: - mdata['fp_machine'] = temp_machine - mdata['fp_resources'] = temp_resources - mdata['fp_command'] = mdata['fp'][machine_idx]['command'] - mdata['fp_group_size'] = mdata['fp'][machine_idx]['group_size'] - pd_flag = True - break - else: - pd_count_list.append(pd_count) - if not pd_flag: - min_machine_idx = np.argsort(pd_count_list)[0] - mdata['fp_machine'] = mdata['fp'][min_machine_idx]['machine'] - mdata['fp_resources'] = mdata['fp'][min_machine_idx]['resources'] - mdata['fp_command'] = mdata['fp'][min_machine_idx]['command'] - mdata['fp_group_size'] = mdata['fp'][min_machine_idx]['group_size'] - - with open("record.machine","w") as _outfile: - profile = {} - profile['purpose'] = 'fp' - profile['machine'] = mdata['fp_machine'] - profile['resources'] = mdata['fp_resources'] - profile['group_size'] = mdata['fp_group_size'] - profile['command'] = mdata['fp_command'] - json.dump(profile, _outfile, indent = 4) - return mdata - +#!/usr/bin/env python +# coding: utf-8 + +from dpgen.dispatcher.SSHContext import SSHSession +from dpgen.dispatcher.SSHContext import SSHContext +from dpgen.dispatcher.Slurm import Slurm +from dpgen.dispatcher.LSF import LSF +from dpgen import dlog +import os +import json +import numpy as np +from distutils.version import LooseVersion + +def decide_train_machine(mdata): + if LooseVersion(mdata.get('api_version', '0.9')) >= LooseVersion('1.0'): + mdata['train_group_size'] = mdata['train'][0]['resources']['group_size'] + if 'train' in mdata: + continue_flag = False + if 'record.machine' in os.listdir(): + try: + with open('record.machine', 'r') as _infile: + profile = json.load(_infile) + if profile['purpose'] == 'train': + mdata['train_machine'] = profile['machine'] + mdata['train_resources'] = profile['resources'] + + if 'python_path' in profile: + mdata['python_path'] = profile['python_path'] + if "group_size" in profile: + mdata["train_group_size"] = profile["group_size"] + if 'deepmd_version' in profile: + mdata["deepmd_version"] = profile['deepmd_version'] + if 'command' in profile: + mdata['train_command'] = profile["command"] + continue_flag = True + except: + pass + if ("hostname" not in mdata["train"][0]["machine"]) or (len(mdata["train"]) == 1): + mdata["train_machine"] = mdata["train"][0]["machine"] + mdata["train_resources"] = mdata["train"][0]["resources"] + + if 'python_path' in mdata["train"][0]: + mdata["python_path"] = mdata["train"][0]["python_path"] + if "group_size" in mdata["train"][0]: + mdata["train_group_size"] = mdata["train"][0]["group_size"] + if 'deepmd_version' in mdata["train"][0]: + mdata["deepmd_version"] = mdata["train"][0]["deepmd_version"] + if 'command' in mdata["train"][0]: + mdata["train_command"] = mdata["train"][0]["command"] + continue_flag = True + + pd_flag = False + pd_count_list =[] + # pd for pending job in slurm + # if we need to launch new machine_idxines + if not continue_flag: + + #assert isinstance(mdata['train']['machine'], list) + #assert isinstance(mdata['train']['resources'], list) + #assert len(mdata['train']['machine']) == len(mdata['train']['resources']) + # mdata['train'] is a list + for machine_idx in range(len(mdata['train'])): + temp_machine = mdata['train'][machine_idx]['machine'] + temp_resources = mdata['train'][machine_idx]['resources'] + temp_ssh_sess = SSHSession(temp_machine) + cwd = os.getcwd() + temp_context = SSHContext(cwd, temp_ssh_sess) + if temp_machine['machine_type'] == 'lsf': + temp_batch = LSF(temp_context) + else: + temp_batch = Slurm(temp_context) + # For other type of machines, please add them using 'elif'. + # Here slurm is selected as the final choice in convinience. + command = temp_batch._make_squeue(temp_machine, temp_resources) + ret, stdin, stdout, stderr = temp_batch.context.block_call(command) + pd_response = stdout.read().decode('utf-8').split("\n") + pd_count = len(pd_response) + temp_context.clean() + ## If there is no need to waiting for allocation + if pd_count ==1: + mdata['train_machine'] = temp_machine + mdata['train_resources'] = temp_resources + + if 'python_path' in mdata['train'][machine_idx]: + mdata['python_path'] = mdata['train'][machine_idx]['python_path'] + if 'group_size' in mdata['train'][machine_idx]: + mdata['train_group_size'] = mdata['train'][machine_idx]['group_size'] + if 'deepmd_version' in mdata['train'][machine_idx]: + mdata['deepmd_version'] = mdata['train'][machine_idx]['deepmd_version'] + if 'command' in mdata['train'][machine_idx]: + mdata['train_command'] = mdata['train'][machine_idx]['command'] + + ## No need to wait + pd_flag = True + break + else: + pd_count_list.append(pd_count) + if not pd_flag: + ## All machines need waiting, then compare waiting jobs + ## Select a machine which has fewest waiting jobs + min_machine_idx = np.argsort(pd_count_list)[0] + mdata['train_machine'] = mdata['train'][min_machine_idx]['machine'] + mdata['train_resources'] = mdata['train'][min_machine_idx]['resources'] + + if 'python_path' in mdata['train'][min_machine_idx]: + mdata['python_path'] = mdata['train'][min_machine_idx]['python_path'] + if "group_size" in mdata['train'][min_machine_idx]: + mdata["train_group_size"] = mdata['train'][min_machine_idx]["group_size"] + if 'deepmd_version' in mdata['train'][min_machine_idx]: + mdata['deepmd_version'] = mdata['train'][min_machine_idx]["deepmd_version"] + if 'command' in mdata['train'][min_machine_idx]: + mdata['train_command'] = mdata['train'][min_machine_idx]['command'] + + ## Record which machine is selected + with open("record.machine","w") as _outfile: + profile = {} + profile['purpose'] = 'train' + profile['machine'] = mdata['train_machine'] + profile['resources'] = mdata['train_resources'] + + if 'python_path' in mdata: + profile['python_path'] = mdata['python_path'] + if "train_group_size" in mdata: + profile["group_size"] = mdata["train_group_size"] + if 'deepmd_version' in mdata: + profile['deepmd_version'] = mdata['deepmd_version'] + if 'train_command' in mdata: + profile['command'] = mdata['train_command'] + + json.dump(profile, _outfile, indent = 4) + return mdata + +def decide_model_devi_machine(mdata): + if LooseVersion(mdata.get('api_version', '0.9')) >= LooseVersion('1.0'): + mdata['model_devi_group_size'] = mdata['model_devi'][0]['resources']['group_size'] + if 'model_devi' in mdata: + continue_flag = False + if 'record.machine' in os.listdir(): + try: + with open('record.machine', 'r') as _infile: + profile = json.load(_infile) + if profile['purpose'] == 'model_devi': + mdata['model_devi_machine'] = profile['machine'] + mdata['model_devi_resources'] = profile['resources'] + mdata['lmp_command'] = profile['command'] + mdata['model_devi_group_size'] = profile['group_size'] + continue_flag = True + except: + pass + if ("hostname" not in mdata["model_devi"][0]["machine"]) or (len(mdata["model_devi"]) == 1): + mdata["model_devi_machine"] = mdata["model_devi"][0]["machine"] + mdata["model_devi_resources"] = mdata["model_devi"][0]["resources"] + mdata["lmp_command"] = mdata["model_devi"][0]["command"] + #if "group_size" in mdata["train"][0]: + mdata["model_devi_group_size"] = mdata["model_devi"][0].get("group_size", 1) + continue_flag = True + + pd_count_list =[] + pd_flag = False + if not continue_flag: + + #assert isinstance(mdata['model_devi']['machine'], list) + #ssert isinstance(mdata['model_devi']['resources'], list) + #assert len(mdata['model_devi']['machine']) == len(mdata['model_devi']['resources']) + + for machine_idx in range(len(mdata['model_devi'])): + temp_machine = mdata['model_devi'][machine_idx]['machine'] + temp_resources = mdata['model_devi'][machine_idx]['resources'] + #assert isinstance(temp_machine, dict), "unsupported type of model_devi machine [%d]!" %machine_idx + #assert isinstance(temp_resources, dict), "unsupported type of model_devi resources [%d]!"%machine_idx + #assert temp_machine['machine_type'] == 'slurm', "Currently only support for Slurm!" + temp_ssh_sess = SSHSession(temp_machine) + cwd = os.getcwd() + temp_context = SSHContext(cwd, temp_ssh_sess) + if temp_machine['machine_type'] == 'lsf': + temp_batch = LSF(temp_context) + else: + temp_batch = Slurm(temp_context) + # For other type of machines, please add them using 'elif'. + # Here slurm is selected as the final choice in convinience. + command = temp_batch._make_squeue(temp_machine, temp_resources) + ret, stdin, stdout, stderr = temp_batch.context.block_call(command) + pd_response = stdout.read().decode('utf-8').split("\n") + pd_count = len(pd_response) + temp_context.clean() + if pd_count ==0: + mdata['model_devi_machine'] = temp_machine + mdata['model_devi_resources'] = temp_resources + mdata['lmp_command'] = mdata['model_devi'][machine_idx]['command'] + mdata['model_devi_group_size'] = mdata['model_devi'][machine_idx].get('group_size', 1) + pd_flag = True + break + else: + pd_count_list.append(pd_count) + if not pd_flag: + min_machine_idx = np.argsort(pd_count_list)[0] + mdata['model_devi_machine'] = mdata['model_devi'][min_machine_idx]['machine'] + mdata['model_devi_resources'] = mdata['model_devi'][min_machine_idx]['resources'] + mdata['lmp_command'] = mdata['model_devi'][min_machine_idx]['command'] + mdata['model_devi_group_size'] = mdata['model_devi'][min_machine_idx].get('group_size', 1) + with open("record.machine","w") as _outfile: + profile = {} + profile['purpose'] = 'model_devi' + profile['machine'] = mdata['model_devi_machine'] + profile['resources'] = mdata['model_devi_resources'] + profile['group_size'] = mdata['model_devi_group_size'] + profile['command'] = mdata['lmp_command'] + + json.dump(profile, _outfile, indent = 4) + return mdata +def decide_fp_machine(mdata): + if LooseVersion(mdata.get('api_version', '0.9')) >= LooseVersion('1.0'): + mdata['fp_group_size'] = mdata['fp'][0]['resources']['group_size'] + if 'fp' in mdata: + #ssert isinstance(mdata['fp']['machine'], list) + #assert isinstance(mdata['fp']['resources'], list) + #assert len(mdata['fp']['machine']) == len(mdata['fp']['resources']) + continue_flag = False + ## decide whether to use an existing machine + if 'record.machine' in os.listdir(): + try: + with open('record.machine', 'r') as _infile: + profile = json.load(_infile) + if profile['purpose'] == 'fp': + mdata['fp_machine'] = profile['machine'] + mdata['fp_resources'] = profile['resources'] + mdata['fp_command'] = profile['command'] + mdata['fp_group_size'] = profile['group_size'] + + continue_flag = True + except: + pass + if ("hostname" not in mdata["fp"][0]["machine"]) or (len(mdata["fp"]) == 1): + mdata["fp_machine"] = mdata["fp"][0]["machine"] + mdata["fp_resources"] = mdata["fp"][0]["resources"] + mdata["fp_command"] = mdata["fp"][0]["command"] + #if "group_size" in mdata["train"][0]: + mdata["fp_group_size"] = mdata["fp"][0].get("group_size", 1) + continue_flag = True + + + pd_count_list =[] + pd_flag = False + if not continue_flag: + for machine_idx in range(len(mdata['fp'])): + temp_machine = mdata['fp'][machine_idx]['machine'] + temp_resources = mdata['fp'][machine_idx]['resources'] + temp_ssh_sess = SSHSession(temp_machine) + cwd = os.getcwd() + temp_context = SSHContext(cwd, temp_ssh_sess) + if temp_machine['machine_type'] == 'lsf': + temp_batch = LSF(temp_context) + else: + temp_batch = Slurm(temp_context) + # For other type of machines, please add them using 'elif'. + # Here slurm is selected as the final choice in convinience. + command = temp_batch._make_squeue(temp_machine, temp_resources) + ret, stdin, stdout, stderr = temp_batch.context.block_call(command) + pd_response = stdout.read().decode('utf-8').split("\n") + pd_count = len(pd_response) + temp_context.clean() + #dlog.info(temp_machine["username"] + " " + temp_machine["hostname"] + " " + str(pd_count)) + if pd_count ==0: + mdata['fp_machine'] = temp_machine + mdata['fp_resources'] = temp_resources + mdata['fp_command'] = mdata['fp'][machine_idx]['command'] + mdata['fp_group_size'] = mdata['fp'][machine_idx].get('group_size', 1) + pd_flag = True + break + else: + pd_count_list.append(pd_count) + if not pd_flag: + min_machine_idx = np.argsort(pd_count_list)[0] + mdata['fp_machine'] = mdata['fp'][min_machine_idx]['machine'] + mdata['fp_resources'] = mdata['fp'][min_machine_idx]['resources'] + mdata['fp_command'] = mdata['fp'][min_machine_idx]['command'] + mdata['fp_group_size'] = mdata['fp'][min_machine_idx].get('group_size',1) + + with open("record.machine","w") as _outfile: + profile = {} + profile['purpose'] = 'fp' + profile['machine'] = mdata['fp_machine'] + profile['resources'] = mdata['fp_resources'] + profile['group_size'] = mdata['fp_group_size'] + profile['command'] = mdata['fp_command'] + json.dump(profile, _outfile, indent = 4) + return mdata + diff --git a/dpgen/tools/relabel.py b/dpgen/tools/relabel.py index 3cc3627f6..4b9cc3499 100755 --- a/dpgen/tools/relabel.py +++ b/dpgen/tools/relabel.py @@ -202,7 +202,7 @@ def create_tasks(target_folder, param_file, output, fp_json, verbose = True, num copy_pp_files(output, fp_pp_path, fp_pp_files) make_vasp_incar(fp_params, output) if fp_style == 'pwscf' : - copy_pp_files(output, fp_pp_path, fp_pp_files) + copy_pp_files(output, fp_pp_path, fp_pp_files) if fp_style == 'siesta' : copy_pp_files(output, fp_pp_path, fp_pp_files) for si in range(numb_sys) : diff --git a/examples/CH4-refact-dpdispatcher/CH4.POSCAR b/examples/CH4-refact-dpdispatcher/CH4.POSCAR new file mode 120000 index 000000000..2f9def780 --- /dev/null +++ b/examples/CH4-refact-dpdispatcher/CH4.POSCAR @@ -0,0 +1 @@ +../init/CH4.POSCAR \ No newline at end of file diff --git a/examples/CH4-refact-dpdispatcher/CH4_init_bulk.json b/examples/CH4-refact-dpdispatcher/CH4_init_bulk.json new file mode 120000 index 000000000..72cc77ef5 --- /dev/null +++ b/examples/CH4-refact-dpdispatcher/CH4_init_bulk.json @@ -0,0 +1 @@ +../init/ch4.json \ No newline at end of file diff --git a/examples/CH4-refact-dpdispatcher/INCAR_methane b/examples/CH4-refact-dpdispatcher/INCAR_methane new file mode 120000 index 000000000..b946fb7e5 --- /dev/null +++ b/examples/CH4-refact-dpdispatcher/INCAR_methane @@ -0,0 +1 @@ +../run/dp1.x-lammps-vasp/CH4/INCAR_methane \ No newline at end of file diff --git a/examples/CH4-refact-dpdispatcher/INCAR_methane.md b/examples/CH4-refact-dpdispatcher/INCAR_methane.md new file mode 120000 index 000000000..4c48cdd86 --- /dev/null +++ b/examples/CH4-refact-dpdispatcher/INCAR_methane.md @@ -0,0 +1 @@ +../init/INCAR_methane.md \ No newline at end of file diff --git a/examples/CH4-refact-dpdispatcher/INCAR_methane.rlx b/examples/CH4-refact-dpdispatcher/INCAR_methane.rlx new file mode 120000 index 000000000..e44202f43 --- /dev/null +++ b/examples/CH4-refact-dpdispatcher/INCAR_methane.rlx @@ -0,0 +1 @@ +../init/INCAR_methane.rlx \ No newline at end of file diff --git a/examples/CH4-refact-dpdispatcher/machine-ali-ehpc.json b/examples/CH4-refact-dpdispatcher/machine-ali-ehpc.json new file mode 100644 index 000000000..442ddb201 --- /dev/null +++ b/examples/CH4-refact-dpdispatcher/machine-ali-ehpc.json @@ -0,0 +1,75 @@ +{ + "api_version": "1.0", + "train": [ + { + "command": "dp", + "machine": { + "batch_type": "PBS", + "context_type": "SSHContext", + "local_root": "./", + "remote_root": "/home/fengbo/work_path_dpdispatcher_test", + "remote_profile": { + "hostname": "39.xxx.xx.xx", + "username": "fengbo" + } + }, + "resources": { + "number_node": 1, + "cpu_per_node": 4, + "gpu_per_node": 1, + "queue_name": "T4_4_15", + "group_size": 1, + "custom_flags":["#SBATCH --mem=32G"], + "strategy": {"if_cuda_multi_devices": true}, + "para_deg": 3, + "source_list": ["/home/fengbo/deepmd.1.2.4.env"] + } + } + ], + "model_devi":[ + { + "command": "lmp", + "machine":{ + "batch_type": "PBS", + "context_type": "SSHContext", + "local_root": "./", + "remote_root": "/home/fengbo/work_path_dpdispatcher_test", + "remote_profile": { + "hostname": "39.xxx.xx.xx", + "username": "fengbo" + } + }, + "resources": { + "number_node": 1, + "cpu_per_node": 4, + "gpu_per_node": 1, + "queue_name": "T4_4_15", + "group_size": 5, + "source_list": ["/home/fengbo/deepmd.1.2.4.env"] + } + } + ], + "fp":[ + { + "command": "vasp_std", + "machine":{ + "batch_type": "PBS", + "context_type": "SSHContext", + "local_root": "./", + "remote_root": "/home/fengbo/work_path_dpdispatcher_test", + "remote_profile": { + "hostname": "39.xxx.xx.xx", + "username": "fengbo" + } + }, + "resources": { + "number_node": 1, + "cpu_per_node": 32, + "gpu_per_node": 0, + "queue_name": "G_32_128", + "group_size": 1, + "source_list": ["~/vasp.env"] + } + } + ] +} diff --git a/examples/CH4-refact-dpdispatcher/machine-dpcloudserver.json b/examples/CH4-refact-dpdispatcher/machine-dpcloudserver.json new file mode 100644 index 000000000..ed3dfbad7 --- /dev/null +++ b/examples/CH4-refact-dpdispatcher/machine-dpcloudserver.json @@ -0,0 +1,126 @@ +{ + "api_version": "1.0", + "train" :[ + { + "command": "dp", + "machine": { + "batch_type": "DpCloudServer", + "context_type": "DpCloudServerContext", + "local_root" : "./", + "remote_profile":{ + "username": "yfb222333", + "password": "", + "input_data":{ + "job_type": "indicate", + "log_file": "dp_cloud_server.log", + "command": null, + "backward_files": [], + "job_name": "dpgen_20210630_job", + "machine": { + "platform": "ali", + "resources": { + "gpu_type": "1 * NVIDIA P100", + "cpu_num": 4, + "mem_limit": 30, + "disk_size": 100, + "region": "cn-beijing", + "time_limit": "2:00:00", + "image_name": "yfb-deepmd-kit-1.2.4-cuda10" + } + }, + "job_resources": null + } + } + }, + "resources": { + "number_node": 1, + "cpu_per_node": 4, + "gpu_per_node": 1, + "queue_name": "GPU", + "group_size": 1 + } + }], + "model_devi": + [{ + "command": "lmp -i input.lammps -v restart 0", + "machine": { + "batch_type": "DpCloudServer", + "context_type": "DpCloudServerContext", + "local_root" : "./", + "remote_profile":{ + "username": "yfb222333", + "password": "", + "input_data":{ + "job_type": "indicate", + "log_file": "dp_cloud_server.log", + "command": null, + "backward_files": [], + "job_name": "dpgen_20210630_job", + "machine": { + "platform": "ali", + "resources": { + "gpu_type": "1 * NVIDIA P100", + "cpu_num": 4, + "mem_limit": 30, + "disk_size": 100, + "region": "cn-beijing", + "time_limit": "2:00:00", + "image_name": "yfb-deepmd-kit-1.2.4-cuda10" + } + }, + "job_resources": null + } + } + }, + "resources": { + "number_node": 1, + "cpu_per_node": 4, + "gpu_per_node": 1, + "queue_name": "GPU", + "group_size": 5 + } + }], + "fp": + [{ + "command": "mpirun -n 16 vasp_std", + "machine": { + "batch_type": "DpCloudServer", + "context_type": "DpCloudServerContext", + "local_root" : "./", + "remote_profile":{ + "username": "yfb222333", + "password": "", + "input_data":{ + "job_type": "indicate", + "log_file": "dp_cloud_server.log", + "command": null, + "backward_files": [], + "job_name": "dpgen_20210630_job", + "machine": { + "platform": "ali", + "resources": { + "cpu_num": 32, + "mem_limit": 64, + "disk_size": 200, + "region": "cn-beijing", + "time_limit": "2:00:00", + "image_name": "deepmd-vasp-cloudserver-v8" + } + }, + "job_resources": null + } + } + }, + "resources": { + "number_node": 1, + "cpu_per_node": 32, + "gpu_per_node": 0, + "queue_name": "CPU", + "group_size": 5, + "source_list": [ + "/opt/intel/oneapi/setvars.sh" + ] + } + } + ] +} diff --git a/examples/CH4-refact-dpdispatcher/param_CH4_deepmd-kit-1.1.0.json b/examples/CH4-refact-dpdispatcher/param_CH4_deepmd-kit-1.1.0.json new file mode 120000 index 000000000..2916f7885 --- /dev/null +++ b/examples/CH4-refact-dpdispatcher/param_CH4_deepmd-kit-1.1.0.json @@ -0,0 +1 @@ +../run/dp1.x-lammps-vasp/CH4/param_CH4_deepmd-kit-1.1.0.json \ No newline at end of file diff --git a/examples/init/INCAR_methane.md b/examples/init/INCAR_methane.md new file mode 100644 index 000000000..a0e3ca29b --- /dev/null +++ b/examples/init/INCAR_methane.md @@ -0,0 +1,21 @@ +PREC=A +ENCUT=400 +ISYM=0 +ALGO=Fast +EDIFF=1.000000e-06 +LREAL=False +NPAR=4 +KPAR=1 +NELM=120 +NELMIN=4 +ISIF=2 +ISMEAR=0 +SIGMA=0.20000 +IBRION=0 +POTIM=0.5 +NSW=10 +LWAVE=F +LCHARG=F +PSTRESS=0 +KSPACING=0.500000 +KGAMMA=.FALSE. diff --git a/examples/init/INCAR_methane.rlx b/examples/init/INCAR_methane.rlx new file mode 100644 index 000000000..c40294fe7 --- /dev/null +++ b/examples/init/INCAR_methane.rlx @@ -0,0 +1,20 @@ +PREC=A +ENCUT=400 +ISYM=0 +ALGO=Fast +EDIFF=1.000000e-06 +LREAL=False +NPAR=4 +KPAR=1 +NELM=120 +NELMIN=4 +ISIF=2 +ISMEAR=0 +SIGMA=0.20000 +IBRION=2 +NSW=50 +LWAVE=F +LCHARG=F +PSTRESS=0 +KSPACING=0.500000 +KGAMMA=.FALSE. diff --git a/examples/init/ch4.json b/examples/init/ch4.json index 208bf9cd4..c1669cf4e 100644 --- a/examples/init/ch4.json +++ b/examples/init/ch4.json @@ -1,17 +1,17 @@ { + "stages": [1,2,3,4], "cell_type": "diamond", "super_cell": [1, 1, 1], "elements": ["H","C"], "from_poscar": true, - "from_poscar_path": "example/POSCAR", - "potcars": ["example/POTCAR" - ], - "relax_incar": "example/INCAR.rlx", - "md_incar" : "example/INCAR.md", + "from_poscar_path": "./CH4.POSCAR", + "potcars": ["./POTCAR_H", "./POTCAR_C"], + "relax_incar": "./INCAR_methane.rlx", + "md_incar" : "./INCAR_methane.md", "scale": [1.00], "skip_relax": false, "pert_numb": 30, - "md_nstep" : 10, + "md_nstep" : 10, "pert_box": 0.03, "pert_atom": 0.01, "deepgen_templ": "../generator/template/", diff --git a/examples/init/cu.surf.hcp.111.json b/examples/init/cu.surf.hcp.111.json new file mode 100644 index 000000000..00816e09d --- /dev/null +++ b/examples/init/cu.surf.hcp.111.json @@ -0,0 +1,56 @@ +{ + "_comments": "This is an example to generate Cu-hcp surface configurations.", + "_comments": "This example is used in Computer Physics Communications, 2020, 107206.", + "_comments" : "Last modified on 2019.8.27 by Yuzhi Zhang.", + "stages": [ + 1, + 2 + ], + "cell_type": "hcp", + "latt": 3.63, + "super_cell": [ + 1, + 1, + 1 + ], + "z_min": 10, + "vacuum_max": 10, + "vacuum_resol": [ + 0.5, + 1 + ], + "mid_point": 4.0, + "millers": [ + [ + 1, + 0, + 0 + ], + [ + 1, + 1, + 0 + ], + [ + 0, + 0, + 1 + ] + ], + "elements": [ + "Cu" + ], + "potcars": [ + "PATH/POTCAR" + ], + "relax_incar" : "PATH/INCAR_surf_rlx", + "scale": [ + 0.96,0.98, 1.0,1.02, 1.04, 1.06 + ], + "skip_relax": false, + "pert_numb": 20, + "pert_box": 0.03, + "pert_atom": 0.01, + "lmp_cmd" : "PATH/lmp_serial", + "_comment": "that's all" +} diff --git a/examples/machine/DeePMD-kit-1.0/machine-ali.json b/examples/machine/DeePMD-kit-1.x/machine-ali.json similarity index 96% rename from examples/machine/DeePMD-kit-1.0/machine-ali.json rename to examples/machine/DeePMD-kit-1.x/machine-ali.json index e539ee74e..a2a338af4 100644 --- a/examples/machine/DeePMD-kit-1.0/machine-ali.json +++ b/examples/machine/DeePMD-kit-1.x/machine-ali.json @@ -4,7 +4,7 @@ "machine": { "batch": "shell", "hostname": "", - "password": "975481DING!", + "password": "PASSWORD", "port": 22, "username": "root", "work_path": "/root/dpgen_work", @@ -42,7 +42,7 @@ "machine": { "batch": "shell", "hostname": "", - "password": "975481DING!", + "password": "PASSWORD", "port": 22, "username": "root", "work_path": "/root/dpgen_work", @@ -79,7 +79,7 @@ "machine": { "batch": "shell", "hostname": "", - "password": "975481DING!", + "password": "PASSWORD", "port": 22, "username": "root", "work_path": "/root/dpgen_work", diff --git a/examples/machine/DeePMD-kit-1.0/machine-local.json b/examples/machine/DeePMD-kit-1.x/machine-local.json similarity index 94% rename from examples/machine/DeePMD-kit-1.0/machine-local.json rename to examples/machine/DeePMD-kit-1.x/machine-local.json index 6281b5bc5..5c356baef 100644 --- a/examples/machine/DeePMD-kit-1.0/machine-local.json +++ b/examples/machine/DeePMD-kit-1.x/machine-local.json @@ -1,7 +1,7 @@ { "_comment": "training on localhost ", "_comment" : "This is for DeePMD-kit 1.*", - "python_path": "/home/wanghan/local/deepmd/1.*/python", + "train_command" : "/home/wanghan/local/deepmd/1.*/dp", "train_machine": { "batch": "shell", "work_path" : "/home/wanghan/tmp/subs/" diff --git a/examples/machine/DeePMD-kit-1.x/machine-lsf-slurm-cp2k.json b/examples/machine/DeePMD-kit-1.x/machine-lsf-slurm-cp2k.json new file mode 100644 index 000000000..b56d022ec --- /dev/null +++ b/examples/machine/DeePMD-kit-1.x/machine-lsf-slurm-cp2k.json @@ -0,0 +1,91 @@ +{ + "train": [ + { + "machine": { + "machine_type": "slurm", + "hostname": "210.34.15.205", + "port": 22, + "username": "ybzhuang", + "work_path": "/home/ybzhuang/workdir" + }, + "resources": { + "numb_gpu": 1, + "numb_node": 1, + "task_per_node": 1, + "partition": "gpu", + "job_name": "train", + "qos":"emergency", + "exclude_list": [], + "source_list": [ + ], + "module_list": [ + "deepmd/1.2" + ], + "time_limit": "96:0:0", + "submit_wait_time": 60 + }, + "python_path": "/share/apps/deepmd/compress/bin/python3.8" + } + ], + "model_devi": [ + { + "machine": { + "machine_type": "slurm", + "hostname": "210.34.15.205", + "port": 22, + "username": "ybzhuang", + "work_path": "/home/ybzhuang/workdir" + }, + "resources": { + "numb_gpu": 1, + "numb_node": 1, + "task_per_node": 1, + "partition": "gpu", + "job_name": "md", + "qos":"emergency", + "exclude_list": [], + "source_list": [ + ], + "module_list": [ + "deepmd/1.2" + ], + "time_limit": "96:0:0", + "submit_wait_time": 60 + }, + "command": "lmp_mpi", + "group_size": 5 + } + ], + "fp": [ + { + "machine": { + "machine_type": "lsf", + "hostname": "localhost", + "port": 6666, + "username": "ybzhuang", + "work_path": "/data/ybzhuang/methane-dpgen/dpgen-tutorial-2020-08-23/dpgen-tutorial-mathane/workpath" + }, + "resources": { + "cvasp": false, + "task_per_node": 32, + "numb_node": 1, + "node_cpu": 32, + "exclude_list": [], + "with_mpi": true, + "source_list": [ + ], + "module_list": [ + "intel/17.5.239", + "mpi/intel/2017.5.239", + "gcc/5.5.0", + "cp2k/7.1" + ], + "time_limit": "12:00:00", + "partition": "53-medium", + "_comment": "that's Bel" + }, + "command": "cp2k.popt -i input.inp", + "group_size": 50 + } + ] +} diff --git a/examples/machine/DeePMD-kit-1.0/machine-pbs-gaussian.json b/examples/machine/DeePMD-kit-1.x/machine-pbs-gaussian.json similarity index 91% rename from examples/machine/DeePMD-kit-1.0/machine-pbs-gaussian.json rename to examples/machine/DeePMD-kit-1.x/machine-pbs-gaussian.json index c08363148..25cb48349 100644 --- a/examples/machine/DeePMD-kit-1.0/machine-pbs-gaussian.json +++ b/examples/machine/DeePMD-kit-1.x/machine-pbs-gaussian.json @@ -1,9 +1,9 @@ { "_comment": "training on localhost ", - "python_path": "/gpfs/home/tzhu/anaconda3/envs/python3.6/bin/python", + "train_command": "/gpfs/home/tzhu/anaconda3/envs/python3.6/bin/dp", "train_machine": { "machine_type": "lsf", - "hostname" : "59.78.197.77", + "hostname" : "xxx.xxx.xxx.xxx", "port" : 22, "username": "tzhu", "work_path" : "/gpfs/home/tzhu/jzzeng/dpgen_workdir", @@ -31,7 +31,7 @@ "model_devi_group_size": 1, "model_devi_machine": { "machine_type": "lsf", - "hostname" : "59.78.197.77", + "hostname" : "xxx.xxx.xxx.xxx", "port" : 22, "username": "tzhu", "work_path" : "/gpfs/home/tzhu/jzzeng/dpgen_workdir", @@ -58,7 +58,7 @@ "fp_group_size": 1, "fp_machine": { "machine_type": "pbs", - "hostname" : "59.78.189.132", + "hostname" : "xxx.xxx.xxx.xxx", "port" : 2323, "username": "tzhu", "work_path" : "/public/home/tzhu/jzzeng/dpgen_workdir", diff --git a/examples/machine/DeePMD-kit-1.x/machine-slurm-qe.json b/examples/machine/DeePMD-kit-1.x/machine-slurm-qe.json new file mode 100644 index 000000000..22a3fdbbd --- /dev/null +++ b/examples/machine/DeePMD-kit-1.x/machine-slurm-qe.json @@ -0,0 +1,117 @@ + { + "_comment" : "This is an example of DP-GEN on Slurm", + "_comment" : "Last updated on 2021.4.30 for DP-GEN 0.9.2 by Yuzhi Zhang", + "train" :[ + { + "_comment" : "Specify the installed path of DeePMD-kit", + "_comment" : "The version of DeePMD-kit should be 1.*", + "command": "PATH_TO_DEEPMD/dp", + "_comment" : "Specify machine settings", + "machine": { + "_comment" : "Supported batches include slurm, pbs, shell, lsf.", + "batch": "slurm", + "_comment" : "If your jobs are executed on a local workstation, you can let hostname be localhost.", + "_comment" : "Otherwise you should provide the IP of machine you want to connect via ssh.", + "hostname": "localhost", + "_comment" : "The port for connection, most common settings is 22", + "port": 22, + "_comment" : "Specify your username. Sometimes you may need specify password. Exactly the name of key is password. ", + "username": "USERNAME", + "_comment" : "Specify where you want your job executes, all of tasks will be sent to work_path on this machine.", + "_comment" : "You should alwasy make sure that directory of work_path exits. ", + "work_path": "PATH_TO_WORK", + "_comment": "that's all" + }, + "resources": { + "_comment" : "The number of nodes. This will generate #SBATCH -N 1 in your script. ", + "numb_node": 1, + "_comment" : "The number of GPU cards. #SBATCH --gres=gpu:1", + "numb_gpu": 1, + "_comment" : "The number of CPUs. #SBATCH -n 4", + "task_per_node": 4, + "_comment" : "Partition. #SBATCH -p all", + "partition": "all", + "_comment" : "Memory limit. #SBATCH --mem=16G", + "mem_limit": 16, + "_comment" : "Nodelist to be excluded. #SBATCH --exclude=gpu06,gpu07", + "exclude_list": [ + "gpu06", + "gpu07" + ], + "_comment" : "Environment to be activated. This will generate source PATH/train_new.env . ", + "source_list": [ + "PATH/train_new.env" + ], + "_comment" : " Module is a common tools on HPC clustes to manage softwares for multiple users.", + "_comment" : "Modules to be loaded. This will generate module load intel", + "module_list": ["intel"], + "_comment" : "Time limit. ", + "time_limit": "23:0:0", + "_comment": "that's all" + } + } + ], + + "model_devi": [ + { + "machine": { + "machine_type": "slurm", + "hostname": "localhost", + "port": 22, + "username": "USERNAME", + "work_path": "PATH_TO_WORK", + "_comment": "that's all" + }, + "resources": { + "numb_node": 1, + "numb_gpu": 1, + "task_per_node": 4, + "partition": "all", + "mem_limit": 16, + "exclude_list": [ + + ], + "source_list": [ + "PATH/lmp_new.env" + ], + "module_list": [], + "time_limit": "23:0:0", + "_comment": "that's all" + }, + "command": "lmp_serial", + "_comment" : "DP-GEN will put 5 tasks together in one submitting script.", + "group_size": 5 + } + ], + "fp": + [ + { + "machine": { + "machine_type": "slurm", + "hostname": "xxx.xxx.xxx.xxx", + "port": 22, + "username": "USERNAME", + "work_path": "PATH_TO_WORK" + }, + "resources": { + "task_per_node": 8, + "numb_gpu": 0, + "exclude_list": [], + "_comment" : "If you set with_mpi to true, the defaulted parallelling command of Slurm, srun, will be appended as prefix.", + "_comment" : "If you do not want this, you can set with_mpi to false, and specify parallelling command yourself. ", + "_comment" : "Notice that in json format, the upper/lower case is strict. You should write true instead of True and false instead of False", + "with_mpi": false, + "source_list": [ + ], + "module_list": [ + "mpich/3.2.1-intel-2017.1" + ], + "time_limit": "120:0:0", + "partition": "C032M0128G", + "_comment": "that's all" + }, + "command": "mpirun -n 8 /gpfs/share/home/1600017784/yuzhi/soft/QE-mpi/PW/src/pw.x < input", + "group_size": 1 + } + ] +} diff --git a/examples/machine/DeePMD-kit-0.12/machine-aws.json b/examples/machine/deprecated/DeePMD-kit-0.12/machine-aws.json similarity index 100% rename from examples/machine/DeePMD-kit-0.12/machine-aws.json rename to examples/machine/deprecated/DeePMD-kit-0.12/machine-aws.json diff --git a/examples/machine/DeePMD-kit-0.12/machine-local.json b/examples/machine/deprecated/DeePMD-kit-0.12/machine-local.json similarity index 100% rename from examples/machine/DeePMD-kit-0.12/machine-local.json rename to examples/machine/deprecated/DeePMD-kit-0.12/machine-local.json diff --git a/examples/machine/DeePMD-kit-0.12/machine-lsf.json b/examples/machine/deprecated/DeePMD-kit-0.12/machine-lsf.json similarity index 100% rename from examples/machine/DeePMD-kit-0.12/machine-lsf.json rename to examples/machine/deprecated/DeePMD-kit-0.12/machine-lsf.json diff --git a/examples/machine/DeePMD-kit-0.12/machine-slurm-vasp-multi.json b/examples/machine/deprecated/DeePMD-kit-0.12/machine-slurm-vasp-multi.json similarity index 100% rename from examples/machine/DeePMD-kit-0.12/machine-slurm-vasp-multi.json rename to examples/machine/deprecated/DeePMD-kit-0.12/machine-slurm-vasp-multi.json diff --git a/examples/machine/DeePMD-kit-0.12/machine-slurm-vasp-multi.yaml b/examples/machine/deprecated/DeePMD-kit-0.12/machine-slurm-vasp-multi.yaml similarity index 100% rename from examples/machine/DeePMD-kit-0.12/machine-slurm-vasp-multi.yaml rename to examples/machine/deprecated/DeePMD-kit-0.12/machine-slurm-vasp-multi.yaml diff --git a/examples/machine/DeePMD-kit-0.12/machine-slurm-vasp-single.json b/examples/machine/deprecated/DeePMD-kit-0.12/machine-slurm-vasp-single.json similarity index 100% rename from examples/machine/DeePMD-kit-0.12/machine-slurm-vasp-single.json rename to examples/machine/deprecated/DeePMD-kit-0.12/machine-slurm-vasp-single.json diff --git a/examples/machine/DeePMD-kit-0.12/machine-slurm-vasp-single.yaml b/examples/machine/deprecated/DeePMD-kit-0.12/machine-slurm-vasp-single.yaml similarity index 100% rename from examples/machine/DeePMD-kit-0.12/machine-slurm-vasp-single.yaml rename to examples/machine/deprecated/DeePMD-kit-0.12/machine-slurm-vasp-single.yaml diff --git a/examples/machine/bk/machine-hnu.json b/examples/machine/deprecated/machine-hnu.json similarity index 100% rename from examples/machine/bk/machine-hnu.json rename to examples/machine/deprecated/machine-hnu.json diff --git a/examples/machine/bk/machine-tiger-pwscf-della.json b/examples/machine/deprecated/machine-tiger-pwscf-della.json similarity index 100% rename from examples/machine/bk/machine-tiger-pwscf-della.json rename to examples/machine/deprecated/machine-tiger-pwscf-della.json diff --git a/examples/machine/bk/machine-tiger-vasp-della.json b/examples/machine/deprecated/machine-tiger-vasp-della.json similarity index 100% rename from examples/machine/bk/machine-tiger-vasp-della.json rename to examples/machine/deprecated/machine-tiger-vasp-della.json diff --git a/examples/machine/bk/machine-tiger.json b/examples/machine/deprecated/machine-tiger.json similarity index 100% rename from examples/machine/bk/machine-tiger.json rename to examples/machine/deprecated/machine-tiger.json diff --git a/examples/machine/bk/machine-ucloud.json b/examples/machine/deprecated/machine-ucloud.json similarity index 100% rename from examples/machine/bk/machine-ucloud.json rename to examples/machine/deprecated/machine-ucloud.json diff --git a/examples/run/dp-lammps-cp2k/CH4/param_CH4.json b/examples/run/deprecated/dp0.12-lammps-cp2k/CH4/param_CH4.json similarity index 100% rename from examples/run/dp-lammps-cp2k/CH4/param_CH4.json rename to examples/run/deprecated/dp0.12-lammps-cp2k/CH4/param_CH4.json diff --git a/examples/run/dp-lammps-cp2k/CH4/param_CH4.yaml b/examples/run/deprecated/dp0.12-lammps-cp2k/CH4/param_CH4.yaml similarity index 100% rename from examples/run/dp-lammps-cp2k/CH4/param_CH4.yaml rename to examples/run/deprecated/dp0.12-lammps-cp2k/CH4/param_CH4.yaml diff --git a/examples/run/dp-lammps-pwmat/machine-slurm-pwmat-single.json b/examples/run/deprecated/dp0.12-lammps-pwmat/machine-slurm-pwmat-single.json similarity index 100% rename from examples/run/dp-lammps-pwmat/machine-slurm-pwmat-single.json rename to examples/run/deprecated/dp0.12-lammps-pwmat/machine-slurm-pwmat-single.json diff --git a/examples/run/dp-lammps-pwmat/param_CH4.json b/examples/run/deprecated/dp0.12-lammps-pwmat/param_CH4.json similarity index 100% rename from examples/run/dp-lammps-pwmat/param_CH4.json rename to examples/run/deprecated/dp0.12-lammps-pwmat/param_CH4.json diff --git a/examples/run/dp-lammps-siesta/dp-lammps-siesta/CH4/param_CH4.json b/examples/run/deprecated/dp0.12-lammps-siesta/dp-lammps-siesta/CH4/param_CH4.json similarity index 100% rename from examples/run/dp-lammps-siesta/dp-lammps-siesta/CH4/param_CH4.json rename to examples/run/deprecated/dp0.12-lammps-siesta/dp-lammps-siesta/CH4/param_CH4.json diff --git a/examples/run/dp-lammps-siesta/dp-lammps-siesta/CH4/param_CH4.yaml b/examples/run/deprecated/dp0.12-lammps-siesta/dp-lammps-siesta/CH4/param_CH4.yaml similarity index 100% rename from examples/run/dp-lammps-siesta/dp-lammps-siesta/CH4/param_CH4.yaml rename to examples/run/deprecated/dp0.12-lammps-siesta/dp-lammps-siesta/CH4/param_CH4.yaml diff --git a/examples/run/dp-lammps-vasp/Al/param_al_all_gpu.json b/examples/run/deprecated/dp0.12-lammps-vasp/Al/param_al_all_gpu.json similarity index 100% rename from examples/run/dp-lammps-vasp/Al/param_al_all_gpu.json rename to examples/run/deprecated/dp0.12-lammps-vasp/Al/param_al_all_gpu.json diff --git a/examples/run/dp-lammps-vasp/Al/param_al_all_gpu.yaml b/examples/run/deprecated/dp0.12-lammps-vasp/Al/param_al_all_gpu.yaml similarity index 100% rename from examples/run/dp-lammps-vasp/Al/param_al_all_gpu.yaml rename to examples/run/deprecated/dp0.12-lammps-vasp/Al/param_al_all_gpu.yaml diff --git a/examples/run/dp-lammps-vasp/CH4/param_CH4.json b/examples/run/deprecated/dp0.12-lammps-vasp/CH4/param_CH4.json similarity index 100% rename from examples/run/dp-lammps-vasp/CH4/param_CH4.json rename to examples/run/deprecated/dp0.12-lammps-vasp/CH4/param_CH4.json diff --git a/examples/run/dp-lammps-vasp/CH4/param_CH4.yaml b/examples/run/deprecated/dp0.12-lammps-vasp/CH4/param_CH4.yaml similarity index 100% rename from examples/run/dp-lammps-vasp/CH4/param_CH4.yaml rename to examples/run/deprecated/dp0.12-lammps-vasp/CH4/param_CH4.yaml diff --git a/examples/run/bk/param-h2oscan-vasp.json b/examples/run/deprecated/param-h2oscan-vasp.json similarity index 100% rename from examples/run/bk/param-h2oscan-vasp.json rename to examples/run/deprecated/param-h2oscan-vasp.json diff --git a/examples/run/bk/param-mg-vasp-ucloud.json b/examples/run/deprecated/param-mg-vasp-ucloud.json similarity index 100% rename from examples/run/bk/param-mg-vasp-ucloud.json rename to examples/run/deprecated/param-mg-vasp-ucloud.json diff --git a/examples/run/bk/param-mg-vasp.json b/examples/run/deprecated/param-mg-vasp.json similarity index 100% rename from examples/run/bk/param-mg-vasp.json rename to examples/run/deprecated/param-mg-vasp.json diff --git a/examples/run/bk/param-pyridine-pwscf.json b/examples/run/deprecated/param-pyridine-pwscf.json similarity index 100% rename from examples/run/bk/param-pyridine-pwscf.json rename to examples/run/deprecated/param-pyridine-pwscf.json diff --git a/examples/run/dp-lammps-enhance_sampling/lmp/input.lammps b/examples/run/dp-lammps-enhance_sampling/lmp/input.lammps new file mode 100644 index 000000000..05af2c07e --- /dev/null +++ b/examples/run/dp-lammps-enhance_sampling/lmp/input.lammps @@ -0,0 +1,41 @@ +variable NSTEPS equal V_NSTEPS +variable TEMP equal V_TEMP +variable PRES equal V_PRES +variable THERMO_FREQ equal 10 +variable DUMP equal 10 +variable TAU_T equal 0.100000 +variable TAU_P equal 0.500000 + + +#Initialization +units metal +dimension 3 +atom_style atomic + + +read_data conf.lmp +mass 1 12.011 +mass 2 1.008 + + +#Interatomic potentials - DeepMD +pair_style deepmd +pair_coeff + + +#MD parameters +timestep 0.0005 #ps +velocity all create ${TEMP} 1815191 mom yes rot yes dist gaussian + +#Run MD - equil at 300K +run_style verlet #Velocity verlet +fix dpgen_plm +fix 1 all nvt temp ${TEMP} ${TEMP} 0.1 #NH thermostat - 300K with 100 fs frequency +fix 2 all momentum 1 linear 0 0 0 #Remove total linear momentum of the system at each step +fix 3 all recenter INIT INIT INIT +thermo_style custom step temp pe etotal press #Setting printing +thermo ${THERMO_FREQ} #Ouputing thermodynamic properties +dump dpgen_dump +#dump 2 all custom 100 vel.xyz id type vx vy vz +run ${NSTEPS} #25 ps + diff --git a/examples/run/dp-lammps-enhance_sampling/lmp/input.plumed b/examples/run/dp-lammps-enhance_sampling/lmp/input.plumed new file mode 100644 index 000000000..3af865be6 --- /dev/null +++ b/examples/run/dp-lammps-enhance_sampling/lmp/input.plumed @@ -0,0 +1,20 @@ +UNITS LENGTH=A TIME=0.0005 #Amstroeng, hartree, fs +#RESTART + +ene: ENERGY +phi: TORSION ATOMS=5,1,2,8 + +METAD ... + LABEL=metad + ARG=phi + PACE=50 + HEIGHT=1.0 + SIGMA=0.1 + FILE=HILLS + BIASFACTOR=20 + TEMP=V_TEMP +... METAD + + +PRINT STRIDE=V_STRIDE FILE=COLVAR ARG=phi,metad.*,ene +FLUSH STRIDE=V_STRIDE diff --git a/examples/run/dp-lammps-enhance_sampling/param.json b/examples/run/dp-lammps-enhance_sampling/param.json new file mode 100644 index 000000000..72c1a3035 --- /dev/null +++ b/examples/run/dp-lammps-enhance_sampling/param.json @@ -0,0 +1,127 @@ +{ + "type_map": ["C", "H"], + "mass_map": [12.0, 1.0], + + "_comment": "initial data set for Training and the number of frames in each training batch", + "init_data_prefix": "someplace/tutorial-dpgen-enhance", + "init_data_sys": [ + "raw_file" + ], + "init_batch_size": [ + 4 + ], + + "_comment": "configurations for starting MD in Exploration and batch sizes when traning snapshots derived from these configs (if they were selected)", + "sys_configs_prefix": "someplace/tutorial-dpgen-enhance", + "sys_configs": [ + [ + "configs/POSCAR_[0-9]" + ], + [ + "configs/POSCAR_0" + ] + ], + + "_comment": " 00.train ", + "numb_models": 4, + "training_init_model": true, + "training_reuse_iter": 1, + "training_reuse_old_ratio": 0.2, + "training_reuse_stop_batch": 100000, + "training_reuse_start_lr": 0.0001, + "training_reuse_start_pref_e": 0.1, + "training_reuse_start_pref_f": 200, + "default_training_param": { + "model": { + "type_map": ["C","H"], + "descriptor": { + "type": "se_a", + "sel": [2,6], + "rcut_smth": 0.5, + "rcut": 5.0, + "neuron": [20,40,80], + "resnet_dt": false, + "axis_neuron": 6, + "seed": 0 + }, + "fitting_net": { + "neuron": [120,120,120], + "resnet_dt": true, + "coord_norm": true, + "type_fitting_net": false, + "seed": 0 + } + }, + "loss": { + "start_pref_e": 0.02, + "limit_pref_e": 1, + "start_pref_f": 1000, + "limit_pref_f": 1, + "start_pref_v": 0, + "limit_pref_v": 0 + }, + "learning_rate": { + "type": "exp", + "start_lr": 0.001, + "decay_steps": 500, + "decay_rate": 0.95 + }, + "training": { + "systems": [], + "set_prefix": "set", + "stop_batch": 200000, + "batch_size": 1, + "seed": 1, + "_comment": "frequencies counted in batch", + "disp_file": "lcurve.out", + "disp_freq": 100, + "numb_test": 10, + "save_freq": 1000, + "save_ckpt": "model.ckpt", + "load_ckpt": "model.ckpt", + "disp_training": true, + "time_training": true, + "profiling": false, + "profiling_file": "timeline.json" + } + }, + + "_comment": " 01.model_devi ", + "model_devi_dt": 0.0005, + "model_devi_skip": 0, + "model_devi_f_trust_lo": 0.08, + "model_devi_f_trust_hi": 0.25, + "model_devi_clean_traj": false, + "model_devi_plumed" : true, + "model_devi_jobs": [ + { "sys_idx": [0],"traj_freq": 10,"_idx": "00", + "template":{ "lmp": "lmp/input.lammps", "plm": "lmp/input.plumed" }, + "rev_mat":{ "lmp": {"V_NSTEPS": [20000], "V_TEMP": [300], "V_PRES": [1]}, + "plm": {"V_TEMP": [300], "V_STRIDE": [10]} + } + }, + { "sys_idx": [0],"traj_freq": 10,"_idx": "01", + "template":{ "lmp": "lmp/input.lammps", "plm": "lmp/input.plumed" }, + "rev_mat":{ "lmp": {"V_NSTEPS": [50000], "V_TEMP": [300], "V_PRES": [1]}, + "plm": {"V_TEMP": [300], "V_STRIDE": [10]} + } + }, + { "sys_idx": [1],"traj_freq": 10,"_idx": "01", + "template":{ "lmp": "lmp/input.lammps", "plm": "lmp/input.plumed" }, + "rev_mat":{ "lmp": {"V_NSTEPS": [300000], "V_TEMP": [300], "V_PRES": [1]}, + "plm": {"V_TEMP": [300], "V_STRIDE": [10]} + } + } + ], + + "_comment": " 02.fp ", + "fp_style": "vasp", + "shuffle_poscar": false, + "fp_task_max": 150, + "_comment": "the maximum number of stcs to calc.", + "fp_task_min": 5, + "fp_pp_path": "./", + "fp_pp_files": ["POTCAR_C", "POTCAR_H"], + "fp_incar" : "INCAR", + "_comment": " that's all " +} diff --git a/examples/run/dp1.x-gromacs-gaussian/param.json b/examples/run/dp1.x-gromacs-gaussian/param.json new file mode 100644 index 000000000..0d6b0c499 --- /dev/null +++ b/examples/run/dp1.x-gromacs-gaussian/param.json @@ -0,0 +1,179 @@ +{ + "type_map": [ + "H", + "C", + "N", + "O", + "Cl" + ], + "mass_map": [ + 2, + 12, + 14, + 16, + 35 + ], + "init_data_prefix": "somplace/tyk2-dpgen", + "init_data_sys": ["init_data", "mdtraj_data"], + "init_multi_systems": true, + "sys_configs_prefix": "somplace/tyk2-dpgen", + "sys_configs": [ + ["model_devi/lig_ejm_31"], + ["model_devi/lig_ejm_42"], + ["model_devi/lig_ejm_43"], + ["model_devi/lig_ejm_44"], + ["model_devi/lig_ejm_45"], + ["model_devi/lig_ejm_46"], + ["model_devi/lig_ejm_47"], + ["model_devi/lig_ejm_48"], + ["model_devi/lig_ejm_49"], + ["model_devi/lig_ejm_50"], + ["model_devi/lig_ejm_54"], + ["model_devi/lig_ejm_55"], + ["model_devi/lig_jmc_27"], + ["model_devi/lig_jmc_28"], + ["model_devi/lig_jmc_30"] + ], + "sys_format": "gromacs/gro", + "numb_models": 4, + "training_reuse_iter": 1, + "training_reuse_old_ratio": 0.3, + "training_reuse_start_lr": 0.0001, + "training_reuse_decay_steps": 500, + "training_reuse_stop_batch": 200000, + "training_reuse_start_pref_e": 1, + "training_reuse_start_pref_f": 100, + "train_param": "input.json", + "default_training_param": { + "model": { + "type_map": [ + "H", + "C", + "N", + "O", + "Cl" + ], + "descriptor": { + "type": "se_a", + "sel": [ + 40, + 48, + 48, + 48, + 48 + ], + "rcut_smth": 0.50, + "rcut": 6.00, + "neuron": [ + 25, + 50, + 100 + ], + "resnet_dt": false, + "axis_neuron": 16, + "type_one_side": true + }, + "fitting_net": { + "neuron": [ + 60, + 60, + 60 + ], + "resnet_dt": true + } + }, + "learning_rate": { + "type": "exp", + "start_lr": 0.001, + "decay_steps": 2000, + "decay_rate": 0.95 + }, + "loss": { + "start_pref_e": 0.02, + "limit_pref_e": 8, + "start_pref_f": 1000, + "limit_pref_f": 1, + "start_pref_v": 0, + "limit_pref_v": 0, + "start_pref_pf": 0, + "limit_pref_pf": 0 + }, + "training": { + "set_prefix": "set", + "stop_batch": 1000000, + "disp_file": "lcurve.out", + "disp_freq": 1000, + "numb_test": 1, + "save_freq": 1000, + "save_ckpt": "model.ckpt", + "load_ckpt": "model.ckpt", + "disp_training": true, + "time_training": true, + "profiling": false, + "profiling_file": "timeline.json" + } + }, + "model_devi_engine": "gromacs", + "gromacs_settings": { + "mdp_filename": "md.mdp", + "topol_filename": "processed.top", + "conf_filename": "npt.gro", + "index_filename": "index.raw", + "ref_filename": "em.tpr", + "model_devi_script": "model_devi.py", + "traj_filename": "deepmd_traj.gro" + }, + "model_devi_dt": 0.001, + "model_devi_f_trust_lo": 0.20, + "model_devi_f_trust_hi": 0.40, + "model_devi_e_trust_lo": 1e10, + "model_devi_e_trust_hi": 1e10, + "model_devi_clean_traj": false, + "model_devi_skip": 0, + "model_devi_nopbc": true, + "model_devi_activation_func": [ + "tanh", + "tanh", + "gelu", + "gelu" + ], + "model_devi_jobs": [ + { + "_idx": 0, + "ensemble": "nvt", + "nsteps": 5000, + "press": [], + "sys_idx": [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 14 + ], + "temps": [], + "trj_freq": 10, + "_comment": "trj_freq should be consistent with nstxout in mdp" + } + ], + "fp_style": "gaussian", + "shuffle_poscar": false, + "fp_task_max": 20, + "fp_task_min": 1, + "fp_pp_path": "./", + "fp_pp_files": [], + "fp_params": { + "keywords": "force m062x/6-31g(d) nosymm", + "nproc": 16, + "multiplicity": "auto" + } +} diff --git a/examples/run/dp1.x-lammps-ABACUS-pw/methane/machine.json b/examples/run/dp1.x-lammps-ABACUS-pw/methane/machine.json new file mode 100644 index 000000000..292d05e3b --- /dev/null +++ b/examples/run/dp1.x-lammps-ABACUS-pw/methane/machine.json @@ -0,0 +1,88 @@ +{ + "train":[ + { + "machine":{ + "machine_type": "slurm", + "host_name": "localhost", + "port": 22, + "username": "", + "work_path": "/home/mhchen_pkuhpc/mhchen_cls/lustre2/5_liurenxi/5_ABACUS_dpgen_interface/5_dpgen_examples/dpgen-example/run_abacus" + }, + + "resources":{ + "numb_node": 1, + "numb_gpu": 1, + "task_per_node": 1, + "partition": "", + "exclude_list": [], + "mem_limit": 0, + "source_list": ["/home/mhchen_pkuhpc/mhchen_cls/lustre2/5_liurenxi/5_ABACUS_dpgen_interface/env.sh"], + "module_list": [], + "time_limit": "23:0:0", + "account":"", + "qos": "" + }, + "python_path": "/home/mhchen_pkuhpc/mhchen_cls/lustre2/5_liurenxi/5_dpgen_interface/4_deepmd-kit/dpmd_install/bin/python" + } + ], +"model_devi": [ + { + "machine": { + "machine_type": "slurm", + "hostname": "localhost", + "port": 22, + "username": "", + "work_path": "/home/mhchen_pkuhpc/mhchen_cls/lustre2/5_liurenxi/5_ABACUS_dpgen_interface/5_dpgen_examples/dpgen-example/run_abacus" + }, + "resources": { + "num_node": 1, + "num_gpu": 0, + "task_per_node": 2, + "partition": "cn-large", + "exclude_list": [], + "mem_limit": 0, + "source_list": ["/home/mhchen_pkuhpc/mhchen_cls/lustre2/5_liurenxi/5_ABACUS_dpgen_interface/env.sh"], + "module_list": [], + "time_limit": "14:00:00", + "account": "", + "qos": "", + "allow_failure":true + }, + "command": "mpirun -n 2 lmp", + "group_size": 6 + } +], +"fp": [ + { + "machine":{ + "machine_type": "slurm", + "hostname": "localhost", + "port": 22, + "username": "", + "work_path": "/home/mhchen_pkuhpc/mhchen_cls/lustre2/5_liurenxi/5_ABACUS_dpgen_interface/5_dpgen_examples/dpgen-example/run_abacus" + }, + "resources": { + "cvasp": false, + "numb_node": 1, + "partition": "cn-large", + "task_per_node": 4, + + "numb_gpu": 0, + "exclude_list": [], + "with_mpi": false, + "mem_limit": 0, + "source_list":[ + "/home/mhchen_pkuhpc/mhchen_cls/lustre2/5_liurenxi/5_ABACUS_dpgen_interface/env.sh" + ], + "module_list":[], + "time_limit": "48:0:0", + "account": "", + "qos": "", + "_comment": "that's all" + }, + "command": "mpirun -np 4 ABACUS.mpi.2.1.0", + "group_size": 150 + } + +] +} diff --git a/examples/run/dp1.x-lammps-ABACUS-pw/methane/param.json b/examples/run/dp1.x-lammps-ABACUS-pw/methane/param.json new file mode 100644 index 000000000..916a0c9fb --- /dev/null +++ b/examples/run/dp1.x-lammps-ABACUS-pw/methane/param.json @@ -0,0 +1,147 @@ +{ + "type_map": ["H", "C"], + "mass_map": [1.0, 12.0], + + "_comment": "initial data set for Training and the number of frames in each training batch", + "init_data_prefix": "/home/mhchen_pkuhpc/mhchen_cls/lustre2/5_liurenxi/5_ABACUS_dpgen_interface/5_dpgen_examples/dpgen-example/run_abacus/", + "init_data_sys": [ + "abacus_init_data" + ], + "init_batch_size": [ + 8 + ], + + "_comment": "configurations for starting MD in Exploration and batch sizes when traning snapshots derived from these configs (if they were selected)", + "sys_configs_prefix": "/home/mhchen_pkuhpc/mhchen_cls/lustre2/5_liurenxi/5_ABACUS_dpgen_interface/5_dpgen_examples/dpgen-example/run", + "sys_configs": [ + [ + "CH4.POSCAR.01x01x01/01.scale_pert/sys-0004-0001/scale-1.000/000000/POSCAR", + "CH4.POSCAR.01x01x01/01.scale_pert/sys-0004-0001/scale-1.000/000001/POSCAR", + "CH4.POSCAR.01x01x01/01.scale_pert/sys-0004-0001/scale-1.000/00000[2-9]/POSCAR" + ], + [ + "CH4.POSCAR.01x01x01/01.scale_pert/sys-0004-0001/scale-1.000/00001*/POSCAR" + ] + ], + "sys_batch_size": [ + 8, + 8 + ], + + "_comment": " 00.train ", + "numb_models": 4, + + "default_training_param": { + "model": { + "type_map": ["H","C"], + "descriptor": { + "type": "se_a", + "sel": [16,4], + "rcut_smth": 0.5, + "rcut": 5.0, + "neuron": [10,20,40], + "resnet_dt": false, + "axis_neuron": 12, + "seed": 0 + }, + "fitting_net": { + "neuron": [120,120,120], + "resnet_dt": true, + "coord_norm": true, + "type_fitting_net": false, + "seed": 0 + } + }, + "loss": { + "start_pref_e": 0.02, + "limit_pref_e": 2, + "start_pref_f": 1000, + "limit_pref_f": 1, + "start_pref_v": 0, + "limit_pref_v": 0 + }, + "learning_rate": { + "type": "exp", + "start_lr": 0.001, + "decay_steps": 180, + "decay_rate": 0.95 + }, + "training": { + "systems": [], + "set_prefix": "set", + "stop_batch": 36000, + "batch_size": 1, + "seed": 1, + "_comment": "frequencies counted in batch", + "disp_file": "lcurve.out", + "disp_freq": 1000, + "numb_test": 4, + "save_freq": 1000, + "save_ckpt": "model.ckpt", + "load_ckpt": "model.ckpt", + "disp_training": true, + "time_training": true, + "profiling": false, + "profiling_file": "timeline.json" + } + }, + + "_comment": " 01.model_devi ", + "model_devi_dt": 0.002, + "model_devi_skip": 0, + "model_devi_f_trust_lo": 0.05, + "model_devi_f_trust_hi": 0.15, + "model_devi_clean_traj": false, + "model_devi_jobs": [ + { + "sys_idx": [ + 0 + ], + "temps": [ + 50 + ], + "press": [ + 1 + ], + "trj_freq": 10, + "nsteps": 1000, + "ensemble": "nvt", + "_idx": "00" + }, + { + "sys_idx": [ + 1 + ], + "temps": [ + 50 + ], + "press": [ + 1 + ], + "trj_freq": 10, + "nsteps": 3000, + "ensemble": "nvt", + "_idx": "01" + } + ], + + "_comment": " 02.fp ", + "fp_style": "abacus/scf", + "shuffle_poscar": false, + "fp_task_max": 30, + "fp_task_min": 8, + "fp_pp_path": "/home/mhchen_pkuhpc/mhchen_cls/lustre2/5_liurenxi/5_ABACUS_dpgen_interface/SG15_ONCV_v1.0_upf", + "fp_pp_files": [ "H_ONCV_PBE-1.0.upf","C_ONCV_PBE-1.0.upf"], + "user_fp_params":{ + "ntype": 2, + "ecutwfc": 80, + "mixing_type": "pulay", + "mixing_beta": 0.4, + "symmetry": 1, + "nbands": 5, + "nspin": 1, + "ks_solver": "cg", + "smearing": "fixed", + "sigma": 0.001 + } +} diff --git a/examples/run/dp1.x-lammps-cp2k/methane/param-ch4.json b/examples/run/dp1.x-lammps-cp2k/methane/param-ch4.json new file mode 100644 index 000000000..273854d93 --- /dev/null +++ b/examples/run/dp1.x-lammps-cp2k/methane/param-ch4.json @@ -0,0 +1,137 @@ +{ + "type_map": [ + "H", + "C" + ], + "mass_map": [ + 1, + 12 + ], + "init_data_prefix": "/data/ybzhuang/methane-dpgen/dpgen-tutorial-2020-08-23/dpgen-tutorial-mathane/data", + "init_data_sys": [ + "deepmd" + ], + "init_batch_size": [ + 8 + ], + "sys_configs": [ + ["/data/ybzhuang/methane-dpgen/dpgen-tutorial-2020-08-23/dpgen-tutorial-mathane/data/CH4.POSCAR.01x01x01/01.scale_pert/sys-0004-0001/scale-1.000/00000*/POSCAR"], + ["/data/ybzhuang/methane-dpgen/dpgen-tutorial-2020-08-23/dpgen-tutorial-mathane/data/CH4.POSCAR.01x01x01/01.scale_pert/sys-0004-0001/scale-1.000/00000*/POSCAR"] + ], + "sys_batch_size": [ + 8, + 8, + 8, + 8 + ], + "_comment": " that's all ", + "numb_models": 4, + "train_param": "input.json", + "default_training_param": { + "model": { + "descriptor": { + "type": "se_a", + "sel": [ + 16, + 4 + ], + "rcut_smth": 0.5, + "rcut": 5.0, + "_comment": "modify according your system", + "neuron": [ + 10, + 20, + 40 + ], + "resnet_dt": false, + "axis_neuron": 12, + "seed": 1 + }, + "fitting_net": { + "n_neuron": [ + 120, + 120, + 120 + ], + "resnet_dt": true, + "seed": 1 + }}, + "learning_rate": { + "type": "exp", + "start_lr": 0.001, + "decay_steps": 100, + "_comment": "nope", + "decay_rate": 0.95 + }, + "loss": { + "start_pref_e": 0.02, + "limit_pref_e": 2, + "start_pref_f": 1000, + "limit_pref_f": 1, + "start_pref_v": 0.0, + "limit_pref_v": 0.0 + }, + "training": { + "systems": [ ], + "set_prefix": "set", + "stop_batch": 2000, + "batch_size": 1, + "seed": 1, + "disp_file": "lcurve.out", + "disp_freq": 1000, + "numb_test": 4, + "save_freq": 1000, + "save_ckpt": "model.ckpt", + "load_ckpt": "model.ckpt", + "disp_training": true, + "time_training": true, + "profiling": false, + "profiling_file": "timeline.json" + } + }, + "model_devi_dt": 0.002, + "model_devi_skip": 0, + "model_devi_f_trust_lo": 0.05, + "model_devi_f_trust_hi": 0.15, + "model_devi_clean_traj": true, + "model_devi_jobs": [ + { + "sys_idx": [ + 0 + ], + "temps": [ + 100 + ], + "press": [ + 1 + ], + "trj_freq": 10, + "nsteps": 300, + "ensemble": "nvt", + "_idx": "00" + }, + { + "sys_idx": [ + 1 + ], + "temps": [ + 100 + ], + "press": [ + 1 + ], + "trj_freq": 10, + "nsteps": 3000, + "ensemble": "nvt", + "_idx": "01" + } + + ], + "fp_style": "cp2k", + "shuffle_poscar": false, + "fp_task_max": 20, + "fp_task_min": 5, + "fp_pp_path": ".", + "fp_pp_files": [], + "external_input_path": "/data/ybzhuang/methane-dpgen/dpgen-tutorial-2020-08-23/dpgen-tutorial-mathane/cp2k_dpgen/template.inp" +} diff --git a/examples/run/dp1.x-lammps-cp2k/methane/template.inp b/examples/run/dp1.x-lammps-cp2k/methane/template.inp new file mode 100755 index 000000000..d89b3aee2 --- /dev/null +++ b/examples/run/dp1.x-lammps-cp2k/methane/template.inp @@ -0,0 +1,83 @@ +#Basis setting +@SET SCALE_FACTOR 1.000 +@SET NREPA 1 +@SET NREPB 1 +@SET NREPC 1 +@SET CELL_A 10 +@SET CELL_B 10 +@SET CELL_C 10 +@SET ANGLE_A 90.0 +@SET ANGLE_B 90.0 +@SET ANGLE_C 90.0 +@SET COORDFILE coord.xyz +@SET CUTOFF 400 +@SET JOBNAME DPGEN + + +&FORCE_EVAL + METHOD QS + STRESS_TENSOR ANALYTICAL + &PRINT + &FORCES ON + &END FORCES + &STRESS_TENSOR ON + &END STRESS_TENSOR + &END PRINT + + &DFT + BASIS_SET_FILE_NAME BASIS_MOLOPT + POTENTIAL_FILE_NAME GTH_POTENTIALS + &MGRID + CUTOFF ${CUTOFF} + REL_CUTOFF 60 + &END MGRID + &QS + EPS_DEFAULT 1.0E-13 + &END QS + &SCF + SCF_GUESS RESTART + EPS_SCF 3.0E-7 + MAX_SCF 50 + &OUTER_SCF + EPS_SCF 3.0E-7 + MAX_SCF 15 + &END OUTER_SCF + &OT + MINIMIZER DIIS + PRECONDITIONER FULL_SINGLE_INVERSE + &END OT + &END SCF + &XC +########## This part is PBE ########## + &XC_FUNCTIONAL PBE + &END XC_FUNCTIONAL +########## This part is PBE ########## + &END XC +########## This part controls the print information ########## + &END DFT + &SUBSYS + &CELL + ABC [angstrom] ${CELL_A}*${SCALE_FACTOR} ${CELL_B}*${SCALE_FACTOR} ${CELL_C}*${SCALE_FACTOR} + ALPHA_BETA_GAMMA ${ANGLE_A} ${ANGLE_B} ${ANGLE_C} + MULTIPLE_UNIT_CELL ${NREPA} ${NREPB} ${NREPC} + &END CELL + &TOPOLOGY + MULTIPLE_UNIT_CELL ${NREPA} ${NREPB} ${NREPC} + &END TOPOLOGY + &COORD + @include ${COORDFILE} + &END COORD + &KIND H + BASIS_SET DZVP-MOLOPT-SR-GTH + POTENTIAL GTH-PBE-q1 + &END KIND + &KIND C + BASIS_SET DZVP-MOLOPT-SR-GTH + POTENTIAL GTH-PBE-q4 + &END KIND + &END SUBSYS +&END FORCE_EVAL + +&GLOBAL + PROJECT ${JOBNAME} +&END GLOBAL diff --git a/examples/run/dp-lammps-vasp-et/param_elet.json b/examples/run/dp1.x-lammps-vasp-et/param_elet.json similarity index 97% rename from examples/run/dp-lammps-vasp-et/param_elet.json rename to examples/run/dp1.x-lammps-vasp-et/param_elet.json index b0f08c7cd..a9431a557 100644 --- a/examples/run/dp-lammps-vasp-et/param_elet.json +++ b/examples/run/dp1.x-lammps-vasp-et/param_elet.json @@ -9,12 +9,10 @@ "al.fcc.01x01x01/02.md/sys-0004/deepmd", "mg.fcc.01x01x01/02.md/sys-0004/deepmd" ], - "init_batch_size": [1,1], "sys_configs": [ ["/home/wanghan/study/deep.md/data/almgop.20/init/al.fcc.02x02x02/01.scale_pert/sys-0032/scale-1.000/00000[0-4]/POSCAR"], ["/home/wanghan/study/deep.md/data/almgop.20/init/mg.fcc.02x02x02/01.scale_pert/sys-0032/scale-1.000/00000[0-4]/POSCAR"] ], - "sys_batch_size": [1,1], "_comment": " 00.train ", "numb_models": 4, diff --git a/examples/run/dp-lammps-vasp/Al/param_al_all_gpu-deepmd-kit-1.1.0.json b/examples/run/dp1.x-lammps-vasp/Al/param_al_all_gpu-deepmd-kit-1.1.0.json similarity index 99% rename from examples/run/dp-lammps-vasp/Al/param_al_all_gpu-deepmd-kit-1.1.0.json rename to examples/run/dp1.x-lammps-vasp/Al/param_al_all_gpu-deepmd-kit-1.1.0.json index cfe0b855d..465897055 100644 --- a/examples/run/dp-lammps-vasp/Al/param_al_all_gpu-deepmd-kit-1.1.0.json +++ b/examples/run/dp1.x-lammps-vasp/Al/param_al_all_gpu-deepmd-kit-1.1.0.json @@ -9,11 +9,6 @@ "al.hcp.02x02x02/02.md/sys-0016/deepmd", "al.bcc.02x02x02/02.md/sys-0016/deepmd" ], - "init_batch_size": [ - 1, - 2, - 2 - ], "sys_configs": [ ["/data1/yfb222333/2_dpgen_gpu_multi/init/al.fcc.02x02x02/01.scale_pert/sys-0032/scale-1.000/00000[0-4]/POSCAR"], diff --git a/examples/run/dp-lammps-vasp/CH4/INCAR_methane b/examples/run/dp1.x-lammps-vasp/CH4/INCAR_methane similarity index 100% rename from examples/run/dp-lammps-vasp/CH4/INCAR_methane rename to examples/run/dp1.x-lammps-vasp/CH4/INCAR_methane diff --git a/examples/run/dp-lammps-vasp/CH4/POT_C b/examples/run/dp1.x-lammps-vasp/CH4/POT_C similarity index 100% rename from examples/run/dp-lammps-vasp/CH4/POT_C rename to examples/run/dp1.x-lammps-vasp/CH4/POT_C diff --git a/examples/run/dp-lammps-vasp/CH4/POT_H b/examples/run/dp1.x-lammps-vasp/CH4/POT_H similarity index 100% rename from examples/run/dp-lammps-vasp/CH4/POT_H rename to examples/run/dp1.x-lammps-vasp/CH4/POT_H diff --git a/examples/run/dp-lammps-vasp/CH4/param_CH4_deepmd-kit-1.1.0.json b/examples/run/dp1.x-lammps-vasp/CH4/param_CH4_deepmd-kit-1.1.0.json similarity index 98% rename from examples/run/dp-lammps-vasp/CH4/param_CH4_deepmd-kit-1.1.0.json rename to examples/run/dp1.x-lammps-vasp/CH4/param_CH4_deepmd-kit-1.1.0.json index b2bba7be7..b80946710 100644 --- a/examples/run/dp-lammps-vasp/CH4/param_CH4_deepmd-kit-1.1.0.json +++ b/examples/run/dp1.x-lammps-vasp/CH4/param_CH4_deepmd-kit-1.1.0.json @@ -131,8 +131,8 @@ "fp_task_min": 5, "fp_pp_path": "/data1/yfb222333/2_dpgen_gpu_multi", "fp_pp_files": [ - "H/POTCAR", - "C/POTCAR" + "POTCAR_H", + "POTCAR_C" ], "fp_incar": "/data1/yfb222333/2_dpgen_gpu_multi/INCAR_methane" } diff --git a/examples/run/dp_lammps_gaussian/dodecane/dodecane.json b/examples/run/dp1.x_lammps_gaussian/dodecane/dodecane.json similarity index 97% rename from examples/run/dp_lammps_gaussian/dodecane/dodecane.json rename to examples/run/dp1.x_lammps_gaussian/dodecane/dodecane.json index 12b15f7b7..c2147f4ca 100644 --- a/examples/run/dp_lammps_gaussian/dodecane/dodecane.json +++ b/examples/run/dp1.x_lammps_gaussian/dodecane/dodecane.json @@ -4,11 +4,9 @@ "init_data_prefix": "/home/jzzeng/0719dodecane/gen/", "init_data_sys": ["init_data"], "init_multi_systems": true, - "init_batch_size": ["auto"], "sys_configs": [ ["/home/jzzeng/0719dodecane/gen/data.dodecane.atomic"] ], - "sys_batch_size": ["auto"], "sys_format":"lammps/lmp", "numb_models": 4, "train_param": "input.json", diff --git a/setup.py b/setup.py index 1016662a9..f86886544 100755 --- a/setup.py +++ b/setup.py @@ -17,7 +17,7 @@ with open(path.join('dpgen', '_date.py'), 'w') as fp : fp.write('date = \'%s\'' % today) -install_requires=['numpy>=1.14.3', 'dpdata>=0.1.14', 'pymatgen>=2019.1.13', 'ase', 'monty>2.0.0', 'paramiko', 'custodian'] +install_requires=['numpy>=1.14.3', 'dpdata>=0.1.14', 'pymatgen>=2019.1.13', 'ase', 'monty>2.0.0', 'paramiko', 'custodian','GromacsWrapper>=0.8.0', 'dpdispatcher>=0.3.11'] setuptools.setup( name=NAME, diff --git a/tests/generator/context.py b/tests/generator/context.py index 3183e9440..c79920396 100644 --- a/tests/generator/context.py +++ b/tests/generator/context.py @@ -21,6 +21,8 @@ machine_file_v1 = 'machine-local-v1.json' param_diy_file = 'param-mg-vasp-diy.json' param_pwmat_file = 'param-pyridine-pwmat.json' +param_abacus_file = 'param-pyridine-abacus.json' +param_abacus_post_file = 'param-methane-abacus.json' def my_file_cmp(test, f0, f1): with open(f0) as fp0 : diff --git a/tests/generator/gromacs/model_devi_case/em.tpr b/tests/generator/gromacs/model_devi_case/em.tpr new file mode 100644 index 000000000..3e74f8391 Binary files /dev/null and b/tests/generator/gromacs/model_devi_case/em.tpr differ diff --git a/tests/generator/gromacs/model_devi_case/index.raw b/tests/generator/gromacs/model_devi_case/index.raw new file mode 100644 index 000000000..7c119b199 --- /dev/null +++ b/tests/generator/gromacs/model_devi_case/index.raw @@ -0,0 +1 @@ +0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 \ No newline at end of file diff --git a/tests/generator/gromacs/model_devi_case/input.json b/tests/generator/gromacs/model_devi_case/input.json new file mode 100644 index 000000000..99449ec0d --- /dev/null +++ b/tests/generator/gromacs/model_devi_case/input.json @@ -0,0 +1,7 @@ +{ + "graph_file": "/data1/anguse/yuzhi/fep/20210520_gromacs_dpgen/iter.000000/00.train/graph.000.pb", + "box_file": "/data1/anguse/yingze/fep/deepmd/input/box.raw", + "type_file": "/data1/anguse/yuzhi/fep/DP_FF/tyk2/init_data/lig_ejm_31/type.raw", + "index_file": "index.raw", + "lambda": 1.0 +} \ No newline at end of file diff --git a/tests/generator/gromacs/model_devi_case/md.mdp b/tests/generator/gromacs/model_devi_case/md.mdp new file mode 100644 index 000000000..412918012 --- /dev/null +++ b/tests/generator/gromacs/model_devi_case/md.mdp @@ -0,0 +1,56 @@ +; TI/FEP mdp template for solution +; Note: this is for Gromacs 2016 and later +integrator = sd +ld-seed = -1 +bd-fric = 0 +dt = 0.001 +nsteps = 25 +nstcomm = 5 + +nstxout = 5 +nstvout = 0 +nstfout = 0 +nstlog = 5 +nstenergy = 5 +nstxout-compressed = 0 + +tcoupl = no +nsttcouple = 10 +tc_grps = System +tau_t = 0.2 +ref_t = 298 + +constraints = all-bonds +constraint_algorithm = lincs +lincs_order = 4 +lincs_warnangle = 30 + +comm-mode = Linear + +cutoff-scheme = verlet +nstlist = 80 +ns_type = grid +pbc = xyz +rlist = 0.8 + +coulombtype = pme +coulomb-modifier = none +rcoulomb = 1.2 +fourierspacing = 0.1 +pme_order = 4 +ewald_rtol = 1e-05 + +vdwtype = cut-off +vdw-modifier = none +rvdw = 1.2 +DispCorr = AllEnerPres + +pcoupl = Parrinello-Rahman +pcoupltype = isotropic +tau_p = 5.0 +compressibility = 4.5e-05 +ref_p = 1.0 +refcoord-scaling = com + +gen-vel = no +continuation = yes diff --git a/tests/generator/gromacs/model_devi_case/model_devi.py b/tests/generator/gromacs/model_devi_case/model_devi.py new file mode 100755 index 000000000..0c7e245cf --- /dev/null +++ b/tests/generator/gromacs/model_devi_case/model_devi.py @@ -0,0 +1,51 @@ +#!/data1/anguse/zijian/deepmd-kit-devel/virtual_tf_2/bin/python +import deepmd.DeepPot as DP +import dpdata +import numpy as np +import os, sys +import json +def calc_model_devi_f(fs): + ''' + fs : numpy.ndarray, size of `n_models x n_frames x n_atoms x 3` + ''' + fs_mean = np.mean(fs, axis=0) + # print(fs_mean.shape) + fs_err = np.sum((fs - fs_mean) ** 2, axis=-1) + # print(fs_err.shape) + fs_devi = np.mean(fs_err, axis=0) ** 0.5 + # print(fs_devi.shape) + max_devi_f = np.max(fs_devi, axis=1) + # min_devi_f = np.min(fs_devi, axis=1) + # avg_devi_f = np.mean(fs_devi, axis=1) + return max_devi_f + +def write_model_devi_out(system, models, fname=None, trj_freq = 10): + forces = [] + for model in models: + labeled = system.predict(model) + forces.append(labeled['forces']) + forces = np.array(forces) + max_devi_f = calc_model_devi_f(forces) + model_devi_out = np.zeros((system.get_nframes(), 7)) + model_devi_out[:, 0] += np.arange(system.get_nframes()) * trj_freq + model_devi_out[:, 4] += max_devi_f + if fname is not None: + np.savetxt(fname, + model_devi_out, + fmt=['%d'] + ['%.8e' for _ in range(6)], + delimiter='\t', + header='step\tmax_devi_e\tmin_devi_e\tavg_devi_e\tmax_devi_f\tmin_devi_f\tavg_devi_f') + return model_devi_out + +if __name__ == "__main__": + system = dpdata.System(sys.argv[1], fmt='gromacs/gro') + if os.path.isfile("job.json"): + trj_freq = json.load(open("job.json")).get("trj_freq", 10) + else: + trj_freq = 10 + if not os.path.isdir("traj"): + os.mkdir("traj") + for i in range(system.get_nframes()): + system[i].to_gromacs_gro("traj/%d.gromacstrj" % (trj_freq * i) ) + models = [DP(f"../graph.{ii:03}.pb") for ii in range(4)] + write_model_devi_out(system, models, "model_devi.out", trj_freq) diff --git a/tests/generator/gromacs/model_devi_case/npt.gro b/tests/generator/gromacs/model_devi_case/npt.gro new file mode 100644 index 000000000..e0cc33483 --- /dev/null +++ b/tests/generator/gromacs/model_devi_case/npt.gro @@ -0,0 +1,2363 @@ +ligand in water + 2360 + 1MOL C1 1 2.965 2.005 1.652 -0.0878 0.5688 0.2151 + 1MOL C2 2 3.046 2.117 1.627 0.5976 -0.0630 -0.4410 + 1MOL C3 3 2.990 2.244 1.644 -0.1336 -0.3925 -0.3688 + 1MOL C4 4 2.855 2.261 1.677 -0.1222 -0.0346 -0.5149 + 1MOL C5 5 2.778 2.147 1.697 -0.1197 0.0716 0.1037 + 1MOL C6 6 2.832 2.018 1.693 -0.2161 0.0364 -0.0363 + 1MOL CL1 7 2.607 2.170 1.731 -0.1998 -0.4904 0.0923 + 1MOL C7 8 2.790 2.395 1.685 -0.0837 -0.0416 -0.0725 + 1MOL O1 9 2.760 2.450 1.580 -0.1531 -0.1130 -0.0896 + 1MOL N1 10 2.774 2.447 1.811 -0.4165 0.1205 -0.1813 + 1MOL C8 11 2.706 2.563 1.856 -0.2690 0.2110 -0.1920 + 1MOL C9 12 2.744 2.624 1.975 -0.0641 -0.3816 0.0512 + 1MOL C10 13 2.663 2.729 2.022 -0.1611 -0.4402 0.0164 + 1MOL N2 14 2.561 2.780 1.952 0.3748 0.2554 -0.2765 + 1MOL C11 15 2.523 2.718 1.839 0.2086 0.0362 -0.1008 + 1MOL C12 16 2.591 2.607 1.789 -0.2597 -0.1099 -0.4250 + 1MOL N3 17 2.419 2.782 1.768 0.1158 -0.0160 -0.0143 + 1MOL C13 18 2.320 2.718 1.697 0.1578 -0.3558 0.2334 + 1MOL O2 19 2.323 2.600 1.666 0.7089 -0.3164 0.1288 + 1MOL C14 20 2.205 2.803 1.646 0.3617 -0.0616 0.2639 + 1MOL CL2 21 3.077 2.391 1.606 -0.2350 -0.2987 -0.2357 + 1MOL H1 22 2.228 2.908 1.622 -1.0811 -0.0267 -1.1632 + 1MOL H2 23 3.012 1.908 1.637 0.2367 1.1003 -2.6854 + 1MOL H3 24 3.147 2.108 1.588 0.3848 -0.5416 -0.8889 + 1MOL H4 25 2.779 1.930 1.727 -1.2688 1.1393 1.2906 + 1MOL H5 26 2.810 2.384 1.882 -1.7052 -4.7114 -3.3402 + 1MOL H6 27 2.826 2.581 2.032 1.1904 0.8761 -0.7497 + 1MOL H7 28 2.685 2.780 2.116 -0.8991 -0.9050 0.4474 + 1MOL H8 29 2.559 2.558 1.698 -0.2817 0.6840 -0.8490 + 1MOL H9 30 2.405 2.880 1.791 0.2918 0.6180 -2.3160 + 1MOL H10 31 2.122 2.792 1.717 -0.5984 0.5311 -0.7385 + 1MOL H11 32 2.169 2.763 1.550 -2.5317 1.3721 0.6216 + 1SOL OW 33 1.147 2.407 2.223 -0.5868 -0.3252 -0.1556 + 1SOL HW1 34 1.104 2.489 2.249 0.9978 -0.3970 3.2568 + 1SOL HW2 35 1.115 2.390 2.134 -1.5201 3.5945 -0.7666 + 1SOL OW 36 2.374 2.491 2.128 -0.4680 0.3149 0.4838 + 1SOL HW1 37 2.453 2.518 2.174 0.2181 1.4912 -1.2589 + 1SOL HW2 38 2.371 2.396 2.138 1.6931 0.1232 -0.1342 + 1SOL OW 39 2.834 2.703 0.281 -0.2568 0.1474 -0.3671 + 1SOL HW1 40 2.774 2.763 0.325 -2.3972 -2.0576 -0.0896 + 1SOL HW2 41 2.913 2.705 0.335 -1.1164 0.9812 0.9245 + 1SOL OW 42 1.070 2.089 0.712 -0.3492 -0.4346 0.2902 + 1SOL HW1 43 0.997 2.084 0.774 -0.7847 -0.8134 -0.2451 + 1SOL HW2 44 1.044 2.032 0.640 -0.6506 1.3799 -1.0931 + 1SOL OW 45 1.110 1.214 0.130 0.2727 -0.2319 -0.2923 + 1SOL HW1 46 1.158 1.133 0.113 0.3755 -0.2520 0.0940 + 1SOL HW2 47 1.133 1.238 0.219 0.0003 0.0596 -0.2973 + 1SOL OW 48 2.375 2.409 0.109 0.0796 -0.1904 -0.2740 + 1SOL HW1 49 2.395 2.471 0.039 1.3387 -0.1474 0.0898 + 1SOL HW2 50 2.461 2.379 0.139 -0.3985 0.1559 1.5683 + 1SOL OW 51 2.310 0.730 0.016 0.3661 0.7147 0.0451 + 1SOL HW1 52 2.375 0.768 0.075 0.4267 0.3519 0.2147 + 1SOL HW2 53 2.359 0.667 -0.037 0.3641 1.2322 -0.5812 + 1SOL OW 54 3.178 2.613 0.626 -0.1649 -0.0811 -0.0742 + 1SOL HW1 55 3.174 2.518 0.638 2.2859 -0.6015 -2.5219 + 1SOL HW2 56 3.247 2.642 0.686 -1.9452 0.4779 1.8107 + 1SOL OW 57 0.083 1.130 1.293 -0.1485 -0.1457 -0.1838 + 1SOL HW1 58 0.056 1.221 1.283 -0.6036 -0.2198 0.3493 + 1SOL HW2 59 0.006 1.085 1.328 -0.0776 -0.8347 -0.8752 + 1SOL OW 60 0.074 3.094 1.408 -0.4103 -0.0838 0.2964 + 1SOL HW1 61 0.003 3.147 1.372 0.5303 0.6911 -0.4846 + 1SOL HW2 62 0.088 3.025 1.343 0.2955 0.4408 -0.1259 + 1SOL OW 63 2.445 0.380 0.749 0.6609 0.0472 -0.9427 + 1SOL HW1 64 2.539 0.386 0.729 0.3498 0.2926 -2.4478 + 1SOL HW2 65 2.442 0.343 0.837 2.1913 0.9440 -0.4631 + 1SOL OW 66 1.075 2.135 0.381 0.0352 -0.5734 -0.6347 + 1SOL HW1 67 1.085 2.054 0.431 -1.2424 -0.1879 0.3177 + 1SOL HW2 68 1.082 2.204 0.447 -3.7588 -0.1071 -0.4800 + 1SOL OW 69 2.113 0.395 0.925 -0.4105 0.3155 0.2902 + 1SOL HW1 70 2.135 0.328 0.990 -1.6813 -0.3109 0.1089 + 1SOL HW2 71 2.104 0.475 0.976 2.0142 0.6117 0.4006 + 1SOL OW 72 1.902 3.164 1.822 0.6557 0.1661 -0.2355 + 1SOL HW1 73 1.919 3.106 1.748 -2.4439 -0.7490 -0.3519 + 1SOL HW2 74 1.880 3.248 1.783 -1.6442 -0.4926 -0.4892 + 1SOL OW 75 2.333 1.621 0.067 0.3945 -0.2478 0.4081 + 1SOL HW1 76 2.376 1.706 0.078 2.7463 -1.1443 -1.1289 + 1SOL HW2 77 2.300 1.600 0.155 2.1481 1.0326 1.4535 + 1SOL OW 78 2.807 1.961 0.492 0.1213 0.0926 0.0802 + 1SOL HW1 79 2.883 1.977 0.436 0.6464 -0.0727 0.7198 + 1SOL HW2 80 2.787 1.868 0.479 -0.2505 0.2403 -0.4193 + 1SOL OW 81 2.970 2.994 0.549 0.1280 -0.1789 -0.5120 + 1SOL HW1 82 2.942 2.904 0.564 2.9337 -1.0889 -0.0918 + 1SOL HW2 83 2.907 3.047 0.598 -1.2119 -1.9424 -0.2172 + 1SOL OW 84 3.116 1.111 0.938 0.5458 -0.0541 0.1856 + 1SOL HW1 85 3.140 1.201 0.915 1.3439 0.3147 2.1703 + 1SOL HW2 86 3.201 1.067 0.948 0.1523 -1.2518 -1.4334 + 1SOL OW 87 0.556 1.329 1.378 -0.5615 -0.1617 0.7983 + 1SOL HW1 88 0.612 1.312 1.454 1.0330 -1.3774 -0.5675 + 1SOL HW2 89 0.512 1.411 1.399 0.4225 -0.0630 2.7008 + 1SOL OW 90 2.436 1.014 0.175 0.1595 0.2445 0.2101 + 1SOL HW1 91 2.499 0.943 0.167 2.2745 1.9280 0.9509 + 1SOL HW2 92 2.438 1.059 0.091 -1.7050 -0.8783 -0.5130 + 1SOL OW 93 2.998 1.662 0.589 -0.2221 0.1317 0.0411 + 1SOL HW1 94 3.001 1.584 0.533 -0.1980 -1.3942 2.0387 + 1SOL HW2 95 2.906 1.671 0.612 -0.2249 0.7168 -0.1908 + 1SOL OW 96 1.596 3.038 1.334 -0.3803 0.0406 -0.3926 + 1SOL HW1 97 1.572 3.069 1.421 0.6526 1.2062 -0.4880 + 1SOL HW2 98 1.661 2.970 1.349 -0.8559 -0.3860 -0.2402 + 1SOL OW 99 0.996 2.683 1.540 -0.1426 0.0278 -0.0202 + 1SOL HW1 100 0.967 2.593 1.523 0.6373 -0.4378 1.0132 + 1SOL HW2 101 0.968 2.732 1.463 0.1930 -1.2697 -1.0016 + 1SOL OW 102 0.347 1.729 2.000 -0.1073 -0.1576 0.4649 + 1SOL HW1 103 0.440 1.707 1.992 -0.3824 -0.8185 -1.7531 + 1SOL HW2 104 0.343 1.823 1.981 -0.0647 -0.5556 -1.8140 + 1SOL OW 105 0.628 1.677 2.002 0.1359 0.0307 -0.7484 + 1SOL HW1 106 0.686 1.602 2.015 0.5786 0.4912 0.0062 + 1SOL HW2 107 0.608 1.707 2.091 0.2950 1.0441 -1.0398 + 1SOL OW 108 2.059 1.476 0.941 0.6085 0.1620 -0.4919 + 1SOL HW1 109 2.076 1.551 0.997 0.4268 -1.8605 2.4947 + 1SOL HW2 110 2.120 1.486 0.867 1.6099 2.4362 0.5669 + 1SOL OW 111 1.243 0.010 1.704 -0.1083 0.2583 0.1135 + 1SOL HW1 112 1.317 0.054 1.662 -0.7318 1.4484 0.2214 + 1SOL HW2 113 1.232 -0.071 1.653 2.8945 -1.3374 1.6807 + 1SOL OW 114 2.472 0.025 1.178 0.5864 -0.4659 0.0902 + 1SOL HW1 115 2.378 0.021 1.196 0.6652 -0.4181 0.5124 + 1SOL HW2 116 2.513 -0.019 1.253 0.8490 -1.3956 -0.5748 + 1SOL OW 117 2.944 1.001 0.307 0.1524 0.2247 -0.1953 + 1SOL HW1 118 2.931 0.918 0.261 -1.7926 0.3462 0.0444 + 1SOL HW2 119 3.034 0.997 0.339 0.5384 -1.1971 -1.3377 + 1SOL OW 120 0.906 1.567 2.260 0.1467 -0.0325 0.5284 + 1SOL HW1 121 0.829 1.622 2.273 -0.6177 -1.0933 0.5836 + 1SOL HW2 122 0.976 1.629 2.238 -0.9326 0.8797 -0.5073 + 1SOL OW 123 2.655 0.176 0.091 0.6061 -0.1899 0.1020 + 1SOL HW1 124 2.746 0.179 0.060 0.8640 -0.8601 0.7897 + 1SOL HW2 125 2.659 0.130 0.175 0.0884 2.5694 1.7689 + 1SOL OW 126 3.092 1.995 0.012 0.3117 -0.6096 0.0832 + 1SOL HW1 127 3.063 1.981 -0.079 1.2623 -3.2035 0.0755 + 1SOL HW2 128 3.182 1.962 0.013 0.8238 0.7503 1.6638 + 1SOL OW 129 1.362 1.749 1.603 -0.1486 0.4846 -0.3276 + 1SOL HW1 130 1.418 1.689 1.652 -0.3974 1.3723 1.1436 + 1SOL HW2 131 1.361 1.715 1.514 1.4745 -0.4181 -0.0396 + 1SOL OW 132 1.155 2.201 1.389 0.1277 -0.1833 -0.1207 + 1SOL HW1 133 1.211 2.129 1.418 -0.7016 -1.7850 -2.2099 + 1SOL HW2 134 1.070 2.184 1.430 -0.0992 -0.5013 -0.7011 + 1SOL OW 135 1.261 2.901 0.814 0.7205 0.2890 0.3496 + 1SOL HW1 136 1.313 2.821 0.813 -0.5379 -0.5878 1.8084 + 1SOL HW2 137 1.209 2.896 0.733 1.4731 0.2312 -0.1465 + 1SOL OW 138 1.615 3.042 0.080 -0.3884 -0.2873 0.1347 + 1SOL HW1 139 1.535 3.015 0.034 -0.9839 1.4537 0.0595 + 1SOL HW2 140 1.587 3.058 0.170 0.1001 -0.6131 0.3511 + 1SOL OW 141 0.637 0.253 0.627 0.3092 -0.3969 -0.3129 + 1SOL HW1 142 0.628 0.270 0.534 -1.0371 0.1530 -0.0948 + 1SOL HW2 143 0.614 0.161 0.637 0.4012 -0.4413 -0.5062 + 1SOL OW 144 0.303 2.310 0.223 -0.1771 -0.5818 0.6221 + 1SOL HW1 145 0.316 2.384 0.164 2.2613 -1.9658 -0.7680 + 1SOL HW2 146 0.337 2.340 0.307 1.1638 -0.1867 -0.0245 + 1SOL OW 147 1.518 0.753 1.509 0.7768 0.0182 -0.1430 + 1SOL HW1 148 1.584 0.820 1.522 0.1156 0.6265 0.1639 + 1SOL HW2 149 1.551 0.700 1.436 -0.3717 2.9160 -2.9943 + 1SOL OW 150 1.305 0.000 2.267 -0.4006 -0.2137 0.4159 + 1SOL HW1 151 1.279 -0.046 2.347 -0.1658 -0.5063 0.3247 + 1SOL HW2 152 1.228 0.052 2.244 -0.3352 0.1806 1.0500 + 1SOL OW 153 1.160 0.628 0.634 0.7149 0.9567 0.3141 + 1SOL HW1 154 1.235 0.584 0.674 -0.5826 -0.6930 1.0828 + 1SOL HW2 155 1.094 0.630 0.704 -1.5580 -1.7585 -1.5125 + 1SOL OW 156 2.969 2.855 0.032 -0.3529 0.0434 -0.6694 + 1SOL HW1 157 2.900 2.915 0.059 0.6315 0.9211 -0.0374 + 1SOL HW2 158 2.923 2.786 -0.017 -1.8579 -0.1981 0.9889 + 1SOL OW 159 0.444 0.091 0.408 0.0389 -0.0888 0.0546 + 1SOL HW1 160 0.435 0.175 0.363 3.3248 0.8944 0.9309 + 1SOL HW2 161 0.476 0.031 0.340 -3.3715 -1.1014 -0.8529 + 1SOL OW 162 2.889 3.185 2.049 0.2540 0.4615 0.2780 + 1SOL HW1 163 2.933 3.231 1.977 -2.2264 1.8205 -0.4732 + 1SOL HW2 164 2.953 3.185 2.120 1.5807 2.0674 -0.8465 + 1SOL OW 165 0.810 1.051 0.225 0.0199 -0.2558 0.3816 + 1SOL HW1 166 0.841 1.115 0.289 -0.7529 0.7251 -0.1878 + 1SOL HW2 167 0.741 1.002 0.271 -0.8626 0.7584 0.1900 + 1SOL OW 168 2.369 0.840 1.958 0.1889 -0.5639 0.2628 + 1SOL HW1 169 2.420 0.770 1.999 0.0986 -1.3001 -0.8407 + 1SOL HW2 170 2.431 0.885 1.900 0.1826 0.1187 0.7729 + 1SOL OW 171 1.075 1.575 1.434 0.0200 -0.0752 -0.1831 + 1SOL HW1 172 1.159 1.617 1.414 0.0039 -0.0978 -0.3020 + 1SOL HW2 173 1.012 1.617 1.375 -0.5386 1.6487 1.5436 + 1SOL OW 174 0.022 1.955 0.619 0.2942 0.6061 -0.0012 + 1SOL HW1 175 0.002 2.008 0.542 1.1961 -0.3471 -0.9332 + 1SOL HW2 176 -0.036 1.988 0.687 -0.6883 1.3293 -1.1508 + 1SOL OW 177 0.031 1.907 1.414 -0.0883 0.2020 -0.5124 + 1SOL HW1 178 0.036 1.925 1.508 -0.9015 1.1359 -0.6324 + 1SOL HW2 179 0.029 1.993 1.373 0.8112 -0.1917 -1.4354 + 1SOL OW 180 0.254 1.522 0.563 0.0376 -0.1671 -0.1701 + 1SOL HW1 181 0.174 1.570 0.543 -0.1032 -0.3803 -0.1142 + 1SOL HW2 182 0.285 1.492 0.477 -1.7204 -2.9502 0.0344 + 1SOL OW 183 1.832 1.618 0.797 -0.6003 -0.1327 0.3482 + 1SOL HW1 184 1.883 1.544 0.763 -3.5293 -1.6659 -1.0958 + 1SOL HW2 185 1.814 1.595 0.888 0.0249 -0.2815 0.4394 + 1SOL OW 186 1.808 2.699 0.761 0.3454 -0.0098 0.0761 + 1SOL HW1 187 1.820 2.690 0.666 1.9662 2.7652 -0.0782 + 1SOL HW2 188 1.718 2.731 0.771 -0.2335 -1.4020 -0.3728 + 1SOL OW 189 1.136 1.839 0.143 1.1498 0.2153 0.3578 + 1SOL HW1 190 1.188 1.795 0.210 0.1014 -0.5565 0.6877 + 1SOL HW2 191 1.164 1.930 0.146 0.8802 0.2627 2.0719 + 1SOL OW 192 1.774 1.941 1.269 -0.0784 -0.3192 -0.4224 + 1SOL HW1 193 1.717 1.865 1.268 -0.5614 0.0433 -0.5087 + 1SOL HW2 194 1.808 1.947 1.180 2.0467 -1.9813 0.1880 + 1SOL OW 195 2.333 0.924 2.211 -0.4454 0.2892 0.2405 + 1SOL HW1 196 2.252 0.888 2.247 -0.5797 -0.3432 -0.6688 + 1SOL HW2 197 2.333 0.896 2.120 0.8975 0.1121 0.2797 + 1SOL OW 198 0.480 2.210 2.063 0.0543 0.1709 -0.6158 + 1SOL HW1 199 0.434 2.274 2.117 -0.4556 0.2670 -1.1497 + 1SOL HW2 200 0.546 2.172 2.121 -1.2601 -0.6015 0.4274 + 1SOL OW 201 2.166 0.026 0.490 -0.2255 0.2451 -0.1557 + 1SOL HW1 202 2.190 0.066 0.574 -1.1662 0.9635 -0.2079 + 1SOL HW2 203 2.075 0.052 0.476 -0.5593 -1.1301 -0.6842 + 1SOL OW 204 0.300 2.340 2.287 -0.2490 0.6669 -0.5988 + 1SOL HW1 205 0.300 2.404 2.358 -0.3775 -1.1215 1.0957 + 1SOL HW2 206 0.209 2.337 2.258 -0.2227 1.3192 -0.7565 + 1SOL OW 207 0.892 0.900 0.553 -0.1975 -0.6898 -0.4106 + 1SOL HW1 208 0.878 0.888 0.648 0.5800 0.4288 -0.1371 + 1SOL HW2 209 0.901 0.811 0.519 -1.4243 -1.1640 0.4083 + 1SOL OW 210 2.514 1.379 1.600 0.1352 0.6160 0.6877 + 1SOL HW1 211 2.447 1.437 1.636 -1.0060 0.6229 -1.2815 + 1SOL HW2 212 2.464 1.305 1.565 1.1906 0.4504 -0.5030 + 1SOL OW 213 2.628 2.194 0.434 -0.6146 0.2446 0.2472 + 1SOL HW1 214 2.698 2.130 0.423 -1.8743 -0.9305 -1.6091 + 1SOL HW2 215 2.671 2.279 0.423 0.9730 -0.2536 2.0478 + 1SOL OW 216 2.702 2.386 0.195 -0.1324 -0.3687 -0.4432 + 1SOL HW1 217 2.771 2.451 0.188 0.5066 -0.9086 0.5262 + 1SOL HW2 218 2.645 2.418 0.265 0.4430 -1.0484 0.3628 + 1SOL OW 219 1.473 1.288 1.968 0.4670 0.1468 -0.8900 + 1SOL HW1 220 1.521 1.288 1.885 0.0452 1.2017 -1.1609 + 1SOL HW2 221 1.389 1.248 1.947 0.9771 -1.1560 -0.5533 + 1SOL OW 222 1.943 0.633 1.715 -0.0471 -0.2241 -0.0427 + 1SOL HW1 223 2.002 0.697 1.755 0.6335 -0.2400 -0.9928 + 1SOL HW2 224 1.871 0.624 1.778 0.0843 1.1135 0.3284 + 1SOL OW 225 0.166 0.395 1.492 -0.0234 -0.0593 -0.2017 + 1SOL HW1 226 0.123 0.347 1.562 -0.8106 -1.0172 -1.2996 + 1SOL HW2 227 0.198 0.328 1.432 2.7318 0.6244 0.3547 + 1SOL OW 228 1.850 0.332 0.960 0.0650 -0.1948 0.0024 + 1SOL HW1 229 1.802 0.414 0.975 0.5984 0.1376 -0.0822 + 1SOL HW2 230 1.941 0.359 0.952 0.2421 -0.7997 -0.0511 + 1SOL OW 231 0.248 0.131 0.588 -0.0574 -0.0038 0.2397 + 1SOL HW1 232 0.311 0.126 0.516 -0.2965 2.0814 -0.1873 + 1SOL HW2 233 0.176 0.074 0.561 0.0505 0.4027 -0.9875 + 1SOL OW 234 1.260 0.658 0.369 -0.3957 -0.2140 0.4864 + 1SOL HW1 235 1.205 0.653 0.448 0.6977 -2.8031 1.1745 + 1SOL HW2 236 1.200 0.636 0.297 -1.0102 0.4827 0.7616 + 1SOL OW 237 3.044 0.076 0.319 0.4745 -0.1150 0.3695 + 1SOL HW1 238 2.987 0.001 0.336 -1.6209 1.5532 1.1558 + 1SOL HW2 239 2.985 0.152 0.323 2.7336 1.7000 0.9741 + 1SOL OW 240 2.733 2.689 0.030 0.2824 0.0880 -0.1835 + 1SOL HW1 241 2.698 2.777 0.043 0.8845 0.0712 1.7283 + 1SOL HW2 242 2.777 2.668 0.112 -2.1833 -3.0839 0.5067 + 1SOL OW 243 2.692 1.040 1.386 0.5121 -0.0139 0.3599 + 1SOL HW1 244 2.612 0.996 1.355 0.6921 -1.1967 1.4507 + 1SOL HW2 245 2.752 1.036 1.312 0.0798 -0.4929 0.0244 + 1SOL OW 246 1.358 1.165 0.459 -0.2357 0.0660 -0.3102 + 1SOL HW1 247 1.296 1.098 0.488 0.2929 0.6695 2.4117 + 1SOL HW2 248 1.434 1.116 0.427 -0.0347 -0.6757 1.2405 + 1SOL OW 249 0.822 2.103 0.811 -0.2617 0.1359 -0.4202 + 1SOL HW1 250 0.776 2.022 0.786 0.5088 -0.4066 -0.1198 + 1SOL HW2 251 0.762 2.173 0.785 -2.3533 -0.5546 2.1062 + 1SOL OW 252 0.315 1.931 1.304 -0.2154 -0.2787 -0.1251 + 1SOL HW1 253 0.379 1.919 1.375 -0.2793 -0.4768 -0.1014 + 1SOL HW2 254 0.231 1.938 1.349 -0.3243 -0.9578 -0.2130 + 1SOL OW 255 1.889 1.015 0.601 0.1011 -0.0383 -0.4215 + 1SOL HW1 256 1.802 1.054 0.609 -0.5063 -1.5480 1.0436 + 1SOL HW2 257 1.873 0.929 0.561 0.8732 -0.4115 0.0402 + 1SOL OW 258 1.313 0.225 0.378 0.2352 0.3412 0.3835 + 1SOL HW1 259 1.246 0.161 0.401 -0.8939 1.5086 0.4027 + 1SOL HW2 260 1.355 0.188 0.300 -0.6603 -0.2464 0.1613 + 1SOL OW 261 0.503 2.774 0.156 -0.5582 -0.5630 0.5292 + 1SOL HW1 262 0.587 2.753 0.198 -0.7785 -1.0588 0.7265 + 1SOL HW2 263 0.521 2.766 0.062 -0.4392 -0.8696 0.5773 + 1SOL OW 264 3.028 2.533 0.095 -0.5349 -0.0505 0.4519 + 1SOL HW1 265 3.042 2.449 0.138 -0.8198 -0.1799 0.2960 + 1SOL HW2 266 3.048 2.598 0.162 1.0464 -0.2128 0.1852 + 1SOL OW 267 0.657 1.510 0.484 -0.0586 0.1963 0.4543 + 1SOL HW1 268 0.661 1.556 0.400 -2.1400 -1.3703 -0.6104 + 1SOL HW2 269 0.611 1.571 0.542 -0.8637 0.3285 -0.2989 + 1SOL OW 270 1.702 1.792 1.780 -0.5584 -0.3228 -0.1151 + 1SOL HW1 271 1.739 1.809 1.867 -1.8953 -0.6757 0.5413 + 1SOL HW2 272 1.759 1.724 1.743 0.2432 0.0933 0.3218 + 1SOL OW 273 3.050 0.624 0.847 -0.3169 0.0622 0.0369 + 1SOL HW1 274 3.048 0.594 0.938 -0.6360 4.4128 1.7425 + 1SOL HW2 275 2.984 0.694 0.844 2.0085 2.3726 -2.5441 + 1SOL OW 276 0.444 0.025 1.303 -0.0200 0.3106 0.1123 + 1SOL HW1 277 0.431 -0.066 1.276 1.5838 0.3560 -0.9408 + 1SOL HW2 278 0.464 0.072 1.222 0.4213 1.3658 0.8086 + 1SOL OW 279 2.349 1.621 0.516 -0.1896 -0.6404 -0.0064 + 1SOL HW1 280 2.294 1.583 0.585 -0.2229 0.6055 0.6771 + 1SOL HW2 281 2.436 1.584 0.532 -0.4152 -1.1414 0.0808 + 1SOL OW 282 0.421 1.013 1.316 0.1861 0.2454 -0.4266 + 1SOL HW1 283 0.371 1.024 1.397 -1.0517 1.2301 -1.2804 + 1SOL HW2 284 0.394 0.928 1.283 1.0067 -0.3461 0.3797 + 1SOL OW 285 0.446 0.245 1.944 -0.0002 0.0988 0.2445 + 1SOL HW1 286 0.437 0.334 1.979 0.7280 0.1690 0.2543 + 1SOL HW2 287 0.513 0.205 1.999 0.8926 0.0842 -0.8423 + 1SOL OW 288 0.671 2.997 1.247 0.1260 -0.0464 -0.3202 + 1SOL HW1 289 0.737 3.066 1.246 0.3641 -0.2787 -0.8086 + 1SOL HW2 290 0.685 2.951 1.330 0.0479 0.4091 -0.0513 + 1SOL OW 291 0.630 1.614 0.216 -0.5694 0.5473 -0.5916 + 1SOL HW1 292 0.591 1.680 0.159 0.0706 1.3869 -0.0857 + 1SOL HW2 293 0.633 1.535 0.163 -4.3487 -0.0503 -0.1961 + 1SOL OW 294 0.832 0.339 1.531 0.0592 0.9674 -0.0810 + 1SOL HW1 295 0.892 0.366 1.601 -0.6709 3.1730 -0.2173 + 1SOL HW2 296 0.885 0.340 1.452 1.2745 -2.9375 0.4489 + 1SOL OW 297 3.131 2.598 1.862 0.3012 0.1273 -0.8267 + 1SOL HW1 298 3.071 2.664 1.826 -0.7736 -0.3301 0.0644 + 1SOL HW2 299 3.168 2.640 1.940 1.3234 0.4852 -1.4872 + 1SOL OW 300 0.828 2.172 2.119 0.2462 0.0940 -0.3015 + 1SOL HW1 301 0.839 2.095 2.173 -1.0384 -0.6135 -0.9947 + 1SOL HW2 302 0.821 2.138 2.030 -0.3672 0.9927 -0.6127 + 1SOL OW 303 2.094 1.814 1.624 -0.2260 -0.2779 0.1059 + 1SOL HW1 304 2.167 1.848 1.571 0.0132 -0.6763 0.1763 + 1SOL HW2 305 2.041 1.764 1.563 -1.8992 2.1340 -0.5472 + 1SOL OW 306 0.608 1.935 1.461 -0.8418 0.3232 0.2284 + 1SOL HW1 307 0.575 1.993 1.530 -0.5826 1.4235 -0.5453 + 1SOL HW2 308 0.685 1.892 1.500 -1.3096 0.1405 0.9654 + 1SOL OW 309 0.015 2.348 0.341 0.5368 -0.4418 0.2890 + 1SOL HW1 310 0.046 2.359 0.431 0.5741 0.0940 0.2146 + 1SOL HW2 311 0.080 2.394 0.287 -0.8167 1.4800 0.1980 + 1SOL OW 312 2.354 0.370 2.167 -0.2654 -0.3407 -0.0051 + 1SOL HW1 313 2.306 0.289 2.183 0.6630 -1.0195 -0.5593 + 1SOL HW2 314 2.446 0.345 2.174 0.0545 0.4591 -1.0926 + 1SOL OW 315 3.019 1.926 0.273 0.0461 0.2598 -1.1248 + 1SOL HW1 316 3.013 1.964 0.185 0.4365 0.2043 -1.1768 + 1SOL HW2 317 3.052 1.838 0.258 0.6808 0.4504 -0.8787 + 1SOL OW 318 3.126 3.194 0.012 -0.0957 0.7103 0.2756 + 1SOL HW1 319 3.041 3.151 0.024 0.4761 -0.7337 -0.5967 + 1SOL HW2 320 3.181 3.127 -0.029 0.9534 2.1655 -0.8000 + 1SOL OW 321 1.396 0.418 2.031 0.4271 -0.3291 0.1109 + 1SOL HW1 322 1.305 0.399 2.011 0.5534 -1.0398 0.1883 + 1SOL HW2 323 1.393 0.502 2.078 -0.0446 0.3628 -1.0964 + 1SOL OW 324 0.789 1.067 1.439 0.9899 -0.1427 0.2149 + 1SOL HW1 325 0.708 1.052 1.487 1.6032 -0.8913 1.0615 + 1SOL HW2 326 0.766 1.052 1.347 -0.0158 0.5101 0.3540 + 1SOL OW 327 3.189 0.960 0.392 0.8265 0.0270 0.2710 + 1SOL HW1 328 3.275 0.920 0.376 0.9644 0.3142 0.2950 + 1SOL HW2 329 3.186 0.975 0.487 -0.4790 -2.8068 0.8001 + 1SOL OW 330 0.344 2.910 2.078 0.4423 -0.7102 0.2971 + 1SOL HW1 331 0.380 2.948 1.997 -1.6945 -1.0336 -0.8831 + 1SOL HW2 332 0.301 2.983 2.121 0.8482 -0.7238 0.7357 + 1SOL OW 333 0.238 2.877 0.569 -0.2054 0.0642 -0.2322 + 1SOL HW1 334 0.310 2.868 0.506 0.4492 0.1807 0.4961 + 1SOL HW2 335 0.175 2.934 0.524 0.5510 0.6872 -0.5368 + 1SOL OW 336 1.290 2.667 2.132 0.2348 0.0067 -0.6814 + 1SOL HW1 337 1.329 2.610 2.066 0.7599 -0.7830 0.2849 + 1SOL HW2 338 1.309 2.756 2.101 1.5492 -0.3569 -0.9641 + 1SOL OW 339 1.224 1.264 1.190 0.5916 -0.1294 -0.2498 + 1SOL HW1 340 1.196 1.173 1.200 0.2505 0.0328 0.3577 + 1SOL HW2 341 1.161 1.303 1.130 0.3690 -0.1338 -0.0178 + 1SOL OW 342 1.140 0.401 1.973 -0.0005 -0.0109 0.0578 + 1SOL HW1 343 1.140 0.306 1.985 0.2385 -0.0661 -0.3583 + 1SOL HW2 344 1.105 0.435 2.055 -1.1220 -0.5009 -0.1992 + 1SOL OW 345 2.547 0.761 0.156 -0.1303 -0.5206 0.0051 + 1SOL HW1 346 2.586 0.738 0.240 0.1839 -1.1389 -0.3043 + 1SOL HW2 347 2.593 0.707 0.092 0.1649 0.4944 -0.6648 + 1SOL OW 348 0.327 3.056 0.762 -0.3222 0.3547 0.3494 + 1SOL HW1 349 0.397 3.001 0.797 0.5116 -0.1462 -1.9395 + 1SOL HW2 350 0.282 3.000 0.699 -0.0895 1.9520 -1.3078 + 1SOL OW 351 2.191 1.460 0.709 -1.1862 -0.9330 0.6903 + 1SOL HW1 352 2.233 1.392 0.761 -1.7780 -1.5848 0.3296 + 1SOL HW2 353 2.128 1.413 0.654 -2.0576 -0.0314 0.8858 + 1SOL OW 354 0.933 3.050 1.649 0.1067 -0.6738 -0.2496 + 1SOL HW1 355 1.019 3.029 1.613 0.2949 -0.3651 0.0092 + 1SOL HW2 356 0.915 3.139 1.620 0.2026 -0.4702 0.2997 + 1SOL OW 357 0.174 0.467 0.289 0.0838 -0.7985 0.0007 + 1SOL HW1 358 0.218 0.503 0.212 -0.3406 -0.2484 0.0109 + 1SOL HW2 359 0.197 0.526 0.360 -1.4567 0.0768 -0.1881 + 1SOL OW 360 2.102 1.889 2.173 0.0969 -0.3994 -0.2485 + 1SOL HW1 361 2.085 1.939 2.093 1.2261 1.1108 0.4216 + 1SOL HW2 362 2.023 1.835 2.184 0.1825 -1.1697 -2.7261 + 1SOL OW 363 1.452 0.149 1.601 0.4156 -0.1568 -0.1011 + 1SOL HW1 364 1.538 0.111 1.585 1.1682 1.4706 -0.1439 + 1SOL HW2 365 1.470 0.231 1.648 -1.1468 -0.0583 0.3892 + 1SOL OW 366 1.836 2.261 1.559 0.0289 -0.0363 -0.2760 + 1SOL HW1 367 1.801 2.252 1.648 0.2478 3.2651 0.2755 + 1SOL HW2 368 1.786 2.333 1.521 1.2192 -0.1382 -2.1592 + 1SOL OW 369 0.839 2.645 0.131 0.0473 -0.0589 -0.0845 + 1SOL HW1 370 0.824 2.605 0.046 0.1898 -0.4493 0.0729 + 1SOL HW2 371 0.880 2.576 0.183 -1.6325 -0.3954 0.8520 + 1SOL OW 372 2.895 0.754 0.171 0.1410 0.0781 0.6634 + 1SOL HW1 373 2.869 0.780 0.082 -0.5686 1.0694 1.1504 + 1SOL HW2 374 2.934 0.667 0.159 0.1015 0.2108 -0.6242 + 1SOL OW 375 0.218 1.745 1.111 -0.5337 0.3030 -0.3202 + 1SOL HW1 376 0.240 1.813 1.174 -1.0732 -0.7708 1.0801 + 1SOL HW2 377 0.288 1.750 1.045 -0.0331 1.5448 0.2678 + 1SOL OW 378 1.277 1.058 1.773 -0.4336 -0.1534 -0.5396 + 1SOL HW1 379 1.199 1.014 1.806 -2.3751 3.2848 -0.1211 + 1SOL HW2 380 1.246 1.111 1.700 1.4102 1.6306 -0.1148 + 1SOL OW 381 2.641 2.105 0.103 0.5873 0.8737 0.6212 + 1SOL HW1 382 2.638 2.091 0.198 1.4314 1.2619 0.7059 + 1SOL HW2 383 2.663 2.197 0.092 -2.0911 1.5367 0.0365 + 1SOL OW 384 0.662 1.401 0.067 0.2434 0.5117 -0.2450 + 1SOL HW1 385 0.654 1.423 -0.025 -2.9822 -1.5420 -0.6373 + 1SOL HW2 386 0.755 1.381 0.080 1.0960 2.5189 -2.5316 + 1SOL OW 387 1.670 2.464 1.470 0.5314 0.3213 0.2291 + 1SOL HW1 388 1.626 2.542 1.505 -0.2078 0.1792 -0.3462 + 1SOL HW2 389 1.635 2.455 1.382 1.6366 0.1157 -0.2031 + 1SOL OW 390 0.560 0.971 1.607 -0.1235 -0.7011 -0.1779 + 1SOL HW1 391 0.544 1.017 1.689 1.7670 -1.4173 0.6739 + 1SOL HW2 392 0.476 0.972 1.561 -1.4647 -0.9705 2.1221 + 1SOL OW 393 1.993 0.686 0.629 0.1855 0.1581 0.2707 + 1SOL HW1 394 1.976 0.617 0.565 1.0589 -0.2541 0.4628 + 1SOL HW2 395 2.067 0.653 0.680 -0.2732 0.6346 1.2689 + 1SOL OW 396 2.516 3.182 0.738 -0.0013 -0.0450 -0.3251 + 1SOL HW1 397 2.480 3.098 0.709 0.9009 -1.2316 1.8038 + 1SOL HW2 398 2.610 3.166 0.748 0.6767 2.0150 -2.4180 + 1SOL OW 399 3.006 2.892 0.956 -0.2757 0.8555 0.0571 + 1SOL HW1 400 2.958 2.811 0.976 -0.1641 0.4822 -1.1215 + 1SOL HW2 401 3.046 2.917 1.039 -1.7764 0.6944 0.8717 + 1SOL OW 402 0.575 3.075 2.217 0.5466 0.7263 -0.2695 + 1SOL HW1 403 0.487 3.111 2.230 1.0860 2.0062 -0.0131 + 1SOL HW2 404 0.630 3.122 2.280 1.1864 -1.0448 0.5534 + 1SOL OW 405 0.621 0.209 0.949 0.1986 -0.0329 -0.3549 + 1SOL HW1 406 0.658 0.283 0.901 0.1669 1.5584 1.9226 + 1SOL HW2 407 0.526 0.221 0.941 0.1879 0.6822 0.6972 + 1SOL OW 408 1.237 2.565 0.476 -0.4047 -0.0629 -0.2080 + 1SOL HW1 409 1.226 2.536 0.385 -1.4423 0.1327 -0.1587 + 1SOL HW2 410 1.153 2.605 0.498 -0.3340 -0.5488 1.0004 + 1SOL OW 411 0.909 2.272 1.025 0.6280 0.2196 -0.4964 + 1SOL HW1 412 0.865 2.266 1.110 -0.6009 1.4896 -1.0100 + 1SOL HW2 413 0.865 2.206 0.971 -1.0793 1.8187 -1.1552 + 1SOL OW 414 0.297 2.830 1.542 0.6935 -0.2455 -0.0774 + 1SOL HW1 415 0.277 2.791 1.627 0.3803 0.8618 0.3690 + 1SOL HW2 416 0.298 2.924 1.558 -2.2633 0.2183 -1.8459 + 1SOL OW 417 0.750 1.440 2.061 -0.3452 -0.0991 -0.4834 + 1SOL HW1 418 0.812 1.486 2.118 -0.5737 0.1250 -0.4118 + 1SOL HW2 419 0.685 1.405 2.122 -0.8161 0.4899 -0.6344 + 1SOL OW 420 2.444 1.730 1.413 0.2037 0.5050 -0.2209 + 1SOL HW1 421 2.421 1.663 1.348 -2.4640 -1.8211 2.8417 + 1SOL HW2 422 2.363 1.780 1.426 0.0054 -0.3966 2.6201 + 1SOL OW 423 3.158 0.631 1.447 0.1014 0.4338 0.3861 + 1SOL HW1 424 3.132 0.636 1.539 -0.8611 1.5192 0.0680 + 1SOL HW2 425 3.215 0.554 1.443 -2.7765 -1.9250 1.1945 + 1SOL OW 426 2.508 2.659 0.943 0.1799 -0.0959 -0.2711 + 1SOL HW1 427 2.480 2.702 1.024 0.6104 -0.8624 0.2952 + 1SOL HW2 428 2.545 2.576 0.972 1.0481 -0.0443 -1.1883 + 1SOL OW 429 0.865 1.945 2.238 -0.0780 -0.1954 -0.0859 + 1SOL HW1 430 0.783 1.941 2.288 0.3214 1.3276 0.7374 + 1SOL HW2 431 0.927 1.894 2.291 0.6355 2.2846 1.6750 + 1SOL OW 432 0.882 2.549 0.896 -0.0116 0.3554 0.0462 + 1SOL HW1 433 0.890 2.603 0.975 1.0124 -0.8829 0.8301 + 1SOL HW2 434 0.899 2.460 0.926 -1.7170 -0.4446 -1.2042 + 1SOL OW 435 1.441 1.118 0.083 0.5217 -0.0670 -0.4053 + 1SOL HW1 436 1.453 1.184 0.152 -1.5120 0.8153 -0.8104 + 1SOL HW2 437 1.489 1.041 0.114 0.1664 0.5021 1.6962 + 1SOL OW 438 2.400 0.091 2.192 -0.1419 -0.0018 0.1344 + 1SOL HW1 439 2.494 0.080 2.207 -0.2843 0.7054 1.6767 + 1SOL HW2 440 2.362 0.102 2.279 -1.7619 -0.9467 -0.4062 + 1SOL OW 441 1.047 1.099 1.535 0.0929 0.3460 -0.1353 + 1SOL HW1 442 1.092 1.024 1.497 1.2347 0.5176 0.8005 + 1SOL HW2 443 0.954 1.077 1.530 0.4306 -2.2061 2.1560 + 1SOL OW 444 0.520 2.585 1.172 -0.9138 -0.5129 -0.8371 + 1SOL HW1 445 0.460 2.641 1.221 -0.2561 0.6215 -1.3053 + 1SOL HW2 446 0.594 2.641 1.151 0.3998 -1.9231 -0.1634 + 1SOL OW 447 0.518 1.649 0.657 0.4625 -0.2842 0.1505 + 1SOL HW1 448 0.431 1.623 0.624 0.7784 0.6665 -1.5615 + 1SOL HW2 449 0.546 1.575 0.710 -0.7661 -1.2719 -0.5138 + 1SOL OW 450 3.044 0.804 2.194 -0.3468 0.4324 -0.0572 + 1SOL HW1 451 2.984 0.766 2.130 -1.2913 -2.4261 2.3008 + 1SOL HW2 452 3.112 0.738 2.204 -1.8742 -0.8275 3.9806 + 1SOL OW 453 1.439 1.124 1.077 -0.3035 -0.4137 0.4838 + 1SOL HW1 454 1.372 1.168 1.130 -0.2387 0.4730 -0.1426 + 1SOL HW2 455 1.396 1.105 0.994 -0.0364 -0.6552 0.3977 + 1SOL OW 456 0.591 0.721 0.651 0.3912 0.1815 0.1016 + 1SOL HW1 457 0.631 0.640 0.682 0.2567 -0.2208 -0.7392 + 1SOL HW2 458 0.540 0.694 0.574 -1.6115 0.6451 1.2150 + 1SOL OW 459 2.107 0.655 0.980 -0.3317 0.2849 1.0765 + 1SOL HW1 460 2.054 0.734 0.972 0.9296 1.1602 1.1144 + 1SOL HW2 461 2.169 0.674 1.049 -0.5621 -1.0933 1.6991 + 1SOL OW 462 2.256 0.593 0.750 -0.3433 -0.2513 0.2134 + 1SOL HW1 463 2.209 0.604 0.833 0.4023 -0.4326 0.6718 + 1SOL HW2 464 2.319 0.524 0.768 -0.6724 -0.8114 -0.7348 + 1SOL OW 465 1.818 2.051 2.017 -0.3122 0.1944 0.1641 + 1SOL HW1 466 1.877 1.983 1.985 0.7239 0.9419 0.3921 + 1SOL HW2 467 1.734 2.008 2.027 0.1159 -0.8369 -0.4860 + 1SOL OW 468 1.113 1.640 1.112 -0.0530 -0.2011 -0.8702 + 1SOL HW1 469 1.100 1.675 1.024 1.1239 1.7815 -0.3128 + 1SOL HW2 470 1.097 1.714 1.170 0.3914 -1.1533 0.5089 + 1SOL OW 471 2.627 1.775 0.188 0.1777 -0.2624 -0.5208 + 1SOL HW1 472 2.544 1.820 0.172 0.2732 0.2451 0.3858 + 1SOL HW2 473 2.649 1.737 0.103 0.6297 2.2877 -1.6341 + 1SOL OW 474 0.203 0.705 0.931 0.4182 0.0495 0.3353 + 1SOL HW1 475 0.212 0.610 0.943 -1.8985 -0.1787 0.8734 + 1SOL HW2 476 0.145 0.714 0.855 1.4839 1.0914 -0.3868 + 1SOL OW 477 0.535 2.155 0.768 0.5856 0.4171 -0.3998 + 1SOL HW1 478 0.528 2.196 0.854 2.4047 -0.8001 0.3758 + 1SOL HW2 479 0.456 2.100 0.761 1.7766 -1.7695 1.8206 + 1SOL OW 480 1.154 1.094 0.813 0.3277 -0.3536 -0.6908 + 1SOL HW1 481 1.067 1.070 0.845 0.0706 -0.1992 -1.2652 + 1SOL HW2 482 1.190 1.012 0.779 1.1930 -0.8585 1.2756 + 1SOL OW 483 1.173 2.477 1.648 0.1535 0.1880 -0.1529 + 1SOL HW1 484 1.156 2.547 1.711 -1.2414 -0.8127 0.6313 + 1SOL HW2 485 1.256 2.439 1.676 -1.0939 -1.1240 1.9774 + 1SOL OW 486 0.394 0.272 0.821 0.1871 -0.1576 -0.2629 + 1SOL HW1 487 0.350 0.215 0.759 1.2712 -2.2903 0.8210 + 1SOL HW2 488 0.469 0.308 0.773 -0.8531 0.9473 -1.1393 + 1SOL OW 489 2.914 1.058 1.625 0.3341 -0.2583 -0.7316 + 1SOL HW1 490 2.862 1.066 1.545 -0.5225 -0.4242 -0.2080 + 1SOL HW2 491 2.849 1.056 1.696 1.0033 -1.3777 -0.1137 + 1SOL OW 492 2.035 0.304 0.382 -0.4053 -0.3752 -0.1572 + 1SOL HW1 493 2.131 0.302 0.381 -0.3661 0.8768 -0.4662 + 1SOL HW2 494 2.010 0.257 0.303 -0.0583 -0.8223 -0.0097 + 1SOL OW 495 1.100 0.300 0.750 -0.0420 0.0149 0.8260 + 1SOL HW1 496 1.030 0.314 0.685 -0.1510 1.2842 1.1924 + 1SOL HW2 497 1.080 0.214 0.788 0.2880 -0.9873 -1.1211 + 1SOL OW 498 2.392 2.644 1.338 0.0595 -0.2941 -0.5571 + 1SOL HW1 499 2.371 2.550 1.332 1.4005 -0.6289 -0.3646 + 1SOL HW2 500 2.327 2.687 1.282 -1.0631 -1.2545 -0.0451 + 1SOL OW 501 1.477 1.354 0.265 -0.0440 0.8223 0.2262 + 1SOL HW1 502 1.470 1.448 0.283 -0.5989 0.3918 2.7034 + 1SOL HW2 503 1.407 1.315 0.317 -0.3073 -0.9319 -1.3565 + 1SOL OW 504 1.817 3.229 0.024 -0.7497 -0.1437 -0.3818 + 1SOL HW1 505 1.789 3.264 -0.061 1.0338 -0.6029 -1.2111 + 1SOL HW2 506 1.749 3.166 0.048 -1.6876 0.5765 -1.0547 + 1SOL OW 507 0.285 0.918 0.536 -0.1733 -0.7319 -0.3375 + 1SOL HW1 508 0.356 0.981 0.523 -1.2140 0.4065 -0.6968 + 1SOL HW2 509 0.241 0.947 0.615 0.3748 -2.0594 0.4849 + 1SOL OW 510 2.091 0.212 1.350 0.1960 0.0924 -0.4480 + 1SOL HW1 511 2.070 0.305 1.349 0.5153 0.2114 1.1275 + 1SOL HW2 512 2.008 0.168 1.366 0.4377 0.3136 1.6735 + 1SOL OW 513 2.350 2.338 1.405 -0.1866 0.2151 0.4898 + 1SOL HW1 514 2.395 2.260 1.374 -0.6209 -0.6691 2.0147 + 1SOL HW2 515 2.265 2.336 1.360 -0.5300 -0.6591 1.1651 + 1SOL OW 516 2.542 3.115 1.419 0.0964 -0.2797 0.1710 + 1SOL HW1 517 2.533 3.023 1.443 -0.9798 -0.3924 -0.5998 + 1SOL HW2 518 2.604 3.151 1.483 -0.4825 -1.2184 1.2854 + 1SOL OW 519 0.342 1.450 2.014 -0.2065 -0.0310 0.3501 + 1SOL HW1 520 0.303 1.537 2.003 -1.9060 -0.6388 1.2883 + 1SOL HW2 521 0.403 1.442 1.940 -1.1106 1.3669 -0.5919 + 1SOL OW 522 3.089 1.341 0.738 0.1792 -0.0919 0.2612 + 1SOL HW1 523 3.181 1.322 0.717 0.0920 -0.6400 0.3462 + 1SOL HW2 524 3.050 1.364 0.654 0.4755 0.5021 0.2813 + 1SOL OW 525 2.196 3.034 2.096 0.1215 -0.0418 0.2249 + 1SOL HW1 526 2.253 3.064 2.025 0.8577 -0.3563 0.6634 + 1SOL HW2 527 2.198 2.938 2.088 -0.2840 -0.0570 0.3004 + 1SOL OW 528 0.733 2.608 0.655 -0.2965 -0.0177 -0.4583 + 1SOL HW1 529 0.646 2.593 0.691 -0.2022 0.7259 0.1171 + 1SOL HW2 530 0.792 2.590 0.728 -0.0304 0.3544 -0.5769 + 1SOL OW 531 1.507 0.388 0.496 0.0967 -0.0284 -0.3434 + 1SOL HW1 532 1.526 0.368 0.587 0.1872 -1.1320 -0.5899 + 1SOL HW2 533 1.433 0.333 0.473 0.3534 -0.0961 -1.0589 + 1SOL OW 534 0.981 1.481 0.559 0.8835 -0.4023 -0.2380 + 1SOL HW1 535 0.916 1.519 0.500 2.3025 1.6013 -0.6400 + 1SOL HW2 536 0.941 1.488 0.646 -0.1603 -0.9261 -0.6667 + 1SOL OW 537 0.075 0.151 2.201 -0.4528 -0.6320 0.1154 + 1SOL HW1 538 0.008 0.179 2.264 -1.9907 -0.6898 -1.4130 + 1SOL HW2 539 0.027 0.098 2.138 1.6687 -3.5647 0.7770 + 1SOL OW 540 1.391 1.640 1.332 0.1580 -0.1189 -0.8783 + 1SOL HW1 541 1.459 1.697 1.297 -1.1741 1.8288 -0.4195 + 1SOL HW2 542 1.324 1.638 1.265 -0.8091 0.7157 0.0322 + 1SOL OW 543 0.623 1.251 1.043 -0.0452 0.2282 0.3068 + 1SOL HW1 544 0.552 1.201 1.002 1.3039 -1.3563 -0.1595 + 1SOL HW2 545 0.653 1.196 1.115 2.2414 -0.2474 -0.9360 + 1SOL OW 546 2.117 2.029 0.526 0.0144 -0.2163 -0.3161 + 1SOL HW1 547 2.198 1.989 0.495 0.6366 0.8852 -0.1681 + 1SOL HW2 548 2.051 1.960 0.518 1.1615 -1.4356 0.4832 + 1SOL OW 549 1.207 0.685 1.749 -0.0270 0.6054 0.1668 + 1SOL HW1 550 1.200 0.714 1.658 0.0139 0.4536 0.1159 + 1SOL HW2 551 1.159 0.751 1.798 1.1145 1.4576 0.1839 + 1SOL OW 552 2.588 2.402 1.046 -0.7587 0.0757 -0.3814 + 1SOL HW1 553 2.506 2.359 1.019 -1.2514 0.8465 -0.1516 + 1SOL HW2 554 2.586 2.398 1.142 -0.4973 0.0498 -0.3782 + 1SOL OW 555 0.727 2.848 1.025 0.5579 0.4413 -0.0942 + 1SOL HW1 556 0.727 2.909 1.099 0.4553 1.0602 -0.5868 + 1SOL HW2 557 0.794 2.783 1.046 1.0121 1.0049 0.2222 + 1SOL OW 558 1.126 1.321 0.398 -0.5539 0.1897 -0.1092 + 1SOL HW1 559 1.084 1.371 0.468 0.7531 0.4103 0.5492 + 1SOL HW2 560 1.218 1.313 0.425 -0.6347 -2.3072 -0.3593 + 1SOL OW 561 0.551 1.433 1.850 -0.3445 0.1313 -0.2835 + 1SOL HW1 562 0.634 1.426 1.897 0.0232 -0.7463 -1.0318 + 1SOL HW2 563 0.574 1.472 1.765 -1.0459 1.9970 0.3411 + 1SOL OW 564 2.969 2.003 1.985 -0.5531 0.0128 0.2611 + 1SOL HW1 565 2.986 2.031 2.075 0.3299 -0.5985 0.2970 + 1SOL HW2 566 3.033 2.051 1.932 -0.3656 -0.4139 0.0931 + 1SOL OW 567 1.674 0.188 1.147 0.4011 -0.2158 -0.0202 + 1SOL HW1 568 1.656 0.255 1.213 -2.1987 -1.2039 0.3854 + 1SOL HW2 569 1.715 0.237 1.075 -0.2914 1.5906 0.7357 + 1SOL OW 570 2.848 0.302 0.317 0.4241 0.0092 -0.1832 + 1SOL HW1 571 2.920 0.360 0.291 0.3093 -0.8157 -2.5960 + 1SOL HW2 572 2.773 0.333 0.266 0.0321 -1.3853 -0.5062 + 1SOL OW 573 1.681 1.184 0.644 -0.3357 -0.0820 -0.0220 + 1SOL HW1 574 1.602 1.231 0.617 -1.6738 -2.0226 0.3284 + 1SOL HW2 575 1.675 1.178 0.739 -0.0818 -0.7457 -0.0408 + 1SOL OW 576 1.450 2.366 2.123 -0.3262 0.4849 0.0996 + 1SOL HW1 577 1.363 2.368 2.163 -0.5895 1.4450 -0.4772 + 1SOL HW2 578 1.452 2.285 2.073 0.5948 -1.6315 3.2280 + 1SOL OW 579 1.422 2.917 2.071 -0.1719 -0.2843 -0.5527 + 1SOL HW1 580 1.492 2.925 2.136 0.5402 -0.5932 -1.2503 + 1SOL HW2 581 1.440 2.988 2.008 -0.3472 -0.5033 -0.8521 + 1SOL OW 582 1.685 0.680 1.247 0.5146 -0.4066 -0.5629 + 1SOL HW1 583 1.759 0.719 1.294 -0.2985 0.2396 0.2084 + 1SOL HW2 584 1.647 0.754 1.199 0.7842 -0.8792 -1.5358 + 1SOL OW 585 2.095 2.432 0.916 -0.4641 -0.4224 -0.2314 + 1SOL HW1 586 2.051 2.505 0.960 -1.3924 -1.0896 -0.0115 + 1SOL HW2 587 2.174 2.470 0.879 -0.6105 0.5580 0.4238 + 1SOL OW 588 1.536 0.658 0.438 -0.3670 -0.3457 -0.4472 + 1SOL HW1 589 1.476 0.681 0.367 1.3154 -1.3205 -2.2998 + 1SOL HW2 590 1.515 0.567 0.459 -1.7694 0.3547 1.3128 + 1SOL OW 591 1.521 0.763 0.699 0.3366 0.0005 -0.0177 + 1SOL HW1 592 1.613 0.748 0.720 0.4662 -0.8321 -1.0832 + 1SOL HW2 593 1.510 0.726 0.612 -1.5096 -1.8757 0.9189 + 1SOL OW 594 0.224 2.091 1.759 -0.0719 0.0645 0.3139 + 1SOL HW1 595 0.168 2.051 1.693 0.3699 0.5180 -0.3584 + 1SOL HW2 596 0.164 2.136 1.818 -0.6609 -2.4137 1.7136 + 1SOL OW 597 0.967 2.640 0.505 -0.0551 -0.1045 -0.7082 + 1SOL HW1 598 0.962 2.716 0.448 -0.9524 -0.1619 -0.7152 + 1SOL HW2 599 0.891 2.648 0.562 1.1681 0.3079 0.9447 + 1SOL OW 600 0.534 1.103 0.526 0.2617 0.0746 -0.0148 + 1SOL HW1 601 0.562 1.154 0.450 0.5343 0.1442 0.1319 + 1SOL HW2 602 0.600 1.122 0.593 -0.1372 0.2374 0.3304 + 1SOL OW 603 2.802 0.590 1.108 -0.0703 0.2912 -0.2517 + 1SOL HW1 604 2.892 0.560 1.123 -0.0781 0.2151 -0.3573 + 1SOL HW2 605 2.754 0.510 1.084 0.0018 0.4594 -0.9586 + 1SOL OW 606 0.054 1.846 1.682 0.0699 0.0071 -0.4599 + 1SOL HW1 607 0.132 1.791 1.672 -0.8229 -1.3055 -0.4404 + 1SOL HW2 608 -0.014 1.785 1.710 -1.2213 0.9454 -1.4916 + 1SOL OW 609 2.498 1.146 0.787 0.1116 0.3102 0.0149 + 1SOL HW1 610 2.466 1.121 0.700 0.7724 -0.3729 -0.0448 + 1SOL HW2 611 2.482 1.068 0.841 -0.3187 0.7420 0.5133 + 1SOL OW 612 2.070 0.811 2.273 0.2073 -0.3375 -0.0361 + 1SOL HW1 613 2.086 0.719 2.253 0.1544 -0.5064 0.6716 + 1SOL HW2 614 1.987 0.831 2.229 -0.4672 -1.0016 0.8852 + 1SOL OW 615 2.768 3.076 2.279 -0.9646 0.6498 -0.6017 + 1SOL HW1 616 2.741 3.013 2.346 -0.1493 -0.7734 -1.5523 + 1SOL HW2 617 2.688 3.096 2.231 -1.2902 0.6009 -0.0863 + 1SOL OW 618 1.905 0.888 0.999 0.3481 0.3151 0.1191 + 1SOL HW1 619 1.980 0.942 1.025 -0.3508 1.5443 -0.3435 + 1SOL HW2 620 1.843 0.898 1.071 0.0737 0.4098 -0.1295 + 1SOL OW 621 2.872 2.302 1.122 -0.1764 -0.2990 -0.4811 + 1SOL HW1 622 2.782 2.329 1.102 -0.1401 -0.4058 -0.7909 + 1SOL HW2 623 2.863 2.218 1.165 -0.4128 0.9482 2.0887 + 1SOL OW 624 2.998 1.322 1.235 0.0041 0.2042 -0.1106 + 1SOL HW1 625 2.973 1.354 1.148 1.1763 0.0188 -0.5399 + 1SOL HW2 626 2.970 1.231 1.235 -0.4012 0.3257 -0.1212 + 1SOL OW 627 0.526 1.459 0.829 0.3309 -0.0459 0.3149 + 1SOL HW1 628 0.563 1.371 0.835 1.1239 0.2736 0.2516 + 1SOL HW2 629 0.448 1.456 0.884 1.0673 -0.4287 1.3717 + 1SOL OW 630 1.257 0.273 1.430 -0.2311 0.1868 -0.2227 + 1SOL HW1 631 1.324 0.217 1.469 0.2936 -0.2221 -1.6629 + 1SOL HW2 632 1.255 0.351 1.486 -1.0923 -1.2668 1.9283 + 1SOL OW 633 0.804 0.190 1.794 -0.1093 -0.6153 0.5983 + 1SOL HW1 634 0.766 0.276 1.807 -0.4777 -0.7572 0.4935 + 1SOL HW2 635 0.764 0.135 1.862 -0.2559 -0.8120 0.3587 + 1SOL OW 636 0.810 2.353 0.550 0.2677 0.3912 0.4745 + 1SOL HW1 637 0.801 2.448 0.562 -0.4207 0.3002 0.6730 + 1SOL HW2 638 0.904 2.337 0.563 0.3282 0.9923 0.8152 + 1SOL OW 639 1.869 0.110 0.519 -0.4023 0.2869 -1.0246 + 1SOL HW1 640 1.887 0.091 0.611 -0.6411 0.2462 -0.9848 + 1SOL HW2 641 1.913 0.193 0.502 2.0470 -1.0549 -1.6356 + 1SOL OW 642 2.640 2.662 1.274 -0.1718 -0.1206 0.1537 + 1SOL HW1 643 2.546 2.671 1.287 0.1369 0.5491 2.2396 + 1SOL HW2 644 2.656 2.568 1.285 -0.8790 -0.6955 -2.8601 + 1SOL OW 645 2.504 2.106 1.323 0.1528 -0.0746 -0.1692 + 1SOL HW1 646 2.558 2.050 1.379 -1.8120 -1.0426 0.8434 + 1SOL HW2 647 2.523 2.077 1.234 0.0559 -1.5697 0.2783 + 1SOL OW 648 0.797 1.190 1.866 0.0427 -0.0364 -0.3348 + 1SOL HW1 649 0.869 1.244 1.834 -1.1495 0.7267 -1.8661 + 1SOL HW2 650 0.804 1.195 1.961 1.6937 0.4186 -0.4385 + 1SOL OW 651 1.123 1.349 1.619 -0.2979 -0.0560 -0.4921 + 1SOL HW1 652 1.071 1.412 1.569 -0.8703 -0.0818 0.0571 + 1SOL HW2 653 1.089 1.264 1.591 -1.3370 -0.0487 0.6794 + 1SOL OW 654 2.361 1.290 1.978 0.1653 -0.1585 0.1309 + 1SOL HW1 655 2.448 1.328 1.967 0.7150 -1.1514 0.8320 + 1SOL HW2 656 2.304 1.364 1.995 0.5793 0.6762 -1.8005 + 1SOL OW 657 0.834 0.659 1.655 0.0620 -0.5722 -0.0545 + 1SOL HW1 658 0.864 0.731 1.710 -0.2286 -0.0086 -0.6189 + 1SOL HW2 659 0.893 0.587 1.675 -0.4055 -0.5760 1.4386 + 1SOL OW 660 1.146 2.926 0.571 0.2519 -0.2853 -0.0301 + 1SOL HW1 661 1.058 2.926 0.534 0.7967 2.6986 -1.6762 + 1SOL HW2 662 1.204 2.908 0.497 1.1564 1.4765 0.1975 + 1SOL OW 663 0.169 2.383 0.876 -0.0220 -0.2161 -0.6153 + 1SOL HW1 664 0.157 2.477 0.862 0.6732 0.1859 1.1621 + 1SOL HW2 665 0.251 2.377 0.926 -1.3437 -1.5439 1.5427 + 1SOL OW 666 1.881 0.785 1.375 0.0400 0.3056 -0.0983 + 1SOL HW1 667 1.975 0.784 1.395 -0.3126 0.1482 1.7397 + 1SOL HW2 668 1.841 0.831 1.449 -1.3465 0.2939 -0.8038 + 1SOL OW 669 0.845 1.445 0.823 0.0926 -0.4506 0.1295 + 1SOL HW1 670 0.818 1.513 0.885 0.8909 0.1231 -0.1380 + 1SOL HW2 671 0.763 1.402 0.798 -0.4503 0.5112 0.1992 + 1SOL OW 672 1.636 2.663 2.122 0.4093 -0.0986 -0.2529 + 1SOL HW1 673 1.723 2.698 2.141 0.3411 0.0791 -0.2675 + 1SOL HW2 674 1.576 2.732 2.149 0.2913 -0.0556 -0.6234 + 1SOL OW 675 0.710 1.876 1.801 0.0516 0.2004 -0.1011 + 1SOL HW1 676 0.649 1.825 1.855 0.2444 0.8403 0.7516 + 1SOL HW2 677 0.761 1.810 1.753 -0.0855 -0.3923 0.5496 + 1SOL OW 678 0.537 0.227 1.671 -0.4586 0.3029 -0.3331 + 1SOL HW1 679 0.633 0.231 1.675 -0.3085 -2.1164 0.0035 + 1SOL HW2 680 0.510 0.210 1.762 -0.8981 -2.4702 -0.9034 + 1SOL OW 681 2.312 1.024 1.694 0.1682 -0.0721 0.3931 + 1SOL HW1 682 2.333 1.062 1.609 -0.0631 -1.0340 -0.0991 + 1SOL HW2 683 2.371 0.948 1.702 -0.7821 -0.8170 0.4641 + 1SOL OW 684 1.392 0.812 1.922 -0.2995 -0.0391 0.1060 + 1SOL HW1 685 1.403 0.782 1.832 0.1000 -0.6513 0.3552 + 1SOL HW2 686 1.339 0.891 1.914 0.5443 0.4522 -0.7387 + 1SOL OW 687 3.071 0.570 1.144 -0.6078 -0.2040 -0.4511 + 1SOL HW1 688 3.143 0.507 1.153 -1.2182 -0.7984 0.4522 + 1SOL HW2 689 3.077 0.624 1.223 -1.6699 -0.8261 0.0768 + 1SOL OW 690 2.010 1.778 0.631 -0.0097 -0.1253 -0.2289 + 1SOL HW1 691 1.928 1.752 0.674 0.3632 0.2939 0.7575 + 1SOL HW2 692 1.983 1.802 0.542 -0.7885 -1.0402 -0.2649 + 1SOL OW 693 2.182 3.196 1.056 0.3981 -0.1591 -0.1792 + 1SOL HW1 694 2.106 3.143 1.081 -0.2306 1.3099 1.2309 + 1SOL HW2 695 2.237 3.137 1.005 -1.6482 -1.3009 -1.2105 + 1SOL OW 696 3.059 1.758 1.283 -0.5014 -0.1094 -0.5786 + 1SOL HW1 697 3.131 1.804 1.325 -0.3305 0.5727 -1.5835 + 1SOL HW2 698 3.096 1.723 1.202 -1.2622 0.1959 -1.0743 + 1SOL OW 699 1.311 3.064 1.295 0.2164 0.2877 0.1279 + 1SOL HW1 700 1.300 3.056 1.200 -1.1942 0.3326 0.2721 + 1SOL HW2 701 1.403 3.089 1.306 0.6031 -0.4932 -1.1719 + 1SOL OW 702 2.170 2.887 0.617 -0.2683 0.0883 -0.1702 + 1SOL HW1 703 2.168 2.937 0.535 0.0733 -0.2890 -0.4183 + 1SOL HW2 704 2.176 2.796 0.588 2.3403 0.0548 0.2411 + 1SOL OW 705 0.346 1.999 1.986 -0.1509 -0.3664 0.0528 + 1SOL HW1 706 0.292 2.038 1.917 -2.1783 0.0247 1.7679 + 1SOL HW2 707 0.417 2.061 1.998 -1.0858 0.7746 -0.0654 + 1SOL OW 708 2.698 0.295 0.645 -0.4222 -0.5998 0.6140 + 1SOL HW1 709 2.687 0.381 0.605 0.5650 -0.0817 1.4230 + 1SOL HW2 710 2.792 0.277 0.639 -0.2883 -0.6571 2.3635 + 1SOL OW 711 2.765 0.736 1.666 -0.4062 -0.3406 0.3664 + 1SOL HW1 712 2.751 0.662 1.606 -3.6666 -0.3515 0.9675 + 1SOL HW2 713 2.835 0.707 1.724 -0.2681 -2.1591 -0.6416 + 1SOL OW 714 2.780 1.713 0.407 -0.1402 -0.5102 0.7513 + 1SOL HW1 715 2.872 1.721 0.380 -0.3888 -1.4706 -0.4441 + 1SOL HW2 716 2.730 1.730 0.327 -1.0265 0.1214 1.4191 + 1SOL OW 717 2.332 0.854 0.714 -0.0356 1.0237 0.2314 + 1SOL HW1 718 2.290 0.768 0.723 -1.3694 1.7807 1.6081 + 1SOL HW2 719 2.285 0.910 0.775 1.2106 2.6079 -0.2100 + 1SOL OW 720 3.230 0.365 1.188 0.1877 0.4902 0.0079 + 1SOL HW1 721 3.273 0.297 1.137 -0.1554 1.0116 -1.0180 + 1SOL HW2 722 3.300 0.408 1.236 0.9760 1.7461 -2.1143 + 1SOL OW 723 1.033 0.459 1.121 0.1123 0.8474 0.2007 + 1SOL HW1 724 0.968 0.418 1.064 0.1605 0.6716 0.2712 + 1SOL HW2 725 1.041 0.400 1.196 1.1782 0.2761 -0.3371 + 1SOL OW 726 0.610 2.618 1.506 -0.0162 0.0005 0.2459 + 1SOL HW1 727 0.677 2.589 1.567 0.0391 1.0521 0.7082 + 1SOL HW2 728 0.642 2.703 1.475 -0.3199 -0.2581 -0.8143 + 1SOL OW 729 1.118 0.028 1.304 -0.4032 0.5542 -0.4774 + 1SOL HW1 730 1.159 0.059 1.384 -1.3977 -0.0964 0.3109 + 1SOL HW2 731 1.185 -0.026 1.262 0.4985 1.7655 -0.6486 + 1SOL OW 732 2.901 2.669 1.090 1.0382 -0.1219 -0.4435 + 1SOL HW1 733 2.949 2.594 1.124 1.7816 -1.1644 -3.4117 + 1SOL HW2 734 2.838 2.631 1.029 0.2004 1.5730 -0.6828 + 1SOL OW 735 0.826 3.011 1.900 0.5261 -0.3542 -0.1387 + 1SOL HW1 736 0.876 3.050 1.829 0.0673 -0.8990 -0.7770 + 1SOL HW2 737 0.834 2.916 1.886 1.2765 -0.4979 1.1367 + 1SOL OW 738 0.105 1.117 2.097 -0.5392 0.0123 0.4547 + 1SOL HW1 739 0.181 1.059 2.089 1.7167 2.5723 1.5876 + 1SOL HW2 740 0.066 1.094 2.181 -0.0959 -0.3080 0.5752 + 1SOL OW 741 2.589 0.299 1.987 -0.3380 -0.3938 -0.1391 + 1SOL HW1 742 2.522 0.240 1.953 -0.0069 -0.4019 -0.7988 + 1SOL HW2 743 2.610 0.264 2.074 -1.8845 0.1830 0.5029 + 1SOL OW 744 2.997 0.125 1.526 -0.2422 -0.2444 -0.0616 + 1SOL HW1 745 3.088 0.131 1.557 0.0210 3.0180 -1.1249 + 1SOL HW2 746 3.005 0.095 1.435 -0.1768 0.3041 -0.2420 + 1SOL OW 747 0.416 3.177 0.019 -0.0707 -0.4609 -0.1849 + 1SOL HW1 748 0.405 3.087 -0.013 0.4250 -0.3466 -0.6845 + 1SOL HW2 749 0.481 3.169 0.089 0.0997 -0.4662 -0.3440 + 1SOL OW 750 2.770 3.171 0.993 0.4315 0.0978 0.4053 + 1SOL HW1 751 2.686 3.166 1.037 -0.0083 1.9661 -0.1162 + 1SOL HW2 752 2.804 3.082 0.994 -1.7048 -0.7619 0.3093 + 1SOL OW 753 1.236 1.385 0.695 0.4225 -0.6869 -0.3522 + 1SOL HW1 754 1.145 1.374 0.667 0.0244 0.8107 0.2258 + 1SOL HW2 755 1.264 1.298 0.721 -0.5035 -1.3743 -1.5316 + 1SOL OW 756 2.048 1.568 1.852 -0.0644 -0.0946 0.7957 + 1SOL HW1 757 1.982 1.545 1.918 0.7165 -0.0897 1.6119 + 1SOL HW2 758 2.130 1.569 1.901 0.1850 2.8034 0.4576 + 1SOL OW 759 2.709 0.478 1.575 0.2149 0.0760 0.2066 + 1SOL HW1 760 2.619 0.501 1.549 0.4630 1.1332 0.2475 + 1SOL HW2 761 2.709 0.382 1.577 -0.0859 -0.1119 -2.7987 + 1SOL OW 762 0.741 0.423 1.990 -0.5266 -0.1621 -0.1682 + 1SOL HW1 763 0.761 0.503 2.038 -0.4066 -0.1482 -0.2403 + 1SOL HW2 764 0.670 0.382 2.040 1.0843 -1.2859 1.3583 + 1SOL OW 765 2.839 3.044 0.245 -0.5725 -0.4443 -0.9358 + 1SOL HW1 766 2.799 3.113 0.298 1.0668 -1.1482 1.3922 + 1SOL HW2 767 2.892 2.994 0.307 -1.2284 -3.4743 -2.6139 + 1SOL OW 768 2.747 0.051 0.357 1.0018 -0.3825 0.5413 + 1SOL HW1 769 2.776 0.139 0.382 -0.5847 -0.1115 1.5733 + 1SOL HW2 770 2.668 0.036 0.409 -0.4751 -1.2575 -1.7853 + 1SOL OW 771 2.790 3.184 1.528 0.5550 -0.3479 0.1635 + 1SOL HW1 772 2.849 3.254 1.556 0.7329 0.0102 -1.0391 + 1SOL HW2 773 2.802 3.115 1.593 1.3673 0.2153 0.6285 + 1SOL OW 774 2.220 1.159 2.189 0.0177 0.1723 -0.5443 + 1SOL HW1 775 2.267 1.087 2.232 1.0476 0.9195 -0.4017 + 1SOL HW2 776 2.282 1.194 2.126 -1.2696 -0.5240 -2.2671 + 1SOL OW 777 0.971 0.454 1.787 0.3544 0.6958 0.4374 + 1SOL HW1 778 1.042 0.473 1.848 -0.3229 1.3044 1.0646 + 1SOL HW2 779 0.900 0.421 1.842 0.2379 -0.1576 -0.2073 + 1SOL OW 780 2.813 2.116 0.782 -0.1767 -0.4284 0.0331 + 1SOL HW1 781 2.837 2.087 0.694 -0.5898 -0.7218 0.0121 + 1SOL HW2 782 2.835 2.041 0.838 -0.3156 -0.4043 0.1194 + 1SOL OW 783 1.959 1.223 1.366 -0.4859 0.6425 0.5607 + 1SOL HW1 784 2.017 1.238 1.441 0.5396 -3.1133 0.7247 + 1SOL HW2 785 1.881 1.183 1.404 0.3764 -2.0887 -0.2475 + 1SOL OW 786 1.091 0.889 1.885 -0.0416 0.3071 0.2474 + 1SOL HW1 787 1.074 0.872 1.978 1.7659 -0.3341 0.4993 + 1SOL HW2 788 1.005 0.911 1.849 -0.8529 0.1688 1.9769 + 1SOL OW 789 0.996 0.048 0.852 -0.5595 -0.2940 -0.1307 + 1SOL HW1 790 1.086 0.045 0.885 0.4599 3.1798 -2.0697 + 1SOL HW2 791 0.991 -0.020 0.786 1.2081 0.4349 -1.0628 + 1SOL OW 792 0.829 1.187 2.144 0.1305 -0.1580 0.3035 + 1SOL HW1 793 0.897 1.229 2.197 -0.8115 0.1396 1.2912 + 1SOL HW2 794 0.747 1.210 2.187 -0.5278 -1.5323 -0.1742 + 1SOL OW 795 2.154 1.645 1.120 0.3402 0.1104 -0.4515 + 1SOL HW1 796 2.113 1.723 1.156 -0.1013 -1.0685 1.7904 + 1SOL HW2 797 2.230 1.630 1.176 -0.0933 -1.5451 -0.2572 + 1SOL OW 798 0.400 2.026 0.077 -0.5053 0.1061 0.0619 + 1SOL HW1 799 0.348 2.085 0.131 0.1738 -1.5257 2.6938 + 1SOL HW2 800 0.490 2.039 0.109 -0.0427 -0.7719 -0.8420 + 1SOL OW 801 0.341 0.617 1.926 -0.0095 -0.0561 -0.7005 + 1SOL HW1 802 0.272 0.668 1.884 -0.5836 -0.1128 0.1279 + 1SOL HW2 803 0.423 0.655 1.895 -0.4172 0.2068 -1.4754 + 1SOL OW 804 1.373 1.175 1.452 -0.0672 -0.1348 1.0211 + 1SOL HW1 805 1.286 1.199 1.422 -0.3450 -0.0479 1.8784 + 1SOL HW2 806 1.364 1.084 1.481 -0.1768 0.2570 2.2506 + 1SOL OW 807 0.060 2.002 2.162 0.3519 0.4718 -0.0750 + 1SOL HW1 808 0.061 2.051 2.080 -0.8318 -0.1665 -0.4903 + 1SOL HW2 809 0.065 1.910 2.136 -2.3207 0.1182 0.3783 + 1SOL OW 810 2.263 0.695 1.185 0.7880 0.0040 0.1099 + 1SOL HW1 811 2.355 0.703 1.209 0.9161 0.3070 -0.4835 + 1SOL HW2 812 2.218 0.753 1.247 1.0405 0.1843 0.1268 + 1SOL OW 813 1.991 1.910 1.854 0.4268 0.2793 0.2198 + 1SOL HW1 814 2.007 1.856 1.777 -0.6202 1.5717 -0.9529 + 1SOL HW2 815 2.004 2.000 1.824 0.1782 0.8032 1.5981 + 1SOL OW 816 1.596 2.496 1.197 0.8789 -0.0708 0.4616 + 1SOL HW1 817 1.612 2.434 1.126 1.4322 -0.0381 0.5482 + 1SOL HW2 818 1.614 2.582 1.158 3.1602 -0.1699 1.1342 + 1SOL OW 819 1.194 0.589 1.457 0.0781 -0.2316 -0.0054 + 1SOL HW1 820 1.252 0.549 1.523 0.0494 -0.2703 -0.0037 + 1SOL HW2 821 1.251 0.603 1.381 0.2449 0.3097 0.2120 + 1SOL OW 822 2.214 1.750 0.814 0.3862 -0.2768 0.0448 + 1SOL HW1 823 2.154 1.762 0.889 0.9061 1.2735 0.2510 + 1SOL HW2 824 2.157 1.757 0.737 0.0037 -0.8524 0.2669 + 1SOL OW 825 0.733 2.735 2.209 -0.3179 -0.3632 0.4107 + 1SOL HW1 826 0.667 2.686 2.160 -0.1299 -0.1362 -0.0803 + 1SOL HW2 827 0.811 2.733 2.153 0.1209 -0.7030 1.0210 + 1SOL OW 828 1.324 0.564 1.220 0.7713 0.4906 -0.3665 + 1SOL HW1 829 1.286 0.489 1.175 0.7402 -0.2229 0.8143 + 1SOL HW2 830 1.358 0.619 1.149 -2.6088 1.3224 -1.5242 + 1SOL OW 831 1.720 2.247 1.826 0.1115 0.3688 -0.4367 + 1SOL HW1 832 1.722 2.326 1.880 0.3825 0.2838 -0.3191 + 1SOL HW2 833 1.782 2.187 1.869 -1.5208 -0.6397 0.6177 + 1SOL OW 834 1.905 1.153 1.987 0.2533 0.5405 -0.2861 + 1SOL HW1 835 1.900 1.068 2.031 -0.6899 1.0403 0.6075 + 1SOL HW2 836 1.990 1.151 1.942 2.8219 1.1482 3.9521 + 1SOL OW 837 2.680 1.452 1.257 0.3980 -0.1111 -0.2697 + 1SOL HW1 838 2.761 1.479 1.299 0.1020 1.7934 -0.8466 + 1SOL HW2 839 2.705 1.374 1.206 1.1428 -1.3803 1.9055 + 1SOL OW 840 2.468 2.926 0.657 0.4452 0.1575 0.2476 + 1SOL HW1 841 2.392 2.884 0.616 0.5999 0.1923 -0.0767 + 1SOL HW2 842 2.515 2.855 0.700 1.1550 -0.1569 -0.9901 + 1SOL OW 843 1.066 0.398 0.402 -0.0302 -0.0070 0.4482 + 1SOL HW1 844 1.157 0.378 0.425 -0.4600 -0.9803 1.3845 + 1SOL HW2 845 1.015 0.366 0.476 -1.3347 -1.8194 -1.1155 + 1SOL OW 846 1.476 1.030 2.152 0.2894 -0.2654 -0.0957 + 1SOL HW1 847 1.443 1.120 2.144 0.9698 0.0855 0.8921 + 1SOL HW2 848 1.443 1.000 2.237 -0.3160 -1.1303 -0.6212 + 1SOL OW 849 1.667 2.871 0.520 -0.3341 -0.0253 -0.4947 + 1SOL HW1 850 1.674 2.967 0.513 -0.4185 0.0364 0.1812 + 1SOL HW2 851 1.757 2.840 0.512 -0.3727 0.0629 -1.3305 + 1SOL OW 852 2.677 1.137 1.746 -0.3093 -0.1600 0.2971 + 1SOL HW1 853 2.708 1.210 1.694 1.9084 -1.6079 -0.5404 + 1SOL HW2 854 2.692 1.163 1.837 0.1970 0.5231 0.0174 + 1SOL OW 855 2.130 3.028 0.355 -0.1952 -0.0156 -0.2112 + 1SOL HW1 856 2.094 3.030 0.267 0.7373 0.3212 -0.6034 + 1SOL HW2 857 2.153 3.119 0.375 1.5671 -0.3460 -0.4994 + 1SOL OW 858 2.376 1.535 1.219 -0.6667 0.5477 -0.1842 + 1SOL HW1 859 2.354 1.456 1.169 -0.0527 -1.0051 1.8494 + 1SOL HW2 860 2.471 1.534 1.225 -0.6055 1.8244 -0.6752 + 1SOL OW 861 0.481 0.628 1.613 0.0901 -0.2188 -1.0112 + 1SOL HW1 862 0.501 0.696 1.677 2.9334 -0.7558 -1.1867 + 1SOL HW2 863 0.504 0.546 1.657 -2.9209 -1.1130 -0.9358 + 1SOL OW 864 1.936 2.320 2.012 0.1451 0.4950 -0.3907 + 1SOL HW1 865 1.866 2.362 2.061 -0.2802 1.0369 -1.4313 + 1SOL HW2 866 1.922 2.227 2.025 0.3681 0.6252 0.9462 + 1SOL OW 867 2.792 2.303 2.064 -0.5827 0.3514 0.4056 + 1SOL HW1 868 2.840 2.232 2.106 -1.4711 -0.0971 0.6588 + 1SOL HW2 869 2.701 2.289 2.088 -1.2461 -0.3492 -2.2103 + 1SOL OW 870 2.186 2.469 0.307 -0.0646 0.0363 0.1421 + 1SOL HW1 871 2.222 2.411 0.374 -0.6643 -0.6485 -0.1153 + 1SOL HW2 872 2.255 2.475 0.241 0.2735 0.1917 0.5030 + 1SOL OW 873 0.102 0.840 1.445 -0.4592 -0.0366 0.7100 + 1SOL HW1 874 0.144 0.830 1.360 -0.6260 2.7312 0.2108 + 1SOL HW2 875 0.031 0.776 1.444 -1.0153 0.5048 -1.6248 + 1SOL OW 876 2.668 0.213 1.564 0.1226 0.0375 -0.1700 + 1SOL HW1 877 2.662 0.129 1.521 0.9260 -1.6223 2.6803 + 1SOL HW2 878 2.593 0.214 1.625 0.3470 1.1935 0.1163 + 1SOL OW 879 2.279 2.152 0.140 0.2311 -0.0546 -0.2517 + 1SOL HW1 880 2.315 2.238 0.118 -1.7297 0.9435 0.2123 + 1SOL HW2 881 2.199 2.171 0.188 -1.0520 -2.1228 -1.4105 + 1SOL OW 882 0.935 0.340 2.170 -0.3971 -0.3452 -0.0060 + 1SOL HW1 883 0.847 0.347 2.133 -0.3298 -0.4125 -0.1786 + 1SOL HW2 884 0.931 0.390 2.252 -0.6511 -0.5189 0.0872 + 1SOL OW 885 2.702 1.725 1.019 -0.1734 -0.0120 0.4546 + 1SOL HW1 886 2.620 1.701 0.975 -1.2356 2.3339 1.0058 + 1SOL HW2 887 2.684 1.713 1.112 0.0399 0.6940 0.5884 + 1SOL OW 888 0.704 1.182 0.776 0.3292 -0.0962 -0.0818 + 1SOL HW1 889 0.704 1.209 0.868 2.0755 0.2578 -0.1488 + 1SOL HW2 890 0.734 1.091 0.777 0.8121 0.0544 -0.3169 + 1SOL OW 891 2.427 0.412 1.208 -0.1047 -0.4965 -0.2572 + 1SOL HW1 892 2.340 0.409 1.169 0.1408 -2.8454 -0.7691 + 1SOL HW2 893 2.485 0.381 1.139 1.4866 2.6734 -0.5439 + 1SOL OW 894 1.051 0.097 2.186 0.4422 0.4555 -0.1629 + 1SOL HW1 895 1.060 0.069 2.095 0.4534 -0.6758 0.1642 + 1SOL HW2 896 1.030 0.190 2.181 0.0544 0.3216 -1.3318 + 1SOL OW 897 0.261 0.777 1.191 -0.5442 -0.5221 0.3198 + 1SOL HW1 898 0.250 0.741 1.103 -0.4896 0.7525 -0.2372 + 1SOL HW2 899 0.293 0.704 1.243 1.4635 -0.8278 -1.2017 + 1SOL OW 900 1.316 0.064 0.099 -0.0077 0.0557 -0.5795 + 1SOL HW1 901 1.356 -0.002 0.043 0.9089 0.5920 -0.5775 + 1SOL HW2 902 1.342 0.148 0.060 1.2226 0.4618 1.0023 + 1SOL OW 903 1.144 0.638 0.105 0.3870 -0.2898 0.2325 + 1SOL HW1 904 1.063 0.626 0.057 -0.1751 -0.3826 1.1869 + 1SOL HW2 905 1.154 0.732 0.115 -0.6918 -0.3019 1.8737 + 1SOL OW 906 2.255 1.274 0.115 -0.1718 0.5129 0.0079 + 1SOL HW1 907 2.302 1.198 0.081 -0.3463 0.6310 -0.5106 + 1SOL HW2 908 2.228 1.322 0.037 -0.3496 0.9333 0.3249 + 1SOL OW 909 2.695 1.217 2.288 0.0210 0.1644 -0.2439 + 1SOL HW1 910 2.627 1.284 2.280 0.5783 0.7163 -0.4621 + 1SOL HW2 911 2.664 1.145 2.233 -0.9294 -0.0610 0.5617 + 1SOL OW 912 1.937 3.029 1.090 -0.5221 0.7674 -0.2004 + 1SOL HW1 913 1.855 3.075 1.104 -1.9580 -2.3645 3.3851 + 1SOL HW2 914 1.919 2.966 1.021 -1.0266 0.4671 0.1969 + 1SOL OW 915 0.688 1.996 1.205 0.1055 -0.3549 -0.3920 + 1SOL HW1 916 0.657 1.964 1.289 -0.8493 0.4333 -0.4255 + 1SOL HW2 917 0.643 1.943 1.140 -1.5335 1.0063 -0.4495 + 1SOL OW 918 2.005 1.335 2.177 -0.3802 -0.2956 0.3359 + 1SOL HW1 919 1.955 1.300 2.103 -0.5520 -0.1946 0.4031 + 1SOL HW2 920 2.091 1.295 2.169 -0.1830 0.2457 -0.3128 + 1SOL OW 921 1.002 1.883 0.551 -0.1098 0.0766 0.2951 + 1SOL HW1 922 0.980 1.810 0.494 -1.5786 0.0208 0.8946 + 1SOL HW2 923 1.001 1.846 0.639 0.1442 0.5981 0.5230 + 1SOL OW 924 1.679 0.239 0.343 -0.2457 -0.1953 -0.0976 + 1SOL HW1 925 1.608 0.279 0.394 -0.9574 0.9186 -1.8622 + 1SOL HW2 926 1.727 0.186 0.406 -0.4800 1.8842 1.9394 + 1SOL OW 927 1.048 0.090 1.898 0.0766 0.0484 0.3915 + 1SOL HW1 928 0.977 0.131 1.850 0.1187 -0.8186 -0.4564 + 1SOL HW2 929 1.105 0.053 1.830 -0.7302 -2.6702 1.0639 + 1SOL OW 930 0.528 2.631 0.832 0.2467 0.4677 -0.5657 + 1SOL HW1 931 0.585 2.566 0.873 -0.7878 0.6065 1.1816 + 1SOL HW2 932 0.443 2.589 0.826 -0.2609 1.3982 -0.1105 + 1SOL OW 933 1.037 0.775 1.377 0.1343 0.2728 0.5097 + 1SOL HW1 934 1.066 0.692 1.414 0.7546 -0.8057 -2.2028 + 1SOL HW2 935 0.941 0.772 1.383 0.2024 0.7782 3.1344 + 1SOL OW 936 0.569 3.055 1.613 0.0220 0.2003 -0.7276 + 1SOL HW1 937 0.629 3.124 1.587 0.5038 0.1322 0.1656 + 1SOL HW2 938 0.485 3.079 1.573 0.6443 0.2675 -2.0202 + 1SOL OW 939 1.719 0.922 1.549 0.3980 -0.0714 0.1170 + 1SOL HW1 940 1.676 0.980 1.485 1.5972 0.8905 0.1413 + 1SOL HW2 941 1.732 0.977 1.626 -1.5878 -1.4000 1.4756 + 1SOL OW 942 3.146 0.958 0.692 -0.7908 -0.0804 -0.3208 + 1SOL HW1 943 3.055 0.987 0.696 -0.7546 0.1055 -0.7692 + 1SOL HW2 944 3.190 1.006 0.762 -1.3678 -1.4091 1.0012 + 1SOL OW 945 0.472 0.807 0.908 0.3128 -0.1874 0.3375 + 1SOL HW1 946 0.491 0.785 0.817 0.5754 2.2060 -0.2409 + 1SOL HW2 947 0.381 0.780 0.921 0.2391 -0.4424 -0.6560 + 1SOL OW 948 0.608 0.683 1.886 0.8717 0.7234 0.2815 + 1SOL HW1 949 0.686 0.721 1.846 2.3795 -2.2566 0.1849 + 1SOL HW2 950 0.634 0.595 1.913 -2.8397 -1.0121 -1.1336 + 1SOL OW 951 2.777 2.510 0.861 0.3592 0.3063 -0.3294 + 1SOL HW1 952 2.844 2.442 0.851 1.5385 1.0974 1.5573 + 1SOL HW2 953 2.707 2.467 0.910 0.6646 0.1720 -0.0067 + 1SOL OW 954 2.941 2.077 2.258 0.1597 -0.1293 -0.2522 + 1SOL HW1 955 2.891 2.128 2.322 -0.0175 -0.6609 0.0370 + 1SOL HW2 956 3.010 2.035 2.309 0.2669 -0.2309 -0.4785 + 1SOL OW 957 2.704 1.243 1.045 0.2444 -0.1150 -0.1215 + 1SOL HW1 958 2.734 1.293 0.969 -1.7994 1.9977 0.3701 + 1SOL HW2 959 2.609 1.239 1.036 0.0348 -0.6637 1.8454 + 1SOL OW 960 0.462 2.165 1.614 0.4025 0.4602 0.3871 + 1SOL HW1 961 0.388 2.117 1.649 -0.7379 2.6030 1.0634 + 1SOL HW2 962 0.473 2.239 1.673 0.4455 2.4487 -1.9600 + 1SOL OW 963 0.921 0.644 0.439 -0.7023 -0.1781 0.3364 + 1SOL HW1 964 1.002 0.593 0.436 -0.9027 -0.5044 0.4634 + 1SOL HW2 965 0.864 0.603 0.374 -0.3837 0.7230 -0.5490 + 1SOL OW 966 2.879 3.062 1.256 -0.5270 -0.4581 -0.0598 + 1SOL HW1 967 2.907 2.972 1.269 0.2321 -0.1766 0.3174 + 1SOL HW2 968 2.843 3.089 1.340 1.6491 0.4081 0.6581 + 1SOL OW 969 0.410 1.539 1.207 0.0613 -0.2168 -0.2003 + 1SOL HW1 970 0.328 1.584 1.185 0.3690 0.6392 0.3305 + 1SOL HW2 971 0.391 1.446 1.196 -1.1083 -0.0550 0.3051 + 1SOL OW 972 2.064 1.883 1.268 0.1867 0.2732 -0.0735 + 1SOL HW1 973 1.997 1.861 1.333 2.0292 1.2496 2.2902 + 1SOL HW2 974 2.029 1.961 1.224 0.4896 1.9531 2.4575 + 1SOL OW 975 0.227 0.907 0.261 -0.1519 0.2633 -0.0289 + 1SOL HW1 976 0.216 0.819 0.227 1.5414 0.3870 -1.0328 + 1SOL HW2 977 0.251 0.895 0.353 -0.0464 -0.3090 -0.1328 + 1SOL OW 978 2.076 0.578 2.131 -0.3976 -0.3556 -0.0767 + 1SOL HW1 979 2.151 0.555 2.186 -0.8065 -0.8361 0.2888 + 1SOL HW2 980 2.000 0.547 2.180 -0.8788 0.5863 -0.2050 + 1SOL OW 981 1.109 1.870 1.293 -0.3566 -0.5914 0.2440 + 1SOL HW1 982 1.074 1.918 1.369 -0.2884 -1.5102 0.8639 + 1SOL HW2 983 1.193 1.912 1.274 0.3191 -1.2781 1.6011 + 1SOL OW 984 1.447 0.038 0.690 -0.3196 0.3779 0.3003 + 1SOL HW1 985 1.352 0.045 0.693 -0.5220 -1.4717 -0.5425 + 1SOL HW2 986 1.476 0.077 0.773 -1.6612 2.4567 -0.1386 + 1SOL OW 987 2.209 0.035 1.494 0.5218 0.3523 -0.2496 + 1SOL HW1 988 2.172 0.092 1.427 -1.2593 0.7829 1.0290 + 1SOL HW2 989 2.226 -0.047 1.449 -0.9890 0.5033 -1.1618 + 1SOL OW 990 0.103 0.091 1.092 -0.2567 0.1128 -0.6947 + 1SOL HW1 991 0.178 0.032 1.082 0.2249 0.4171 0.8043 + 1SOL HW2 992 0.066 0.098 1.005 0.0729 -1.8784 -1.0448 + 1SOL OW 993 1.306 1.617 0.830 -0.0345 0.0653 -0.5065 + 1SOL HW1 994 1.297 1.551 0.761 0.6618 0.6407 -1.1641 + 1SOL HW2 995 1.223 1.665 0.827 0.3217 0.6407 -1.5402 + 1SOL OW 996 0.475 1.764 0.063 0.0426 0.0826 0.0674 + 1SOL HW1 997 0.402 1.705 0.082 -0.5209 0.6120 -0.4336 + 1SOL HW2 998 0.434 1.848 0.045 0.7307 0.2591 -0.7415 + 1SOL OW 999 0.412 2.398 1.000 -0.2494 0.1287 -0.2800 + 1SOL HW1 1000 0.408 2.322 1.059 -1.5900 0.1789 -0.2821 + 1SOL HW2 1001 0.437 2.471 1.057 -2.3203 0.3425 0.4574 + 1SOL OW 1002 1.657 3.155 0.546 -0.6297 0.4608 0.0497 + 1SOL HW1 1003 1.594 3.210 0.593 -1.2358 0.3160 -0.5690 + 1SOL HW2 1004 1.722 3.216 0.513 -0.3355 0.5923 0.8558 + 1SOL OW 1005 0.489 0.419 1.202 -0.2207 0.6699 -0.6123 + 1SOL HW1 1006 0.440 0.471 1.266 0.2720 1.1718 -0.6411 + 1SOL HW2 1007 0.528 0.348 1.254 -1.1311 0.1344 -0.6179 + 1SOL OW 1008 2.966 0.233 0.597 0.1656 0.6088 0.1412 + 1SOL HW1 1009 2.987 0.215 0.688 -0.2134 1.1707 0.3429 + 1SOL HW2 1010 3.031 0.298 0.570 -0.5978 1.5129 0.4374 + 1SOL OW 1011 2.152 0.615 1.565 -0.2481 0.0692 -0.7117 + 1SOL HW1 1012 2.203 0.541 1.597 0.9346 1.3084 0.4035 + 1SOL HW2 1013 2.078 0.621 1.627 0.2195 0.4307 -0.1766 + 1SOL OW 1014 1.778 2.602 0.482 0.6375 0.7619 -0.1243 + 1SOL HW1 1015 1.789 2.645 0.397 0.5396 1.2688 0.1220 + 1SOL HW2 1016 1.727 2.523 0.462 0.9325 0.6847 -0.5933 + 1SOL OW 1017 0.632 1.766 1.067 -0.0402 0.2339 -0.0143 + 1SOL HW1 1018 0.622 1.674 1.089 -0.8584 0.6199 1.3374 + 1SOL HW2 1019 0.582 1.777 0.986 -1.5440 -0.1483 0.8146 + 1SOL OW 1020 3.002 2.354 0.797 0.0543 -0.0976 0.0416 + 1SOL HW1 1021 2.944 2.286 0.762 0.8032 -0.7065 -0.0441 + 1SOL HW2 1022 3.070 2.306 0.844 -0.0289 0.6458 0.9619 + 1SOL OW 1023 1.668 2.775 1.356 -0.1286 0.5787 0.1028 + 1SOL HW1 1024 1.657 2.781 1.261 -0.4547 2.6426 0.2210 + 1SOL HW2 1025 1.582 2.747 1.388 -0.3390 0.9480 -0.1312 + 1SOL OW 1026 1.020 2.683 2.136 -0.3092 0.5258 0.1177 + 1SOL HW1 1027 1.113 2.667 2.128 -0.0719 0.6673 2.1340 + 1SOL HW2 1028 1.013 2.758 2.196 -1.6943 1.3129 -0.9308 + 1SOL OW 1029 1.052 3.226 0.389 0.5541 0.4896 -0.0061 + 1SOL HW1 1030 0.967 3.202 0.428 1.8157 -2.0378 1.4440 + 1SOL HW2 1031 1.042 3.206 0.296 -0.2466 -0.5244 0.2701 + 1SOL OW 1032 1.130 2.733 1.774 0.0742 -0.3499 0.7405 + 1SOL HW1 1033 1.084 2.716 1.692 -1.5989 0.1559 1.5285 + 1SOL HW2 1034 1.070 2.787 1.824 0.8261 -1.0841 2.5214 + 1SOL OW 1035 0.126 2.397 1.378 0.6498 -0.4529 0.5956 + 1SOL HW1 1036 0.071 2.475 1.369 0.5684 -0.3226 1.9911 + 1SOL HW2 1037 0.210 2.430 1.408 0.0706 -1.0031 3.0084 + 1SOL OW 1038 0.616 2.156 0.506 0.7825 -0.1986 0.5141 + 1SOL HW1 1039 0.682 2.225 0.513 -0.3923 0.8800 1.6836 + 1SOL HW2 1040 0.585 2.143 0.596 -0.3146 -0.9455 0.0545 + 1SOL OW 1041 0.340 3.207 0.996 0.1708 0.3433 0.6024 + 1SOL HW1 1042 0.326 3.192 0.903 -1.1061 0.7158 0.7097 + 1SOL HW2 1043 0.434 3.198 1.009 0.6959 2.6133 -1.1364 + 1SOL OW 1044 2.632 2.958 0.093 0.4231 -0.0319 0.0620 + 1SOL HW1 1045 2.580 3.034 0.064 0.2764 -0.5007 -0.9431 + 1SOL HW2 1046 2.703 2.996 0.144 -0.1322 0.7226 0.2978 + 1SOL OW 1047 0.809 1.742 1.560 0.1156 -0.3778 0.3438 + 1SOL HW1 1048 0.878 1.793 1.603 -0.1716 -0.8598 1.4220 + 1SOL HW2 1049 0.851 1.702 1.484 0.2236 1.8814 -0.8738 + 1SOL OW 1050 3.217 0.344 0.491 0.0190 0.2774 -0.3068 + 1SOL HW1 1051 3.260 0.415 0.444 1.5166 -0.0876 0.4494 + 1SOL HW2 1052 3.265 0.265 0.464 -1.0742 -0.3440 -0.4958 + 1SOL OW 1053 0.831 2.747 1.796 -0.4502 -0.2021 -0.0120 + 1SOL HW1 1054 0.858 2.721 1.708 -0.4262 0.9059 -0.3470 + 1SOL HW2 1055 0.802 2.666 1.837 0.8939 -0.9928 -0.5445 + 1SOL OW 1056 0.444 2.307 1.377 0.0527 0.5932 -0.1507 + 1SOL HW1 1057 0.454 2.256 1.458 0.4935 -0.0673 -0.6074 + 1SOL HW2 1058 0.391 2.383 1.403 -0.3721 0.0567 0.6141 + 1SOL OW 1059 2.466 1.444 2.278 0.5047 -0.3984 0.1768 + 1SOL HW1 1060 2.431 1.450 2.189 3.4883 -1.4015 -1.2108 + 1SOL HW2 1061 2.466 1.534 2.310 -0.1551 0.0532 -1.0493 + 1SOL OW 1062 3.156 1.621 1.859 0.4955 0.0575 0.3318 + 1SOL HW1 1063 3.071 1.642 1.820 1.0159 1.6685 -0.0055 + 1SOL HW2 1064 3.136 1.557 1.926 -1.7117 3.4469 3.2757 + 1SOL OW 1065 2.626 2.713 0.707 0.3219 0.2513 -0.4083 + 1SOL HW1 1066 2.589 2.676 0.787 -0.5353 1.2056 -0.3512 + 1SOL HW2 1067 2.714 2.675 0.702 0.0117 -0.6200 0.4261 + 1SOL OW 1068 0.230 1.184 0.192 0.5373 -0.0667 -0.0245 + 1SOL HW1 1069 0.311 1.183 0.140 0.5362 -0.9029 -0.0187 + 1SOL HW2 1070 0.208 1.092 0.204 -1.6746 0.1083 -1.9646 + 1SOL OW 1071 0.144 1.027 1.035 0.0034 -0.1020 0.0083 + 1SOL HW1 1072 0.174 0.947 1.077 -0.9771 -1.1959 -1.3038 + 1SOL HW2 1073 0.122 1.086 1.107 -0.2119 -1.3713 1.0049 + 1SOL OW 1074 0.064 2.151 1.008 -0.4581 0.3526 0.4039 + 1SOL HW1 1075 0.091 2.231 0.963 -0.9007 1.0970 1.4307 + 1SOL HW2 1076 0.146 2.109 1.033 -0.2217 0.4273 -0.2431 + 1SOL OW 1077 3.099 2.418 1.154 0.0731 0.3399 -0.3607 + 1SOL HW1 1078 3.133 2.374 1.232 -1.3865 0.4792 0.3675 + 1SOL HW2 1079 3.016 2.374 1.135 -0.9193 2.0710 -0.2302 + 1SOL OW 1080 0.638 2.232 0.043 0.3287 0.2476 0.0588 + 1SOL HW1 1081 0.688 2.243 0.124 0.8393 1.2726 -0.3703 + 1SOL HW2 1082 0.704 2.207 -0.022 0.3497 1.7230 -0.5387 + 1SOL OW 1083 3.112 1.767 0.817 0.0113 0.3941 -0.0842 + 1SOL HW1 1084 3.074 1.717 0.744 -0.6531 -0.6956 0.9628 + 1SOL HW2 1085 3.155 1.841 0.775 -0.8471 0.1193 -1.5450 + 1SOL OW 1086 2.486 1.843 1.934 0.1205 -0.1442 0.7069 + 1SOL HW1 1087 2.414 1.897 1.900 -0.5006 -1.1688 0.3593 + 1SOL HW2 1088 2.520 1.798 1.857 1.4713 0.6884 0.7864 + 1SOL OW 1089 2.943 2.312 0.463 -0.2168 0.4210 0.7373 + 1SOL HW1 1090 2.937 2.401 0.498 -0.2470 1.4607 -1.6752 + 1SOL HW2 1091 3.007 2.319 0.392 0.0199 -1.5714 0.7086 + 1SOL OW 1092 0.850 1.683 1.288 -0.4783 -0.1198 0.5174 + 1SOL HW1 1093 0.788 1.751 1.262 -0.5234 0.7075 2.6279 + 1SOL HW2 1094 0.820 1.604 1.242 -1.4376 0.8638 -0.6297 + 1SOL OW 1095 1.986 2.521 1.222 0.1458 -0.1314 0.1724 + 1SOL HW1 1096 1.914 2.514 1.158 0.5259 -0.6302 -0.2024 + 1SOL HW2 1097 1.959 2.593 1.279 0.0434 0.6877 -0.8723 + 1SOL OW 1098 2.159 1.161 1.878 -0.0675 -0.0446 -0.6316 + 1SOL HW1 1099 2.230 1.204 1.926 -0.3704 0.1287 -0.3329 + 1SOL HW2 1100 2.203 1.113 1.808 0.4737 -1.0033 0.3296 + 1SOL OW 1101 1.835 2.529 0.986 0.3782 -0.4621 0.1569 + 1SOL HW1 1102 1.811 2.446 0.946 -0.9851 0.2212 -0.5210 + 1SOL HW2 1103 1.826 2.593 0.916 0.8311 0.3516 0.8210 + 1SOL OW 1104 0.857 2.527 1.373 0.1491 0.2111 0.5159 + 1SOL HW1 1105 0.864 2.435 1.347 0.6305 0.4489 -0.2353 + 1SOL HW2 1106 0.764 2.539 1.394 -0.0543 -0.2704 -0.0733 + 1SOL OW 1107 1.279 2.873 0.303 0.2709 -0.4719 0.8655 + 1SOL HW1 1108 1.338 2.947 0.313 -0.6456 0.3922 0.0844 + 1SOL HW2 1109 1.319 2.818 0.235 -0.5186 0.8877 -0.7886 + 1SOL OW 1110 1.955 1.248 1.051 -0.3163 0.1021 -0.0923 + 1SOL HW1 1111 1.946 1.241 1.146 0.6783 0.3070 0.0236 + 1SOL HW2 1112 1.990 1.336 1.037 4.5254 -1.5550 -0.2301 + 1SOL OW 1113 0.946 0.266 1.300 0.1139 -0.0205 -0.6168 + 1SOL HW1 1114 1.006 0.192 1.310 1.0924 0.6941 -0.9467 + 1SOL HW2 1115 0.910 0.256 1.212 0.8246 0.2979 -0.9501 + 1SOL OW 1116 1.903 1.417 0.081 -0.8494 -0.5043 -0.3896 + 1SOL HW1 1117 1.899 1.322 0.082 -2.2283 -0.4707 1.1884 + 1SOL HW2 1118 1.966 1.440 0.149 -0.0464 -0.2724 -1.1867 + 1SOL OW 1119 0.670 3.220 1.971 -0.2163 -0.4954 0.6384 + 1SOL HW1 1120 0.640 3.181 2.054 -1.6522 -1.8741 -0.4739 + 1SOL HW2 1121 0.737 3.159 1.939 -2.4687 -2.2139 -1.1076 + 1SOL OW 1122 0.485 2.953 1.851 -0.4734 -0.1117 0.3250 + 1SOL HW1 1123 0.492 2.992 1.764 -0.3156 0.7871 0.7292 + 1SOL HW2 1124 0.560 2.988 1.899 -0.5263 -0.6472 0.7995 + 1SOL OW 1125 1.005 2.826 0.309 0.0922 0.5107 0.1094 + 1SOL HW1 1126 1.097 2.855 0.310 -0.0150 0.8781 1.7028 + 1SOL HW2 1127 0.997 2.775 0.228 1.8048 0.1356 0.1389 + 1SOL OW 1128 0.718 1.881 0.669 0.1835 -0.8372 0.5961 + 1SOL HW1 1129 0.671 1.798 0.654 -1.0004 -0.1307 0.2831 + 1SOL HW2 1130 0.714 1.925 0.584 1.6142 -0.8425 0.5129 + 1SOL OW 1131 3.205 0.379 0.154 -0.5112 -0.8707 -0.2819 + 1SOL HW1 1132 3.273 0.432 0.196 0.7214 0.6990 -3.8237 + 1SOL HW2 1133 3.244 0.292 0.147 0.1362 -0.6009 -0.0984 + 1SOL OW 1134 0.884 0.378 0.607 -0.1411 0.3099 0.3760 + 1SOL HW1 1135 0.799 0.339 0.628 1.0868 -2.2120 1.1552 + 1SOL HW2 1136 0.878 0.468 0.638 -3.0649 0.7731 -1.1819 + 1SOL OW 1137 1.297 2.081 0.160 0.2866 -0.8246 -0.1647 + 1SOL HW1 1138 1.384 2.052 0.136 -0.1768 -2.5494 0.1178 + 1SOL HW2 1139 1.311 2.149 0.226 1.4185 -0.4589 -0.7715 + 1SOL OW 1140 2.336 0.078 1.924 -0.1091 0.0512 -0.1088 + 1SOL HW1 1141 2.242 0.094 1.915 -0.0388 0.8615 0.4771 + 1SOL HW2 1142 2.348 0.047 2.013 0.2370 0.4995 0.0089 + 1SOL OW 1143 0.123 3.240 1.951 0.5800 0.7510 0.6373 + 1SOL HW1 1144 0.178 3.229 2.028 -2.4558 -1.2169 2.7294 + 1SOL HW2 1145 0.133 3.158 1.903 0.5451 0.9618 0.2646 + 1SOL OW 1146 1.223 2.478 0.215 -0.1435 0.2063 0.4674 + 1SOL HW1 1147 1.140 2.453 0.175 -0.2799 0.6407 0.4740 + 1SOL HW2 1148 1.273 2.396 0.219 -1.0312 -0.3225 1.5950 + 1SOL OW 1149 1.415 2.128 0.563 0.0784 -0.1482 0.0768 + 1SOL HW1 1150 1.495 2.131 0.616 -1.5384 -0.8586 2.7069 + 1SOL HW2 1151 1.352 2.181 0.611 -1.8866 -1.9279 -0.3982 + 1SOL OW 1152 0.414 1.085 0.964 0.1810 0.1897 0.4892 + 1SOL HW1 1153 0.423 0.989 0.962 -0.6073 0.1146 -0.6323 + 1SOL HW2 1154 0.341 1.101 1.023 0.4782 0.1249 0.8805 + 1SOL OW 1155 1.934 0.557 0.371 0.2959 -0.2510 0.2761 + 1SOL HW1 1156 1.946 0.464 0.353 -0.1463 -0.0920 -0.8907 + 1SOL HW2 1157 1.984 0.601 0.302 0.6775 0.3788 0.9450 + 1SOL OW 1158 2.750 0.963 0.493 -0.3280 0.3128 -0.0506 + 1SOL HW1 1159 2.804 0.970 0.415 1.0401 -1.9800 0.5980 + 1SOL HW2 1160 2.767 1.044 0.542 -0.5723 1.3920 -1.6821 + 1SOL OW 1161 0.314 0.535 2.189 0.0789 -0.0333 -0.5140 + 1SOL HW1 1162 0.358 0.618 2.205 1.4598 -0.6050 -1.2099 + 1SOL HW2 1163 0.264 0.549 2.108 -3.0356 1.3406 1.4259 + 1SOL OW 1164 1.753 0.524 1.925 0.1525 -0.8714 0.5798 + 1SOL HW1 1165 1.792 0.448 1.969 -1.0815 0.1033 3.6047 + 1SOL HW2 1166 1.772 0.598 1.984 2.1682 1.4776 -2.7048 + 1SOL OW 1167 3.012 0.066 1.867 0.3984 -0.4343 0.3472 + 1SOL HW1 1168 3.003 0.153 1.830 1.5905 -0.5320 -0.1978 + 1SOL HW2 1169 3.106 0.053 1.877 0.2705 -1.8493 -0.0462 + 1SOL OW 1170 3.116 1.040 1.925 0.3603 -0.1451 0.2993 + 1SOL HW1 1171 3.146 1.035 1.834 0.3808 -1.9034 0.3708 + 1SOL HW2 1172 3.197 1.048 1.977 0.4328 -0.4328 0.2326 + 1SOL OW 1173 2.949 1.649 1.705 -0.0565 -0.5459 -0.0221 + 1SOL HW1 1174 2.898 1.698 1.770 -0.8698 0.4744 -1.3884 + 1SOL HW2 1175 2.883 1.598 1.657 0.5372 -1.2930 -0.0623 + 1SOL OW 1176 1.946 2.394 0.249 0.4600 -0.3533 -0.4185 + 1SOL HW1 1177 1.909 2.479 0.273 0.4112 -0.6698 0.6975 + 1SOL HW2 1178 2.038 2.399 0.274 0.3555 -0.7731 0.0807 + 1SOL OW 1179 2.020 2.455 0.610 -0.5510 -0.4139 -0.5642 + 1SOL HW1 1180 2.074 2.480 0.685 0.9773 -0.3538 -1.6388 + 1SOL HW2 1181 1.953 2.524 0.605 0.8718 1.0248 -0.7684 + 1SOL OW 1182 2.879 2.537 0.609 0.1100 0.0390 0.1468 + 1SOL HW1 1183 2.971 2.563 0.617 0.9425 -2.4028 -0.5278 + 1SOL HW2 1184 2.853 2.513 0.698 0.7642 -1.0864 0.0564 + 1SOL OW 1185 1.931 1.192 0.263 -0.0282 0.0449 -0.0718 + 1SOL HW1 1186 1.859 1.131 0.251 0.0156 -1.1424 4.2234 + 1SOL HW2 1187 2.003 1.138 0.295 1.1718 1.8464 0.4169 + 1SOL OW 1188 1.512 1.379 1.326 0.3883 0.0687 -0.5073 + 1SOL HW1 1189 1.437 1.325 1.351 0.1970 -0.8348 -2.7064 + 1SOL HW2 1190 1.477 1.467 1.316 0.1484 0.1235 0.7012 + 1SOL OW 1191 1.737 0.182 1.691 -0.4513 -0.3468 0.1252 + 1SOL HW1 1192 1.683 0.248 1.734 -0.8051 -0.9347 0.6098 + 1SOL HW2 1193 1.752 0.217 1.603 -2.7100 -0.7074 -0.4835 + 1SOL OW 1194 2.457 2.405 0.685 0.0533 0.0944 -0.2730 + 1SOL HW1 1195 2.419 2.359 0.611 -1.7901 0.6614 0.2855 + 1SOL HW2 1196 2.492 2.336 0.741 -1.7263 -0.5910 0.0416 + 1SOL OW 1197 0.928 0.957 0.939 0.4925 -0.1670 0.0302 + 1SOL HW1 1198 0.897 0.896 1.005 -2.2543 0.6826 -0.3759 + 1SOL HW2 1199 0.864 0.951 0.868 1.2871 1.6843 -0.9114 + 1SOL OW 1200 0.298 0.438 1.027 -0.0194 -0.0774 0.1786 + 1SOL HW1 1201 0.362 0.413 1.093 1.1095 1.6139 -0.2314 + 1SOL HW2 1202 0.291 0.361 0.969 2.4246 0.0505 -0.3678 + 1SOL OW 1203 3.052 2.880 1.796 0.4385 0.2615 -0.2206 + 1SOL HW1 1204 3.140 2.913 1.815 0.8777 -1.4186 0.8921 + 1SOL HW2 1205 3.003 2.895 1.877 -1.1060 3.4116 -1.5818 + 1SOL OW 1206 2.620 2.391 1.319 -0.1182 0.0686 -0.7385 + 1SOL HW1 1207 2.693 2.376 1.378 0.5747 -2.1296 -2.0464 + 1SOL HW2 1208 2.543 2.364 1.370 0.1698 0.6266 0.0122 + 1SOL OW 1209 0.469 1.202 0.045 -0.2756 0.5519 0.1259 + 1SOL HW1 1210 0.535 1.271 0.044 0.8031 -0.3230 2.4777 + 1SOL HW2 1211 0.513 1.128 0.087 -1.9848 -0.9342 -0.5927 + 1SOL OW 1212 1.844 2.764 1.684 -0.2120 -0.0487 -0.2205 + 1SOL HW1 1213 1.903 2.725 1.749 1.6222 2.2422 -0.3624 + 1SOL HW2 1214 1.846 2.704 1.610 1.3966 -0.4318 0.0960 + 1SOL OW 1215 1.436 0.107 0.994 0.3067 -0.0225 -0.0634 + 1SOL HW1 1216 1.507 0.112 1.057 0.2044 0.3635 0.0206 + 1SOL HW2 1217 1.371 0.171 1.025 1.0836 1.5816 -1.6068 + 1SOL OW 1218 1.670 1.507 0.562 0.1962 0.2013 -0.0395 + 1SOL HW1 1219 1.734 1.488 0.630 1.6921 0.5086 -1.3018 + 1SOL HW2 1220 1.700 1.457 0.486 0.3106 2.1814 -1.3594 + 1SOL OW 1221 3.209 1.638 1.066 -0.1040 0.4463 0.0560 + 1SOL HW1 1222 3.288 1.656 1.118 -1.1276 -0.0949 1.8842 + 1SOL HW2 1223 3.230 1.671 0.979 1.5404 1.8186 0.9075 + 1SOL OW 1224 0.107 1.896 0.045 0.3496 0.1976 0.6274 + 1SOL HW1 1225 0.138 1.809 0.069 -1.0310 -0.1901 1.0734 + 1SOL HW2 1226 0.143 1.954 0.112 -0.6482 -0.3813 1.6855 + 1SOL OW 1227 1.242 1.973 2.133 -0.4230 -0.4436 1.4203 + 1SOL HW1 1228 1.251 1.890 2.181 2.3578 -0.5620 0.8572 + 1SOL HW2 1229 1.316 1.974 2.073 -1.2243 1.8158 0.3706 + 1SOL OW 1230 0.411 2.132 1.147 -0.1168 0.5906 0.3698 + 1SOL HW1 1231 0.344 2.073 1.181 0.2241 0.4815 0.8693 + 1SOL HW2 1232 0.467 2.150 1.223 1.0745 -0.2246 -0.2912 + 1SOL OW 1233 1.834 2.168 0.160 0.1438 -0.3050 0.5196 + 1SOL HW1 1234 1.862 2.176 0.068 -0.2541 1.1978 0.5034 + 1SOL HW2 1235 1.859 2.251 0.200 0.0879 -0.8507 1.7320 + 1SOL OW 1236 0.392 2.777 1.315 0.3351 0.5995 -0.6282 + 1SOL HW1 1237 0.317 2.810 1.264 -0.5114 -0.5560 -0.1948 + 1SOL HW2 1238 0.361 2.777 1.405 0.6707 -0.3506 -0.5006 + 1SOL OW 1239 1.135 1.577 1.825 0.0647 0.2095 -0.4354 + 1SOL HW1 1240 1.068 1.626 1.778 -0.2023 0.2570 -0.0039 + 1SOL HW2 1241 1.174 1.520 1.759 0.4869 1.1103 -0.9834 + 1SOL OW 1242 0.297 3.095 1.564 0.2604 -0.9104 -0.5527 + 1SOL HW1 1243 0.219 3.094 1.509 -1.3396 -1.6549 1.5927 + 1SOL HW2 1244 0.307 3.186 1.590 -2.0813 -1.2466 1.9429 + 1SOL OW 1245 0.262 3.216 2.162 0.2960 -0.0071 -0.3073 + 1SOL HW1 1246 0.211 3.292 2.188 1.1206 0.7215 -0.7960 + 1SOL HW2 1247 0.249 3.153 2.233 -0.6478 0.4530 -0.0565 + 1SOL OW 1248 2.351 1.766 2.159 -0.1104 -0.5168 -0.2894 + 1SOL HW1 1249 2.273 1.820 2.147 1.9091 3.1152 1.3419 + 1SOL HW2 1250 2.410 1.794 2.088 0.1326 -2.5304 -0.9463 + 1SOL OW 1251 2.756 0.572 2.256 -0.1048 -0.3442 -0.0026 + 1SOL HW1 1252 2.671 0.557 2.297 0.2578 2.1567 1.9385 + 1SOL HW2 1253 2.819 0.551 2.325 0.8271 -0.9645 -1.0076 + 1SOL OW 1254 1.923 0.426 0.025 0.0400 -0.2691 0.3056 + 1SOL HW1 1255 1.928 0.521 0.013 1.5606 -0.4622 -0.8589 + 1SOL HW2 1256 1.918 0.391 -0.064 -0.6473 -1.2901 0.7276 + 1SOL OW 1257 0.322 1.282 1.217 -0.0139 0.5030 0.1873 + 1SOL HW1 1258 0.249 1.251 1.271 -0.3783 1.7420 0.4317 + 1SOL HW2 1259 0.399 1.239 1.254 -0.6564 -1.2994 -0.4456 + 1SOL OW 1260 1.785 0.777 0.426 0.0770 0.2209 -0.7207 + 1SOL HW1 1261 1.842 0.700 0.423 -0.4326 -0.1521 -0.8162 + 1SOL HW2 1262 1.698 0.742 0.442 0.2791 0.9842 2.8970 + 1SOL OW 1263 0.386 0.989 2.051 1.0678 -0.2154 0.0011 + 1SOL HW1 1264 0.394 0.966 1.959 -1.2628 -1.4771 0.0291 + 1SOL HW2 1265 0.429 0.918 2.098 2.6182 0.6316 -0.0634 + 1SOL OW 1266 1.254 1.710 0.348 -0.0599 -0.3196 0.3675 + 1SOL HW1 1267 1.321 1.775 0.368 -0.1019 -0.6096 1.4857 + 1SOL HW2 1268 1.276 1.635 0.403 -0.7059 -0.8132 -0.0309 + 1SOL OW 1269 2.940 1.889 1.014 0.5121 -1.0622 0.0741 + 1SOL HW1 1270 3.012 1.839 0.974 0.8284 -0.9848 0.5381 + 1SOL HW2 1271 2.869 1.825 1.022 0.4160 -1.0598 -0.6770 + 1SOL OW 1272 1.971 2.891 0.875 0.2503 0.5999 0.2254 + 1SOL HW1 1273 1.928 2.965 0.833 -0.2186 -0.5535 -1.4137 + 1SOL HW2 1274 1.939 2.814 0.828 0.8021 -0.6619 1.7938 + 1SOL OW 1275 0.084 1.747 2.068 -0.2319 0.6676 0.7390 + 1SOL HW1 1276 0.038 1.734 1.985 -0.2589 -1.4432 1.0134 + 1SOL HW2 1277 0.174 1.720 2.050 -0.1102 0.7303 1.2437 + 1SOL OW 1278 2.701 1.756 1.283 -0.1390 0.4762 -0.4662 + 1SOL HW1 1279 2.628 1.736 1.342 1.2216 -0.0338 1.1085 + 1SOL HW2 1280 2.771 1.696 1.310 0.9742 1.1367 -1.7595 + 1SOL OW 1281 2.091 0.803 1.940 -0.4750 -0.3930 -0.1398 + 1SOL HW1 1282 2.179 0.839 1.941 -0.3342 -0.3592 -3.5561 + 1SOL HW2 1283 2.100 0.716 1.981 0.7540 0.2180 0.9741 + 1SOL OW 1284 1.657 2.318 0.476 -0.7272 -0.6547 0.0387 + 1SOL HW1 1285 1.626 2.274 0.555 -1.9939 0.0381 -0.0437 + 1SOL HW2 1286 1.752 2.316 0.483 -0.8069 -1.3590 1.1576 + 1SOL OW 1287 0.792 1.247 0.451 0.1618 0.0686 -0.0669 + 1SOL HW1 1288 0.846 1.260 0.529 0.9935 0.1752 -0.6444 + 1SOL HW2 1289 0.752 1.333 0.435 2.1870 0.8562 -1.3334 + 1SOL OW 1290 0.044 1.681 0.483 0.3303 -0.3000 -0.6574 + 1SOL HW1 1291 0.034 1.768 0.523 -1.0060 -0.5381 -0.4408 + 1SOL HW2 1292 -0.039 1.665 0.438 -0.1394 -2.1642 0.7320 + 1SOL OW 1293 0.918 2.394 0.247 -0.1857 0.5943 0.0785 + 1SOL HW1 1294 0.942 2.310 0.206 1.0205 1.7250 -1.7018 + 1SOL HW2 1295 0.908 2.373 0.340 2.9429 -1.0271 0.1888 + 1SOL OW 1296 1.631 0.943 1.936 -0.4915 0.2657 0.6820 + 1SOL HW1 1297 1.579 0.862 1.934 2.1999 -1.8606 4.2821 + 1SOL HW2 1298 1.578 1.003 1.989 -1.7817 0.3538 -0.6368 + 1SOL OW 1299 0.104 2.683 0.846 -0.0313 0.2868 -0.1217 + 1SOL HW1 1300 0.103 2.779 0.846 -0.4896 0.2919 0.5106 + 1SOL HW2 1301 0.084 2.659 0.937 0.6765 -0.4066 -0.1397 + 1SOL OW 1302 1.626 1.382 2.173 -0.4746 -0.3480 0.2019 + 1SOL HW1 1303 1.686 1.337 2.232 2.6588 1.1396 -1.5760 + 1SOL HW2 1304 1.601 1.315 2.109 2.4928 -0.2337 -1.2325 + 1SOL OW 1305 3.057 2.269 0.177 -0.1406 -0.2146 -0.1747 + 1SOL HW1 1306 3.141 2.293 0.215 0.1089 2.0804 -1.9402 + 1SOL HW2 1307 3.073 2.187 0.131 1.1600 0.1926 -0.4791 + 1SOL OW 1308 2.753 2.755 1.539 0.3428 -0.1509 -0.0691 + 1SOL HW1 1309 2.736 2.743 1.446 -1.7450 -2.3108 0.5109 + 1SOL HW2 1310 2.769 2.667 1.573 0.1918 0.4878 1.7769 + 1SOL OW 1311 2.277 2.600 0.790 0.0337 0.4884 0.6670 + 1SOL HW1 1312 2.371 2.579 0.788 -0.0815 -0.0423 0.7717 + 1SOL HW2 1313 2.273 2.683 0.837 0.4177 0.3186 1.0083 + 1SOL OW 1314 1.591 2.762 1.098 -0.0502 0.4399 -0.1102 + 1SOL HW1 1315 1.496 2.753 1.085 -0.0889 1.4504 -0.6048 + 1SOL HW2 1316 1.624 2.791 1.013 0.5804 0.9658 0.3036 + 1SOL OW 1317 0.433 2.885 0.396 -0.3877 0.6873 1.1635 + 1SOL HW1 1318 0.489 2.897 0.473 -0.4541 2.3014 1.0081 + 1SOL HW2 1319 0.494 2.864 0.325 -0.3646 -1.1803 1.7077 + 1SOL OW 1320 0.583 0.400 0.081 0.0557 -0.0127 0.6445 + 1SOL HW1 1321 0.512 0.386 0.143 -1.5243 -0.0766 -1.0715 + 1SOL HW2 1322 0.562 0.342 0.008 1.4281 0.6025 -0.2815 + 1SOL OW 1323 2.462 0.904 0.964 -0.4063 0.1981 0.2451 + 1SOL HW1 1324 2.508 0.852 0.897 0.1214 0.7899 0.1333 + 1SOL HW2 1325 2.509 0.887 1.045 0.4134 1.2628 0.0216 + 1SOL OW 1326 0.612 3.130 1.025 0.0388 0.2520 -0.0594 + 1SOL HW1 1327 0.583 3.064 1.089 -1.0379 0.7667 0.0005 + 1SOL HW2 1328 0.699 3.156 1.056 -0.5881 0.7432 1.4219 + 1SOL OW 1329 0.223 2.907 0.147 0.1684 -0.6654 -0.1327 + 1SOL HW1 1330 0.271 2.832 0.181 1.0584 -0.2339 -0.4238 + 1SOL HW2 1331 0.274 2.937 0.072 0.4534 0.9361 0.6475 + 1SOL OW 1332 2.213 0.801 0.473 0.3411 -0.0089 -0.5881 + 1SOL HW1 1333 2.283 0.812 0.537 0.6290 -2.2590 -0.4237 + 1SOL HW2 1334 2.137 0.774 0.525 -0.9338 3.0597 -0.6770 + 1SOL OW 1335 1.308 2.574 0.774 0.0076 0.6301 0.7816 + 1SOL HW1 1336 1.240 2.631 0.811 0.6646 0.8893 1.6311 + 1SOL HW2 1337 1.335 2.618 0.693 -1.4871 0.0286 -0.0754 + 1SOL OW 1338 1.746 1.549 1.032 -0.5834 -0.4849 -0.5761 + 1SOL HW1 1339 1.768 1.494 1.107 -1.1017 0.0611 -0.0169 + 1SOL HW2 1340 1.650 1.540 1.024 -0.6868 0.4260 -0.4068 + 1SOL OW 1341 2.648 0.085 2.186 -0.0642 -0.2325 0.2772 + 1SOL HW1 1342 2.720 0.051 2.133 1.4705 2.7710 0.2260 + 1SOL HW2 1343 2.680 0.084 2.276 -0.4018 0.0492 0.4053 + 1SOL OW 1344 2.622 2.467 0.451 -0.7765 -0.5330 0.4241 + 1SOL HW1 1345 2.557 2.467 0.522 0.4272 -0.1028 1.5566 + 1SOL HW2 1346 2.706 2.480 0.494 -0.0608 0.3865 -1.1380 + 1SOL OW 1347 1.479 1.848 0.926 0.2257 0.3815 0.1472 + 1SOL HW1 1348 1.453 1.766 0.885 1.3894 0.7660 -1.4399 + 1SOL HW2 1349 1.402 1.904 0.919 -0.4114 -0.3868 0.7987 + 1SOL OW 1350 2.547 2.196 0.826 0.2423 0.5563 0.2757 + 1SOL HW1 1351 2.508 2.178 0.911 -2.4420 0.6168 -0.8457 + 1SOL HW2 1352 2.637 2.164 0.833 -0.3735 -0.8617 2.6136 + 1SOL OW 1353 1.623 1.960 0.147 0.0958 -0.3137 -0.2607 + 1SOL HW1 1354 1.700 1.992 0.194 0.1629 0.0501 -0.6057 + 1SOL HW2 1355 1.563 1.931 0.216 -0.1485 0.9774 0.1053 + 1SOL OW 1356 1.639 2.292 0.995 -0.1995 1.3144 0.1529 + 1SOL HW1 1357 1.592 2.243 0.927 0.0355 -0.6093 1.2848 + 1SOL HW2 1358 1.729 2.260 0.989 -0.2531 0.8272 1.5569 + 1SOL OW 1359 0.185 2.894 1.168 0.1197 0.4608 -0.2288 + 1SOL HW1 1360 0.109 2.872 1.115 -0.3016 0.9646 0.1457 + 1SOL HW2 1361 0.253 2.916 1.104 0.0447 -0.2882 -0.5697 + 1SOL OW 1362 1.533 1.266 1.678 0.0702 0.7726 0.0442 + 1SOL HW1 1363 1.615 1.217 1.682 -0.5111 -0.1646 1.1631 + 1SOL HW2 1364 1.485 1.227 1.605 0.8434 1.7361 -1.0157 + 1SOL OW 1365 1.309 2.300 0.744 0.4666 -0.2733 0.4623 + 1SOL HW1 1366 1.332 2.393 0.751 -0.3445 0.1032 -1.3162 + 1SOL HW2 1367 1.270 2.278 0.828 0.1807 1.1492 0.7268 + 1SOL OW 1368 1.071 1.789 0.856 -0.0115 -0.7545 -0.1575 + 1SOL HW1 1369 1.142 1.854 0.852 -0.1940 -0.5470 -0.0751 + 1SOL HW2 1370 1.009 1.826 0.919 -1.2316 0.1064 -1.7935 + 1SOL OW 1371 0.750 2.869 1.506 0.5230 -0.0081 -0.0870 + 1SOL HW1 1372 0.682 2.916 1.553 1.8680 1.0597 0.8650 + 1SOL HW2 1373 0.832 2.901 1.543 1.5660 -1.1706 -1.2668 + 1SOL OW 1374 1.443 2.430 1.736 -0.4331 -0.2482 -0.0127 + 1SOL HW1 1375 1.489 2.499 1.783 -0.1993 -0.9833 0.8601 + 1SOL HW2 1376 1.439 2.357 1.798 -0.5827 -1.0565 -0.9527 + 1SOL OW 1377 1.906 2.858 0.394 -0.0766 -0.5555 0.5664 + 1SOL HW1 1378 1.986 2.909 0.380 -1.7534 1.9628 -0.5817 + 1SOL HW2 1379 1.881 2.829 0.306 -2.0739 1.4886 0.3672 + 1SOL OW 1380 2.666 3.105 1.880 -0.0265 -0.4120 -0.6806 + 1SOL HW1 1381 2.712 3.049 1.818 0.8722 0.2221 -0.5977 + 1SOL HW2 1382 2.734 3.137 1.938 -1.0349 -2.4390 1.8291 + 1SOL OW 1383 0.849 1.707 0.374 -0.3183 0.7344 0.0251 + 1SOL HW1 1384 0.787 1.778 0.393 -0.6977 1.0920 -2.3089 + 1SOL HW2 1385 0.804 1.652 0.310 0.4246 -1.0365 0.9440 + 1SOL OW 1386 3.064 2.313 1.947 0.4014 0.3031 -0.4027 + 1SOL HW1 1387 3.077 2.391 1.893 2.1883 0.2564 -0.1202 + 1SOL HW2 1388 2.998 2.339 2.011 -0.6467 0.8455 -1.6523 + 1SOL OW 1389 2.840 0.806 0.921 -0.4326 0.2267 0.0412 + 1SOL HW1 1390 2.758 0.843 0.890 0.3364 0.6285 -1.6195 + 1SOL HW2 1391 2.815 0.743 0.989 -2.0410 0.8002 0.0074 + 1SOL OW 1392 2.623 0.830 0.721 0.2625 0.5792 -0.3711 + 1SOL HW1 1393 2.532 0.819 0.692 0.3307 0.6232 -0.6007 + 1SOL HW2 1394 2.666 0.875 0.649 0.2463 1.3960 0.1136 + 1SOL OW 1395 2.441 0.788 1.475 -0.6752 0.0197 -0.4754 + 1SOL HW1 1396 2.443 0.692 1.477 0.2037 0.0352 -0.2954 + 1SOL HW2 1397 2.478 0.814 1.559 0.4182 0.5227 -1.0974 + 1SOL OW 1398 2.981 1.434 2.263 0.5513 0.6822 0.1729 + 1SOL HW1 1399 3.004 1.424 2.171 -0.9021 -2.5738 0.0230 + 1SOL HW2 1400 2.891 1.404 2.269 0.6331 0.6867 2.6823 + 1SOL OW 1401 0.075 2.196 1.980 -0.4978 0.0675 0.1277 + 1SOL HW1 1402 -0.012 2.236 1.978 0.2286 1.7615 -2.8805 + 1SOL HW2 1403 0.126 2.254 2.036 -0.4877 0.9913 -0.8262 + 1SOL OW 1404 0.515 1.136 1.822 -0.3454 -0.2313 0.5064 + 1SOL HW1 1405 0.463 1.216 1.811 0.4740 0.0604 -1.6521 + 1SOL HW2 1406 0.601 1.167 1.851 -0.2895 -0.4258 0.5498 + 1SOL OW 1407 1.451 2.207 1.897 -0.2418 -0.2283 0.7188 + 1SOL HW1 1408 1.545 2.204 1.883 0.0675 -0.2212 2.6522 + 1SOL HW2 1409 1.419 2.123 1.865 0.0103 0.6738 -2.2673 + 1SOL OW 1410 1.611 2.881 0.851 0.2258 0.5582 0.3296 + 1SOL HW1 1411 1.552 2.878 0.776 -0.7898 0.5093 1.1096 + 1SOL HW2 1412 1.661 2.962 0.840 -1.1886 1.4902 0.5248 + 1SOL OW 1413 1.070 1.026 0.415 -0.1872 0.2513 -0.1920 + 1SOL HW1 1414 1.033 1.107 0.381 -1.3801 -0.8521 -1.6587 + 1SOL HW2 1415 0.999 0.987 0.466 -0.7451 -1.3285 -2.0587 + 1SOL OW 1416 0.024 2.944 0.879 0.4803 -0.2564 -0.0390 + 1SOL HW1 1417 0.007 3.015 0.817 -0.5766 -0.8067 -0.4001 + 1SOL HW2 1418 -0.063 2.920 0.913 0.7685 -1.6592 -0.2460 + 1SOL OW 1419 2.018 0.493 1.341 0.1650 0.0242 -0.1059 + 1SOL HW1 1420 2.067 0.528 1.415 2.1995 -0.2763 -1.2476 + 1SOL HW2 1421 1.957 0.563 1.317 2.8212 2.2004 -1.1444 + 1SOL OW 1422 0.040 0.018 0.437 0.1036 -0.0697 0.2359 + 1SOL HW1 1423 0.057 -0.075 0.422 1.0473 -0.4825 3.1953 + 1SOL HW2 1424 -0.046 0.033 0.397 -1.0960 -2.7707 1.5012 + 1SOL OW 1425 2.199 0.232 1.105 -0.3162 0.6451 0.4931 + 1SOL HW1 1426 2.210 0.141 1.078 0.4171 1.0515 -0.6112 + 1SOL HW2 1427 2.157 0.226 1.191 2.2305 -0.8176 1.7420 + 1SOL OW 1428 1.167 1.600 2.123 -0.7167 0.1981 0.0028 + 1SOL HW1 1429 1.142 1.653 2.047 -1.3651 0.3597 0.3188 + 1SOL HW2 1430 1.249 1.558 2.097 -1.0185 0.1127 -0.8504 + 1SOL OW 1431 1.466 3.071 0.322 -0.5605 -0.5439 -0.5982 + 1SOL HW1 1432 1.512 3.073 0.406 1.9173 2.2620 -1.8383 + 1SOL HW2 1433 1.408 3.147 0.324 -1.3666 -1.1298 -1.0151 + 1SOL OW 1434 0.274 2.608 0.656 -0.2345 -0.3183 0.0546 + 1SOL HW1 1435 0.298 2.686 0.606 0.1475 -1.5152 -1.7368 + 1SOL HW2 1436 0.209 2.639 0.720 -2.2792 1.0232 -2.4595 + 1SOL OW 1437 2.170 2.653 0.012 -0.3374 0.4943 -0.0618 + 1SOL HW1 1438 2.229 2.687 0.079 -3.4335 1.0036 2.6391 + 1SOL HW2 1439 2.132 2.731 -0.028 -0.0962 0.1712 -0.9375 + 1SOL OW 1440 0.292 1.756 1.565 -0.2463 -0.3469 0.3830 + 1SOL HW1 1441 0.287 1.679 1.621 -1.7857 -0.7902 -0.3010 + 1SOL HW2 1442 0.386 1.770 1.552 0.0764 -2.2421 0.3486 + 1SOL OW 1443 1.904 0.899 0.205 -0.0674 -0.2667 -0.0071 + 1SOL HW1 1444 1.865 0.882 0.291 1.4928 1.4753 1.1361 + 1SOL HW2 1445 1.996 0.872 0.215 -0.2694 -1.7263 -1.7411 + 1SOL OW 1446 1.345 0.456 0.764 0.3139 -0.2314 -0.5598 + 1SOL HW1 1447 1.268 0.400 0.760 0.6575 -0.6536 -1.9820 + 1SOL HW2 1448 1.418 0.396 0.782 0.3212 0.1637 0.7917 + 1SOL OW 1449 2.426 0.136 1.672 -0.2058 -0.1288 -0.2549 + 1SOL HW1 1450 2.414 0.107 1.763 -2.4236 0.1896 -0.3889 + 1SOL HW2 1451 2.353 0.095 1.625 0.9779 -0.3887 -1.9484 + 1SOL OW 1452 0.528 0.738 0.245 0.6357 -0.3375 -0.0247 + 1SOL HW1 1453 0.552 0.806 0.308 -0.0245 0.1098 -0.2576 + 1SOL HW2 1454 0.478 0.783 0.178 -1.2717 -1.3021 0.6596 + 1SOL OW 1455 2.245 2.238 2.211 0.2566 0.2528 0.1789 + 1SOL HW1 1456 2.227 2.175 2.280 1.6244 -0.0807 0.2682 + 1SOL HW2 1457 2.214 2.196 2.131 1.0397 -0.5058 0.2579 + 1SOL OW 1458 1.021 0.694 1.011 -0.0887 -0.0335 -0.1213 + 1SOL HW1 1459 1.035 0.608 1.051 -0.0058 0.0349 -0.0007 + 1SOL HW2 1460 1.102 0.742 1.027 0.4130 -0.4117 -1.4298 + 1SOL OW 1461 3.183 1.293 0.018 -0.2815 -0.1660 -0.0133 + 1SOL HW1 1462 3.210 1.383 -0.002 0.2204 -0.1574 0.6673 + 1SOL HW2 1463 3.232 1.270 0.096 1.3206 -1.8206 -1.4055 + 1SOL OW 1464 0.263 1.845 0.442 -0.0127 0.2833 0.1171 + 1SOL HW1 1465 0.205 1.776 0.411 -1.9880 1.4671 1.0127 + 1SOL HW2 1466 0.234 1.924 0.396 1.6828 0.7161 -0.3044 + 1SOL OW 1467 2.336 2.267 0.449 -0.1011 -0.0651 0.1192 + 1SOL HW1 1468 2.400 2.232 0.387 0.1817 -1.2832 1.0611 + 1SOL HW2 1469 2.280 2.192 0.471 -0.2720 0.3705 1.2335 + 1SOL OW 1470 1.631 0.331 0.744 0.1349 0.4652 0.4785 + 1SOL HW1 1471 1.681 0.404 0.706 0.5003 0.2557 0.5533 + 1SOL HW2 1472 1.671 0.316 0.829 -0.2585 0.4971 0.6693 + 1SOL OW 1473 1.920 1.347 0.645 0.3045 0.3998 -0.0085 + 1SOL HW1 1474 1.845 1.288 0.652 0.0419 0.7957 0.6559 + 1SOL HW2 1475 1.994 1.290 0.627 0.2810 -0.3039 1.8380 + 1SOL OW 1476 1.883 1.919 0.423 0.0825 -0.1492 0.2537 + 1SOL HW1 1477 1.793 1.893 0.443 0.2839 -0.9975 0.0932 + 1SOL HW2 1478 1.874 1.999 0.372 -0.4779 1.5768 2.8397 + 1SOL OW 1479 1.858 0.876 2.080 0.3241 1.0633 -0.1440 + 1SOL HW1 1480 1.925 0.853 2.015 -0.0052 1.9769 -0.8203 + 1SOL HW2 1481 1.776 0.878 2.030 -0.5030 -1.4710 0.9291 + 1SOL OW 1482 2.303 1.989 1.807 0.1369 0.3065 0.4009 + 1SOL HW1 1483 2.301 2.063 1.746 0.4006 -0.3388 -0.4284 + 1SOL HW2 1484 2.250 1.921 1.764 -1.1500 0.4208 1.7309 + 1SOL OW 1485 0.987 1.890 1.992 0.6721 -0.3076 0.1242 + 1SOL HW1 1486 0.925 1.885 2.064 1.4058 -1.4362 0.6951 + 1SOL HW2 1487 1.066 1.930 2.029 0.8523 -0.3580 -0.1938 + 1SOL OW 1488 1.930 2.207 0.915 0.7285 0.1880 0.0602 + 1SOL HW1 1489 1.985 2.285 0.922 -1.3047 1.9946 -2.3995 + 1SOL HW2 1490 1.980 2.148 0.858 0.0027 2.0915 -2.7427 + 1SOL OW 1491 1.165 3.211 0.652 -0.4178 0.4692 0.7941 + 1SOL HW1 1492 1.162 3.116 0.667 -2.2981 0.7613 2.9110 + 1SOL HW2 1493 1.103 3.226 0.580 0.4449 0.0455 -0.0519 + 1SOL OW 1494 0.469 0.573 0.442 1.0484 0.3376 0.1046 + 1SOL HW1 1495 0.496 0.604 0.355 0.7700 -1.6779 -0.7602 + 1SOL HW2 1496 0.387 0.618 0.459 1.9811 2.0982 0.1478 + 1SOL OW 1497 2.504 0.600 2.017 0.7616 0.2368 0.8859 + 1SOL HW1 1498 2.457 0.523 2.048 -1.5101 -0.0555 -2.6205 + 1SOL HW2 1499 2.547 0.571 1.936 4.3135 1.4357 2.1579 + 1SOL OW 1500 1.624 2.895 1.827 0.4979 -0.4776 -0.1320 + 1SOL HW1 1501 1.686 2.879 1.756 -0.1850 -0.3639 -0.7637 + 1SOL HW2 1502 1.678 2.903 1.905 1.2347 -0.9091 -0.5943 + 1SOL OW 1503 1.343 2.086 1.189 0.5505 0.1593 0.2680 + 1SOL HW1 1504 1.426 2.131 1.176 0.8074 0.5475 2.7840 + 1SOL HW2 1505 1.285 2.154 1.224 -1.5067 0.3935 -3.1094 + 1SOL OW 1506 2.634 0.541 0.563 -0.6443 0.2853 0.2808 + 1SOL HW1 1507 2.680 0.613 0.607 0.9402 0.2717 -1.2443 + 1SOL HW2 1508 2.634 0.566 0.471 -1.4017 -0.9780 -0.0793 + 1SOL OW 1509 1.922 2.211 0.525 0.7077 0.1212 -0.2886 + 1SOL HW1 1510 1.997 2.154 0.504 1.4905 1.0269 -0.0317 + 1SOL HW2 1511 1.962 2.290 0.562 -0.4272 0.2092 0.8200 + 1SOL OW 1512 0.671 1.907 0.393 0.0112 -0.5679 -0.4241 + 1SOL HW1 1513 0.649 1.997 0.419 1.3468 -0.2917 -0.1697 + 1SOL HW2 1514 0.587 1.865 0.380 -0.6851 0.2996 0.9438 + 1SOL OW 1515 0.409 2.697 2.241 0.4252 -0.3183 -0.1753 + 1SOL HW1 1516 0.486 2.709 2.297 -0.7661 0.3686 1.3849 + 1SOL HW2 1517 0.397 2.782 2.198 -0.4032 0.1405 0.8924 + 1SOL OW 1518 1.417 0.663 0.968 0.0954 -0.0082 0.1617 + 1SOL HW1 1519 1.460 0.732 0.917 0.3227 -0.7914 -0.7320 + 1SOL HW2 1520 1.411 0.589 0.908 0.5413 -1.0271 1.3248 + 1SOL OW 1521 0.347 0.588 1.380 -0.4665 -0.9578 0.6233 + 1SOL HW1 1522 0.270 0.534 1.397 -1.9623 1.4078 1.9769 + 1SOL HW2 1523 0.381 0.609 1.467 -0.5104 0.9607 0.2280 + 1SOL OW 1524 1.943 2.730 2.086 -0.0459 0.8591 -0.6516 + 1SOL HW1 1525 2.004 2.718 2.159 -0.1564 1.9529 -0.3613 + 1SOL HW2 1526 1.994 2.705 2.009 -0.1161 -0.8779 -0.1691 + 1SOL OW 1527 2.881 1.221 0.121 -0.1011 0.7120 -0.3959 + 1SOL HW1 1528 2.946 1.244 0.055 -0.6297 -0.7863 -1.4806 + 1SOL HW2 1529 2.919 1.145 0.166 -1.5858 -1.0130 -1.9022 + 1SOL OW 1530 1.665 0.537 0.080 0.0287 -0.1181 -0.0233 + 1SOL HW1 1531 1.716 0.507 0.155 -1.0441 0.4192 0.9653 + 1SOL HW2 1532 1.684 0.474 0.011 0.0440 -1.3948 1.1049 + 1SOL OW 1533 0.865 3.192 1.186 0.2150 -0.2518 0.5054 + 1SOL HW1 1534 0.865 3.273 1.135 0.7902 -0.6225 -0.0962 + 1SOL HW2 1535 0.948 3.194 1.233 0.7895 -1.0554 -0.4408 + 1SOL OW 1536 2.317 1.879 0.466 -0.1306 0.5155 0.3543 + 1SOL HW1 1537 2.393 1.923 0.504 0.6983 0.9798 -1.7239 + 1SOL HW2 1538 2.323 1.789 0.499 0.6173 0.8508 1.1772 + 1SOL OW 1539 0.884 1.362 1.454 0.0466 0.0540 -0.0801 + 1SOL HW1 1540 0.958 1.415 1.425 -0.9931 1.6048 0.0017 + 1SOL HW2 1541 0.853 1.319 1.374 0.9102 -0.4778 -0.1410 + 1SOL OW 1542 1.614 0.908 1.096 -0.0853 0.2056 0.3070 + 1SOL HW1 1543 1.647 0.914 1.007 -1.5422 -2.2527 -0.4932 + 1SOL HW2 1544 1.551 0.980 1.104 -0.0272 0.3726 -0.6728 + 1SOL OW 1545 2.881 0.638 2.006 0.4156 -0.0575 0.1299 + 1SOL HW1 1546 2.826 0.599 1.938 1.1401 -1.6680 0.4034 + 1SOL HW2 1547 2.843 0.606 2.088 0.4865 0.5691 0.4083 + 1SOL OW 1548 0.294 1.013 1.545 0.2416 0.0493 0.0249 + 1SOL HW1 1549 0.263 1.092 1.591 -0.2828 -1.0765 1.7244 + 1SOL HW2 1550 0.217 0.956 1.540 0.8371 -0.7512 -0.2939 + 1SOL OW 1551 0.805 0.803 1.172 -0.1628 0.1427 0.4587 + 1SOL HW1 1552 0.891 0.765 1.153 -0.5149 -0.8951 0.8956 + 1SOL HW2 1553 0.778 0.763 1.254 0.1168 2.5092 1.7945 + 1SOL OW 1554 3.081 2.688 0.382 -0.1245 0.0533 0.2153 + 1SOL HW1 1555 3.142 2.738 0.328 0.4674 -0.1904 0.6460 + 1SOL HW2 1556 3.131 2.667 0.462 -0.2812 -1.4155 -0.0441 + 1SOL OW 1557 1.788 0.325 1.476 -0.7699 -1.0156 -0.5824 + 1SOL HW1 1558 1.831 0.409 1.489 -0.2266 -1.2036 -1.0601 + 1SOL HW2 1559 1.734 0.337 1.398 -1.7141 -0.7380 0.1023 + 1SOL OW 1560 1.459 1.579 1.985 0.0882 0.4771 -0.0072 + 1SOL HW1 1561 1.475 1.490 2.018 1.9536 1.4246 1.8061 + 1SOL HW2 1562 1.479 1.573 1.892 1.1740 -0.7866 0.2673 + 1SOL OW 1563 1.997 2.540 1.613 0.2057 0.2777 -0.2594 + 1SOL HW1 1564 2.088 2.545 1.585 0.1258 -0.5278 -0.6734 + 1SOL HW2 1565 1.949 2.515 1.534 -0.1468 -1.0719 0.3602 + 1SOL OW 1566 1.610 1.741 1.170 -0.6309 -0.1264 -0.1269 + 1SOL HW1 1567 1.673 1.692 1.117 -0.0690 1.1964 -0.7203 + 1SOL HW2 1568 1.563 1.795 1.107 0.5051 1.9666 0.7297 + 1SOL OW 1569 2.889 1.083 1.155 -0.0523 -0.0114 -0.1457 + 1SOL HW1 1570 2.812 1.131 1.123 0.6594 0.1791 -1.6533 + 1SOL HW2 1571 2.942 1.069 1.077 1.8769 0.6149 0.9993 + 1SOL OW 1572 1.690 1.156 1.347 -0.2741 0.2625 -0.7730 + 1SOL HW1 1573 1.618 1.215 1.323 -3.0002 -2.0443 1.0204 + 1SOL HW2 1574 1.692 1.091 1.277 1.8074 1.5993 -2.0484 + 1SOL OW 1575 0.582 0.354 2.173 -0.0895 -0.2953 -0.0603 + 1SOL HW1 1576 0.520 0.421 2.200 -0.2384 -0.4142 -0.1036 + 1SOL HW2 1577 0.611 0.313 2.255 -2.9909 -2.8736 -0.1180 + 1SOL OW 1578 2.382 3.046 1.877 -0.1420 -0.6303 0.3582 + 1SOL HW1 1579 2.366 3.138 1.858 -0.7585 0.1611 4.0664 + 1SOL HW2 1580 2.475 3.042 1.902 -0.3239 -0.8510 1.0098 + 1SOL OW 1581 0.061 2.146 1.293 0.1494 -0.0050 -0.0572 + 1SOL HW1 1582 0.087 2.228 1.336 1.5591 -0.1620 -0.5684 + 1SOL HW2 1583 0.030 2.173 1.207 -1.5141 0.1845 0.5593 + 1SOL OW 1584 0.047 0.107 0.163 -0.2192 -0.1315 0.4460 + 1SOL HW1 1585 0.052 0.045 0.236 -1.5632 -0.3574 0.3608 + 1SOL HW2 1586 -0.011 0.066 0.100 -1.0593 1.1512 0.3492 + 1SOL OW 1587 0.269 0.100 1.675 0.4302 -0.3150 -0.2243 + 1SOL HW1 1588 0.358 0.129 1.657 0.4543 -1.1949 -1.7080 + 1SOL HW2 1589 0.263 0.100 1.770 2.0592 -0.3529 -0.0893 + 1SOL OW 1590 2.335 0.305 0.382 0.3299 0.1633 -0.0795 + 1SOL HW1 1591 2.388 0.250 0.440 0.3644 -0.6690 -0.8697 + 1SOL HW2 1592 2.350 0.394 0.413 3.1458 0.1175 -0.9751 + 1SOL OW 1593 2.033 1.629 1.453 -0.0875 -0.0313 -0.0963 + 1SOL HW1 1594 2.103 1.563 1.461 -1.0023 -1.1378 -0.8811 + 1SOL HW2 1595 1.972 1.591 1.389 -0.7117 1.5325 -0.4656 + 1SOL OW 1596 2.557 0.889 1.755 -0.4005 0.3754 0.1395 + 1SOL HW1 1597 2.589 0.977 1.737 -0.4744 1.0309 2.8013 + 1SOL HW2 1598 2.633 0.832 1.744 0.1286 1.0509 0.2723 + 1SOL OW 1599 0.713 2.278 1.305 0.2757 0.3525 0.2883 + 1SOL HW1 1600 0.628 2.322 1.296 0.6412 0.7477 -2.0709 + 1SOL HW2 1601 0.696 2.187 1.279 0.3459 0.1419 0.9765 + 1SOL OW 1602 1.927 0.119 0.789 -0.3278 0.1813 0.2692 + 1SOL HW1 1603 2.021 0.116 0.771 -0.5636 0.4300 -1.1415 + 1SOL HW2 1604 1.918 0.185 0.857 0.3814 1.3995 -0.7639 + 1SOL OW 1605 2.215 1.550 2.080 0.0641 0.3500 -0.0704 + 1SOL HW1 1606 2.257 1.633 2.106 0.7596 -0.6086 2.0700 + 1SOL HW2 1607 2.160 1.527 2.154 0.1135 -1.2592 -0.4947 + 1SOL OW 1608 2.484 1.566 0.917 0.0913 0.6196 -0.3423 + 1SOL HW1 1609 2.482 1.476 0.950 -1.3746 1.6075 2.6769 + 1SOL HW2 1610 2.394 1.585 0.894 0.4389 1.2419 -1.2270 + 1SOL OW 1611 2.719 1.316 0.782 0.1085 0.1511 -0.1330 + 1SOL HW1 1612 2.785 1.249 0.767 1.3660 1.4089 -0.4113 + 1SOL HW2 1613 2.636 1.274 0.760 1.0362 -0.7582 -2.0667 + 1SOL OW 1614 3.158 1.388 2.049 -0.5733 0.1692 0.0522 + 1SOL HW1 1615 3.131 1.296 2.041 0.4105 -0.1580 0.3896 + 1SOL HW2 1616 3.234 1.386 2.106 -0.8602 1.2673 0.5043 + 1SOL OW 1617 2.896 1.528 1.361 0.2455 0.1345 0.6413 + 1SOL HW1 1618 2.941 1.447 1.338 1.1616 0.6764 0.4759 + 1SOL HW2 1619 2.957 1.597 1.336 -1.1269 0.9406 -0.6256 + 1SOL OW 1620 0.178 1.560 1.727 0.3674 0.1550 0.2283 + 1SOL HW1 1621 0.200 1.470 1.750 0.2209 0.1872 0.5060 + 1SOL HW2 1622 0.088 1.571 1.759 0.8036 0.7757 1.3013 + 1SOL OW 1623 2.818 2.973 1.701 0.2266 -0.6177 0.3212 + 1SOL HW1 1624 2.904 2.939 1.727 -0.4732 -1.1862 2.0634 + 1SOL HW2 1625 2.775 2.898 1.659 0.4775 -0.3998 -0.3415 + 1SOL OW 1626 1.113 2.840 1.270 0.4159 -0.3705 -0.1691 + 1SOL HW1 1627 1.180 2.891 1.317 2.0632 -0.8944 -1.8474 + 1SOL HW2 1628 1.159 2.763 1.238 -1.2553 -1.2548 -0.5629 + 1SOL OW 1629 2.062 1.287 1.612 0.3112 0.5371 1.1586 + 1SOL HW1 1630 2.032 1.241 1.690 0.1246 -1.0396 0.2158 + 1SOL HW2 1631 2.143 1.330 1.639 0.2459 0.0179 2.2252 + 1SOL OW 1632 2.528 2.951 2.244 0.0605 0.2474 0.3330 + 1SOL HW1 1633 2.563 2.885 2.305 0.0711 0.4274 0.5244 + 1SOL HW2 1634 2.516 2.904 2.162 -0.5493 -0.1497 0.6460 + 1SOL OW 1635 2.595 1.993 1.094 0.2299 0.1897 -0.3915 + 1SOL HW1 1636 2.675 1.944 1.112 -0.4100 -0.3106 1.3245 + 1SOL HW2 1637 2.552 1.943 1.024 0.7287 -0.3491 -0.3253 + 1SOL OW 1638 2.060 1.797 0.234 0.7694 0.1632 -0.2038 + 1SOL HW1 1639 2.003 1.862 0.275 -1.4755 -2.1080 0.5268 + 1SOL HW2 1640 2.031 1.793 0.143 -0.0045 -0.6522 0.0560 + 1SOL OW 1641 2.953 1.228 0.476 -0.2905 -0.0479 -0.0315 + 1SOL HW1 1642 2.857 1.231 0.471 -0.2934 -1.1322 -0.9596 + 1SOL HW2 1643 2.977 1.146 0.433 0.9592 -0.7156 1.7895 + 1SOL OW 1644 0.068 2.907 1.905 -0.2395 0.6166 -0.1719 + 1SOL HW1 1645 0.158 2.875 1.903 -0.1445 0.9095 -1.1320 + 1SOL HW2 1646 0.049 2.919 1.998 1.0956 1.5990 0.0034 + 1SOL OW 1647 2.380 1.147 0.534 -0.0496 -0.6891 -0.1340 + 1SOL HW1 1648 2.464 1.162 0.490 -0.7335 -0.6923 -1.4972 + 1SOL HW2 1649 2.318 1.202 0.487 -0.2613 2.1731 3.1098 + 1SOL OW 1650 2.278 2.765 2.098 0.4587 0.0791 -0.4824 + 1SOL HW1 1651 2.355 2.792 2.048 -0.1041 -0.5379 -1.7314 + 1SOL HW2 1652 2.291 2.671 2.112 0.8659 0.3430 1.0306 + 1SOL OW 1653 0.846 3.120 0.519 0.3575 0.0070 -0.3854 + 1SOL HW1 1654 0.755 3.127 0.489 0.6685 2.8498 -1.0124 + 1SOL HW2 1655 0.841 3.066 0.598 -2.1184 1.1348 0.3562 + 1SOL OW 1656 2.861 0.139 1.147 -0.0167 -0.4710 -0.2091 + 1SOL HW1 1657 2.815 0.059 1.120 0.4558 -1.4626 1.6632 + 1SOL HW2 1658 2.941 0.106 1.190 0.4973 1.0415 0.0324 + 1SOL OW 1659 1.578 3.203 2.250 -0.1366 -0.5526 -0.5325 + 1SOL HW1 1660 1.483 3.189 2.257 -0.2202 -0.8143 -1.8804 + 1SOL HW2 1661 1.593 3.217 2.156 1.2931 -1.5458 -0.4800 + 1SOL OW 1662 2.604 1.512 0.547 -0.6618 0.3141 0.2276 + 1SOL HW1 1663 2.645 1.586 0.502 -1.0527 1.0647 1.0936 + 1SOL HW2 1664 2.642 1.512 0.634 1.4534 -2.2224 -0.5545 + 1SOL OW 1665 0.089 1.614 1.387 -0.3074 0.0214 0.1478 + 1SOL HW1 1666 0.164 1.603 1.446 -0.7219 -0.7957 0.5394 + 1SOL HW2 1667 0.070 1.708 1.391 -0.0077 0.0600 0.9154 + 1SOL OW 1668 0.507 2.887 0.881 0.1028 0.8677 -0.2595 + 1SOL HW1 1669 0.581 2.872 0.939 -1.0228 1.2919 1.3430 + 1SOL HW2 1670 0.499 2.806 0.830 0.1932 -0.1241 1.2458 + 1SOL OW 1671 3.215 0.994 1.656 0.6793 -0.0209 0.0311 + 1SOL HW1 1672 3.235 0.942 1.578 -1.3255 -0.5773 -0.1831 + 1SOL HW2 1673 3.132 1.038 1.635 -0.0329 -0.3572 1.9044 + 1SOL OW 1674 1.449 2.649 1.535 0.0163 -0.1436 0.3353 + 1SOL HW1 1675 1.416 2.581 1.593 -0.1178 0.6257 1.1884 + 1SOL HW2 1676 1.447 2.729 1.588 1.6282 0.2529 -0.1351 + 1SOL OW 1677 0.079 3.003 0.368 -0.5515 0.3503 0.0138 + 1SOL HW1 1678 0.020 2.928 0.355 0.7416 -0.7609 0.2884 + 1SOL HW2 1679 0.138 3.000 0.293 -0.8086 1.4385 -0.2487 + 1SOL OW 1680 1.598 0.428 1.307 0.0063 -0.1891 0.4650 + 1SOL HW1 1681 1.514 0.430 1.352 0.4030 -0.2760 1.2367 + 1SOL HW2 1682 1.618 0.521 1.290 0.0611 -0.1272 0.8673 + 1SOL OW 1683 2.681 2.910 1.110 -0.0109 0.0396 0.5563 + 1SOL HW1 1684 2.720 2.950 1.187 1.0096 -0.3514 0.2567 + 1SOL HW2 1685 2.715 2.820 1.109 0.2091 0.1184 -0.4883 + 1SOL OW 1686 1.727 2.389 2.147 0.2163 -0.3130 0.0990 + 1SOL HW1 1687 1.635 2.366 2.164 -0.2382 -0.5903 -2.4022 + 1SOL HW2 1688 1.729 2.485 2.153 -0.7947 -0.1048 -1.9929 + 1SOL OW 1689 2.659 2.854 0.457 0.1993 -0.0865 -0.3692 + 1SOL HW1 1690 2.629 2.782 0.512 -0.3833 0.0143 -0.5466 + 1SOL HW2 1691 2.611 2.931 0.489 -0.3649 -0.0804 -1.1899 + 1SOL OW 1692 2.006 2.980 1.359 -0.0221 0.3246 0.1853 + 1SOL HW1 1693 2.100 2.995 1.365 0.5551 -2.1520 -1.0155 + 1SOL HW2 1694 1.988 2.981 1.265 -0.9125 -0.5681 0.3293 + 1SOL OW 1695 3.182 0.586 1.728 0.0941 0.1975 -0.1154 + 1SOL HW1 1696 3.193 0.500 1.771 -2.0865 -0.2993 -0.4330 + 1SOL HW2 1697 3.271 0.616 1.712 0.9322 -1.8044 0.4406 + 1SOL OW 1698 0.232 0.201 1.328 -0.5489 -0.6939 0.3082 + 1SOL HW1 1699 0.165 0.161 1.272 -0.2818 -0.1597 -0.4126 + 1SOL HW2 1700 0.295 0.130 1.344 -1.0141 -1.0567 0.5634 + 1SOL OW 1701 3.173 2.670 2.122 0.7477 -0.1382 0.2079 + 1SOL HW1 1702 3.129 2.751 2.147 -0.1177 -1.1447 2.1552 + 1SOL HW2 1703 3.249 2.666 2.180 1.1445 -0.4096 -0.3276 + 1SOL OW 1704 1.702 0.552 0.984 0.0603 0.0327 -0.7243 + 1SOL HW1 1705 1.717 0.618 0.916 0.9089 -0.3559 -0.9354 + 1SOL HW2 1706 1.683 0.603 1.063 0.1278 0.5134 -1.0141 + 1SOL OW 1707 3.179 1.012 2.281 -0.0931 -0.0168 0.6892 + 1SOL HW1 1708 3.102 1.063 2.307 -0.0687 1.8681 -2.3998 + 1SOL HW2 1709 3.144 0.932 2.243 -0.3867 -0.2028 1.3407 + 1SOL OW 1710 2.680 0.336 1.074 0.1954 -0.1138 0.2590 + 1SOL HW1 1711 2.605 0.285 1.042 1.0593 -0.9423 -0.5146 + 1SOL HW2 1712 2.741 0.270 1.107 2.0602 0.2106 -2.2511 + 1SOL OW 1713 2.204 0.441 1.915 -0.5895 0.4276 -0.4674 + 1SOL HW1 1714 2.171 0.510 1.974 1.5035 1.6377 -0.5938 + 1SOL HW2 1715 2.162 0.361 1.946 -2.6967 1.6612 0.0471 + 1SOL OW 1716 2.269 3.021 1.351 -0.3988 -0.2165 -0.6372 + 1SOL HW1 1717 2.351 3.055 1.387 -0.3102 1.0971 -1.9722 + 1SOL HW2 1718 2.290 2.998 1.261 -1.3934 -0.2998 -0.8559 + 1SOL OW 1719 2.330 0.422 1.664 -0.7354 -0.1636 -0.2527 + 1SOL HW1 1720 2.298 0.432 1.753 1.6594 -0.3832 0.7191 + 1SOL HW2 1721 2.335 0.327 1.650 -2.4727 -0.1556 -1.2151 + 1SOL OW 1722 2.465 0.522 1.452 -0.1401 -0.3576 -0.5465 + 1SOL HW1 1723 2.431 0.476 1.376 -1.2597 0.6225 -0.6763 + 1SOL HW2 1724 2.420 0.482 1.526 -1.3350 0.6649 -0.6836 + 1SOL OW 1725 0.031 2.631 1.115 -0.3045 -0.5109 0.3631 + 1SOL HW1 1726 -0.037 2.568 1.095 0.7019 -1.2968 -0.7446 + 1SOL HW2 1727 0.075 2.597 1.193 -0.6196 -0.4604 0.5625 + 1SOL OW 1728 1.858 1.553 2.025 -0.5318 -0.6474 -0.0203 + 1SOL HW1 1729 1.767 1.540 2.051 -0.5267 -0.5028 0.0709 + 1SOL HW2 1730 1.893 1.615 2.088 -0.2377 -1.0476 0.2162 + 1SOL OW 1731 0.709 0.660 2.134 0.2637 0.2466 -0.3121 + 1SOL HW1 1732 0.616 0.685 2.140 -0.2878 -1.5018 -1.0007 + 1SOL HW2 1733 0.755 0.733 2.175 -1.5598 0.0780 2.3102 + 1SOL OW 1734 1.769 1.392 0.363 -0.5927 0.2969 0.4607 + 1SOL HW1 1735 1.830 1.323 0.335 -0.2838 0.0402 1.6736 + 1SOL HW2 1736 1.711 1.405 0.289 0.1206 -0.4032 -0.2414 + 1SOL OW 1737 2.747 1.615 0.780 0.5431 -0.4014 0.2774 + 1SOL HW1 1738 2.745 1.664 0.862 -1.1478 -0.2053 0.1644 + 1SOL HW2 1739 2.749 1.523 0.807 0.1145 -0.3343 0.5605 + 1SOL OW 1740 1.205 1.181 2.036 -0.1455 0.2431 0.2888 + 1SOL HW1 1741 1.152 1.102 2.034 -0.6995 0.5731 1.2988 + 1SOL HW2 1742 1.155 1.244 1.983 -1.2523 0.8264 1.9611 + 1SOL OW 1743 3.000 2.842 1.385 0.2987 0.7215 0.4434 + 1SOL HW1 1744 2.936 2.785 1.427 1.1927 -0.8132 -0.1983 + 1SOL HW2 1745 3.077 2.837 1.441 0.2026 1.7576 0.6764 + 1SOL OW 1746 0.928 1.906 1.060 -0.5343 -0.0640 -0.1419 + 1SOL HW1 1747 0.976 1.891 1.142 -1.8610 -0.9500 0.5107 + 1SOL HW2 1748 0.848 1.952 1.088 -0.7904 0.0216 -0.9973 + 1SOL OW 1749 2.075 2.455 2.288 0.2163 -0.9661 -0.0306 + 1SOL HW1 1750 2.143 2.387 2.288 -0.7964 -2.0044 -0.0053 + 1SOL HW2 1751 2.082 2.497 2.203 0.1557 -1.8304 -0.4692 + 1SOL OW 1752 2.562 1.711 1.697 -0.1119 -0.3393 0.4729 + 1SOL HW1 1753 2.555 1.760 1.615 -3.9451 -0.4019 0.5843 + 1SOL HW2 1754 2.594 1.625 1.671 0.1358 0.0961 -0.7318 + 1SOL OW 1755 2.217 2.974 0.908 0.3060 0.2992 -0.4288 + 1SOL HW1 1756 2.265 2.958 0.827 0.6073 -1.8691 0.1205 + 1SOL HW2 1757 2.127 2.945 0.889 0.0609 1.0173 -0.3823 + 1SOL OW 1758 2.915 2.046 1.248 -0.2363 -0.0398 0.0578 + 1SOL HW1 1759 2.928 2.018 1.157 -1.6220 1.2586 -0.5847 + 1SOL HW2 1760 2.906 1.964 1.297 0.7212 -0.7695 -0.9198 + 1SOL OW 1761 0.561 2.935 0.607 -0.0617 -0.4602 0.7010 + 1SOL HW1 1762 0.566 3.030 0.618 3.1920 -0.3767 -0.4339 + 1SOL HW2 1763 0.622 2.900 0.673 1.0488 -1.5077 -0.8213 + 1SOL OW 1764 1.782 2.958 2.032 0.0298 -0.1284 -0.0838 + 1SOL HW1 1765 1.832 3.037 2.053 0.6023 0.0779 -2.0328 + 1SOL HW2 1766 1.832 2.887 2.073 1.5492 0.1566 -1.3567 + 1SOL OW 1767 2.227 1.552 0.305 0.7102 -0.3293 0.1042 + 1SOL HW1 1768 2.170 1.624 0.280 0.5229 -0.5347 -0.0648 + 1SOL HW2 1769 2.261 1.577 0.391 -2.6018 -1.8949 2.0477 + 1SOL OW 1770 1.556 0.378 1.789 -0.5061 -0.2986 0.0315 + 1SOL HW1 1771 1.629 0.434 1.815 -0.2204 0.1255 -1.6182 + 1SOL HW2 1772 1.504 0.369 1.870 0.8342 0.1687 0.9841 + 1SOL OW 1773 2.927 0.293 1.745 -0.0455 0.1985 0.1653 + 1SOL HW1 1774 2.962 0.354 1.680 1.3810 -0.1668 0.5336 + 1SOL HW2 1775 2.868 0.237 1.697 1.4775 -0.4859 -0.9980 + 1SOL OW 1776 2.175 0.969 0.998 -0.0094 -0.7294 0.2460 + 1SOL HW1 1777 2.186 1.053 0.955 0.4451 -0.4482 0.8947 + 1SOL HW2 1778 2.264 0.937 1.013 -0.1382 -2.6876 -2.5258 + 1SOL OW 1779 0.051 0.718 0.702 -0.0387 -0.1908 -0.0096 + 1SOL HW1 1780 0.026 0.807 0.677 -0.2746 -0.0180 0.8107 + 1SOL HW2 1781 -0.032 0.676 0.725 -0.1668 -1.1899 -2.0642 + 1SOL OW 1782 1.834 1.580 1.677 0.0230 -0.2169 -0.0746 + 1SOL HW1 1783 1.924 1.563 1.707 -0.5164 -2.4364 0.5334 + 1SOL HW2 1784 1.841 1.587 1.582 1.0095 1.1273 0.0716 + 1SOL OW 1785 2.292 1.535 1.652 0.4419 -0.1541 -0.2459 + 1SOL HW1 1786 2.357 1.605 1.652 1.5499 -1.1630 -1.1648 + 1SOL HW2 1787 2.216 1.574 1.696 0.9724 1.6718 -0.8447 + 1SOL OW 1788 2.108 1.140 0.647 0.1009 0.2762 0.0448 + 1SOL HW1 1789 2.172 1.102 0.588 0.3499 -2.1218 1.6735 + 1SOL HW2 1790 2.028 1.089 0.631 -0.4712 1.0805 0.2575 + 1SOL OW 1791 1.451 1.884 0.355 -0.2215 -0.0019 0.0590 + 1SOL HW1 1792 1.410 1.956 0.402 1.1255 0.7848 0.0653 + 1SOL HW2 1793 1.513 1.847 0.418 -0.1714 -0.5138 -0.2867 + 1SOL OW 1794 3.238 0.605 2.198 0.5636 0.1087 -0.6336 + 1SOL HW1 1795 3.234 0.533 2.136 0.3929 0.0480 -0.5516 + 1SOL HW2 1796 3.241 0.562 2.284 0.5394 0.1973 -0.5888 + 1SOL OW 1797 2.976 0.348 2.036 0.0298 0.0142 0.2386 + 1SOL HW1 1798 2.910 0.338 1.968 0.3263 2.6298 -0.5430 + 1SOL HW2 1799 3.008 0.437 2.026 3.5275 -1.0082 0.7501 + 1SOL OW 1800 2.187 1.117 1.244 -0.1283 0.0354 1.0843 + 1SOL HW1 1801 2.169 1.045 1.184 2.5203 -0.3895 0.6829 + 1SOL HW2 1802 2.101 1.151 1.268 -1.4261 -2.7321 0.6680 + 1SOL OW 1803 3.018 3.023 2.287 0.3695 0.2930 -0.3006 + 1SOL HW1 1804 3.032 2.984 2.374 0.5482 1.9910 0.4598 + 1SOL HW2 1805 2.928 3.055 2.289 0.6103 0.9920 -0.4615 + 1SOL OW 1806 1.787 1.455 1.297 -0.5190 0.7390 0.5023 + 1SOL HW1 1807 1.694 1.465 1.314 -0.8154 -0.6165 -0.1368 + 1SOL HW2 1808 1.807 1.365 1.325 0.4895 0.8652 0.2329 + 1SOL OW 1809 2.367 1.153 1.441 0.3411 -0.0278 0.1213 + 1SOL HW1 1810 2.288 1.158 1.387 0.1387 0.7171 0.4712 + 1SOL HW2 1811 2.433 1.200 1.391 0.3012 0.1841 0.2659 + 1SOL OW 1812 0.246 0.679 0.076 -0.0694 -0.4855 -0.0838 + 1SOL HW1 1813 0.313 0.741 0.049 -1.0947 0.5935 -0.2553 + 1SOL HW2 1814 0.195 0.662 -0.003 -1.0404 0.0640 0.4047 + 1SOL OW 1815 2.278 1.942 1.447 -0.2426 0.5067 0.0197 + 1SOL HW1 1816 2.207 1.934 1.384 -2.4458 -0.6150 2.4514 + 1SOL HW2 1817 2.329 2.016 1.416 -2.0161 0.8960 -2.2627 + 1SOL OW 1818 0.156 1.062 0.759 0.3692 0.1431 -0.8278 + 1SOL HW1 1819 0.152 1.155 0.736 1.2306 0.3228 -0.2737 + 1SOL HW2 1820 0.190 1.061 0.849 -1.4633 -0.6127 -0.0737 + 1SOL OW 1821 1.448 2.199 1.561 0.0723 0.0993 -0.4987 + 1SOL HW1 1822 1.452 2.278 1.615 -0.2995 0.2036 -0.6228 + 1SOL HW2 1823 1.508 2.218 1.488 -0.3208 0.4283 -0.7393 + 1SOL OW 1824 0.855 1.871 0.133 -0.2446 0.1601 -0.0057 + 1SOL HW1 1825 0.947 1.848 0.129 -0.0750 0.9044 -1.0986 + 1SOL HW2 1826 0.819 1.817 0.203 0.4664 -2.0772 -1.2441 + 1SOL OW 1827 1.650 3.232 1.994 -0.3221 0.0061 -0.5457 + 1SOL HW1 1828 1.566 3.220 1.950 -0.9377 -2.2557 1.0654 + 1SOL HW2 1829 1.711 3.176 1.946 -0.4531 -0.6462 0.0301 + 1SOL OW 1830 1.006 1.891 1.673 -0.1873 0.7817 -0.0834 + 1SOL HW1 1831 1.019 1.901 1.767 -0.3148 -0.9345 0.1472 + 1SOL HW2 1832 1.089 1.916 1.634 0.2867 0.2927 0.5924 + 1SOL OW 1833 0.771 2.976 0.245 -0.0107 -0.2067 0.1826 + 1SOL HW1 1834 0.801 3.025 0.169 -0.0063 0.6022 0.6899 + 1SOL HW2 1835 0.844 2.917 0.266 0.1405 -0.1583 -0.2058 + 1SOL OW 1836 0.915 2.702 1.121 -0.2781 -0.0529 -0.7065 + 1SOL HW1 1837 0.969 2.779 1.140 -0.0624 -0.5326 0.7447 + 1SOL HW2 1838 0.909 2.656 1.205 0.3757 -2.1242 -1.7541 + 1SOL OW 1839 2.340 2.303 1.031 -0.0090 0.3491 0.3842 + 1SOL HW1 1840 2.282 2.287 0.957 0.3796 -1.1147 0.3704 + 1SOL HW2 1841 2.288 2.285 1.108 -0.3712 1.7407 0.4987 + 1SOL OW 1842 0.141 2.460 1.844 0.0393 0.2434 0.2831 + 1SOL HW1 1843 0.147 2.439 1.750 0.8294 -0.9818 0.5766 + 1SOL HW2 1844 0.065 2.517 1.851 -0.3990 -0.1402 -1.0277 + 1SOL OW 1845 3.115 0.036 1.281 -0.3984 -0.3461 0.2265 + 1SOL HW1 1846 3.059 -0.033 1.247 0.3567 0.1148 -2.1391 + 1SOL HW2 1847 3.177 0.054 1.210 0.5272 1.5567 1.4305 + 1SOL OW 1848 0.120 2.390 0.572 0.4161 0.0417 -0.3074 + 1SOL HW1 1849 0.182 2.338 0.623 2.4434 0.9427 -1.7135 + 1SOL HW2 1850 0.152 2.480 0.580 -0.2091 0.4229 -1.7181 + 1SOL OW 1851 2.533 1.983 0.658 -0.2306 0.6690 -0.1718 + 1SOL HW1 1852 2.500 2.066 0.692 -0.2387 0.7681 -0.4173 + 1SOL HW2 1853 2.619 2.004 0.623 0.6744 0.1580 1.6144 + 1SOL OW 1854 2.197 1.292 0.397 -0.4630 -0.3190 0.2080 + 1SOL HW1 1855 2.229 1.246 0.320 -0.1431 -0.9458 0.7064 + 1SOL HW2 1856 2.190 1.383 0.369 0.1502 -0.4509 -0.4123 + 1SOL OW 1857 2.727 0.497 1.854 -0.3155 -0.0366 0.1421 + 1SOL HW1 1858 2.743 0.455 1.769 0.3655 0.3684 0.0657 + 1SOL HW2 1859 2.694 0.426 1.910 1.3314 -0.8154 0.1749 + 1SOL OW 1860 1.654 2.117 0.721 -0.1439 0.1252 0.1122 + 1SOL HW1 1861 1.746 2.135 0.702 -0.0140 0.9147 1.3604 + 1SOL HW2 1862 1.654 2.030 0.760 0.2214 0.5260 1.0342 + 1SOL OW 1863 2.892 1.064 0.797 0.1509 0.2985 -0.2829 + 1SOL HW1 1864 2.977 1.080 0.839 0.4084 0.0184 -0.6940 + 1SOL HW2 1865 2.858 0.985 0.839 0.6582 -0.2976 -0.9734 + 1SOL OW 1866 0.948 3.065 2.211 0.8359 0.1089 -0.0515 + 1SOL HW1 1867 0.967 3.157 2.229 -0.9541 0.7197 -0.9880 + 1SOL HW2 1868 0.911 3.065 2.123 -2.8060 -0.9180 1.2955 + 1SOL OW 1869 1.718 1.177 0.943 0.1998 -0.1989 -0.2683 + 1SOL HW1 1870 1.809 1.174 0.972 1.0282 0.2902 -2.6693 + 1SOL HW2 1871 1.683 1.256 0.985 0.4286 -1.0648 1.7019 + 1SOL OW 1872 2.143 2.317 1.261 0.3017 -0.3247 0.0917 + 1SOL HW1 1873 2.080 2.249 1.287 1.1835 -1.4693 -0.6644 + 1SOL HW2 1874 2.089 2.394 1.244 -0.6426 -0.5790 1.7867 + 1SOL OW 1875 0.405 2.515 0.399 -0.0069 -0.2333 -0.3010 + 1SOL HW1 1876 0.378 2.534 0.489 -2.6176 3.3857 -1.6028 + 1SOL HW2 1877 0.496 2.546 0.394 -0.4573 1.3744 0.6664 + 1SOL OW 1878 1.894 3.008 1.604 0.0724 0.6558 -0.6923 + 1SOL HW1 1879 1.927 3.002 1.514 1.4471 -0.9506 -0.1434 + 1SOL HW2 1880 1.873 2.917 1.628 1.0329 0.8518 1.0585 + 1SOL OW 1881 1.203 2.294 1.022 -0.6765 -0.0348 0.0974 + 1SOL HW1 1882 1.189 2.350 1.099 1.3089 0.8659 -0.1175 + 1SOL HW2 1883 1.118 2.291 0.978 -0.8756 2.9148 0.0912 + 1SOL OW 1884 2.382 2.923 1.124 -0.1075 0.2874 -0.4484 + 1SOL HW1 1885 2.365 2.912 1.030 -0.1761 -0.8706 -0.3236 + 1SOL HW2 1886 2.476 2.942 1.129 0.4350 -1.9649 -0.6551 + 1SOL OW 1887 3.005 0.192 2.241 0.0347 0.3066 -0.0225 + 1SOL HW1 1888 2.987 0.244 2.163 0.6476 2.4664 1.2062 + 1SOL HW2 1889 2.931 0.209 2.299 -1.1497 -2.3916 -0.5714 + 1SOL OW 1890 0.838 0.575 0.825 0.8042 0.5920 -0.0894 + 1SOL HW1 1891 0.762 0.547 0.876 -0.2211 0.4958 -1.6044 + 1SOL HW2 1892 0.892 0.624 0.888 -1.2480 1.9954 0.6966 + 1SOL OW 1893 0.958 0.950 0.003 0.2642 0.2892 -0.3099 + 1SOL HW1 1894 0.904 0.995 0.068 -0.5391 -0.6452 -0.3068 + 1SOL HW2 1895 1.020 0.898 0.054 0.6550 0.7344 -0.3149 + 1SOL OW 1896 0.774 0.598 0.212 0.2394 0.8068 0.7161 + 1SOL HW1 1897 0.724 0.524 0.176 0.5752 -0.4219 2.6484 + 1SOL HW2 1898 0.710 0.669 0.218 -0.7650 -0.1112 1.1926 + 1SOL OW 1899 2.592 1.467 1.918 0.1000 -0.3757 0.1680 + 1SOL HW1 1900 2.575 1.548 1.967 0.3182 -0.5252 0.4987 + 1SOL HW2 1901 2.666 1.488 1.861 0.0677 -0.2974 0.1563 + 1SOL OW 1902 0.011 0.067 1.616 0.0719 0.0694 0.1209 + 1SOL HW1 1903 0.029 -0.009 1.560 0.1251 0.6811 -0.7153 + 1SOL HW2 1904 0.097 0.093 1.649 0.4046 1.2214 -1.5414 + 1SOL OW 1905 2.504 0.156 0.949 -0.4416 -0.8220 -0.0505 + 1SOL HW1 1906 2.501 0.086 0.884 0.5741 -1.7207 0.8275 + 1SOL HW2 1907 2.471 0.115 1.030 -0.8446 0.0186 0.2181 + 1SOL OW 1908 0.590 3.191 0.223 0.6289 0.1386 0.0708 + 1SOL HW1 1909 0.616 3.099 0.233 0.8409 0.1547 -0.3047 + 1SOL HW2 1910 0.671 3.237 0.203 0.5540 0.4434 0.4641 + 1SOL OW 1911 3.019 1.482 0.345 -0.4120 0.1828 0.0379 + 1SOL HW1 1912 2.997 1.394 0.378 -0.9471 0.5215 0.6167 + 1SOL HW2 1913 2.954 1.498 0.277 -0.0410 -0.0453 -0.3701 + 1SOL OW 1914 1.126 1.006 1.187 -0.0615 -0.2611 0.4058 + 1SOL HW1 1915 1.102 0.970 1.272 -0.6917 1.0921 0.8235 + 1SOL HW2 1916 1.051 0.986 1.131 0.1609 -0.7482 0.2702 + 1SOL OW 1917 2.244 2.561 1.109 -0.3412 -0.6017 0.1741 + 1SOL HW1 1918 2.208 2.486 1.062 -0.8988 1.3731 -2.8995 + 1SOL HW2 1919 2.169 2.597 1.157 -0.3765 -1.2410 0.6113 + 1SOL OW 1920 0.312 0.265 2.286 -0.1966 -0.2946 0.0334 + 1SOL HW1 1921 0.222 0.236 2.272 -0.1780 -0.1390 -0.4299 + 1SOL HW2 1922 0.317 0.350 2.241 -0.1201 0.2058 0.9716 + 1SOL OW 1923 2.706 1.704 2.181 -0.7079 0.3425 -0.1600 + 1SOL HW1 1924 2.753 1.677 2.260 -1.9636 -1.3316 0.0662 + 1SOL HW2 1925 2.664 1.786 2.205 -0.4921 0.2137 0.6760 + 1SOL OW 1926 1.385 1.520 0.492 -0.2490 -0.1091 0.0536 + 1SOL HW1 1927 1.336 1.492 0.569 -0.4440 0.0485 -0.0134 + 1SOL HW2 1928 1.476 1.522 0.522 -0.1650 -1.3298 -0.0925 + 1SOL OW 1929 2.939 1.405 0.980 -0.5629 -0.1308 -0.0808 + 1SOL HW1 1930 2.981 1.491 0.983 -1.5563 0.4325 -1.1005 + 1SOL HW2 1931 2.949 1.377 0.889 -2.0353 -0.1300 -0.2700 + 1SOL OW 1932 0.538 3.236 0.661 0.1641 -0.2083 -1.2538 + 1SOL HW1 1933 0.490 3.240 0.743 2.7783 -0.9413 0.4524 + 1SOL HW2 1934 0.474 3.257 0.594 -1.9264 1.1017 1.0152 + 1SOL OW 1935 2.872 0.938 1.960 -0.2764 0.7693 -0.6081 + 1SOL HW1 1936 2.960 0.972 1.941 0.2972 -0.3395 -0.0725 + 1SOL HW2 1937 2.881 0.843 1.950 -1.9399 0.7657 -2.4961 + 1SOL OW 1938 2.659 1.255 0.440 -0.4824 -0.1799 0.1297 + 1SOL HW1 1939 2.627 1.337 0.479 -0.8915 0.0229 -0.6164 + 1SOL HW2 1940 2.636 1.262 0.348 1.8093 0.0353 -0.5017 + 1SOL OW 1941 1.296 0.889 1.465 0.0016 -0.0937 -0.0890 + 1SOL HW1 1942 1.376 0.840 1.482 0.3955 1.1336 1.8618 + 1SOL HW2 1943 1.230 0.822 1.448 1.5258 -1.1201 -2.5863 + 1SOL OW 1944 0.182 1.261 1.787 -0.2690 0.2642 -0.1775 + 1SOL HW1 1945 0.187 1.233 1.878 -0.5889 -1.1585 -0.5720 + 1SOL HW2 1946 0.097 1.229 1.756 -0.2124 0.8186 -0.9416 + 1SOL OW 1947 3.203 2.820 0.182 -0.0471 -0.5876 -0.0455 + 1SOL HW1 1948 3.127 2.839 0.127 -0.4289 0.5969 0.8459 + 1SOL HW2 1949 3.279 2.844 0.128 -0.3154 -1.2240 -0.7214 + 1SOL OW 1950 0.781 3.058 0.784 0.5594 0.1250 0.7170 + 1SOL HW1 1951 0.770 2.986 0.846 -2.5278 -0.7628 -0.6727 + 1SOL HW2 1952 0.726 3.128 0.818 -0.2658 0.0363 -0.3695 + 1SOL OW 1953 2.614 0.792 1.178 -0.2367 0.1475 -0.4605 + 1SOL HW1 1954 2.670 0.721 1.146 0.6214 0.7773 -0.4033 + 1SOL HW2 1955 2.608 0.778 1.272 0.3166 0.3986 -0.3814 + 1SOL OW 1956 2.488 2.855 1.505 0.1049 -0.1569 -0.0619 + 1SOL HW1 1957 2.448 2.789 1.449 -1.4358 -0.2513 1.0773 + 1SOL HW2 1958 2.560 2.809 1.549 -1.5592 -1.4213 1.4674 + 1SOL OW 1959 0.395 1.237 2.176 -0.7149 0.2181 0.2657 + 1SOL HW1 1960 0.378 1.294 2.101 0.3133 0.1990 0.0091 + 1SOL HW2 1961 0.378 1.149 2.144 -1.8462 0.3323 0.5263 + 1SOL OW 1962 0.757 0.722 1.407 0.2382 0.0556 -0.1058 + 1SOL HW1 1963 0.793 0.685 1.488 0.2781 2.9057 1.3022 + 1SOL HW2 1964 0.662 0.710 1.415 0.3196 -0.7019 -0.2138 + 1SOL OW 1965 0.611 0.492 0.949 -0.5989 0.3821 0.7164 + 1SOL HW1 1966 0.574 0.445 1.024 0.9873 0.5461 1.6425 + 1SOL HW2 1967 0.602 0.585 0.972 -0.6202 0.4496 0.4419 + 1SOL OW 1968 1.449 1.526 1.042 -0.5469 0.1337 -0.1596 + 1SOL HW1 1969 1.394 1.466 1.092 -0.0808 -1.0654 -1.0622 + 1SOL HW2 1970 1.392 1.560 0.973 -0.1286 -1.3305 -1.2735 + 1SOL OW 1971 0.126 1.331 0.726 0.2434 -0.2081 -0.8154 + 1SOL HW1 1972 0.159 1.349 0.814 1.0693 -1.3365 -0.8641 + 1SOL HW2 1973 0.169 1.395 0.670 1.9165 -1.2523 -0.7818 + 1SOL OW 1974 1.268 0.256 1.134 0.1019 0.4593 0.3803 + 1SOL HW1 1975 1.199 0.300 1.084 -0.0661 -0.9177 -0.6365 + 1SOL HW2 1976 1.267 0.301 1.219 -2.3497 0.2224 0.5570 + 1SOL OW 1977 1.789 0.294 2.062 0.4931 -0.0568 -0.5170 + 1SOL HW1 1978 1.779 0.310 2.156 1.9841 -0.8695 -0.1718 + 1SOL HW2 1979 1.724 0.227 2.042 -0.3669 0.6798 -0.2482 + 1SOL OW 1980 0.854 0.918 2.185 0.2597 0.2285 -0.1346 + 1SOL HW1 1981 0.852 1.010 2.158 2.2395 0.8442 1.5633 + 1SOL HW2 1982 0.941 0.887 2.159 -0.7065 -1.4902 -1.5214 + 1SOL OW 1983 2.718 0.713 0.367 0.2277 -0.5609 0.0111 + 1SOL HW1 1984 2.726 0.794 0.417 -2.8019 0.0917 -0.3837 + 1SOL HW2 1985 2.788 0.717 0.302 0.0064 1.8880 -0.1532 + 1SOL OW 1986 2.142 2.141 1.970 0.0850 0.1677 -0.2346 + 1SOL HW1 1987 2.213 2.106 1.917 -1.9322 -2.6964 -1.3083 + 1SOL HW2 1988 2.096 2.201 1.912 0.7586 0.8834 -0.0336 + 1SOL OW 1989 1.384 1.940 1.888 -0.3553 -0.8409 0.4179 + 1SOL HW1 1990 1.337 1.889 1.822 0.6932 0.0219 -1.0603 + 1SOL HW2 1991 1.474 1.908 1.882 0.4429 1.4325 -0.9010 + 1SOL OW 1992 1.642 1.767 0.521 0.0358 -0.3235 0.4095 + 1SOL HW1 1993 1.635 1.672 0.531 0.3309 -0.4801 -0.7543 + 1SOL HW2 1994 1.667 1.798 0.609 3.0072 -1.6583 0.1840 + 1SOL OW 1995 1.195 2.483 1.344 0.3054 0.1049 0.3174 + 1SOL HW1 1996 1.236 2.398 1.361 3.8610 1.7138 0.6700 + 1SOL HW2 1997 1.164 2.511 1.430 -0.0780 -0.4308 0.3612 + 1SOL OW 1998 1.400 3.166 1.916 -0.6325 0.5751 -0.3456 + 1SOL HW1 1999 1.375 3.184 1.826 -1.5967 -0.3968 -0.2924 + 1SOL HW2 2000 1.317 3.163 1.964 -0.2990 -0.8752 0.1925 + 1SOL OW 2001 0.050 2.410 2.212 -0.5540 -0.3459 0.1707 + 1SOL HW1 2002 -0.016 2.370 2.269 -0.1965 0.2457 1.0330 + 1SOL HW2 2003 0.001 2.474 2.160 -0.6727 0.0823 0.7981 + 1SOL OW 2004 2.958 2.911 2.039 -0.0607 -0.1817 -0.1869 + 1SOL HW1 2005 2.992 2.915 2.128 1.9616 -0.4885 -0.8900 + 1SOL HW2 2006 2.911 2.994 2.027 -0.8458 -0.3852 1.3279 + 1SOL OW 2007 0.418 1.778 0.892 0.3445 0.6964 -0.3871 + 1SOL HW1 2008 0.352 1.841 0.863 0.9808 1.1834 -0.8088 + 1SOL HW2 2009 0.455 1.743 0.811 -0.8874 -1.2082 -0.1923 + 1SOL OW 2010 1.923 2.154 1.328 -0.0248 -0.0298 0.6226 + 1SOL HW1 2011 1.860 2.082 1.325 -0.0459 0.0255 -1.2136 + 1SOL HW2 2012 1.902 2.201 1.409 -1.5067 -0.7653 0.6954 + 1SOL OW 2013 0.212 0.823 1.769 0.1118 -0.1616 -0.3645 + 1SOL HW1 2014 0.265 0.877 1.710 -1.0564 0.0531 -1.2392 + 1SOL HW2 2015 0.141 0.880 1.796 -1.4017 -1.3542 -1.6602 + 1SOL OW 2016 0.841 0.927 1.759 0.2322 0.6345 0.1712 + 1SOL HW1 2017 0.788 0.906 1.682 1.2986 -1.1108 -0.1396 + 1SOL HW2 2018 0.805 1.009 1.791 -2.6802 -0.4914 0.0304 + 1SOL OW 2019 1.516 1.540 1.732 -0.4553 0.6049 -0.4204 + 1SOL HW1 2020 1.483 1.451 1.726 -0.5549 0.6819 -1.0099 + 1SOL HW2 2021 1.607 1.535 1.702 -0.0524 0.4801 0.7496 + 1SOL OW 2022 0.039 2.949 2.169 0.2271 0.3459 0.2322 + 1SOL HW1 2023 0.063 2.917 2.256 0.9521 1.2972 0.4013 + 1SOL HW2 2024 -0.046 2.990 2.181 -1.2517 -2.3775 -0.2110 + 1SOL OW 2025 0.170 0.854 2.264 0.0371 0.3111 0.5488 + 1SOL HW1 2026 0.085 0.898 2.260 -0.9983 -1.6138 0.5630 + 1SOL HW2 2027 0.151 0.762 2.246 2.0472 -0.2737 1.1455 + 1SOL OW 2028 3.153 3.130 0.690 -0.2504 -0.0712 -0.2446 + 1SOL HW1 2029 3.095 3.074 0.638 0.0269 1.2624 -2.0754 + 1SOL HW2 2030 3.170 3.206 0.634 2.0000 0.3214 0.8541 + 1SOL OW 2031 2.024 2.152 1.704 -0.1208 0.4988 0.0349 + 1SOL HW1 2032 2.099 2.195 1.664 0.2961 -0.5776 -0.3517 + 1SOL HW2 2033 1.954 2.161 1.640 0.7955 -2.0646 -1.4729 + 1SOL OW 2034 1.850 1.955 1.031 0.1333 -0.4605 -0.1808 + 1SOL HW1 2035 1.916 2.023 1.020 0.1876 -0.1983 1.4881 + 1SOL HW2 2036 1.784 1.973 0.964 -0.4951 2.0376 0.9974 + 1SOL OW 2037 0.687 1.508 1.160 0.0528 0.8622 0.7390 + 1SOL HW1 2038 0.674 1.424 1.114 1.2955 1.4602 -0.7834 + 1SOL HW2 2039 0.601 1.528 1.197 0.0662 -1.8318 2.5209 + 1SOL OW 2040 1.748 1.133 1.765 0.1331 0.3445 -0.0096 + 1SOL HW1 2041 1.705 1.064 1.817 -1.3840 -0.3431 -2.0524 + 1SOL HW2 2042 1.816 1.167 1.823 -0.0809 -1.8119 1.6463 + 1SOL OW 2043 1.350 2.670 1.220 0.3391 0.0682 -0.0631 + 1SOL HW1 2044 1.294 2.600 1.254 0.4046 -0.3437 -0.7677 + 1SOL HW2 2045 1.438 2.644 1.246 0.3732 -0.1684 -0.4030 + 1SOL OW 2046 1.620 1.817 2.054 -0.0030 -0.2582 -0.1828 + 1SOL HW1 2047 1.645 1.794 2.144 0.7550 -0.3293 -0.4108 + 1SOL HW2 2048 1.561 1.746 2.028 -0.1783 -0.2712 0.2347 + 1SOL OW 2049 2.974 0.210 0.884 -0.1114 0.0580 -0.0486 + 1SOL HW1 2050 3.020 0.128 0.902 -1.6974 -0.7770 0.4448 + 1SOL HW2 2051 2.918 0.224 0.961 -1.0707 0.7288 -0.8274 + 1SOL OW 2052 0.225 0.654 0.510 -0.3518 -0.0965 -0.2678 + 1SOL HW1 2053 0.244 0.748 0.503 1.8200 -0.5496 -1.4911 + 1SOL HW2 2054 0.197 0.642 0.600 0.6769 1.5450 0.3225 + 1SOL OW 2055 2.183 1.208 0.892 0.0534 0.2170 -0.2226 + 1SOL HW1 2056 2.101 1.223 0.940 -0.8345 -0.3294 -1.5293 + 1SOL HW2 2057 2.155 1.187 0.803 1.5063 -2.0798 -0.1935 + 1SOL OW 2058 2.003 2.566 1.891 -0.2749 -0.2561 -0.1260 + 1SOL HW1 2059 2.005 2.559 1.795 -1.7425 0.7051 -0.2680 + 1SOL HW2 2060 1.987 2.476 1.921 -0.0129 -0.5337 -0.7997 + 1SOL OW 2061 1.099 0.837 2.160 -0.5587 -0.5713 0.6969 + 1SOL HW1 2062 1.123 0.893 2.235 -0.1054 1.1129 -0.6383 + 1SOL HW2 2063 1.151 0.758 2.171 -0.4921 -0.3565 2.1433 + 1SOL OW 2064 0.646 1.624 2.285 0.3601 0.3819 0.5433 + 1SOL HW1 2065 0.651 1.538 2.327 2.6285 0.0213 -0.3572 + 1SOL HW2 2066 0.595 1.677 2.347 -0.2313 -1.3133 1.5855 + 1SOL OW 2067 0.882 0.208 1.041 1.0191 0.2267 -0.2677 + 1SOL HW1 2068 0.937 0.193 0.964 2.8067 -0.6108 1.1023 + 1SOL HW2 2069 0.793 0.192 1.010 1.3125 2.8327 -2.8784 + 1SOL OW 2070 3.102 2.066 0.851 -0.3155 0.4297 -0.1409 + 1SOL HW1 2071 3.166 2.099 0.914 -0.6830 3.1214 -1.0643 + 1SOL HW2 2072 3.039 2.018 0.904 -1.5283 3.9680 1.9355 + 1SOL OW 2073 1.746 1.074 0.018 0.2359 0.1079 0.0292 + 1SOL HW1 2074 1.741 1.005 0.085 1.5767 1.8052 1.9970 + 1SOL HW2 2075 1.827 1.056 -0.029 0.7466 0.4734 0.7471 + 1SOL OW 2076 0.296 1.425 0.323 0.0022 -0.1967 -0.5085 + 1SOL HW1 2077 0.266 1.346 0.278 -0.4772 -0.2320 -0.1345 + 1SOL HW2 2078 0.294 1.493 0.256 0.5513 -0.5284 -0.8677 + 1SOL OW 2079 2.271 2.652 0.525 0.0980 0.1671 0.0196 + 1SOL HW1 2080 2.275 2.590 0.598 1.1691 -0.6143 -0.6828 + 1SOL HW2 2081 2.249 2.599 0.449 -1.7903 1.0872 -0.1473 + 1SOL OW 2082 2.552 1.342 0.186 -0.4898 -0.1074 -0.7177 + 1SOL HW1 2083 2.557 1.376 0.096 0.2542 -0.9305 -1.0105 + 1SOL HW2 2084 2.466 1.301 0.191 -0.0722 -1.1438 -1.4880 + 1SOL OW 2085 2.299 2.211 1.660 0.4612 -0.2451 -0.1568 + 1SOL HW1 2086 2.344 2.259 1.729 -0.3267 0.9357 -0.4430 + 1SOL HW2 2087 2.286 2.275 1.590 -2.3828 -0.2622 0.2462 + 1SOL OW 2088 0.311 2.742 1.850 0.9548 -0.1566 -0.1854 + 1SOL HW1 2089 0.335 2.669 1.907 0.3189 -0.6306 -0.5110 + 1SOL HW2 2090 0.385 2.802 1.855 0.2660 0.6113 2.4450 + 1SOL OW 2091 0.376 2.513 1.529 0.4683 -0.5089 -0.3412 + 1SOL HW1 2092 0.366 2.506 1.624 -0.5788 2.3270 -0.1440 + 1SOL HW2 2093 0.452 2.571 1.517 -1.0863 1.5020 -1.0592 + 1SOL OW 2094 1.245 1.986 1.551 0.4838 0.4058 0.1882 + 1SOL HW1 2095 1.306 2.049 1.590 1.6937 0.5805 -1.8306 + 1SOL HW2 2096 1.294 1.905 1.546 1.0322 0.8181 -2.4483 + 1SOL OW 2097 1.749 3.101 0.849 -0.4272 -1.3640 -0.4043 + 1SOL HW1 2098 1.766 3.188 0.814 1.3758 -1.6393 -0.2986 + 1SOL HW2 2099 1.740 3.115 0.944 -0.8561 -1.2134 -0.4638 + 1SOL OW 2100 2.466 1.872 0.892 -0.0388 0.5372 0.2501 + 1SOL HW1 2101 2.398 1.807 0.875 0.9376 -0.3646 -0.2872 + 1SOL HW2 2102 2.492 1.904 0.806 -1.1488 2.3745 0.5300 + 1SOL OW 2103 2.633 1.980 2.113 -0.3370 0.3982 0.1976 + 1SOL HW1 2104 2.567 1.947 2.053 -0.6131 -1.4924 1.4341 + 1SOL HW2 2105 2.717 1.957 2.072 -0.5240 -0.9209 0.4958 + 1SOL OW 2106 3.184 2.091 0.414 -0.2347 -0.3483 0.3734 + 1SOL HW1 2107 3.115 2.038 0.374 -0.9262 0.4404 0.4885 + 1SOL HW2 2108 3.154 2.181 0.402 0.1060 -0.0505 1.6277 + 1SOL OW 2109 2.264 0.349 0.106 -0.0707 0.1221 -0.2303 + 1SOL HW1 2110 2.176 0.381 0.126 0.1413 1.5147 -1.3541 + 1SOL HW2 2111 2.287 0.294 0.180 -1.6561 0.2141 0.3650 + 1SOL OW 2112 2.842 1.749 1.942 0.1182 -0.0241 -0.3802 + 1SOL HW1 2113 2.790 1.733 2.021 1.9023 -1.5128 0.5473 + 1SOL HW2 2114 2.886 1.832 1.959 -0.1060 0.0553 -0.1758 + 1SOL OW 2115 1.209 3.008 1.543 0.4094 0.0058 -0.5670 + 1SOL HW1 2116 1.261 2.943 1.590 0.3665 0.2652 -0.1504 + 1SOL HW2 2117 1.251 3.017 1.458 1.1639 0.3482 -0.1703 + 1SOL OW 2118 3.155 1.697 0.231 -0.2782 0.0932 0.4921 + 1SOL HW1 2119 3.132 1.611 0.267 -2.6214 0.6587 0.4935 + 1SOL HW2 2120 3.151 1.686 0.136 -1.3833 0.3645 0.4939 + 1SOL OW 2121 2.372 2.803 0.220 -0.3284 -0.3438 0.6919 + 1SOL HW1 2122 2.351 2.763 0.305 -1.1340 1.1971 1.2495 + 1SOL HW2 2123 2.468 2.811 0.221 -0.2968 -0.7338 1.2589 + 1SOL OW 2124 0.663 1.026 1.209 -0.2478 0.4638 0.0317 + 1SOL HW1 2125 0.701 0.938 1.216 0.1684 0.4928 -1.4054 + 1SOL HW2 2126 0.576 1.018 1.246 -0.6984 -0.8993 -1.2132 + 1SOL OW 2127 3.227 2.812 1.583 -0.1412 -0.1380 0.0028 + 1SOL HW1 2128 3.167 2.845 1.651 1.4940 -2.2786 2.7154 + 1SOL HW2 2129 3.293 2.880 1.573 -1.1212 0.7728 -0.5080 + 1SOL OW 2130 1.286 3.105 1.021 -0.9088 -0.3949 -0.9633 + 1SOL HW1 2131 1.356 3.165 0.995 -0.3763 0.1050 1.3526 + 1SOL HW2 2132 1.281 3.041 0.950 0.3072 0.8828 -2.2668 + 1SOL OW 2133 0.032 1.397 1.221 -0.0807 -0.3213 0.4733 + 1SOL HW1 2134 -0.062 1.407 1.207 0.1626 0.0656 -1.2053 + 1SOL HW2 2135 0.059 1.479 1.262 -0.3041 0.0988 -0.1953 + 1SOL OW 2136 1.288 0.907 0.628 0.4718 0.0379 -0.1101 + 1SOL HW1 2137 1.379 0.897 0.654 0.9959 0.6554 -1.5937 + 1SOL HW2 2138 1.254 0.818 0.624 0.1880 -0.1016 3.0169 + 1SOL OW 2139 0.591 0.264 1.402 -0.5948 -0.0752 -0.4618 + 1SOL HW1 2140 0.556 0.236 1.486 -1.3059 0.8374 -0.4366 + 1SOL HW2 2141 0.685 0.278 1.419 -0.7042 -0.0358 0.1406 + 1SOL OW 2142 1.397 2.286 0.333 -0.3693 0.5542 0.1591 + 1SOL HW1 2143 1.396 2.234 0.414 -1.2290 1.7715 0.9593 + 1SOL HW2 2144 1.474 2.342 0.342 -0.0083 0.1347 -0.2516 + 1SOL OW 2145 2.234 0.180 0.687 -0.3100 -0.6633 -0.0496 + 1SOL HW1 2146 2.323 0.157 0.713 -0.5354 -0.6981 0.7082 + 1SOL HW2 2147 2.220 0.268 0.721 -0.8669 -0.9966 0.6035 + 1SOL OW 2148 1.997 0.181 0.135 -0.1695 -0.6572 0.1088 + 1SOL HW1 2149 1.929 0.119 0.110 -0.6666 -0.9325 1.9928 + 1SOL HW2 2150 1.974 0.262 0.089 -0.6519 -1.2812 -0.7815 + 1SOL OW 2151 1.252 1.990 0.884 0.7455 0.0845 -0.1147 + 1SOL HW1 2152 1.218 2.009 0.797 1.0922 0.2124 -0.2231 + 1SOL HW2 2153 1.245 2.072 0.932 0.6192 0.0320 -0.0420 + 1SOL OW 2154 2.917 0.158 0.043 0.6786 0.2545 -0.6065 + 1SOL HW1 2155 2.969 0.127 0.116 -0.0401 -0.6726 -0.4580 + 1SOL HW2 2156 2.918 0.085 -0.020 0.6262 0.7220 -1.1571 + 1SOL OW 2157 3.088 3.208 0.940 0.5080 -0.1801 0.5000 + 1SOL HW1 2158 3.019 3.144 0.957 1.8078 -1.3283 1.7177 + 1SOL HW2 2159 3.125 3.182 0.856 2.5000 -2.5169 1.9757 + 1SOL OW 2160 1.796 2.645 0.208 -0.5589 0.0712 0.0388 + 1SOL HW1 2161 1.715 2.674 0.165 -1.6901 -1.9104 0.7191 + 1SOL HW2 2162 1.846 2.603 0.138 -1.2419 -0.8741 0.1071 + 1SOL OW 2163 0.528 2.361 1.796 0.2742 -0.3076 -0.1008 + 1SOL HW1 2164 0.568 2.284 1.836 -0.7325 -0.6122 0.3531 + 1SOL HW2 2165 0.513 2.421 1.868 1.4885 0.5317 -0.5223 + 1SOL OW 2166 0.227 1.609 0.081 -0.2514 -0.2587 0.1987 + 1SOL HW1 2167 0.282 1.571 0.012 -1.1462 -1.9224 0.3461 + 1SOL HW2 2168 0.138 1.594 0.051 -0.6477 0.0055 1.2016 + 1SOL OW 2169 0.720 0.908 0.785 0.0137 -0.1043 0.0605 + 1SOL HW1 2170 0.668 0.893 0.864 1.7434 0.1379 1.3153 + 1SOL HW2 2171 0.683 0.848 0.720 -0.2409 -1.7348 1.6348 + 1SOL OW 2172 2.007 3.033 0.118 -0.3163 0.3144 0.8673 + 1SOL HW1 2173 1.961 3.115 0.098 0.1490 0.0292 -1.6558 + 1SOL HW2 2174 1.967 2.968 0.060 1.1123 -0.6474 0.9196 + 1SOL OW 2175 2.268 2.949 0.021 -0.0126 -0.5402 0.0449 + 1SOL HW1 2176 2.177 2.957 0.050 0.0475 1.6758 -0.1809 + 1SOL HW2 2177 2.316 2.919 0.098 -0.9065 -1.7058 0.1698 + 1SOL OW 2178 0.649 2.660 0.351 0.2189 -0.1484 0.3824 + 1SOL HW1 2179 0.726 2.648 0.296 1.1757 -2.6475 2.0737 + 1SOL HW2 2180 0.684 2.690 0.435 -0.7774 -0.0397 0.7758 + 1SOL OW 2181 2.191 0.999 0.288 0.4844 -0.3488 -0.0192 + 1SOL HW1 2182 2.187 0.933 0.357 -0.1993 -2.4310 -1.9175 + 1SOL HW2 2183 2.280 0.993 0.254 0.7307 0.4587 0.4606 + 1SOL OW 2184 1.351 0.476 1.641 -0.0951 -0.0600 0.4362 + 1SOL HW1 2185 1.426 0.445 1.691 0.5561 -0.2787 -0.6480 + 1SOL HW2 2186 1.305 0.535 1.701 0.9629 0.1180 1.0919 + 1SOL OW 2187 1.317 2.711 0.068 0.0520 -0.4818 -0.1358 + 1SOL HW1 2188 1.297 2.638 0.127 -1.0181 0.6227 0.9366 + 1SOL HW2 2189 1.232 2.744 0.041 0.5337 -0.5094 -1.7605 + 1SOL OW 2190 2.524 0.139 0.526 0.1205 -0.4715 0.1638 + 1SOL HW1 2191 2.576 0.194 0.585 0.7988 -0.3574 -0.5155 + 1SOL HW2 2192 2.492 0.068 0.581 -0.3410 0.3245 0.9402 + 1SOL OW 2193 0.111 2.657 1.394 0.0677 -0.7512 0.2095 + 1SOL HW1 2194 0.200 2.687 1.408 -0.1678 0.0714 0.0373 + 1SOL HW2 2195 0.061 2.696 1.466 0.1771 -2.9133 1.5430 + 1SOL OW 2196 2.969 0.505 0.092 0.1893 -0.2365 0.4279 + 1SOL HW1 2197 3.053 0.461 0.107 -0.0235 -1.2132 -1.0261 + 1SOL HW2 2198 2.931 0.458 0.018 -1.6139 0.2539 1.0045 + 1SOL OW 2199 0.816 2.154 1.845 0.2054 -0.0410 -0.3925 + 1SOL HW1 2200 0.881 2.198 1.790 1.6211 -0.5665 0.7966 + 1SOL HW2 2201 0.805 2.068 1.805 -0.7708 0.4779 -1.3266 + 1SOL OW 2202 0.789 0.025 1.512 -0.0833 0.2543 -0.7893 + 1SOL HW1 2203 0.766 0.042 1.421 0.2967 0.0654 -0.9189 + 1SOL HW2 2204 0.826 0.107 1.543 -1.5366 0.7950 -0.3772 + 1SOL OW 2205 2.179 0.644 0.244 0.1587 0.7441 -0.6189 + 1SOL HW1 2206 2.226 0.633 0.161 1.0528 -1.3275 0.1083 + 1SOL HW2 2207 2.230 0.708 0.293 0.5889 0.6898 -0.9953 + 1SOL OW 2208 2.403 2.376 1.854 0.0973 -0.3313 -0.1383 + 1SOL HW1 2209 2.387 2.452 1.798 0.7138 -0.9182 -1.1548 + 1SOL HW2 2210 2.409 2.411 1.943 0.6488 0.8380 -0.6286 + 1SOL OW 2211 1.710 3.153 1.110 0.0972 -0.9159 -0.4442 + 1SOL HW1 2212 1.685 3.245 1.115 0.7812 -0.7112 -0.7722 + 1SOL HW2 2213 1.671 3.114 1.188 -0.6455 -0.4620 -0.5792 + 1SOL OW 2214 0.660 0.920 0.404 -0.1810 0.5257 0.3283 + 1SOL HW1 2215 0.734 0.898 0.460 -0.4102 -0.4089 0.2775 + 1SOL HW2 2216 0.606 0.979 0.457 0.2505 0.6746 0.6107 + 1SOL OW 2217 0.583 2.509 2.107 -0.4011 0.0149 0.3203 + 1SOL HW1 2218 0.488 2.504 2.108 -0.3901 -0.4160 -0.4918 + 1SOL HW2 2219 0.610 2.457 2.183 -0.7979 -0.1715 0.3383 + 1SOL OW 2220 2.793 1.479 0.163 0.0836 -0.5436 0.2429 + 1SOL HW1 2221 2.809 1.387 0.146 1.5042 -0.0921 -1.1188 + 1SOL HW2 2222 2.698 1.488 0.162 -0.0487 -1.8236 -0.6715 + 1SOL OW 2223 1.667 3.159 1.597 0.0824 0.2665 0.2069 + 1SOL HW1 2224 1.739 3.097 1.587 1.0933 1.6279 -1.5558 + 1SOL HW2 2225 1.703 3.230 1.650 1.2282 2.4362 -3.1323 + 1SOL OW 2226 2.852 3.194 0.693 0.1036 0.1400 0.9686 + 1SOL HW1 2227 2.855 3.195 0.789 0.5036 0.7734 0.9584 + 1SOL HW2 2228 2.880 3.282 0.667 -0.2822 0.0722 0.2739 + 1SOL OW 2229 1.925 2.728 1.362 0.2656 -0.1239 0.1765 + 1SOL HW1 2230 1.831 2.744 1.364 0.2389 -0.3168 1.4448 + 1SOL HW2 2231 1.965 2.815 1.356 0.0199 0.0920 1.3890 + 1SOL OW 2232 0.816 0.068 0.116 -0.1961 -0.2299 -0.6870 + 1SOL HW1 2233 0.878 0.134 0.147 -0.0807 -0.5874 -0.1387 + 1SOL HW2 2234 0.775 0.108 0.040 0.7858 -0.0375 -1.1244 + 1SOL OW 2235 1.780 0.579 2.233 0.5683 -0.2019 0.3991 + 1SOL HW1 2236 1.745 0.522 2.301 0.4400 -0.4145 0.1555 + 1SOL HW2 2237 1.771 0.667 2.268 0.8921 -0.3401 0.8345 + 1SOL OW 2238 0.726 1.482 1.633 -0.2474 -0.1696 -0.0925 + 1SOL HW1 2239 0.795 1.432 1.590 -0.2947 0.2678 -0.6818 + 1SOL HW2 2240 0.731 1.569 1.594 -0.6643 0.0689 0.3765 + 1SOL OW 2241 0.191 1.375 0.988 -0.2173 -0.1194 -0.2273 + 1SOL HW1 2242 0.227 1.341 1.070 -1.2145 0.0899 0.3114 + 1SOL HW2 2243 0.102 1.401 1.010 0.1300 1.8086 -0.8714 + 1SOL OW 2244 2.637 1.023 2.093 -0.5850 -0.4575 0.3780 + 1SOL HW1 2245 2.569 0.971 2.049 -0.7936 0.8742 -0.9839 + 1SOL HW2 2246 2.715 1.010 2.040 -1.6839 4.1198 -3.0498 + 1SOL OW 2247 1.716 1.861 0.790 -0.1233 0.2713 0.2799 + 1SOL HW1 2248 1.778 1.791 0.807 0.3438 0.8487 1.0441 + 1SOL HW2 2249 1.639 1.838 0.842 0.2799 0.6458 1.0623 + 1SOL OW 2250 2.763 1.480 1.623 0.0201 0.0344 -0.0999 + 1SOL HW1 2251 2.682 1.430 1.629 -0.6385 0.9620 -0.9164 + 1SOL HW2 2252 2.802 1.452 1.539 -0.3299 0.8303 -0.5396 + 1SOL OW 2253 0.452 0.772 2.245 0.0301 0.4746 0.3603 + 1SOL HW1 2254 0.364 0.810 2.249 0.6247 2.2670 -1.4227 + 1SOL HW2 2255 0.502 0.819 2.312 -0.0571 0.4300 0.4555 + 1SOL OW 2256 0.072 2.469 0.047 -0.3082 -0.2585 0.0920 + 1SOL HW1 2257 0.043 2.547 0.000 0.0896 -0.7072 -0.9255 + 1SOL HW2 2258 0.155 2.495 0.088 -0.0290 -0.2180 -0.4836 + 1SOL OW 2259 1.025 0.291 0.143 0.0551 -0.3148 0.7214 + 1SOL HW1 2260 1.029 0.336 0.227 -0.3440 -0.5788 0.8821 + 1SOL HW2 2261 1.029 0.361 0.078 1.1258 -0.1457 0.9395 + 1SOL OW 2262 2.154 0.843 1.411 -0.5171 0.1565 -0.2113 + 1SOL HW1 2263 2.230 0.897 1.433 -0.6160 1.3299 -2.4739 + 1SOL HW2 2264 2.160 0.768 1.470 2.3518 0.2528 -0.2602 + 1SOL OW 2265 2.120 2.045 0.801 -0.2361 0.3314 0.1870 + 1SOL HW1 2266 2.087 2.016 0.716 -1.0132 -1.7948 1.1187 + 1SOL HW2 2267 2.212 2.020 0.802 -0.0785 0.8964 -0.2434 + 1SOL OW 2268 1.500 0.755 0.160 0.1175 -0.0592 0.2874 + 1SOL HW1 2269 1.410 0.728 0.144 -0.2056 0.7269 0.7657 + 1SOL HW2 2270 1.552 0.677 0.140 -0.6106 -0.3364 -0.5791 + 1SOL OW 2271 1.445 2.717 0.592 0.0582 0.0648 -0.0931 + 1SOL HW1 2272 1.406 2.667 0.520 -2.0448 -0.2751 1.1901 + 1SOL HW2 2273 1.511 2.772 0.551 -0.6756 -0.5396 -2.1869 + 1SOL OW 2274 1.515 2.633 1.887 -0.2292 -0.2947 -0.1950 + 1SOL HW1 2275 1.572 2.621 1.962 0.2865 -0.6207 -0.6281 + 1SOL HW2 2276 1.527 2.725 1.862 0.9150 -0.6302 -0.9191 + 1SOL OW 2277 1.002 1.384 1.947 -0.1370 0.7123 -0.4691 + 1SOL HW1 2278 1.028 1.473 1.927 1.1170 0.2171 -1.1588 + 1SOL HW2 2279 0.940 1.392 2.019 1.7592 2.0003 1.1259 + 1SOL OW 2280 0.319 2.457 2.038 0.0130 -0.2169 0.3903 + 1SOL HW1 2281 0.250 2.450 1.972 -0.5106 -0.1263 0.9185 + 1SOL HW2 2282 0.275 2.436 2.120 1.0444 -2.0867 0.5079 + 1SOL OW 2283 0.800 2.511 1.946 0.0479 -0.0419 0.5310 + 1SOL HW1 2284 0.720 2.493 1.995 0.3062 -0.9887 0.6292 + 1SOL HW2 2285 0.871 2.485 2.005 0.3796 -0.6494 -0.1223 + 1SOL OW 2286 0.185 2.069 0.312 -0.3286 -0.5738 0.2438 + 1SOL HW1 2287 0.104 2.076 0.362 -0.7897 -0.0876 -0.5500 + 1SOL HW2 2288 0.205 2.159 0.284 -0.4729 -0.9086 -1.0232 + 1SOL OW 2289 1.013 1.385 1.060 0.7568 -0.4599 0.1593 + 1SOL HW1 2290 0.988 1.399 0.969 0.4451 0.0842 0.3261 + 1SOL HW2 2291 1.047 1.470 1.090 0.9172 -0.6487 0.5312 + 1SOL OW 2292 1.874 1.769 2.246 -0.1959 0.2723 -0.1564 + 1SOL HW1 2293 1.802 1.764 2.309 -0.3728 1.2258 -0.2788 + 1SOL HW2 2294 1.936 1.702 2.275 -1.3329 -0.8860 -0.3188 + 1SOL OW 2295 1.388 2.872 1.700 -0.4972 -0.3908 0.1329 + 1SOL HW1 2296 1.460 2.901 1.754 1.2057 -1.5842 -1.3634 + 1SOL HW2 2297 1.335 2.817 1.757 0.4237 -0.4300 0.9664 + 1SOL OW 2298 1.200 0.949 0.186 -0.4711 -0.1227 -0.4191 + 1SOL HW1 2299 1.280 0.999 0.196 -0.3639 -0.4349 0.3438 + 1SOL HW2 2300 1.147 0.972 0.263 -0.3730 -1.2553 0.0020 + 1SOL OW 2301 1.088 2.347 0.552 0.0884 -0.4939 -0.1360 + 1SOL HW1 2302 1.134 2.318 0.631 0.9297 0.7948 -0.1198 + 1SOL HW2 2303 1.149 2.408 0.510 -0.1913 -1.4044 -1.9739 + 1SOL OW 2304 1.959 3.179 2.115 0.1353 -0.2004 -0.1691 + 1SOL HW1 2305 2.040 3.129 2.122 -0.4373 -1.4044 -1.7208 + 1SOL HW2 2306 1.946 3.192 2.022 -1.3105 0.2232 0.0684 + 1SOL OW 2307 0.936 2.125 0.148 -0.1619 0.5664 -0.0423 + 1SOL HW1 2308 0.985 2.105 0.227 0.9230 -0.6414 -0.9678 + 1SOL HW2 2309 0.871 2.055 0.141 -1.8529 1.9562 0.9788 + 1SOL OW 2310 1.011 2.333 1.985 -0.4018 -0.7942 0.2975 + 1SOL HW1 2311 1.018 2.336 1.890 -1.7151 1.6365 0.2175 + 1SOL HW2 2312 0.970 2.248 2.002 1.1321 -1.9047 -1.1381 + 1SOL OW 2313 2.070 0.218 2.030 0.0346 0.0562 0.3872 + 1SOL HW1 2314 2.060 0.173 2.114 1.6900 0.2916 0.7629 + 1SOL HW2 2315 1.982 0.243 2.005 -0.8306 -2.4217 0.6933 + 1SOL OW 2316 1.009 2.249 1.704 0.3672 -0.3625 0.1252 + 1SOL HW1 2317 1.043 2.329 1.664 -0.1932 -0.9182 -1.5293 + 1SOL HW2 2318 0.984 2.193 1.630 2.2712 -2.7589 1.1337 + 1SOL OW 2319 1.500 0.275 0.113 0.0397 0.4526 -0.1162 + 1SOL HW1 2320 1.557 0.305 0.043 0.5394 -0.4079 -0.0863 + 1SOL HW2 2321 1.559 0.244 0.181 -0.4508 0.5536 0.3661 + 1SOL OW 2322 2.427 1.311 0.994 -0.2183 0.0317 0.4282 + 1SOL HW1 2323 2.458 1.263 0.918 -1.4351 1.6865 -1.2011 + 1SOL HW2 2324 2.338 1.279 1.008 -0.1768 0.0950 0.8604 + 1SOL OW 2325 1.345 0.669 2.170 -0.4941 0.5506 0.0760 + 1SOL HW1 2326 1.340 0.702 2.080 -1.9929 0.3250 0.0350 + 1SOL HW2 2327 1.381 0.741 2.220 0.6164 0.5872 -0.7435 + 1SOL OW 2328 0.315 1.990 0.729 0.0701 0.2560 -0.1298 + 1SOL HW1 2329 0.330 1.932 0.655 0.1084 1.5081 -1.1477 + 1SOL HW2 2330 0.223 2.014 0.724 0.0557 0.3071 0.2681 + 1SOL OW 2331 3.151 2.873 1.171 0.2094 0.2122 -0.0675 + 1SOL HW1 2332 3.197 2.790 1.155 0.6710 0.0484 1.8281 + 1SOL HW2 2333 3.085 2.851 1.237 -1.5633 0.8082 -1.5587 + 1SOL OW 2334 2.557 2.229 2.216 0.3544 0.0153 -0.1418 + 1SOL HW1 2335 2.553 2.150 2.163 0.7059 -0.5048 0.5938 + 1SOL HW2 2336 2.482 2.222 2.276 -1.3681 1.6458 -1.9581 + 1SOL OW 2337 0.006 0.377 2.017 -0.3579 0.1902 -0.0183 + 1SOL HW1 2338 0.063 0.301 2.018 -1.2106 -0.4746 -0.6621 + 1SOL HW2 2339 -0.083 0.341 2.015 -0.7658 1.1792 -1.2879 + 1SOL OW 2340 2.379 1.887 0.161 -0.7051 -0.3247 0.5542 + 1SOL HW1 2341 2.317 1.876 0.233 -0.4652 -0.1040 0.7962 + 1SOL HW2 2342 2.398 1.981 0.161 -0.0240 -0.4611 0.7724 + 1SOL OW 2343 1.774 0.734 0.793 -0.6958 0.0447 0.1504 + 1SOL HW1 2344 1.858 0.718 0.750 0.0772 -1.6511 2.1090 + 1SOL HW2 2345 1.791 0.807 0.853 -0.5761 -0.3316 0.5837 + 1SOL OW 2346 0.269 2.583 0.179 0.3845 0.1045 0.4857 + 1SOL HW1 2347 0.296 2.580 0.271 1.2809 0.8171 0.2633 + 1SOL HW2 2348 0.343 2.622 0.134 -0.8528 1.7380 -0.2293 + 1SOL OW 2349 0.890 2.103 1.441 -0.2605 0.0590 -0.8632 + 1SOL HW1 2350 0.834 2.178 1.421 -3.0234 -1.0324 1.9310 + 1SOL HW2 2351 0.835 2.026 1.424 0.1224 -1.0596 2.1807 + 1SOL OW 2352 0.766 2.472 1.687 0.1915 -0.3195 0.5790 + 1SOL HW1 2353 0.799 2.462 1.776 -0.1313 0.5372 0.8046 + 1SOL HW2 2354 0.677 2.438 1.690 -0.9114 2.3957 1.3488 + 1SOL OW 2355 1.557 0.957 0.316 0.0863 0.2890 0.1027 + 1SOL HW1 2356 1.640 0.930 0.355 -0.4033 -0.4181 0.7041 + 1SOL HW2 2357 1.521 0.877 0.278 -2.3214 -0.5675 3.6320 + 1SOL OW 2358 0.422 0.345 0.299 0.0369 0.0988 -0.0712 + 1SOL HW1 2359 0.457 0.405 0.365 -0.3185 0.8143 -0.5277 + 1SOL HW2 2360 0.327 0.351 0.311 -0.0033 -0.2835 -0.2003 + 3.24290 3.24290 2.29308 0.00000 0.00000 0.00000 0.00000 1.62145 1.62145 diff --git a/tests/generator/gromacs/model_devi_case/processed.top b/tests/generator/gromacs/model_devi_case/processed.top new file mode 100644 index 000000000..02203065d --- /dev/null +++ b/tests/generator/gromacs/model_devi_case/processed.top @@ -0,0 +1,1038 @@ +; Include forcefield parameters +******************************************************************** +* The original ffamber ports were written by Eric J. Sorin, * +* CSU Long Beach, Dept. of Chem & Biochem, and have now been * +* integrated with the standard gromacs distribution. * +* (Please don't blame Eric for errors we might have introduced.) * +* For the implementation/validation, please read/cite: * +* Sorin & Pande (2005). Biophys. J. 88(4), 2472-2493. * +* For related material and updates, please consult * +* http://chemistry.csulb.edu/ffamber/ * +******************************************************************** + + +[ defaults ] +; nbfunc comb-rule gen-pairs fudgeLJ fudgeQQ +1 2 yes 0.5 0.8333 + +[ atomtypes ] +; name at.num mass charge ptype sigma epsilon +Br 35 79.90 0.0000 A 0.00000e+00 0.00000e+00 +C 6 12.01 0.0000 A 3.39967e-01 3.59824e-01 +CA 6 12.01 0.0000 A 3.39967e-01 3.59824e-01 +CB 6 12.01 0.0000 A 3.39967e-01 3.59824e-01 +CC 6 12.01 0.0000 A 3.39967e-01 3.59824e-01 +CK 6 12.01 0.0000 A 3.39967e-01 3.59824e-01 +CM 6 12.01 0.0000 A 3.39967e-01 3.59824e-01 +CN 6 12.01 0.0000 A 3.39967e-01 3.59824e-01 +CQ 6 12.01 0.0000 A 3.39967e-01 3.59824e-01 +CR 6 12.01 0.0000 A 3.39967e-01 3.59824e-01 +CT 6 12.01 0.0000 A 3.39967e-01 4.57730e-01 +CV 6 12.01 0.0000 A 3.39967e-01 3.59824e-01 +CW 6 12.01 0.0000 A 3.39967e-01 3.59824e-01 +C* 6 12.01 0.0000 A 3.39967e-01 3.59824e-01 +C0 20 40.08 0.0000 A 3.05240e-01 1.92376e+00 +F 9 19.00 0.0000 A 3.11815e-01 2.55224e-01 +H 1 1.008 0.0000 A 1.06908e-01 6.56888e-02 +HC 1 1.008 0.0000 A 2.64953e-01 6.56888e-02 +H1 1 1.008 0.0000 A 2.47135e-01 6.56888e-02 +H2 1 1.008 0.0000 A 2.29317e-01 6.56888e-02 +H3 1 1.008 0.0000 A 2.11499e-01 6.56888e-02 +HA 1 1.008 0.0000 A 2.59964e-01 6.27600e-02 +H4 1 1.008 0.0000 A 2.51055e-01 6.27600e-02 +H5 1 1.008 0.0000 A 2.42146e-01 6.27600e-02 +HO 1 1.008 0.0000 A 0.00000e+00 0.00000e+00 +HS 1 1.008 0.0000 A 1.06908e-01 6.56888e-02 +HW 1 1.008 0.0000 A 0.00000e+00 0.00000e+00 +HP 1 1.008 0.0000 A 1.95998e-01 6.56888e-02 +I 53 126.9 0.0000 A 4.18722e-01 1.67360e+00 +Cl 17 35.45 0.0000 A 4.40104e-01 4.18400e-01 +Na 11 22.99 0.0000 A 3.32840e-01 1.15897e-02 +IB 0 131.0 0.0000 A 8.90899e-01 4.18400e-01 +MG 12 24.305 0.0000 A 1.41225e-01 3.74342e+00 +N 7 14.01 0.0000 A 3.25000e-01 7.11280e-01 +NA 7 14.01 0.0000 A 3.25000e-01 7.11280e-01 +NB 7 14.01 0.0000 A 3.25000e-01 7.11280e-01 +NC 7 14.01 0.0000 A 3.25000e-01 7.11280e-01 +N2 7 14.01 0.0000 A 3.25000e-01 7.11280e-01 +N3 7 14.01 0.0000 A 3.25000e-01 7.11280e-01 +N* 7 14.01 0.0000 A 3.25000e-01 7.11280e-01 +O 8 16.00 0.0000 A 2.95992e-01 8.78640e-01 +OW 8 16.00 0.0000 A 3.15061e-01 6.36386e-01 +OH 8 16.00 0.0000 A 3.06647e-01 8.80314e-01 +OS 8 16.00 0.0000 A 3.00001e-01 7.11280e-01 +O2 8 16.00 0.0000 A 2.95992e-01 8.78640e-01 +P 15 30.97 0.0000 A 3.74177e-01 8.36800e-01 +S 16 32.06 0.0000 A 3.56359e-01 1.04600e+00 +SH 16 32.06 0.0000 A 3.56359e-01 1.04600e+00 +CU 29 63.55 0.0000 A 3.39967e-01 3.59824e-01 +FE 26 55.00 0.0000 A 0.00000e+00 0.00000e+00 +K 19 39.10 0.0000 A 4.73602e-01 1.37235e-03 +Rb 37 85.47 0.0000 A 5.26699e-01 7.11280e-04 +Cs 55 132.91 0.0000 A 6.04920e-01 3.37230e-04 +; spc water - use only with spc.itp & settles +OW_spc 8 15.9994 0.0000 A 3.16557e-01 6.50629e-01 +HW_spc 1 1.0080 0.0000 A 0.00000e+00 0.00000e+00 +Li 3 6.94 0.0000 A 2.02590e-01 7.65672e-02 +Zn 30 65.4 0.0000 A 1.95998e-01 5.23000e-02 +;tip4p-EW +HW_tip4pew 1 1.008 0.0000 A 0.00000e+00 0.00000e+00 +OW_tip4pew 8 16.00 0.0000 A 3.16435e-01 6.80946e-01 +; tip4p +HW_tip4p 1 1.008 0.0000 A 0.00000e+00 0.00000e+00 +OW_tip4p 8 16.00 0.0000 A 3.15365e-01 6.48520e-01 +;tip5p +HW_tip5p 1 1.008 0.0000 A 0.00000e+00 0.00000e+00 +OW_tip5p 8 16.00 0.0000 A 3.12000e-01 6.69440e-01 +; dummy defs +; MW=Dummy mass for tip4p/EW/5p water extra point charge +MW 0 0.0000 0.0000 A 0.00000e+00 0.00000e+00 +; Dummy masses for rigid CH3 and NH3 groups +MCH3 0 0.0000 0.0000 A 0.00000e+00 0.00000e+00 +MNH3 0 0.0000 0.0000 A 0.00000e+00 0.00000e+00 +DUM_O 0 16.00 0.0000 A 0.00000e+00 0.00000e+00 +DUM_OH 0 16.00 0.0000 A 0.00000e+00 0.00000e+00 +DUM_HO 0 1.008 0.0000 A 0.00000e+00 0.00000e+00 +DUM_SH 0 32.06 0.0000 A 0.00000e+00 0.00000e+00 +DUM_HS 0 1.008 0.0000 A 0.00000e+00 0.00000e+00 +DUM_O2 0 16.00 0.0000 A 0.00000e+00 0.00000e+00 +DUM_HC 0 1.008 0.0000 A 0.00000e+00 0.00000e+00 +DUM_C 0 12.01 0.0000 A 0.00000e+00 0.00000e+00 +DUM_CA 0 12.01 0.0000 A 0.00000e+00 0.00000e+00 +DUM_HA 0 1.008 0.0000 A 0.00000e+00 0.00000e+00 +DUM_CC 0 12.01 0.0000 A 0.00000e+00 0.00000e+00 +DUM_NA 0 14.01 0.0000 A 0.00000e+00 0.00000e+00 +DUM_H 0 1.008 0.0000 A 0.00000e+00 0.00000e+00 +DUM_CV 0 12.01 0.0000 A 0.00000e+00 0.00000e+00 +DUM_H4 0 1.008 0.0000 A 0.00000e+00 0.00000e+00 +DUM_CR 0 12.01 0.0000 A 0.00000e+00 0.00000e+00 +DUM_H5 0 1.008 0.0000 A 0.00000e+00 0.00000e+00 +DUM_NB 0 14.01 0.0000 A 0.00000e+00 0.00000e+00 +DUM_CT 0 12.01 0.0000 A 0.00000e+00 0.00000e+00 +DUM_HP 0 1.008 0.0000 A 0.00000e+00 0.00000e+00 +DUM_N3 0 14.01 0.0000 A 0.00000e+00 0.00000e+00 +DUM_H1 0 1.008 0.0000 A 0.00000e+00 0.00000e+00 +DUM_S 0 32.06 0.0000 A 0.00000e+00 0.00000e+00 +DUM_N 0 14.01 0.0000 A 0.00000e+00 0.00000e+00 +DUM_N2 0 14.01 0.0000 A 0.00000e+00 0.00000e+00 +DUM_CW 0 12.01 0.0000 A 0.00000e+00 0.00000e+00 +DUM_CB 0 12.01 0.0000 A 0.00000e+00 0.00000e+00 +DUM_CN 0 12.01 0.0000 A 0.00000e+00 0.00000e+00 +DUM_C* 0 12.01 0.0000 A 0.00000e+00 0.00000e+00 +;ions +amber99_143 11 0.0000 0.0000 A 2.35000e-01 4.18818e-01 +amber99_144 17 0.0000 0.0000 A 4.40000e-01 5.43502e-01 +; Joung ions +; TIP3P +amber99_333 17 0.0000 0.0000 A 4.47766e-01 1.48913e-01 +amber99_337 19 0.0000 0.0000 A 3.03796e-01 8.10369e-01 +amber99_338 11 0.0000 0.0000 A 2.43928e-01 3.65846e-01 +; SPCE +amber99_351 17 0.0000 0.0000 A 4.83045e-01 5.34924e-02 +amber99_356 11 0.0000 0.0000 A 2.15954e-01 1.47545e+00 +[ bondtypes ] +; i j func b0 kb + C C 1 0.1525 259408.0 ; new99 + C OS 1 0.1323 376560.0 ; new99 + C H4 1 0.1080 307105.6 ; new99 + C H5 1 0.1080 307105.6 ; new99 + CA OH 1 0.1364 376560.0 ; new99 + CM OS 1 0.1240 401664.0 ; new99 + Cl CT 1 0.1766 194137.6 ; new99 + Br CT 1 0.1944 133051.2 ; new99 + I CT 1 0.2166 123846.4 ; new99 + F CA 1 0.1359 323004.8 ; new99 + Cl CA 1 0.1727 161502.4 ; new99 + I CA 1 0.2075 143092.8 ; new99 + Br CA 1 0.1890 143929.6 ; new99 + OW HW 1 0.09572 462750.4 ; P water + HW HW 1 0.15136 462750.4 ; P water + C CA 1 0.14090 392459.2 ; 7,(1986),230; TYR + C CB 1 0.14190 374049.6 ; 7,(1986),230; GUA + C CM 1 0.14440 343088.0 ; 7,(1986),230; THY,URA + C CT 1 0.15220 265265.6 ; 7,(1986),230; AA + C N* 1 0.13830 354803.2 ; 7,(1986),230; CYT,URA + C NA 1 0.13880 349782.4 ; 7,(1986),230; GUA.URA + C NC 1 0.13580 382417.6 ; 7,(1986),230; CYT + C O 1 0.12290 476976.0 ; 7,(1986),230; AA,CYT,GUA,THY,URA + C O2 1 0.12500 548940.8 ; 7,(1986),230; GLU,ASP + C OH 1 0.13640 376560.0 ; 7,(1986),230; TYR + CA CA 1 0.14000 392459.2 ; 7,(1986),230; BENZENE,PHE,TRP,TYR + CA CB 1 0.14040 392459.2 ; 7,(1986),230; ADE,TRP + CA CM 1 0.14330 357313.6 ; 7,(1986),230; CYT + CA CT 1 0.15100 265265.6 ; 7,(1986),230; PHE,TYR + CA HA 1 0.10800 307105.6 ; ged from 340. bsd on C6H6 nmodes; PHE,TRP,TYR + CA H4 1 0.10800 307105.6 ; ged from 340. bsd on C6H6 nmodes; no assigned + CA N2 1 0.13400 402500.8 ; 7,(1986),230; ARG,CYT,GUA + CA NA 1 0.13810 357313.6 ; 7,(1986),230; GUA + CA NC 1 0.13390 404174.4 ; 7,(1986),230; ADE,CYT,GUA + CB CB 1 0.13700 435136.0 ; 7,(1986),230; ADE,GUA + CB N* 1 0.13740 364844.8 ; 7,(1986),230; ADE,GUA + CB NB 1 0.13910 346435.2 ; 7,(1986),230; ADE,GUA + CB NC 1 0.13540 385764.8 ; 7,(1986),230; ADE,GUA + CK H5 1 0.10800 307105.6 ; ged from 340. bsd on C6H6 nmodes; ADE,GUA + CK N* 1 0.13710 368192.0 ; 7,(1986),230; ADE,GUA + CK NB 1 0.13040 442667.2 ; 7,(1986),230; ADE,GUA + CM CM 1 0.13500 459403.2 ; 7,(1986),230; CYT,THY,URA + CM CT 1 0.15100 265265.6 ; 7,(1986),230; THY + CM HA 1 0.10800 307105.6 ; ged from 340. bsd on C6H6 nmodes; CYT,URA + CM H4 1 0.10800 307105.6 ; ged from 340. bsd on C6H6 nmodes; CYT,URA + CM H5 1 0.10800 307105.6 ; ged from 340. bsd on C6H6 nmodes; not assigned + CM N* 1 0.13650 374886.4 ; 7,(1986),230; CYT,THY,URA + CQ H5 1 0.10800 307105.6 ; ged from 340. bsd on C6H6 nmodes; ADE + CQ NC 1 0.13240 420073.6 ; 7,(1986),230; ADE + CT CT 1 0.15260 259408.0 ; 7,(1986),230; AA, SUGARS + CT HC 1 0.10900 284512.0 ; ged from 331 bsd on NMA nmodes; AA, SUGARS + CT H1 1 0.10900 284512.0 ; ged from 331 bsd on NMA nmodes; AA, RIBOSE + CT H2 1 0.10900 284512.0 ; ged from 331 bsd on NMA nmodes; SUGARS + CT H3 1 0.10900 284512.0 ; ged from 331 bsd on NMA nmodes; not assigned + CT HP 1 0.10900 284512.0 ; nged from 331; AA-lysine, methyl ammonium cation + CT N* 1 0.14750 282001.6 ; 7,(1986),230; ADE,CYT,GUA,THY,URA + CT N2 1 0.14630 282001.6 ; 7,(1986),230; ARG + CT OH 1 0.14100 267776.0 ; 7,(1986),230; SUGARS + CT OS 1 0.14100 267776.0 ; 7,(1986),230; NUCLEIC ACIDS + H N2 1 0.10100 363171.2 ; 7,(1986),230; ADE,CYT,GUA,ARG + H N* 1 0.10100 363171.2 ; plain unmethylated bases ADE,CYT,GUA,ARG + H NA 1 0.10100 363171.2 ; 7,(1986),230; GUA,URA,HIS + HO OH 1 0.09600 462750.4 ; 7,(1986),230; SUGARS,SER,TYR + HO OS 1 0.09600 462750.4 ; 7,(1986),230; NUCLEOTIDE ENDS + O2 P 1 0.14800 439320.0 ; 7,(1986),230; NA PHOSPHATES + OH P 1 0.16100 192464.0 ; 7,(1986),230; NA PHOSPHATES + OS P 1 0.16100 192464.0 ; 7,(1986),230; NA PHOSPHATES + C* HC 1 0.10800 307105.6 ; ged from 340. bsd on C6H6 nmodes, not needed AA + C N 1 0.13350 410032.0 ; 7,(1986),230; AA + C* CB 1 0.14590 324678.4 ; 7,(1986),230; TRP + C* CT 1 0.14950 265265.6 ; 7,(1986),230; TRP + C* CW 1 0.13520 456892.8 ; 7,(1986),230; TRP + CA CN 1 0.14000 392459.2 ; 7,(1986),230; TRP + CB CN 1 0.14190 374049.6 ; 7,(1986),230; TRP + CC CT 1 0.15040 265265.6 ; 7,(1986),230; HIS + CC CV 1 0.13750 428441.6 ; 7,(1986),230; HIS(delta) + CC CW 1 0.13710 433462.4 ; 7,(1986),230; HIS(epsilon) + CC NA 1 0.13850 353129.6 ; 7,(1986),230; HIS + CC NB 1 0.13940 343088.0 ; 7,(1986),230; HIS + CN NA 1 0.13800 358150.4 ; 7,(1986),230; TRP + CR H5 1 0.10800 307105.6 ; ged from 340. bsd on C6H6 nmodes;HIS + CR NA 1 0.13430 399153.6 ; 7,(1986),230; HIS + CR NB 1 0.13350 408358.4 ; 7,(1986),230; HIS + CT N 1 0.14490 282001.6 ; 7,(1986),230; AA + CT N3 1 0.14710 307105.6 ; 7,(1986),230; LYS + CT S 1 0.18100 189953.6 ; ged from 222.0 based on dimethylS nmodes + CT SH 1 0.18100 198321.6 ; ged from 222.0 based on methanethiol nmodes + CV H4 1 0.10800 307105.6 ; ged from 340. bsd on C6H6 nmodes; HIS + CV NB 1 0.13940 343088.0 ; 7,(1986),230; HIS + CW H4 1 0.10800 307105.6 ; ged from 340. bsd on C6H6 nmodes;HIS(epsilon,+) + CW NA 1 0.13810 357313.6 ; 7,(1986),230; HIS,TRP + H N 1 0.10100 363171.2 ; 7,(1986),230; AA + H N3 1 0.10100 363171.2 ; 7,(1986),230; LYS + HS SH 1 0.13360 229283.2 ; 7,(1986),230; CYS + S S 1 0.20380 138908.8 ; 7,(1986),230; CYX (SCHERAGA) + CT F 1 0.13800 307105.6 ; 13,(1992),963;CF4; R0=1.332 FOR CHF3 + + + +[ constrainttypes ] +; this section is implemented manually from bond & angle values + +; constraints for rigid CH3 groups + MCH3 CT 2 0.166426 + MCH3 S 2 0.193875 + MCH3 MCH3 2 0.092163 + +; constraint for CH3 in ACE cap + MCH3 C 2 0.166041 +; constraint for CH3 in NME cap + MCH3 N 2 0.159041 + +; constraints for rigid NH3 groups + MNH3 CT 2 0.158254 + MNH3 MNH3 2 0.080229 + +; angle-derived constraints for OH and SH groups in proteins +; The constraint A-C is calculated from the angle A-B-C and bonds A-B, B-C. + C HO 2 0.195074 + CA HO 2 0.195074 + CT HO 2 0.194132 + CT HS 2 0.235935 + P HO 2 0.212004 ;SEP + + +[ angletypes ] +; i j k func th0 cth +HW OW HW 1 104.520 836.800 ; TIP3P water +HW HW OW 1 127.740 0.000 ; (found in crystallographic water with 3 bonds) +C C O 1 120.000 669.440 ; new99 +C C OH 1 120.000 669.440 ; new99 +CT C CT 1 117.000 527.184 ; new99 +CT C OS 1 115.000 669.440 ; new99 +O C OS 1 125.000 669.440 ; new99 +H4 C C 1 120.000 418.400 ; new99 +H4 C CM 1 115.000 418.400 ; new99 +H4 C CT 1 115.000 418.400 ; new99 +H4 C O 1 120.000 418.400 ; new99 +H4 C OH 1 120.000 418.400 ; new99 +H5 C N 1 120.000 418.400 ; new99 +H5 C O 1 119.000 418.400 ; new99 +H5 C OH 1 107.000 418.400 ; new99 +H5 C OS 1 107.000 418.400 ; new99 +CA CA OH 1 120.000 585.760 ; new99 +CA OH HO 1 113.000 418.400 ; new99 +F CA CA 1 121.000 585.760 ; new99 +Cl CA CA 1 118.800 585.760 ; new99 +Br CA CA 1 118.800 585.760 ; new99 +I CA CA 1 118.800 585.760 ; new99 +CM CM OS 1 125.000 669.440 ; new99 +H4 CM OS 1 113.000 418.400 ; new99 +HA CM HA 1 120.000 292.880 ; new99 +HA CM CT 1 120.000 418.400 ; new99 +H1 CT CM 1 109.500 418.400 ; new99 +HC CT CM 1 109.500 418.400 ; new99 +C CT OS 1 109.500 502.080 ; new99 +CM CT CT 1 111.000 527.184 ; new99 +CM CT OS 1 109.500 418.400 ; new99 +CT CT CA 1 114.000 527.184 ; new99 +OS CT OS 1 101.000 502.080 ; new99 +F CT CT 1 109.000 418.400 ; new99 +F CT H2 1 109.500 418.400 ; new99 +Cl CT CT 1 108.500 418.400 ; new99 +Cl CT H1 1 108.500 418.400 ; new99 +Br CT CT 1 108.000 418.400 ; new99 +Br CT H1 1 106.500 418.400 ; new99 +I CT CT 1 106.000 418.400 ; new99 +CB C NA 1 111.300 585.760 ; NA +CB C O 1 128.800 669.440 ; +CM C NA 1 114.100 585.760 ; +CM C O 1 125.300 669.440 ; +CT C O 1 120.400 669.440 ; +CT C O2 1 117.000 585.760 ; +CT C OH 1 110.000 669.440 ; new99 +N* C NA 1 115.400 585.760 ; +N* C NC 1 118.600 585.760 ; +N* C O 1 120.900 669.440 ; +NA C O 1 120.600 669.440 ; +NC C O 1 122.500 669.440 ; +CT C N 1 116.600 585.760 ; AA general +N C O 1 122.900 669.440 ; AA general +O C O 1 126.000 669.440 ; AA COO- terminal residues +O2 C O2 1 126.000 669.440 ; AA GLU (SCH JPC 79,2379) +O C OH 1 120.000 669.440 ; +CA C CA 1 120.000 527.184 ; changed from 85.0 bsd on C6H6 nmodes; AA tyr +CA C OH 1 120.000 585.760 ; AA tyr +C CA CA 1 120.000 527.184 ; changed from 85.0 bsd on C6H6 nmodes +CA CA CA 1 120.000 527.184 ; changed from 85.0 bsd on C6H6 nmodes +CA CA CB 1 120.000 527.184 ; changed from 85.0 bsd on C6H6 nmodes +CA CA CT 1 120.000 585.760 ; +CA CA HA 1 120.000 418.400 ; new99 +CA CA H4 1 120.000 418.400 ; new99 +CB CA HA 1 120.000 418.400 ; new99 +CB CA H4 1 120.000 418.400 ; new99 +CB CA N2 1 123.500 585.760 ; +CB CA NC 1 117.300 585.760 ; +CM CA N2 1 120.100 585.760 ; +CM CA NC 1 121.500 585.760 ; +N2 CA NA 1 116.000 585.760 ; +N2 CA NC 1 119.300 585.760 ; +NA CA NC 1 123.300 585.760 ; +C CA HA 1 120.000 418.400 ; new99 tyr +N2 CA N2 1 120.000 585.760 ; AA arg +CN CA HA 1 120.000 418.400 ; new99 trp +CA CA CN 1 120.000 527.184 ; changed from 85.0 bsd on C6H6 nmodes; AA trp +C CB CB 1 119.200 527.184 ; changed from 85.0 bsd on C6H6 nmodes; NA gua +C CB NB 1 130.000 585.760 ; +CA CB CB 1 117.300 527.184 ; changed from 85.0 bsd on C6H6 nmodes; NA ade +CA CB NB 1 132.400 585.760 ; +CB CB N* 1 106.200 585.760 ; +CB CB NB 1 110.400 585.760 ; +CB CB NC 1 127.700 585.760 ; +N* CB NC 1 126.200 585.760 ; +C* CB CA 1 134.900 527.184 ; changed from 85.0 bsd on C6H6 nmodes; AA trp +C* CB CN 1 108.800 527.184 ; changed from 85.0 bsd on C6H6 nmodes; AA trp +CA CB CN 1 116.200 527.184 ; changed from 85.0 bsd on C6H6 nmodes; AA trp +H5 CK N* 1 123.050 418.400 ; new99 +H5 CK NB 1 123.050 418.400 ; new99 +N* CK NB 1 113.900 585.760 ; +C CM CM 1 120.700 527.184 ; changed from 85.0 bsd on C6H6 nmodes; NA thy +C CM CT 1 119.700 585.760 ; +C CM HA 1 119.700 418.400 ; new99 +C CM H4 1 119.700 418.400 ; new99 +CA CM CM 1 117.000 527.184 ; changed from 85.0 bsd on C6H6 nmodes; NA cyt +CA CM HA 1 123.300 418.400 ; new99 +CA CM H4 1 123.300 418.400 ; new99 +CM CM CT 1 119.700 585.760 ; +CM CM HA 1 119.700 418.400 ; new99 +CM CM H4 1 119.700 418.400 ; new99 +CM CM N* 1 121.200 585.760 ; +H4 CM N* 1 119.100 418.400 ; new99 +H5 CQ NC 1 115.450 418.400 ; new99 +NC CQ NC 1 129.100 585.760 ; +CM CT HC 1 109.500 418.400 ; changed based on NMA nmodes +CT CT CT 1 109.500 334.720 ; +CT CT HC 1 109.500 418.400 ; changed based on NMA nmodes +CT CT H1 1 109.500 418.400 ; changed based on NMA nmodes +CT CT H2 1 109.500 418.400 ; changed based on NMA nmodes +CT CT HP 1 109.500 418.400 ; changed based on NMA nmodes +CT CT N* 1 109.500 418.400 ; +CT CT OH 1 109.500 418.400 ; +CT CT OS 1 109.500 418.400 ; +HC CT HC 1 109.500 292.880 ; +H1 CT H1 1 109.500 292.880 ; +HP CT HP 1 109.500 292.880 ; AA lys, ch3nh4+ +H2 CT N* 1 109.500 418.400 ; changed based on NMA nmodes +H1 CT N* 1 109.500 418.400 ; changed based on NMA nmodes +H1 CT OH 1 109.500 418.400 ; changed based on NMA nmodes +H1 CT OS 1 109.500 418.400 ; changed based on NMA nmodes +H2 CT OS 1 109.500 418.400 ; changed based on NMA nmodes +N* CT OS 1 109.500 418.400 ; +H1 CT N 1 109.500 418.400 ; AA general changed based on NMA nmodes +C CT H1 1 109.500 418.400 ; AA general changed based on NMA nmodes +C CT HP 1 109.500 418.400 ; AA zwitterion changed based on NMA nmodes +H1 CT S 1 109.500 418.400 ; AA cys changed based on NMA nmodes +H1 CT SH 1 109.500 418.400 ; AA cyx changed based on NMA nmodes +CT CT S 1 114.700 418.400 ; AA cyx (SCHERAGA JPC 79,1428) +CT CT SH 1 108.600 418.400 ; AA cys +H2 CT H2 1 109.500 292.880 ; AA lys +H1 CT N2 1 109.500 418.400 ; AA arg changed based on NMA nmodes +HP CT N3 1 109.500 418.400 ; AA lys, ch3nh3+, changed based on NMA nmodes +CA CT CT 1 114.000 527.184 ; AA phe tyr (SCH JPC 79,2379) +C CT HC 1 109.500 418.400 ; AA gln changed based on NMA nmodes +C CT N 1 110.100 527.184 ; AA general +CT CT N2 1 111.200 669.440 ; AA arg (JCP 76, 1439) +CT CT N 1 109.700 669.440 ; AA ala, general (JACS 94, 2657) +C CT CT 1 111.100 527.184 ; AA general +CA CT HC 1 109.500 418.400 ; AA tyr changed based on NMA nmodes +CT CT N3 1 111.200 669.440 ; AA lys (JCP 76, 1439) +CC CT CT 1 113.100 527.184 ; AA his +CC CT HC 1 109.500 418.400 ; AA his changed based on NMA nmodes +C CT N3 1 111.200 669.440 ; AA amino terminal residues +C* CT CT 1 115.600 527.184 ; AA trp +C* CT HC 1 109.500 418.400 ; AA trp changed based on NMA nmodes +CT CC NA 1 120.000 585.760 ; AA his +CT CC CV 1 120.000 585.760 ; AA his +CT CC NB 1 120.000 585.760 ; AA his +CV CC NA 1 120.000 585.760 ; AA his +CW CC NA 1 120.000 585.760 ; AA his +CW CC NB 1 120.000 585.760 ; AA his +CT CC CW 1 120.000 585.760 ; AA his +H5 CR NA 1 120.000 418.400 ; new99 his +H5 CR NB 1 120.000 418.400 ; new99 his +NA CR NA 1 120.000 585.760 ; AA his +NA CR NB 1 120.000 585.760 ; AA his +CC CV H4 1 120.000 418.400 ; new99 his +CC CV NB 1 120.000 585.760 ; AA his +H4 CV NB 1 120.000 418.400 ; new99 his +CC CW H4 1 120.000 418.400 ; new99 his +CC CW NA 1 120.000 585.760 ; AA his +H4 CW NA 1 120.000 418.400 ; new99 his +C* CW H4 1 120.000 418.400 ; new99 trp +C* CW NA 1 108.700 585.760 ; AA trp +CT C* CW 1 125.000 585.760 ; AA trp +CB C* CT 1 128.600 585.760 ; AA trp +CB C* CW 1 106.400 527.184 ; changed from 85.0 bsd on C6H6 nmodes; AA trp +CA CN NA 1 132.800 585.760 ; AA trp +CB CN NA 1 104.400 585.760 ; AA trp +CA CN CB 1 122.700 527.184 ; changed from 85.0 bsd on C6H6 nmodes; AA trp +C N CT 1 121.900 418.400 ; AA general +C N H 1 120.000 418.400 ; new99 general, gln, asn,changed based on NMA nmodes +CT N H 1 118.040 418.400 ; new99 general, changed based on NMA nmodes +CT N CT 1 118.000 418.400 ; AA pro (DETAR JACS 99,1232) +H N H 1 120.000 292.880 ; ade,cyt,gua,gln,asn ** +C N* CM 1 121.600 585.760 ; +C N* CT 1 117.600 585.760 ; +C N* H 1 119.200 418.400 ; new99 +CB N* CK 1 105.400 585.760 ; +CB N* CT 1 125.800 585.760 ; +CB N* H 1 125.800 418.400 ; new99 +CK N* CT 1 128.800 585.760 ; +CK N* H 1 128.800 418.400 ; new99 for unmethylated n.a. bases,chngd bsd NMA nmodes +CM N* CT 1 121.200 585.760 ; +CM N* H 1 121.200 418.400 ; new99 for unmethylated n.a. bases,chngd bsd NMA nmodes +CA N2 H 1 120.000 418.400 ; new99 +H N2 H 1 120.000 292.880 ; +CT N2 H 1 118.400 418.400 ; new99 arg +CA N2 CT 1 123.200 418.400 ; AA arg +CT N3 H 1 109.500 418.400 ; AA lys, changed based on NMA nmodes +CT N3 CT 1 109.500 418.400 ; AA pro/nt +H N3 H 1 109.500 292.880 ; AA lys, AA(end) +C NA C 1 126.400 585.760 ; +C NA CA 1 125.200 585.760 ; +C NA H 1 116.800 418.400 ; new99 +CA NA H 1 118.000 418.400 ; new99 +CC NA CR 1 120.000 585.760 ; AA his +CC NA H 1 120.000 418.400 ; new99 his +CR NA CW 1 120.000 585.760 ; AA his +CR NA H 1 120.000 418.400 ; new99 his +CW NA H 1 120.000 418.400 ; new99 his +CN NA CW 1 111.600 585.760 ; AA trp +CN NA H 1 123.100 418.400 ; new99 trp +CB NB CK 1 103.800 585.760 ; +CC NB CR 1 117.000 585.760 ; AA his +CR NB CV 1 117.000 585.760 ; AA his +C NC CA 1 120.500 585.760 ; +CA NC CB 1 112.200 585.760 ; +CA NC CQ 1 118.600 585.760 ; +CB NC CQ 1 111.000 585.760 ; +C OH HO 1 113.000 418.400 ; new99 +CT OH HO 1 108.500 460.240 ; +HO OH P 1 108.500 376.560 ; +CT OS CT 1 109.500 502.080 ; +CT OS P 1 120.500 836.800 ; +P OS P 1 120.500 836.800 ; +O2 P OH 1 108.230 376.560 ; +O2 P O2 1 119.900 1171.520 ; +O2 P OS 1 108.230 836.800 ; +OH P OS 1 102.600 376.560 ; +OS P OS 1 102.600 376.560 ; +CT S CT 1 98.900 518.816 ; AA met +CT S S 1 103.700 569.024 ; AA cyx (SCHERAGA JPC 79,1428) +CT SH HS 1 96.000 359.824 ; changed from 44.0 based on methanethiol nmodes +HS SH HS 1 92.070 292.880 ; AA cys +F CT F 1 109.100 644.336 ; JCC,13,(1992),963; +F CT H1 1 109.500 418.400 ; new99 +N C N 1 120.000 585.760 ; Added for Urea (same as N2-CA-N2) - EJS + +[ dihedraltypes ] +;i j k l func phase kd pn +CA CA CA OH 4 180.00 4.60240 2 ; new99 +H5 O C OH 4 180.00 4.60240 2 ; new99 +H5 O C OS 4 180.00 4.60240 2 ; new99 +CM CT CM HA 4 180.00 4.60240 2 ; new99 +CA CA CA Br 4 180.00 4.60240 2 ; new99 +CM H4 C O 4 180.00 4.60240 2 ; new99 +C CT N H 4 180.00 4.60240 2 ; new99 +C CT N O 4 180.00 4.60240 2 ; new99 +CB CK N* CT 4 180.00 4.18400 2 ; +CK CB N* CT 4 180.00 4.18400 2 ; +C CM N* CT 4 180.00 4.18400 2 ; dac guess, 9/94 +CT N* C CM 4 180.00 4.18400 2 ; +CM C CM CT 4 180.00 4.60240 2 ; +CT O C OH 4 180.00 43.93200 2 ; +NA CV CC CT 4 180.00 4.60240 2 ; +NB CW CC CT 4 180.00 4.60240 2 ; +NA CW CC CT 4 180.00 4.60240 2 ; +CW CB C* CT 4 180.00 4.60240 2 ; +CA CA CA CT 4 180.00 4.60240 2 ; +C CM CM CT 4 180.00 4.60240 2 ; dac guess, 9/94 +NC CM CA N2 4 180.00 4.60240 2 ; dac guess, 9/94 +CB NC CA N2 4 180.00 4.60240 2 ; dac, 10/94 +NA NC CA N2 4 180.00 4.60240 2 ; dac, 10/94 +CA CA C OH 4 180.00 4.60240 2 ; +CT CV CC NA 4 180.00 4.60240 2 ; +CT CW CC NB 4 180.00 4.60240 2 ; +CT CW CC NA 4 180.00 4.60240 2 ; +CB CT C* CW 4 180.00 4.60240 2 ; +CM N2 CA NC 4 180.00 4.60240 2 ; +CB N2 CA NC 4 180.00 4.60240 2 ; +N2 NA CA NC 4 180.00 4.60240 2 ; +N N C O 4 180.00 43.93200 2 ; urea +X O2 C O2 4 180.00 43.93200 2 ; JCC,7,(1986),230 +X N2 CA N2 4 180.00 43.93200 2 ; JCC,7,(1986),230 +X CT N CT 4 180.00 4.18400 2 ; JCC,7,(1986),230 +X X C O 4 180.00 43.93200 2 ; JCC,7,(1986),230 +X X N H 4 180.00 4.18400 2 ; JCC,7,(1986),230 +X X N2 H 4 180.00 4.18400 2 ; JCC,7,(1986),230 +X X NA H 4 180.00 4.18400 2 ; JCC,7,(1986),230 +X X CA HA 4 180.00 4.60240 2 ; bsd.on C6H6 nmodes +X X CW H4 4 180.00 4.60240 2 ; +X X CR H5 4 180.00 4.60240 2 ; +X X CV H4 4 180.00 4.60240 2 ; +X X CQ H5 4 180.00 4.60240 2 ; +X X CK H5 4 180.00 4.60240 2 ; +X X CM H4 4 180.00 4.60240 2 ; +X X CM HA 4 180.00 4.60240 2 ; +X X CA H4 4 180.00 4.60240 2 ; bsd.on C6H6 nmodes +X X CA H5 4 180.00 4.60240 2 ; bsd.on C6H6 nmodes + + +[ dihedraltypes ] +;i j k l func + CT CT OS CT 9 0.0 1.60247 3 ; + CT CT OS CT 9 180.0 0.41840 2 ; + C N CT C 9 0.0 1.12968 2 ; new for 99sb + C N CT C 9 0.0 1.75728 3 ; new for 99sb + N CT C N 9 180.0 1.88280 1 ; new for 99sb + N CT C N 9 180.0 6.61072 2 ; new for 99sb + N CT C N 9 180.0 2.30120 3 ; new for 99sb + CT CT N C 9 0.0 8.36800 1 ; new for 99sb + CT CT N C 9 0.0 8.36800 2 ; new for 99sb + CT CT N C 9 0.0 1.67360 3 ; new for 99sb + CT CT C N 9 0.0 0.83680 1 ; new for 99sb + CT CT C N 9 0.0 0.83680 2 ; new for 99sb + CT CT C N 9 0.0 1.67360 3 ; new for 99sb + H N C O 9 180.0 10.46000 2 ; JCC,7,(1986),230 + H N C O 9 0.0 8.36800 1 ; J.C.cistrans-NMA DE + CT S S CT 9 0.0 14.64400 2 ; JCC,7,(1986),230 + CT S S CT 9 0.0 2.51040 3 ; JCC,7,(1986),230 + OS CT CT OS 9 0.0 0.60250 3 ; parm98, TC,PC,PAK + OS CT CT OS 9 0.0 4.91620 2 ; Piotr et al. + OS CT CT OH 9 0.0 0.60250 3 ; parm98, TC,PC,PAK + OS CT CT OH 9 0.0 4.91620 2 ; parm98, TC,PC,PAK + OH CT CT OH 9 0.0 0.60250 3 ; parm98, TC,PC,PAK + OH CT CT OH 9 0.0 4.91620 2 ; parm98, TC,PC,PAK + OH P OS CT 9 0.0 1.04600 3 ; JCC,7,(1986),230 + OH P OS CT 9 0.0 5.02080 2 ; gg> ene.631g*/mp2 + OS P OS CT 9 0.0 1.04600 3 ; JCC,7,(1986),230 + OS P OS CT 9 0.0 5.02080 2 ; gg> ene.631g*/mp2 + OS CT N* CK 9 0.0 10.46000 1 ; parm98, TC,PC,PAK + OS CT N* CM 9 0.0 10.46000 1 ; parm98, TC,PC,PAK + H1 CT C O 9 0.0 3.34720 1 ; Junmei et al, 1999 + H1 CT C O 9 180.0 0.33472 3 ; Junmei et al, 1999 + HC CT C O 9 0.0 3.34720 1 ; Junmei et al, 1999 + HC CT C O 9 180.0 0.33472 3 ; Junmei et al, 1999 + HC CT CT HC 9 0.0 0.62760 3 ; Junmei et al, 1999 + HC CT CT CT 9 0.0 0.66944 3 ; Junmei et al, 1999 + HC CT CM CM 9 180.0 1.58992 3 ; Junmei et al, 1999 + HC CT CM CM 9 0.0 4.81160 1 ; Junmei et al, 1999 + HO OH CT CT 9 0.0 0.66944 3 ; Junmei et al, 1999 + HO OH CT CT 9 0.0 1.04600 1 ; Junmei et al, 1999 + HO OH C O 9 180.0 9.62320 2 ; Junmei et al, 1999 + HO OH C O 9 0.0 7.94960 1 ; Junmei et al, 1999 + CM CM C O 9 180.0 9.10020 2 ; Junmei et al, 1999 + CM CM C O 9 0.0 1.25520 3 ; Junmei et al, 1999 + CT CM CM CT 9 180.0 27.82360 2 ; Junmei et al, 1999 + CT CM CM CT 9 180.0 7.94960 1 ; Junmei et al, 1999 + CT CT CT CT 9 0.0 0.75312 3 ; Junmei et al, 1999 + CT CT CT CT 9 180.0 1.04600 2 ; Junmei et al, 1999 + CT CT CT CT 9 180.0 0.83680 1 ; Junmei et al, 1999 + CT CT OS C 9 0.0 1.60247 3 ; Junmei et al, 1999 + CT CT OS C 9 180.0 3.34720 1 ; Junmei et al, 1999 + CT OS CT OS 9 0.0 0.41840 3 ; Junmei et al, 1999 + CT OS CT OS 9 180.0 3.55640 2 ; Junmei et al, 1999 + CT OS CT OS 9 180.0 5.64840 1 ; Junmei et al, 1999 + O C OS CT 9 180.0 11.29680 2 ; Junmei et al, 1999 + O C OS CT 9 180.0 5.85760 1 ; Junmei et al, 1999 + F CT CT F 9 180.0 5.02080 1 ; Junmei et al, 1999 + Cl CT CT Cl 9 180.0 1.88280 1 ; Junmei et al, 1999 + Br CT CT Br 9 0.0 0.00000 0 ; Junmei et al, 1999 + H1 CT CT OS 9 0.0 1.04600 1 ; Junmei et al, 1999 + H1 CT CT OH 9 0.0 1.04600 1 ; Junmei et al, 1999 + H1 CT CT F 9 0.0 0.79496 1 ; Junmei et al, 1999 + H1 CT CT Cl 9 0.0 1.04600 1 ; Junmei et al, 1999 + H1 CT CT Br 9 0.0 2.30120 1 ; Junmei et al, 1999 + HC CT CT OS 9 0.0 1.04600 1 ; Junmei et al, 1999 + HC CT CT OH 9 0.0 1.04600 1 ; Junmei et al, 1999 + HC CT CT F 9 0.0 0.79496 1 ; Junmei et al, 1999 + HC CT CT Cl 9 0.0 1.04600 1 ; Junmei et al, 1999 + HC CT CT Br 9 0.0 2.30120 1 ; Junmei et al, 1999 + CT OS CT N* 9 0.0 1.60247 3 ; parm98.dat, TC,PC,PAK + CT OS CT N* 9 0.0 2.71960 2 ; Piotr et al. + X C C X 9 180.0 15.16700 2 ; Junmei et al, 1999 + X C O X 9 180.0 11.71520 2 ; Junmei et al, 1999 + X C OS X 9 180.0 11.29680 2 ; Junmei et al, 1999 + X CA OH X 9 180.0 3.76560 2 ; Junmei et al, 99 + X CM OS X 9 180.0 4.39320 2 ; Junmei et al, 1999 + X C CA X 9 180.0 15.16700 2 ; intrpol.bsd.on C6H6 + X C CB X 9 180.0 12.55200 2 ; intrpol.bsd.on C6H6 + X C CM X 9 180.0 9.10020 2 ; intrpol.bsd.on C6H6 + X C N* X 9 180.0 6.06680 2 ; JCC,7,(1986),230 + X C NA X 9 180.0 5.64840 2 ; JCC,7,(1986),230 + X C NC X 9 180.0 16.73600 2 ; JCC,7,(1986),230 + X C OH X 9 180.0 9.62320 2 ; Junmei et al, 1999 + X C CT X 9 0.0 0.00000 0 ; JCC,7,(1986),230 + X CA CA X 9 180.0 15.16700 2 ; intrpol.bsd.on C6H6 + X CA CB X 9 180.0 14.64400 2 ; intrpol.bsd.on C6H6 + X CA CM X 9 180.0 10.66920 2 ; intrpol.bsd.on C6H6 + X CA CT X 9 0.0 0.00000 0 ; JCC,7,(1986),230 + X CA N2 X 9 180.0 10.04160 2 ; reinterpolated 93' + X CA NA X 9 180.0 6.27600 2 ; JCC,7,(1986),230 + X CA NC X 9 180.0 20.08320 2 ; JCC,7,(1986),230 + X CB CB X 9 180.0 22.80280 2 ; intrpol.bsd.on C6H6 + X CB N* X 9 180.0 6.90360 2 ; JCC,7,(1986),230 + X CB NB X 9 180.0 10.66920 2 ; JCC,7,(1986),230 + X CB NC X 9 180.0 17.36360 2 ; JCC,7,(1986),230 + X CK N* X 9 180.0 7.11280 2 ; JCC,7,(1986),230 + X CK NB X 9 180.0 41.84000 2 ; JCC,7,(1986),230 + X CM CM X 9 180.0 27.82360 2 ; intrpol.bsd.on C6H6 + X CM CT X 9 0.0 0.00000 0 ; JCC,7,(1986),230 + X CM N* X 9 180.0 7.74040 2 ; JCC,7,(1986),230 + X CQ NC X 9 180.0 28.45120 2 ; JCC,7,(1986),230 + X CT CT X 9 0.0 0.65084 3 ; JCC,7,(1986),230 + X CT N X 9 0.0 0.00000 0 ; JCC,7,(1986),230 + X CT N* X 9 0.0 0.00000 0 ; JCC,7,(1986),230 + X CT N2 X 9 0.0 0.00000 0 ; JCC,7,(1986),230 + X CT OH X 9 0.0 0.69733 3 ; JCC,7,(1986),230 + X CT OS X 9 0.0 1.60387 3 ; JCC,7,(1986),230 + X OH P X 9 0.0 1.04600 3 ; JCC,7,(1986),230 + X OS P X 9 0.0 1.04600 3 ; JCC,7,(1986),230 + X C N X 9 180.0 10.46000 2 ; AA,NMA + X CT N3 X 9 0.0 0.65084 3 ; JCC,7,(1986),230 + X CT S X 9 0.0 1.39467 3 ; JCC,7,(1986),230 + X CT SH X 9 0.0 1.04600 3 ; JCC,7,(1986),230 + X C* CB X 9 180.0 7.00820 2 ; intrpol.bsd.onC6H6aa + X C* CT X 9 0.0 0.00000 0 ; JCC,7,(1986),230 + X C* CW X 9 180.0 27.30060 2 ; intrpol.bsd.on C6H6 + X CA CN X 9 180.0 15.16700 2 ; reinterpolated 93' + X CB CN X 9 180.0 12.55200 2 ; reinterpolated 93' + X CC CT X 9 0.0 0.00000 0 ; JCC,7,(1986),230 + X CC CV X 9 180.0 21.54760 2 ; intrpol.bsd.on C6H6 + X CC CW X 9 180.0 22.48900 2 ; intrpol.bsd.on C6H6 + X CC NA X 9 180.0 5.85760 2 ; JCC,7,(1986),230 + X CC NB X 9 180.0 10.04160 2 ; JCC,7,(1986),230 + X CN NA X 9 180.0 6.38060 2 ; reinterpolated 93' + X CR NA X 9 180.0 9.72780 2 ; JCC,7,(1986),230 + X CR NB X 9 180.0 20.92000 2 ; JCC,7,(1986),230 + X CV NB X 9 180.0 10.04160 2 ; JCC,7,(1986),230 + X CW NA X 9 180.0 6.27600 2 ; JCC,7,(1986),230 + +; Modified amino acid torsions in Amber99SB-ILDN +; These should not override the general torsion for the atom types, +; so to avoid introducing extra new atom types we list them explicitly for +; the residues in question: + + + + + + + + + + + +[ implicit_genborn_params ] + +; atype sar st pi gbr hct +;Br 0.1 1 1 0.125 0.85 ; H +C 0.172 1 1.554 0.1875 0.72 ; C +CA 0.18 1 1.037 0.1875 0.72 ; C +CB 0.172 0.012 1.554 0.1875 0.72 ; C +CC 0.172 1 1.554 0.1875 0.72 ; C +CN 0.172 0.012 1.554 0.1875 0.72 ; C +CR 0.18 1 1.073 0.1875 0.72 ; C +CT 0.18 1 1.276 0.190 0.72 ; C +CV 0.18 1 1.073 0.1875 0.72 ; C +CW 0.18 1 1.073 0.1875 0.72 ; C +C* 0.172 0.012 1.554 0.1875 0.72 ; C +H 0.1 1 1 0.115 0.85 ; H +HC 0.1 1 1 0.125 0.85 ; H +H1 0.1 1 1 0.125 0.85 ; H +HA 0.1 1 1 0.125 0.85 ; H +H4 0.1 1 1 0.115 0.85 ; H +H5 0.1 1 1 0.125 0.85 ; H +HO 0.1 1 1 0.105 0.85 ; H +HS 0.1 1 1 0.125 0.85 ; H +HP 0.1 1 1 0.125 0.85 ; H +N 0.155 1 1.028 0.17063 0.79 ; N +NA 0.155 1 1.028 0.17063 0.79 ; N +NB 0.155 1 1.215 0.17063 0.79 ; N +N2 0.16 1 1.215 0.17063 0.79 ; N +N3 0.16 1 1.215 0.1625 0.79 ; N +O 0.15 1 0.926 0.148 0.85 ; O +OH 0.152 1 1.080 0.1535 0.85 ; O +O2 0.17 1 0.922 0.148 0.85 ; O +S 0.18 1 1.121 0.1775 0.96 ; S +SH 0.18 1 1.121 0.1775 0.96 ; S + +; masscenters for vsites do not have gbsa parameters + +MNH3 0 0 0 0 0 +MCH3 0 0 0 0 0 + + + +; Include ligand parameters +;#include "ffMOL.itp" + +; Include Position restraint file +;#ifdef POSRES +;#include "posre.itp" +;#endif + +; Include ligand topology +[ atomtypes ] + ca ca 0.00000 0.00000 A 3.31521e-01 4.13379e-01 + cl cl 0.00000 0.00000 A 3.46595e-01 1.10374e+00 + c c 0.00000 0.00000 A 3.31521e-01 4.13379e-01 + o o 0.00000 0.00000 A 3.04812e-01 6.12119e-01 + ns ns 0.00000 0.00000 A 3.26995e-01 4.91202e-01 + nb nb 0.00000 0.00000 A 3.38417e-01 3.93714e-01 + c3 c3 0.00000 0.00000 A 3.39771e-01 4.51035e-01 + hc hc 0.00000 0.00000 A 2.60018e-01 8.70272e-02 + ha ha 0.00000 0.00000 A 2.62548e-01 6.73624e-02 + hn hn 0.00000 0.00000 A 1.10650e-01 4.18400e-02 + h4 h4 0.00000 0.00000 A 2.53639e-01 6.73624e-02 + +[ moleculetype ] + MOL 3 + +[ atoms ] + 1 ca 1 MOL C1 1 -0.096000 12.01000 + 2 ca 1 MOL C2 2 -0.129000 12.01000 + 3 ca 1 MOL C3 3 0.052400 12.01000 + 4 ca 1 MOL C4 4 -0.143600 12.01000 + 5 ca 1 MOL C5 5 0.052400 12.01000 + 6 ca 1 MOL C6 6 -0.129000 12.01000 + 7 cl 1 MOL CL1 7 -0.060400 35.45000 + 8 c 1 MOL C7 8 0.691700 12.01000 + 9 o 1 MOL O1 9 -0.550100 16.00000 + 10 ns 1 MOL N1 10 -0.460100 14.01000 + 11 ca 1 MOL C8 11 0.127600 12.01000 + 12 ca 1 MOL C9 12 -0.304300 12.01000 + 13 ca 1 MOL C10 13 0.445200 12.01000 + 14 nb 1 MOL N2 14 -0.735999 14.01000 + 15 ca 1 MOL C11 15 0.551200 12.01000 + 16 ca 1 MOL C12 16 -0.323300 12.01000 + 17 ns 1 MOL N3 17 -0.553400 14.01000 + 18 c 1 MOL C13 18 0.671100 12.01000 + 19 o 1 MOL O2 19 -0.593100 16.00000 + 20 c3 1 MOL C14 20 -0.178100 12.01000 + 21 cl 1 MOL CL2 21 -0.060400 35.45000 + 22 hc 1 MOL H1 22 0.071033 1.00800 + 23 ha 1 MOL H2 23 0.148000 1.00800 + 24 ha 1 MOL H3 24 0.157000 1.00800 + 25 ha 1 MOL H4 25 0.157000 1.00800 + 26 hn 1 MOL H5 26 0.330500 1.00800 + 27 ha 1 MOL H6 27 0.183000 1.00800 + 28 h4 1 MOL H7 28 0.025100 1.00800 + 29 ha 1 MOL H8 29 0.180000 1.00800 + 30 hn 1 MOL H9 30 0.331500 1.00800 + 31 hc 1 MOL H10 31 0.071033 1.00800 + 32 hc 1 MOL H11 32 0.071033 1.00800 + +[ bonds ] + + + +[ pairs ] + + + +[ angles ] + + + +[ dihedrals ] + + + +[ dihedrals ] + + + +[ exclusions ] + 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 + 2 1 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 + 3 1 2 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 + 4 1 2 3 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 + 5 1 2 3 4 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 + 6 1 2 3 4 5 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 + 7 1 2 3 4 5 6 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 + 8 1 2 3 4 5 6 7 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 + 9 1 2 3 4 5 6 7 8 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 + 10 1 2 3 4 5 6 7 8 9 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 + 11 1 2 3 4 5 6 7 8 9 10 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 + 12 1 2 3 4 5 6 7 8 9 10 11 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 + 13 1 2 3 4 5 6 7 8 9 10 11 12 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 + 14 1 2 3 4 5 6 7 8 9 10 11 12 13 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 + 15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 + 16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 + 17 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 + 18 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 19 20 21 22 23 24 25 26 27 28 29 30 31 32 + 19 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 20 21 22 23 24 25 26 27 28 29 30 31 32 + 20 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 21 22 23 24 25 26 27 28 29 30 31 32 + 21 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 22 23 24 25 26 27 28 29 30 31 32 + 22 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 23 24 25 26 27 28 29 30 31 32 + 23 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 24 25 26 27 28 29 30 31 32 + 24 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 25 26 27 28 29 30 31 32 + 25 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 27 28 29 30 31 32 + 26 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 27 28 29 30 31 32 + 27 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 28 29 30 31 32 + 28 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 + 29 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 + 30 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 31 32 + 31 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 32 + 32 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 + + +; Include water topology +[ moleculetype ] +; molname nrexcl +SOL 2 + +[ atoms ] +; id at type res nr res name at name cg nr charge mass + 1 OW 1 SOL OW 1 -0.834 16.00000 + 2 HW 1 SOL HW1 1 0.417 1.00800 + 3 HW 1 SOL HW2 1 0.417 1.00800 + + +[ settles ] +; OW funct doh dhh +1 1 0.09572 0.15139 + +[ exclusions ] +1 2 3 +2 1 3 +3 1 2 + + +;#ifdef POSRES_WATER +; Position restraint for each water oxygen +;[ position_restraints ] +; i funct fcx fcy fcz +; 1 1 1000 1000 1000 +;#endif + +; Include topology for ions +[ moleculetype ] +; molname nrexcl +IB+ 1 ; big positive ion + +[ atoms ] +; id at type res nr residu name at name cg nr charge + 1 IB 1 IB+ IB 1 1.00000 + + +[ moleculetype ] +; molname nrexcl +CA 1 + +[ atoms ] +; id at type res nr residu name at name cg nr charge + 1 C0 1 CA CA 1 2.00000 + + +[ moleculetype ] +; molname nrexcl +CL 1 + +[ atoms ] +; id at type res nr residu name at name cg nr charge + 1 Cl 1 CL CL 1 -1.00000 + + +[ moleculetype ] +; molname nrexcl +NA 1 + +[ atoms ] +; id at type res nr residu name at name cg nr charge + 1 Na 1 NA NA 1 1.00000 + + +[ moleculetype ] +; molname nrexcl +MG 1 + +[ atoms ] +; id at type res nr residu name at name cg nr charge + 1 MG 1 MG MG 1 2.00000 + + +[ moleculetype ] +; molname nrexcl +K 1 + +[ atoms ] +; id at type res nr residu name at name cg nr charge + 1 K 1 K K 1 1.00000 + + +[ moleculetype ] +; molname nrexcl +RB 1 + +[ atoms ] +; id at type res nr residu name at name cg nr charge + 1 Rb 1 RB RB 1 1.00000 + + +[ moleculetype ] +; molname nrexcl +CS 1 + +[ atoms ] +; id at type res nr residu name at name cg nr charge + 1 Cs 1 CS CS 1 1.00000 + + +[ moleculetype ] +; molname nrexcl +LI 1 + +[ atoms ] +; id at type res nr residu name at name cg nr charge + 1 Li 1 LI LI 1 1.00000 + + +[ moleculetype ] +; molname nrexcl +ZN 1 + +[ atoms ] +; id at type res nr residu name at name cg nr charge + 1 Zn 1 ZN ZN 1 2.00000 + + + + + +; Entries for the Joung ion atom types for TIP3P(TIP4P) +[ moleculetype ] +; molname nrexcl +NaJ 1 + +[ atoms ] +; id at type res nr residu name at name cg nr charge mass +1 amber99_338 1 NaJ NaJ 1 1 22.99000 + +[ moleculetype ] +; molname nrexcl +ClJ 1 + +[ atoms ] +; id at type res nr residu name at name cg nr charge mass +1 amber99_333 1 ClJ ClJ 1 -1 35.45000 + +[ moleculetype ] +; molname nrexcl +KJ 1 + +[ atoms ] +; id at type res nr residu name at name cg nr charge mass +1 amber99_337 1 KJ KJ 1 1 39.10000 +; Entry ends + +[ moleculetype ] +; molname nrexcl +NaS 1 + +[ atoms ] +; id at type res nr residu name at name cg nr charge mass +1 amber99_143 1 NaS NaS 1 1 22.99000 + +[ moleculetype ] +; molname nrexcl +ClS 1 + +[ atoms ] +; id at type res nr residu name at name cg nr charge mass +1 amber99_144 1 ClS ClS 1 -1 35.45000 + + +;spce water ions from Joung +[ moleculetype ] +; molname nrexcl +NaE 1 + +[ atoms ] +; id at type res nr residu name at name cg nr charge mass +1 amber99_356 1 NaJ NaJ 1 1 22.99000 + +[ moleculetype ] +; molname nrexcl +ClE 1 + +[ atoms ] +; id at type res nr residu name at name cg nr charge mass +1 amber99_351 1 ClJ ClJ 1 -1 35.45000 + + + +[ system ] +; Name +ligand in water + +[ molecules ] +; Compound #mols +MOL 1 +SOL 776 diff --git a/tests/generator/gromacs/outputs/deepmd_traj.gro b/tests/generator/gromacs/outputs/deepmd_traj.gro new file mode 100644 index 000000000..77b5ef06e --- /dev/null +++ b/tests/generator/gromacs/outputs/deepmd_traj.gro @@ -0,0 +1,210 @@ +ligand in water t= 0.00000 step= 0 + 32 + 1MOL C1 1 2.763 2.029 0.966 + 1MOL C2 2 2.844 2.141 0.941 + 1MOL C3 3 2.788 2.268 0.958 + 1MOL C4 4 2.653 2.285 0.991 + 1MOL C5 5 2.576 2.171 1.011 + 1MOL C6 6 2.630 2.042 1.007 + 1MOL CL1 7 2.405 2.194 1.045 + 1MOL C7 8 2.588 2.419 0.999 + 1MOL O1 9 2.558 2.474 0.894 + 1MOL N1 10 2.572 2.471 1.125 + 1MOL C8 11 2.504 2.587 1.170 + 1MOL C9 12 2.542 2.648 1.289 + 1MOL C10 13 2.461 2.753 1.336 + 1MOL N2 14 2.359 2.804 1.266 + 1MOL C11 15 2.321 2.742 1.153 + 1MOL C12 16 2.389 2.631 1.103 + 1MOL N3 17 2.217 2.806 1.082 + 1MOL C13 18 2.118 2.742 1.011 + 1MOL O2 19 2.121 2.624 0.980 + 1MOL C14 20 2.003 2.827 0.960 + 1MOL CL2 21 2.875 2.415 0.920 + 1MOL H1 22 2.026 2.932 0.936 + 1MOL H2 23 2.810 1.932 0.951 + 1MOL H3 24 2.945 2.132 0.902 + 1MOL H4 25 2.577 1.954 1.041 + 1MOL H5 26 2.608 2.408 1.196 + 1MOL H6 27 2.624 2.605 1.346 + 1MOL H7 28 2.483 2.804 1.430 + 1MOL H8 29 2.357 2.582 1.012 + 1MOL H9 30 2.203 2.904 1.105 + 1MOL H10 31 1.920 2.816 1.031 + 1MOL H11 32 1.967 2.787 0.864 + 3.24290 3.24290 2.29308 0.00000 0.00000 0.00000 0.00000 1.62145 1.62145 +ligand in water t= 0.01000 step= 10 + 32 + 1MOL C1 1 2.761 2.033 0.962 + 1MOL C2 2 2.842 2.141 0.934 + 1MOL C3 3 2.783 2.264 0.948 + 1MOL C4 4 2.649 2.280 0.984 + 1MOL C5 5 2.571 2.168 1.010 + 1MOL C6 6 2.626 2.042 1.002 + 1MOL CL1 7 2.400 2.187 1.042 + 1MOL C7 8 2.584 2.420 0.991 + 1MOL O1 9 2.553 2.474 0.890 + 1MOL N1 10 2.565 2.467 1.119 + 1MOL C8 11 2.496 2.583 1.163 + 1MOL C9 12 2.537 2.643 1.285 + 1MOL C10 13 2.459 2.748 1.329 + 1MOL N2 14 2.358 2.804 1.260 + 1MOL C11 15 2.322 2.743 1.149 + 1MOL C12 16 2.384 2.629 1.094 + 1MOL N3 17 2.214 2.803 1.080 + 1MOL C13 18 2.116 2.737 1.007 + 1MOL O2 19 2.124 2.619 0.979 + 1MOL C14 20 2.000 2.825 0.958 + 1MOL CL2 21 2.870 2.409 0.913 + 1MOL H1 22 2.032 2.931 0.946 + 1MOL H2 23 2.795 1.933 0.935 + 1MOL H3 24 2.944 2.127 0.898 + 1MOL H4 25 2.560 1.961 1.028 + 1MOL H5 26 2.577 2.402 1.197 + 1MOL H6 27 2.625 2.615 1.340 + 1MOL H7 28 2.479 2.790 1.427 + 1MOL H8 29 2.349 2.586 1.001 + 1MOL H9 30 2.202 2.904 1.088 + 1MOL H10 31 1.920 2.834 1.033 + 1MOL H11 32 1.961 2.779 0.866 + 3.24260 3.24260 2.29287 0.00000 0.00000 0.00000 0.00000 1.62130 1.62130 +ligand in water t= 0.02000 step= 20 + 32 + 1MOL C1 1 2.755 2.036 0.961 + 1MOL C2 2 2.835 2.148 0.934 + 1MOL C3 3 2.774 2.272 0.943 + 1MOL C4 4 2.643 2.288 0.987 + 1MOL C5 5 2.566 2.176 1.014 + 1MOL C6 6 2.626 2.050 1.001 + 1MOL CL1 7 2.397 2.189 1.044 + 1MOL C7 8 2.581 2.425 0.991 + 1MOL O1 9 2.545 2.487 0.890 + 1MOL N1 10 2.557 2.471 1.121 + 1MOL C8 11 2.488 2.585 1.161 + 1MOL C9 12 2.528 2.646 1.280 + 1MOL C10 13 2.458 2.756 1.327 + 1MOL N2 14 2.355 2.812 1.263 + 1MOL C11 15 2.322 2.753 1.148 + 1MOL C12 16 2.383 2.641 1.092 + 1MOL N3 17 2.210 2.807 1.084 + 1MOL C13 18 2.116 2.743 1.008 + 1MOL O2 19 2.126 2.624 0.985 + 1MOL C14 20 2.000 2.833 0.963 + 1MOL CL2 21 2.865 2.413 0.909 + 1MOL H1 22 2.048 2.928 0.941 + 1MOL H2 23 2.795 1.936 0.954 + 1MOL H3 24 2.939 2.145 0.900 + 1MOL H4 25 2.572 1.957 1.003 + 1MOL H5 26 2.586 2.409 1.200 + 1MOL H6 27 2.612 2.612 1.338 + 1MOL H7 28 2.487 2.800 1.424 + 1MOL H8 29 2.347 2.599 0.999 + 1MOL H9 30 2.196 2.906 1.107 + 1MOL H10 31 1.925 2.837 1.043 + 1MOL H11 32 1.957 2.793 0.869 + 3.24260 3.24260 2.29287 0.00000 0.00000 0.00000 0.00000 1.62130 1.62130 +ligand in water t= 0.03000 step= 30 + 32 + 1MOL C1 1 2.757 2.030 0.959 + 1MOL C2 2 2.828 2.145 0.932 + 1MOL C3 3 2.766 2.269 0.938 + 1MOL C4 4 2.637 2.288 0.985 + 1MOL C5 5 2.566 2.171 1.013 + 1MOL C6 6 2.621 2.043 0.996 + 1MOL CL1 7 2.394 2.181 1.044 + 1MOL C7 8 2.574 2.425 0.990 + 1MOL O1 9 2.542 2.487 0.894 + 1MOL N1 10 2.553 2.460 1.118 + 1MOL C8 11 2.485 2.578 1.159 + 1MOL C9 12 2.524 2.639 1.276 + 1MOL C10 13 2.460 2.754 1.323 + 1MOL N2 14 2.353 2.808 1.263 + 1MOL C11 15 2.322 2.749 1.145 + 1MOL C12 16 2.384 2.640 1.085 + 1MOL N3 17 2.209 2.807 1.087 + 1MOL C13 18 2.117 2.737 1.012 + 1MOL O2 19 2.127 2.617 0.987 + 1MOL C14 20 2.006 2.828 0.965 + 1MOL CL2 21 2.864 2.407 0.903 + 1MOL H1 22 2.027 2.932 0.941 + 1MOL H2 23 2.805 1.932 0.965 + 1MOL H3 24 2.932 2.137 0.901 + 1MOL H4 25 2.556 1.960 1.018 + 1MOL H5 26 2.604 2.407 1.191 + 1MOL H6 27 2.601 2.589 1.332 + 1MOL H7 28 2.498 2.809 1.412 + 1MOL H8 29 2.350 2.594 0.994 + 1MOL H9 30 2.175 2.893 1.129 + 1MOL H10 31 1.932 2.842 1.047 + 1MOL H11 32 1.946 2.787 0.881 + 3.24260 3.24260 2.29287 0.00000 0.00000 0.00000 0.00000 1.62130 1.62130 +ligand in water t= 0.04000 step= 40 + 32 + 1MOL C1 1 2.749 2.035 0.960 + 1MOL C2 2 2.820 2.149 0.924 + 1MOL C3 3 2.762 2.277 0.934 + 1MOL C4 4 2.631 2.290 0.978 + 1MOL C5 5 2.563 2.173 1.007 + 1MOL C6 6 2.615 2.047 0.994 + 1MOL CL1 7 2.391 2.182 1.045 + 1MOL C7 8 2.566 2.427 0.989 + 1MOL O1 9 2.534 2.499 0.894 + 1MOL N1 10 2.544 2.466 1.119 + 1MOL C8 11 2.482 2.584 1.154 + 1MOL C9 12 2.522 2.645 1.277 + 1MOL C10 13 2.461 2.759 1.317 + 1MOL N2 14 2.353 2.810 1.259 + 1MOL C11 15 2.319 2.757 1.144 + 1MOL C12 16 2.384 2.646 1.079 + 1MOL N3 17 2.206 2.816 1.088 + 1MOL C13 18 2.116 2.743 1.014 + 1MOL O2 19 2.127 2.624 0.990 + 1MOL C14 20 2.001 2.832 0.968 + 1MOL CL2 21 2.861 2.412 0.896 + 1MOL H1 22 2.046 2.924 0.932 + 1MOL H2 23 2.802 1.939 0.953 + 1MOL H3 24 2.927 2.147 0.905 + 1MOL H4 25 2.556 1.966 1.034 + 1MOL H5 26 2.585 2.410 1.198 + 1MOL H6 27 2.601 2.606 1.340 + 1MOL H7 28 2.496 2.812 1.408 + 1MOL H8 29 2.348 2.610 0.984 + 1MOL H9 30 2.170 2.895 1.144 + 1MOL H10 31 1.937 2.844 1.055 + 1MOL H11 32 1.956 2.774 0.885 + 3.24260 3.24260 2.29287 0.00000 0.00000 0.00000 0.00000 1.62130 1.62130 +ligand in water t= 0.05000 step= 50 + 32 + 1MOL C1 1 2.752 2.043 0.956 + 1MOL C2 2 2.823 2.156 0.919 + 1MOL C3 3 2.767 2.281 0.930 + 1MOL C4 4 2.633 2.296 0.969 + 1MOL C5 5 2.562 2.180 1.000 + 1MOL C6 6 2.621 2.052 0.999 + 1MOL CL1 7 2.398 2.184 1.046 + 1MOL C7 8 2.566 2.431 0.986 + 1MOL O1 9 2.538 2.506 0.897 + 1MOL N1 10 2.547 2.471 1.118 + 1MOL C8 11 2.490 2.596 1.155 + 1MOL C9 12 2.534 2.650 1.275 + 1MOL C10 13 2.471 2.765 1.314 + 1MOL N2 14 2.363 2.815 1.254 + 1MOL C11 15 2.327 2.759 1.140 + 1MOL C12 16 2.389 2.657 1.078 + 1MOL N3 17 2.215 2.821 1.088 + 1MOL C13 18 2.121 2.752 1.018 + 1MOL O2 19 2.135 2.636 0.992 + 1MOL C14 20 2.008 2.830 0.968 + 1MOL CL2 21 2.868 2.418 0.889 + 1MOL H1 22 2.046 2.925 0.927 + 1MOL H2 23 2.788 1.939 0.950 + 1MOL H3 24 2.927 2.145 0.887 + 1MOL H4 25 2.570 1.959 1.021 + 1MOL H5 26 2.561 2.403 1.196 + 1MOL H6 27 2.619 2.608 1.330 + 1MOL H7 28 2.501 2.817 1.406 + 1MOL H8 29 2.359 2.618 0.982 + 1MOL H9 30 2.185 2.907 1.135 + 1MOL H10 31 1.937 2.863 1.046 + 1MOL H11 32 1.947 2.783 0.889 + 3.24260 3.24260 2.29287 0.00000 0.00000 0.00000 0.00000 1.62130 1.62130 diff --git a/tests/generator/gromacs/outputs/model_devi.out b/tests/generator/gromacs/outputs/model_devi.out new file mode 100644 index 000000000..ef8269b93 --- /dev/null +++ b/tests/generator/gromacs/outputs/model_devi.out @@ -0,0 +1,7 @@ +# step max_devi_e min_devi_e avg_devi_e max_devi_f min_devi_f avg_devi_f +0 0.00000000e+00 0.00000000e+00 0.00000000e+00 7.71706129e-02 0.00000000e+00 0.00000000e+00 +10 0.00000000e+00 0.00000000e+00 0.00000000e+00 6.34340649e-02 0.00000000e+00 0.00000000e+00 +20 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.21616157e-02 0.00000000e+00 0.00000000e+00 +30 0.00000000e+00 0.00000000e+00 0.00000000e+00 8.14654848e-02 0.00000000e+00 0.00000000e+00 +40 0.00000000e+00 0.00000000e+00 0.00000000e+00 1.25079288e-01 0.00000000e+00 0.00000000e+00 +50 0.00000000e+00 0.00000000e+00 0.00000000e+00 9.32908091e-02 0.00000000e+00 0.00000000e+00 diff --git a/tests/generator/gromacs/outputs/traj/0.gromacstrj b/tests/generator/gromacs/outputs/traj/0.gromacstrj new file mode 100644 index 000000000..461ecf2fb --- /dev/null +++ b/tests/generator/gromacs/outputs/traj/0.gromacstrj @@ -0,0 +1,35 @@ + molecule + 32 + 1MOL C 1 2.763 2.029 0.966 + 1MOL C 2 2.844 2.141 0.941 + 1MOL C 3 2.788 2.268 0.958 + 1MOL C 4 2.653 2.285 0.991 + 1MOL C 5 2.576 2.171 1.011 + 1MOL C 6 2.630 2.042 1.007 + 1MOL Cl 7 2.405 2.194 1.045 + 1MOL C 8 2.588 2.419 0.999 + 1MOL O 9 2.558 2.474 0.894 + 1MOL N 10 2.572 2.471 1.125 + 1MOL C 11 2.504 2.587 1.170 + 1MOL C 12 2.542 2.648 1.289 + 1MOL C 13 2.461 2.753 1.336 + 1MOL N 14 2.359 2.804 1.266 + 1MOL C 15 2.321 2.742 1.153 + 1MOL C 16 2.389 2.631 1.103 + 1MOL N 17 2.217 2.806 1.082 + 1MOL C 18 2.118 2.742 1.011 + 1MOL O 19 2.121 2.624 0.980 + 1MOL C 20 2.003 2.827 0.960 + 1MOL Cl 21 2.875 2.415 0.920 + 1MOL H 22 2.026 2.932 0.936 + 1MOL H 23 2.810 1.932 0.951 + 1MOL H 24 2.945 2.132 0.902 + 1MOL H 25 2.577 1.954 1.041 + 1MOL H 26 2.608 2.408 1.196 + 1MOL H 27 2.624 2.605 1.346 + 1MOL H 28 2.483 2.804 1.430 + 1MOL H 29 2.357 2.582 1.012 + 1MOL H 30 2.203 2.904 1.105 + 1MOL H 31 1.920 2.816 1.031 + 1MOL H 32 1.967 2.787 0.864 + 3.2429000000000006 3.2429000000000006 2.29308 0.0 0.0 0.0 0.0 1.6214500000000003 1.6214500000000003 \ No newline at end of file diff --git a/tests/generator/gromacs/outputs/traj/10.gromacstrj b/tests/generator/gromacs/outputs/traj/10.gromacstrj new file mode 100644 index 000000000..f5ce8cf7f --- /dev/null +++ b/tests/generator/gromacs/outputs/traj/10.gromacstrj @@ -0,0 +1,35 @@ + molecule + 32 + 1MOL C 1 2.761 2.033 0.962 + 1MOL C 2 2.842 2.141 0.934 + 1MOL C 3 2.783 2.264 0.948 + 1MOL C 4 2.649 2.280 0.984 + 1MOL C 5 2.571 2.168 1.010 + 1MOL C 6 2.626 2.042 1.002 + 1MOL Cl 7 2.400 2.187 1.042 + 1MOL C 8 2.584 2.420 0.991 + 1MOL O 9 2.553 2.474 0.890 + 1MOL N 10 2.565 2.467 1.119 + 1MOL C 11 2.496 2.583 1.163 + 1MOL C 12 2.537 2.643 1.285 + 1MOL C 13 2.459 2.748 1.329 + 1MOL N 14 2.358 2.804 1.260 + 1MOL C 15 2.322 2.743 1.149 + 1MOL C 16 2.384 2.629 1.094 + 1MOL N 17 2.214 2.803 1.080 + 1MOL C 18 2.116 2.737 1.007 + 1MOL O 19 2.124 2.619 0.979 + 1MOL C 20 2.000 2.825 0.958 + 1MOL Cl 21 2.870 2.409 0.913 + 1MOL H 22 2.032 2.931 0.946 + 1MOL H 23 2.795 1.933 0.935 + 1MOL H 24 2.944 2.127 0.898 + 1MOL H 25 2.560 1.961 1.028 + 1MOL H 26 2.577 2.402 1.197 + 1MOL H 27 2.625 2.615 1.340 + 1MOL H 28 2.479 2.790 1.427 + 1MOL H 29 2.349 2.586 1.001 + 1MOL H 30 2.202 2.904 1.088 + 1MOL H 31 1.920 2.834 1.033 + 1MOL H 32 1.961 2.779 0.866 + 3.2426000000000004 3.2426000000000004 2.29287 0.0 0.0 0.0 0.0 1.6213000000000002 1.6213000000000002 \ No newline at end of file diff --git a/tests/generator/gromacs/outputs/traj/20.gromacstrj b/tests/generator/gromacs/outputs/traj/20.gromacstrj new file mode 100644 index 000000000..25128b32a --- /dev/null +++ b/tests/generator/gromacs/outputs/traj/20.gromacstrj @@ -0,0 +1,35 @@ + molecule + 32 + 1MOL C 1 2.755 2.036 0.961 + 1MOL C 2 2.835 2.148 0.934 + 1MOL C 3 2.774 2.272 0.943 + 1MOL C 4 2.643 2.288 0.987 + 1MOL C 5 2.566 2.176 1.014 + 1MOL C 6 2.626 2.050 1.001 + 1MOL Cl 7 2.397 2.189 1.044 + 1MOL C 8 2.581 2.425 0.991 + 1MOL O 9 2.545 2.487 0.890 + 1MOL N 10 2.557 2.471 1.121 + 1MOL C 11 2.488 2.585 1.161 + 1MOL C 12 2.528 2.646 1.280 + 1MOL C 13 2.458 2.756 1.327 + 1MOL N 14 2.355 2.812 1.263 + 1MOL C 15 2.322 2.753 1.148 + 1MOL C 16 2.383 2.641 1.092 + 1MOL N 17 2.210 2.807 1.084 + 1MOL C 18 2.116 2.743 1.008 + 1MOL O 19 2.126 2.624 0.985 + 1MOL C 20 2.000 2.833 0.963 + 1MOL Cl 21 2.865 2.413 0.909 + 1MOL H 22 2.048 2.928 0.941 + 1MOL H 23 2.795 1.936 0.954 + 1MOL H 24 2.939 2.145 0.900 + 1MOL H 25 2.572 1.957 1.003 + 1MOL H 26 2.586 2.409 1.200 + 1MOL H 27 2.612 2.612 1.338 + 1MOL H 28 2.487 2.800 1.424 + 1MOL H 29 2.347 2.599 0.999 + 1MOL H 30 2.196 2.906 1.107 + 1MOL H 31 1.925 2.837 1.043 + 1MOL H 32 1.957 2.793 0.869 + 3.2426000000000004 3.2426000000000004 2.29287 0.0 0.0 0.0 0.0 1.6213000000000002 1.6213000000000002 \ No newline at end of file diff --git a/tests/generator/gromacs/outputs/traj/30.gromacstrj b/tests/generator/gromacs/outputs/traj/30.gromacstrj new file mode 100644 index 000000000..7aa548c5f --- /dev/null +++ b/tests/generator/gromacs/outputs/traj/30.gromacstrj @@ -0,0 +1,35 @@ + molecule + 32 + 1MOL C 1 2.757 2.030 0.959 + 1MOL C 2 2.828 2.145 0.932 + 1MOL C 3 2.766 2.269 0.938 + 1MOL C 4 2.637 2.288 0.985 + 1MOL C 5 2.566 2.171 1.013 + 1MOL C 6 2.621 2.043 0.996 + 1MOL Cl 7 2.394 2.181 1.044 + 1MOL C 8 2.574 2.425 0.990 + 1MOL O 9 2.542 2.487 0.894 + 1MOL N 10 2.553 2.460 1.118 + 1MOL C 11 2.485 2.578 1.159 + 1MOL C 12 2.524 2.639 1.276 + 1MOL C 13 2.460 2.754 1.323 + 1MOL N 14 2.353 2.808 1.263 + 1MOL C 15 2.322 2.749 1.145 + 1MOL C 16 2.384 2.640 1.085 + 1MOL N 17 2.209 2.807 1.087 + 1MOL C 18 2.117 2.737 1.012 + 1MOL O 19 2.127 2.617 0.987 + 1MOL C 20 2.006 2.828 0.965 + 1MOL Cl 21 2.864 2.407 0.903 + 1MOL H 22 2.027 2.932 0.941 + 1MOL H 23 2.805 1.932 0.965 + 1MOL H 24 2.932 2.137 0.901 + 1MOL H 25 2.556 1.960 1.018 + 1MOL H 26 2.604 2.407 1.191 + 1MOL H 27 2.601 2.589 1.332 + 1MOL H 28 2.498 2.809 1.412 + 1MOL H 29 2.350 2.594 0.994 + 1MOL H 30 2.175 2.893 1.129 + 1MOL H 31 1.932 2.842 1.047 + 1MOL H 32 1.946 2.787 0.881 + 3.2426000000000004 3.2426000000000004 2.29287 0.0 0.0 0.0 0.0 1.6213000000000002 1.6213000000000002 \ No newline at end of file diff --git a/tests/generator/gromacs/outputs/traj/40.gromacstrj b/tests/generator/gromacs/outputs/traj/40.gromacstrj new file mode 100644 index 000000000..ede58997a --- /dev/null +++ b/tests/generator/gromacs/outputs/traj/40.gromacstrj @@ -0,0 +1,35 @@ + molecule + 32 + 1MOL C 1 2.749 2.035 0.960 + 1MOL C 2 2.820 2.149 0.924 + 1MOL C 3 2.762 2.277 0.934 + 1MOL C 4 2.631 2.290 0.978 + 1MOL C 5 2.563 2.173 1.007 + 1MOL C 6 2.615 2.047 0.994 + 1MOL Cl 7 2.391 2.182 1.045 + 1MOL C 8 2.566 2.427 0.989 + 1MOL O 9 2.534 2.499 0.894 + 1MOL N 10 2.544 2.466 1.119 + 1MOL C 11 2.482 2.584 1.154 + 1MOL C 12 2.522 2.645 1.277 + 1MOL C 13 2.461 2.759 1.317 + 1MOL N 14 2.353 2.810 1.259 + 1MOL C 15 2.319 2.757 1.144 + 1MOL C 16 2.384 2.646 1.079 + 1MOL N 17 2.206 2.816 1.088 + 1MOL C 18 2.116 2.743 1.014 + 1MOL O 19 2.127 2.624 0.990 + 1MOL C 20 2.001 2.832 0.968 + 1MOL Cl 21 2.861 2.412 0.896 + 1MOL H 22 2.046 2.924 0.932 + 1MOL H 23 2.802 1.939 0.953 + 1MOL H 24 2.927 2.147 0.905 + 1MOL H 25 2.556 1.966 1.034 + 1MOL H 26 2.585 2.410 1.198 + 1MOL H 27 2.601 2.606 1.340 + 1MOL H 28 2.496 2.812 1.408 + 1MOL H 29 2.348 2.610 0.984 + 1MOL H 30 2.170 2.895 1.144 + 1MOL H 31 1.937 2.844 1.055 + 1MOL H 32 1.956 2.774 0.885 + 3.2426000000000004 3.2426000000000004 2.29287 0.0 0.0 0.0 0.0 1.6213000000000002 1.6213000000000002 \ No newline at end of file diff --git a/tests/generator/gromacs/outputs/traj/50.gromacstrj b/tests/generator/gromacs/outputs/traj/50.gromacstrj new file mode 100644 index 000000000..b51d3ac8f --- /dev/null +++ b/tests/generator/gromacs/outputs/traj/50.gromacstrj @@ -0,0 +1,35 @@ + molecule + 32 + 1MOL C 1 2.752 2.043 0.956 + 1MOL C 2 2.823 2.156 0.919 + 1MOL C 3 2.767 2.281 0.930 + 1MOL C 4 2.633 2.296 0.969 + 1MOL C 5 2.562 2.180 1.000 + 1MOL C 6 2.621 2.052 0.999 + 1MOL Cl 7 2.398 2.184 1.046 + 1MOL C 8 2.566 2.431 0.986 + 1MOL O 9 2.538 2.506 0.897 + 1MOL N 10 2.547 2.471 1.118 + 1MOL C 11 2.490 2.596 1.155 + 1MOL C 12 2.534 2.650 1.275 + 1MOL C 13 2.471 2.765 1.314 + 1MOL N 14 2.363 2.815 1.254 + 1MOL C 15 2.327 2.759 1.140 + 1MOL C 16 2.389 2.657 1.078 + 1MOL N 17 2.215 2.821 1.088 + 1MOL C 18 2.121 2.752 1.018 + 1MOL O 19 2.135 2.636 0.992 + 1MOL C 20 2.008 2.830 0.968 + 1MOL Cl 21 2.868 2.418 0.889 + 1MOL H 22 2.046 2.925 0.927 + 1MOL H 23 2.788 1.939 0.950 + 1MOL H 24 2.927 2.145 0.887 + 1MOL H 25 2.570 1.959 1.021 + 1MOL H 26 2.561 2.403 1.196 + 1MOL H 27 2.619 2.608 1.330 + 1MOL H 28 2.501 2.817 1.406 + 1MOL H 29 2.359 2.618 0.982 + 1MOL H 30 2.185 2.907 1.135 + 1MOL H 31 1.937 2.863 1.046 + 1MOL H 32 1.947 2.783 0.889 + 3.2426000000000004 3.2426000000000004 2.29287 0.0 0.0 0.0 0.0 1.6213000000000002 1.6213000000000002 \ No newline at end of file diff --git a/tests/generator/out_data_post_fp_abacus/02.fp/data.000/box.raw b/tests/generator/out_data_post_fp_abacus/02.fp/data.000/box.raw new file mode 100644 index 000000000..01d8995ec --- /dev/null +++ b/tests/generator/out_data_post_fp_abacus/02.fp/data.000/box.raw @@ -0,0 +1,2 @@ +1.025655610217515346e+01 0.000000000000000000e+00 0.000000000000000000e+00 -2.453176520368934022e-01 9.812844512520625173e+00 0.000000000000000000e+00 -2.571030495450233877e-01 -3.012911137533678674e-01 9.829343206252350029e+00 +1.025655610217515346e+01 0.000000000000000000e+00 0.000000000000000000e+00 -2.453176520368934022e-01 9.812844512520625173e+00 0.000000000000000000e+00 -2.571030495450233877e-01 -3.012911137533678674e-01 9.829343206252350029e+00 diff --git a/tests/generator/out_data_post_fp_abacus/02.fp/data.000/coord.raw b/tests/generator/out_data_post_fp_abacus/02.fp/data.000/coord.raw new file mode 100644 index 000000000..c80e71221 --- /dev/null +++ b/tests/generator/out_data_post_fp_abacus/02.fp/data.000/coord.raw @@ -0,0 +1,2 @@ +5.347517871106284737e+00 4.132988354621125460e+00 3.424088636840314059e+00 4.009958403600426990e+00 5.010068005448031769e+00 4.173708338410142993e+00 5.589177774899359186e+00 5.082417976644874713e+00 4.866118062755765195e+00 4.705248126799496333e+00 3.519008599051845820e+00 4.886068054813499373e+00 4.922268040401967859e+00 4.472648219399557590e+00 4.376728257586134596e+00 +5.968697623809181785e+00 4.638388153417038140e+00 4.157528344851540325e+00 4.642988151585738521e+00 5.198057930607595800e+00 5.127907958534914101e+00 4.762218104119249062e+00 3.493178609334990803e+00 4.694188131202577274e+00 4.457588225395072712e+00 4.603488167311027723e+00 3.412468641466336106e+00 4.907298046361653121e+00 4.456928225657824427e+00 4.373228258979515282e+00 diff --git a/tests/generator/out_data_post_fp_abacus/02.fp/data.000/energy.raw b/tests/generator/out_data_post_fp_abacus/02.fp/data.000/energy.raw new file mode 100644 index 000000000..d7e762650 --- /dev/null +++ b/tests/generator/out_data_post_fp_abacus/02.fp/data.000/energy.raw @@ -0,0 +1,2 @@ +-2.197924465754728089e+02 +-2.197641367648340349e+02 diff --git a/tests/generator/out_data_post_fp_abacus/02.fp/data.000/force.raw b/tests/generator/out_data_post_fp_abacus/02.fp/data.000/force.raw new file mode 100644 index 000000000..1e42ae234 --- /dev/null +++ b/tests/generator/out_data_post_fp_abacus/02.fp/data.000/force.raw @@ -0,0 +1,2 @@ +7.607500000000000373e-02 3.334309999999999774e-01 -1.210559999999999969e-01 -4.998139999999999805e-01 1.840160000000000129e-01 -5.376000000000000223e-02 1.661246000000000000e+00 1.279636999999999913e+00 1.377318999999999960e+00 -5.203000000000000159e-03 4.784840000000000204e-01 3.535690000000000222e-01 -1.232302999999999926e+00 -2.275568999999999953e+00 -1.556071999999999900e+00 +1.613670000000000104e-01 -2.791150000000000020e-01 2.375379999999999991e-01 -4.386079999999999979e-01 1.208299999999999999e-02 -8.075300000000000533e-02 -3.543080000000000118e-01 -2.385815000000000019e+00 9.172599999999999643e-01 -8.628430000000000266e-01 2.835719999999999907e-01 -4.649679999999999924e-01 1.494391999999999943e+00 2.369276000000000160e+00 -6.090769999999999795e-01 diff --git a/tests/generator/out_data_post_fp_abacus/02.fp/data.000/set.000/box.npy b/tests/generator/out_data_post_fp_abacus/02.fp/data.000/set.000/box.npy new file mode 100644 index 000000000..5493f23dc Binary files /dev/null and b/tests/generator/out_data_post_fp_abacus/02.fp/data.000/set.000/box.npy differ diff --git a/tests/generator/out_data_post_fp_abacus/02.fp/data.000/set.000/coord.npy b/tests/generator/out_data_post_fp_abacus/02.fp/data.000/set.000/coord.npy new file mode 100644 index 000000000..9ef5c3713 Binary files /dev/null and b/tests/generator/out_data_post_fp_abacus/02.fp/data.000/set.000/coord.npy differ diff --git a/tests/generator/out_data_post_fp_abacus/02.fp/data.000/set.000/energy.npy b/tests/generator/out_data_post_fp_abacus/02.fp/data.000/set.000/energy.npy new file mode 100644 index 000000000..a9e9c21e5 Binary files /dev/null and b/tests/generator/out_data_post_fp_abacus/02.fp/data.000/set.000/energy.npy differ diff --git a/tests/generator/out_data_post_fp_abacus/02.fp/data.000/set.000/force.npy b/tests/generator/out_data_post_fp_abacus/02.fp/data.000/set.000/force.npy new file mode 100644 index 000000000..6c90fae84 Binary files /dev/null and b/tests/generator/out_data_post_fp_abacus/02.fp/data.000/set.000/force.npy differ diff --git a/tests/generator/out_data_post_fp_abacus/02.fp/data.000/set.000/virial.npy b/tests/generator/out_data_post_fp_abacus/02.fp/data.000/set.000/virial.npy new file mode 100644 index 000000000..8b7077794 Binary files /dev/null and b/tests/generator/out_data_post_fp_abacus/02.fp/data.000/set.000/virial.npy differ diff --git a/tests/generator/out_data_post_fp_abacus/02.fp/data.000/type.raw b/tests/generator/out_data_post_fp_abacus/02.fp/data.000/type.raw new file mode 100644 index 000000000..0b21c0d0e --- /dev/null +++ b/tests/generator/out_data_post_fp_abacus/02.fp/data.000/type.raw @@ -0,0 +1,5 @@ +0 +0 +0 +0 +1 diff --git a/tests/generator/out_data_post_fp_abacus/02.fp/data.000/type_map.raw b/tests/generator/out_data_post_fp_abacus/02.fp/data.000/type_map.raw new file mode 100644 index 000000000..35025b8b1 --- /dev/null +++ b/tests/generator/out_data_post_fp_abacus/02.fp/data.000/type_map.raw @@ -0,0 +1,2 @@ +H +C diff --git a/tests/generator/out_data_post_fp_abacus/02.fp/data.000/virial.raw b/tests/generator/out_data_post_fp_abacus/02.fp/data.000/virial.raw new file mode 100644 index 000000000..bd961b15b --- /dev/null +++ b/tests/generator/out_data_post_fp_abacus/02.fp/data.000/virial.raw @@ -0,0 +1,2 @@ +1.577361027367633950e+00 7.219745599453539775e-01 8.379100448482763586e-01 7.219745599453539775e-01 2.902466263928850099e-01 5.136411252101861225e-01 8.379100448482763586e-01 5.136411252101861225e-01 9.625665818900658310e-01 +7.090754003383151760e-01 -8.138276466222123251e-02 3.493695919755006041e-01 -8.138276466222123251e-02 2.277046360201712805e+00 -9.675196172345627010e-01 3.493695919755006041e-01 -9.675196172345627010e-01 6.106750335337453039e-01 diff --git a/tests/generator/out_data_post_fp_abacus/02.fp/task.001.000000/INPUT b/tests/generator/out_data_post_fp_abacus/02.fp/task.001.000000/INPUT new file mode 100644 index 000000000..2b76680e7 --- /dev/null +++ b/tests/generator/out_data_post_fp_abacus/02.fp/task.001.000000/INPUT @@ -0,0 +1,14 @@ +INPUT_PARAMETERS +ntype 2 +pseudo_dir ./ +ecutwfc 80.000000 +mixing_type pulay +mixing_beta 0.400000 +symmetry 1 +nbands 5.000000 +nspin 1 +ks_solver cg +smearing fixed +sigma 0.001000 +force 1 +stress 1 diff --git a/tests/generator/out_data_post_fp_abacus/02.fp/task.001.000000/KPT b/tests/generator/out_data_post_fp_abacus/02.fp/task.001.000000/KPT new file mode 100644 index 000000000..5ab6cd6d4 --- /dev/null +++ b/tests/generator/out_data_post_fp_abacus/02.fp/task.001.000000/KPT @@ -0,0 +1,4 @@ +K_POINTS +0 +Gamma +1 1 1 0 0 0 \ No newline at end of file diff --git a/tests/generator/out_data_post_fp_abacus/02.fp/task.001.000000/OUT.ABACUS/INPUT b/tests/generator/out_data_post_fp_abacus/02.fp/task.001.000000/OUT.ABACUS/INPUT new file mode 100644 index 000000000..c656f3216 --- /dev/null +++ b/tests/generator/out_data_post_fp_abacus/02.fp/task.001.000000/OUT.ABACUS/INPUT @@ -0,0 +1,229 @@ +INPUT_PARAMETERS +#Parameters (1.General) +suffix ABACUS #the name of main output directory +latname test #the name of lattice name +atom_file STRU #the filename of file containing atom positions +kpoint_file KPT #the name of file containing k points +pseudo_dir .// #the directory containing pseudo files +pseudo_type auto #the type pseudo files +dft_functional none #exchange correlation functional +calculation scf #test; scf; relax; nscf; ienvelope; istate; +ntype 2 #atom species number +nspin 1 #1: single spin; 2: up and down spin; +nbands 5 #number of bands +nbands_istate 5 #number of bands around Fermi level for istate calulation +symmetry 1 #turn symmetry on or off +nelec 0 #input number of electrons + +#Parameters (2.PW) +ecutwfc 80 ##energy cutoff for wave functions +diago_cg_maxiter 50 #max iteration number for cg +diago_cg_prec 1 #diago_cg_prec +ethr 0.01 #threshold for eigenvalues is cg electron iterations +dr2 1e-09 #charge density error +start_wfc atomic #start wave functions are from 'atomic' or 'file' +start_charge atomic #start charge is from 'atomic' or file +charge_extrap atomic #atomic; first-order; second-order; dm:coefficients of SIA +out_charge 0 #>0 output charge density for selected electron steps +out_potential 0 #output realspace potential +out_wf 0 #output wave functions +out_dos 0 #output energy and dos +out_band 0 #output energy and band structure +nx 0 #number of points along x axis for FFT grid +ny 0 #number of points along y axis for FFT grid +nz 0 #number of points along z axis for FFT grid + +#Parameters (3.Relaxation) +ks_solver cg #cg; david; lapack; genelpa; hpseps; +niter 40 ##number of electron iterations +vna 0 #use the vna or not +grid_speed 1 #1:normal 2:fast +force_set 0 #output the force_set or not +nstep 1 #number of ion iteration steps +out_stru 0 #output the structure files after each ion step +force_thr 0.001 #force threshold, unit: Ry/Bohr +force_thr_ev 0.0257112 #force threshold, unit: eV/Angstrom +force_thr_ev2 0 #force invalid threshold, unit: eV/Angstrom +stress_thr 0.01 #stress threshold +press1 0 #target pressure, unit: KBar +press2 0 #target pressure, unit: KBar +press3 0 #target pressure, unit: KBar +bfgs_w1 0.01 #wolfe condition 1 for bfgs +bfgs_w2 0.5 #wolfe condition 2 for bfgs +trust_radius_max 0.8 #maximal trust radius, unit: Bohr +trust_radius_min 1e-05 #minimal trust radius, unit: Bohr +trust_radius_ini 0.5 #initial trust radius, unit: Bohr +stress 1 #calculate the stress or not +fixed_axes None #which axes are fixed +move_method cg #bfgs; sd; cg; cg_bfgs; +out_level ie #ie(for electrons); i(for ions); +out_dm 0 #>0 output density matrix + +#Parameters (4.LCAO) +basis_type pw #PW; LCAO in pw; LCAO +search_radius -1 #input search radius (Bohr) +search_pbc 1 #input periodic boundary condition +lcao_ecut 0 #energy cutoff for LCAO +lcao_dk 0.01 #delta k for 1D integration in LCAO +lcao_dr 0.01 #delta r for 1D integration in LCAO +lcao_rmax 30 #max R for 1D two-center integration table +out_hs 0 #output H and S matrix +out_lowf 0 #ouput LCAO wave functions +bx 1 #division of an element grid in FFT grid along x +by 1 #division of an element grid in FFT grid along y +bz 1 #division of an element grid in FFT grid along z + +#Parameters (5.Smearing) +smearing fixed #type of smearing: gauss; fd; fixed; mp; mp2 +sigma 0.001 #energy range for smearing + +#Parameters (6.Charge Mixing) +mixing_type pulay #plain; kerker; pulay; pulay-kerker +mixing_beta 0.4 #mixing parameter: 0 means no new charge +mixing_ndim 8 #mixing dimension in pulay +mixing_gg0 0 #mixing parameter in kerker + +#Parameters (7.DOS) +dos_emin_ev -15 #minimal range for dos +dos_emax_ev 15 #maximal range for dos +dos_edelta_ev 0.01 #delta energy for dos +dos_sigma 0.07 #gauss b coefficeinet(default=0.07) + +#Parameters (8.Technique) +gamma_only 0 #gamma only +diago_proc 4 #number of proc used to diago +npool 1 #number of pools for k points, pw only +sparse_matrix 0 #use sparse matrix, in DMM +atom_distribution 0 #distribute atoms, in DMM +mem_saver 0 #memory saver for many k points used +printe 100 #print band energy for selectively ionic steps + +#Parameters (9.SIAO) +selinv_npole 40 #number of selected poles +selinv_temp 2000 #temperature for Fermi-Dirac distribution +selinv_gap 0 #supposed gap in the calculation +selinv_deltae 2 #expected energy range +selinv_mu -1 #chosen mu as Fermi energy +selinv_threshold 0.001 #threshold for calculated electron number +selinv_niter 50 #max number of steps to update mu + +#Parameters (10.Molecular dynamics) +md_mdtype 1 #choose ensemble +md_dt -1 #time step +md_nresn 3 #parameter during integrater +md_nyosh 3 #parameter during integrater +md_qmass 1 #mass of thermostat +md_tfirst -1 #temperature first +md_tlast -1 #temperature last +md_dumpmdfred 1 #The period to dump MD information for monitoring and restarting MD +md_mdoutpath mdoutput #output path of md +md_domsd 0 #whether compute +md_domsdatom 0 #whether compute msd for each atom +md_rstmd 0 #whether restart +md_fixtemperature 1 #period to change temperature +md_ediff 0.0001 #parameter for constraining total energy change +md_ediffg 0.001 #parameter for constraining max force change +md_msdstarttime 1 #choose which step that msd be calculated + +#Parameters (11.Efield) +efield 0 #add electric field +edir 1 #add electric field +emaxpos 0.5 #maximal position of efield [0,1) +eopreg 0.1 #where sawlike potential decrease +eamp 0.001 #amplitute of the efield, unit is a.u. +eamp_v 0.05144 #amplitute of the efield, unit is V/A + +#Parameters (12.Bfield) +bfield 0 #add magnetic field +bfield_teslax 0 #magnetic field strength +bfield_teslay 0 #magnetic field strength +bfield_teslaz 0 #magnetic field strength +bfield_gauge_x 0 #magnetic field gauge origin +bfield_gauge_y 0 #magnetic field gauge origin +bfield_gauge_z 0 #magnetic field gauge origin + +#Parameters (13.Test) +out_alllog 0 #output information for each processor, when parallel +nurse 0 #for coders +colour 0 #for coders, make their live colourful +t_in_h 1 #calculate the kinetic energy or not +vl_in_h 1 #calculate the local potential or not +vnl_in_h 1 #calculate the nonlocal potential or not +zeeman_in_h 1 #calculate the zeeman term or not +test_force 0 #test the force +test_stress 0 #test the force + +#Parameters (14.Other Methods) +mlwf_flag 0 #turn MLWF on or off +opt_epsilon2 0 #calculate the dielectic function +opt_nbands 0 #number of bands for optical calculation + +#Parameters (15.VdW Correction) +vdw_method none #the method of calculating vdw (none ; d2 ; d3_0 ; d3_bj +vdw_s6 default #scale parameter of d2/d3_0/d3_bj +vdw_s8 default #scale parameter of d3_0/d3_bj +vdw_a1 default #damping parameter of d3_0/d3_bj +vdw_a2 default #damping parameter of d3_bj +vdw_d 20 #damping parameter of d2 +vdw_abc 0 #third-order term? +vdw_C6_file default #filename of C6 +vdw_C6_unit Jnm6/mol #unit of C6, Jnm6/mol or eVA6 +vdw_R0_file default #filename of R0 +vdw_R0_unit A #unit of R0, A or Bohr +vdw_model radius #expression model of periodic structure, radius or period +vdw_radius default #radius cutoff for periodic structure +vdw_radius_unit Bohr #unit of radius cutoff for periodic structure +vdw_cn_thr 40 #radius cutoff for cn +vdw_cn_thr_unit Bohr #unit of cn_thr, Bohr or Angstrom +vdw_period 3 3 3 #periods of periodic structure + +#Parameters (16.spectrum) +spectral_type None #the type of the calculated spectrum +spectral_method 0 #0: tddft(linear response) +kernel_type rpa #the kernel type: rpa, tdlda ... +eels_method 0 #0: hilbert_transform method; 1: standard method +absorption_method 0 #0: vasp's method 1: pwscf's method +system bulk #the calculate system +eta 0.05 #eta(Ry) +domega 0.01 #domega(Ry) +nomega 300 #nomega +ecut_chi 1 #the dimension of chi matrix +q_start 0.1 0.1 0.1 #the position of the first q point in direct coordinate +q_direction 1 0 0 #the q direction +nq 1 #the total number of qpoints for calculation +out_epsilon 1 #output epsilon or not +out_chi 0 #output chi or not +out_chi0 0 #output chi0 or not +fermi_level 0 #the change of the fermi_level(Ry) +coulomb_cutoff 0 # turn on the coulomb_cutoff or not +kmesh_interpolation 0 #calculting +qcar 0 0 0 #(unit: 2PI/lat0) +ocp 0 #change occupation or not +ocp_n 0 #number of occupation +lcao_box 10 10 10 #the scale for searching the existence of the overlap + mulliken 0 # mulliken charge or not +intrasmear 0 #Eta +shift 0 #shift +metalcalc 0 #metal or not +eps_degauss 0.01 #degauss in calculating epsilon0 +noncolin 0 #using non-collinear-spin +lspinorb 0 #consider the spin-orbit interaction +starting_spin_angle 0 #starting_spin_angle + +#Parameters (17.tddft) +tddft 0 #calculate tddft or not +td_dr2 1e-09 #threshold for electronic iteration of tddft +td_dt 0.02 #time of ion step +td_force_dt 0.02 #time of force change +val_elec_01 1 #val_elec_01 +val_elec_02 1 #val_elec_02 +val_elec_03 1 #val_elec_03 +vext 0 #add extern potential or not +vext_dire 1 #extern potential direction + +#Parameters (18.berry_wannier) +berry_phase 0 #calculate berry phase or not +gdir 3 #calculate the polarization in the direction of the lattice vector +towannier90 0 #use wannier90 code interface or not +nnkpfile seedname.nnkp #the wannier90 code nnkp file name +wannier_spin up #calculate spin in wannier90 code interface diff --git a/tests/generator/out_data_post_fp_abacus/02.fp/task.001.000000/OUT.ABACUS/running_scf.log b/tests/generator/out_data_post_fp_abacus/02.fp/task.001.000000/OUT.ABACUS/running_scf.log new file mode 100644 index 000000000..24b285641 --- /dev/null +++ b/tests/generator/out_data_post_fp_abacus/02.fp/task.001.000000/OUT.ABACUS/running_scf.log @@ -0,0 +1,601 @@ + + WELCOME TO ABACUS + + 'Atomic-orbital Based Ab-initio Computation at UStc' + + Website: http://abacus.ustc.edu.cn/ + + Version: Parallel, v2.1.0 + Processor Number is 4 + Start Time is Tue Jun 1 15:07:47 2021 + + ------------------------------------------------------------------------------------ + + READING GENERAL INFORMATION + global_out_dir = OUT.ABACUS/ + global_in_card = INPUT + pseudo_dir = ./ + pseudo_type = auto + DRANK = 1 + DSIZE = 4 + DCOLOR = 1 + GRANK = 1 + GSIZE = 1 + + + + + >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + | | + | Reading atom information in unitcell: | + | From the input file and the structure file we know the number of | + | different elments in this unitcell, then we list the detail | + | information for each element, especially the zeta and polar atomic | + | orbital number for each element. The total atom number is counted. | + | We calculate the nearest atom distance for each atom and show the | + | Cartesian and Direct coordinates for each atom. We list the file | + | address for atomic orbitals. The volume and the lattice vectors | + | in real and reciprocal space is also shown. | + | | + <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< + + + + + READING UNITCELL INFORMATION + ntype = 2 + atom label for species 1 = H + atom label for species 2 = C + lattice constant (Bohr) = 1.88973 + lattice constant (Angstrom) = 1 + + READING ATOM TYPE 1 + atom label = H + start magnetization = FALSE + L=0, number of zeta = 1 + L=1, number of zeta = 1 + L=2, number of zeta = 1 + number of atom for this type = 4 + + READING ATOM TYPE 2 + atom label = C + start magnetization = FALSE + L=0, number of zeta = 1 + L=1, number of zeta = 1 + L=2, number of zeta = 1 + number of atom for this type = 1 + + TOTAL ATOM NUMBER = 5 + + CARTESIAN COORDINATES ( UNIT = 1.88973 Bohr ). + atom x y z mag + tauc_H1 5.34752 4.13299000001 3.42409 0 + tauc_H2 4.00995999999 5.01007 4.17371 0 + tauc_H3 5.58918 5.08242000001 4.86611999999 0 + tauc_H4 4.70525 3.51901000001 4.88607 0 + tauc_C1 4.92227 4.47265000001 4.37673 0 + + + Volume (Bohr^3) = 6676.0271937 + Volume (A^3) = 989.283980644 + + Lattice vectors: (Cartesian coordinate: in unit of a_0) + +10.2565601854 +0 +0 + -0.2453177497 +9.8128484191 +0 + -0.2571031519 -0.3012912337 +9.8293471194 + Reciprocal vectors: (Cartesian coordinate: in unit of 2 pi/a_0) + +0.0974985747584 +0.00243742998334 +0.00262495228314 + -0 +0.101907209537 +0.00312368141153 + +0 -0 +0.101736156822 + + + + + >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + | | + | Reading pseudopotentials files: | + | The pseudopotential file is in UPF format. The 'NC' indicates that | + | the type of pseudopotential is 'norm conserving'. Functional of | + | exchange and correlation is decided by 4 given parameters in UPF | + | file. We also read in the 'core correction' if there exists. | + | Also we can read the valence electrons number and the maximal | + | angular momentum used in this pseudopotential. We also read in the | + | trail wave function, trail atomic density and local-pseudopotential| + | on logrithmic grid. The non-local pseudopotential projector is also| + | read in if there is any. | + | | + <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< + + + + + PAO radial cut off (Bohr) = 15 + + Read in pseudopotential file is H_ONCV_PBE-1.0.upf + pseudopotential type = NC + functional Ex = PBE + functional Ec = + functional GCEx = + functional GCEc = + nonlocal core correction = 0 + valence electrons = 1 + lmax = 0 + number of zeta = 0 + number of projectors = 2 + L of projector = 0 + L of projector = 0 + PAO radial cut off (Bohr) = 15 + + Read in pseudopotential file is C_ONCV_PBE-1.0.upf + pseudopotential type = NC + functional Ex = PBE + functional Ec = + functional GCEx = + functional GCEc = + nonlocal core correction = 0 + valence electrons = 4 + lmax = 1 + number of zeta = 0 + number of projectors = 4 + L of projector = 0 + L of projector = 0 + L of projector = 1 + L of projector = 1 + initial pseudo atomic orbital number = 0 + NLOCAL = 45 + + SETUP THE ELECTRONS NUMBER + electron number of element H = 1 + total electron number of element H = 4 + electron number of element C = 4 + total electron number of element C = 4 + occupied bands = 4 + NBANDS = 5 + DONE : SETUP UNITCELL Time : 0.248472929001 (SEC) + + + + + + >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + | | + | Doing symmetry analysis: | + | We calculate the norm of 3 vectors and the angles between them, | + | the type of Bravais lattice is given. We can judge if the unticell | + | is a primitive cell. Finally we give the point group operation for | + | this unitcell. We we use the point group operations to do symmetry | + | analysis on given k-point mesh and the charge density. | + | | + <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< + + + + + LATTICE VECTORS: (CARTESIAN COORDINATE: IN UNIT OF A0) + +10.2565601854 +0 +0 + -0.2453177497 +9.8128484191 +0 + -0.2571031519 -0.3012912337 +9.8293471194 + right hand lattice = 1 + NORM_A = 10.2565601854 + NORM_B = 9.81591436875 + NORM_C = 9.83732398734 + ALPHA (DEGREE) = 91.4320759898 + BETA (DEGREE) = 91.7171031174 + GAMMA (DEGREE) = 91.4976230389 + BRAVAIS TYPE = 14 + BRAVAIS LATTICE NAME = 14. Triclinic cell + STANDARD LATTICE VECTORS: (CARTESIAN COORDINATE: IN UNIT OF A0) + +10.2565601854 +0 +0 + -0.2453177497 +9.8128484191 +0 + -0.2571031519 -0.3012912337 +9.8293471194 + IBRAV = 14 + BRAVAIS = TRICLINIC CELL + LATTICE CONSTAddNT A = 24.3134388692 + B/A RATIO = 1.20720410464 + C/A RATIO = 1.18773716153 + COS(ALPHA) = 0.878270383691 + COS(BETA) = 0.653779913716 + COS(GAMMA) = 0.215574501928 + ibrav = 14 + ROTATION MATRICES = 2 + PURE POINT GROUP OPERATIONS = 1 + SPACE GROUP OPERATIONS = 1 + POINT GROUP = C_1 + DONE : SYMMETRY Time : 0.302663087845 (SEC) + + + + + + >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + | | + | Setup K-points | + | We setup the k-points according to input parameters. | + | The reduced k-points are set according to symmetry operations. | + | We treat the spin as another set of k-points. | + | | + <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< + + + + + + SETUP K-POINTS + nspin = 1 + Input type of k points = Monkhorst-Pack(Gamma) + nkstot = 1 + nkstot_ibz = 1 + IBZ DirectX DirectY DirectZ Weight ibz2bz + 1 0 0 0 1 0 + nkstot now = 1 + + KPOINTS DIRECT_X DIRECT_Y DIRECT_Z WEIGHT + 1 0 0 0 1 + + k-point number in this process = 1 + minimum distributed K point number = 1 + + KPOINTS CARTESIAN_X CARTESIAN_Y CARTESIAN_Z WEIGHT + 1 0 0 0 2 + + KPOINTS DIRECT_X DIRECT_Y DIRECT_Z WEIGHT + 1 0 0 0 2 + DONE : INIT K-POINTS Time : 0.304226875305 (SEC) + + + + + + >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + | | + | Setup plane waves: | + | Use the energy cutoff and the lattice vectors to generate the | + | dimensions of FFT grid. The number of FFT grid on each processor | + | is 'nrxx'. The number of plane wave basis in reciprocal space is | + | different for charege/potential and wave functions. We also set | + | the 'sticks' for the parallel of FFT. | + | | + <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< + + + + + + SETUP THE PLANE WAVE BASIS + energy cutoff for wavefunc (unit:Ry) = 80 + [fft grid for wave functions] = 120, 108, 108 + [fft grid for charge/potential] = 120, 108, 108 + [fft grid division] = 1, 1, 1 + [big fft grid for charge/potential] = 120, 108, 108 + nbxx = 349920 + nrxx = 349920 + + SETUP PLANE WAVES FOR CHARGE/POTENTIAL + number of plane waves = 645411 + number of sticks = 9153 + + SETUP PLANE WAVES FOR WAVE FUNCTIONS + number of plane waves = 80695 + number of sticks = 2293 + + PARALLEL PW FOR CHARGE/POTENTIAL + PROC COLUMNS(POT) PW + 1 2289 161355 + 2 2288 161352 + 3 2288 161352 + 4 2288 161352 + --------------- sum ------------------- + 4 9153 645411 + + PARALLEL PW FOR WAVE FUNCTIONS + PROC COLUMNS(W) PW + 1 572 20178 + 2 574 20172 + 3 573 20172 + 4 574 20173 + --------------- sum ------------------- + 4 2293 80695 + + SETUP COORDINATES OF PLANE WAVES + number of total plane waves = 645411 + + SETUP COORDINATES OF PLANE WAVES + number of |g| = 152312 + max |g| = 28.9459422956 + min |g| = 0 + DONE : INIT PLANEWAVE Time : 0.861092805862 (SEC) + + npwx = 20178 + + SETUP NONLOCAL PSEUDOPOTENTIALS IN PLANE WAVE BASIS + H non-local projectors: + projector 1 L=0 + projector 2 L=0 + C non-local projectors: + projector 1 L=0 + projector 2 L=0 + projector 3 L=1 + projector 4 L=1 + TOTAL NUMBER OF NONLOCAL PROJECTORS = 16 + DONE : LOCAL POTENTIAL Time : 6.48073101044 (SEC) + + + Init Non-Local PseudoPotential table : + Init Non-Local-Pseudopotential done. + DONE : NON-LOCAL POTENTIAL Time : 6.48683285713 (SEC) + + start_pot = atomic + DONE : INIT POTENTIAL Time : 7.61773 (SEC) + + + Make real space PAO into reciprocal space. + max mesh points in Pseudopotential = 601 + dq(describe PAO in reciprocal space) = 0.01 + max q = 1078 + + number of pseudo atomic orbitals for H is 0 + + number of pseudo atomic orbitals for C is 0 + DONE : INIT BASIS Time : 7.74402 (SEC) + + ------------------------------------------- + ------------------------------------------- + + PW ALGORITHM --------------- ION= 1 ELEC= 1-------------------------------- + K-point CG iter num Time(Sec) + 1 10.800000 1.100000 + + Density error is 0.716228562297 + Error Threshold = 0.010000000000 + + Energy Rydberg eV + E_KohnSham -16.077989743340 -218.752272894988 + E_Harris -16.416413004613 -223.356757584032 + E_Fermi -1.047696916925 -14.254647847209 + + PW ALGORITHM --------------- ION= 1 ELEC= 2-------------------------------- + K-point CG iter num Time(Sec) + 1 2.600000 0.340000 + + Density error is 0.053485286288 + Error Threshold = 0.008952857029 + + Energy Rydberg eV + E_KohnSham -16.147852555191 -219.702805214460 + E_Harris -16.170227865721 -220.007236932187 + E_Fermi -0.757274295387 -10.303245366204 + + PW ALGORITHM --------------- ION= 1 ELEC= 3-------------------------------- + K-point CG iter num Time(Sec) + 1 3.400000 0.420000 + + Density error is 0.014597674496 + Error Threshold = 0.000668566079 + + Energy Rydberg eV + E_KohnSham -16.152630737187 -219.767815715679 + E_Harris -16.159901269386 -219.866736381080 + E_Fermi -0.678151111752 -9.226719224862 + + PW ALGORITHM --------------- ION= 1 ELEC= 4-------------------------------- + K-point CG iter num Time(Sec) + 1 2.600000 0.330000 + + Density error is 0.002894513932 + Error Threshold = 0.000182470931 + + Energy Rydberg eV + E_KohnSham -16.153987551063 -219.786276115520 + E_Harris -16.155383261882 -219.805265735428 + E_Fermi -0.669796821983 -9.113053281256 + + PW ALGORITHM --------------- ION= 1 ELEC= 5-------------------------------- + K-point CG iter num Time(Sec) + 1 3.000000 0.370000 + + Density error is 0.000178084710 + Error Threshold = 0.000036181424 + + Energy Rydberg eV + E_KohnSham -16.154367813314 -219.791449848876 + E_Harris -16.154442303768 -219.792463343494 + E_Fermi -0.654331591572 -8.902638026784 + + PW ALGORITHM --------------- ION= 1 ELEC= 6-------------------------------- + K-point CG iter num Time(Sec) + 1 3.200000 0.390000 + + Density error is 0.000016407178 + Error Threshold = 0.000002226059 + + Energy Rydberg eV + E_KohnSham -16.154436359380 -219.792382465939 + E_Harris -16.154443715521 -219.792482551379 + E_Fermi -0.653660775768 -8.893511109543 + + PW ALGORITHM --------------- ION= 1 ELEC= 7-------------------------------- + K-point CG iter num Time(Sec) + 1 4.000000 0.470000 + + Density error is 0.000014008850 + Error Threshold = 0.000000205090 + + Energy Rydberg eV + E_KohnSham -16.154437877417 -219.792403119902 + E_Harris -16.154445243508 -219.792503340712 + E_Fermi -0.654658037287 -8.907079548594 + + PW ALGORITHM --------------- ION= 1 ELEC= 8-------------------------------- + K-point CG iter num Time(Sec) + 1 2.800000 0.350000 + + Density error is 0.000000301230 + Error Threshold = 0.000000175111 + + Energy Rydberg eV + E_KohnSham -16.154440948911 -219.792444909710 + E_Harris -16.154441074217 -219.792446614598 + E_Fermi -0.654018333952 -8.898375938218 + + PW ALGORITHM --------------- ION= 1 ELEC= 9-------------------------------- + K-point CG iter num Time(Sec) + 1 4.000000 0.480000 + + Density error is 0.000000018344 + Error Threshold = 0.000000003765 + + Energy Rydberg eV + E_KohnSham -16.154441070784 -219.792446567885 + E_Harris -16.154441057559 -219.792446387946 + E_Fermi -0.654138260809 -8.900007626814 + + PW ALGORITHM --------------- ION= 1 ELEC= 10-------------------------------- + K-point CG iter num Time(Sec) + 1 3.400000 0.420000 + + Density error is 0.000000015755 + Error Threshold = 0.000000000229 + + Energy Rydberg eV + E_KohnSham -16.154441067825 -219.792446527624 + E_Harris -16.154441072730 -219.792446594355 + E_Fermi -0.654121118038 -8.899774387444 + + PW ALGORITHM --------------- ION= 1 ELEC= 11-------------------------------- + K-point CG iter num Time(Sec) + 1 3.400000 0.430000 + + Density error is 0.000000001032 + Error Threshold = 0.000000000197 + + Energy Rydberg eV + E_KohnSham -16.154441070882 -219.792446569210 + E_Harris -16.154441069860 -219.792446555307 + E_Fermi -0.654135023227 -8.899963577250 + + PW ALGORITHM --------------- ION= 1 ELEC= 12-------------------------------- + K-point CG iter num Time(Sec) + 1 4.000000 0.460000 + + Density error is 0.000000000233 + Error Threshold = 0.000000000013 + + Energy Rydberg eV + E_KohnSham -16.154441071342 -219.792446575473 + E_Harris -16.154441071108 -219.792446572294 + E_band -6.620750901789 -90.079937302973 + E_one_elec -40.783150273403 -554.883226108534 + E_Hartree +21.222216891079 +288.743073910523 + E_xc -6.398952161196 -87.062210621679 + E_Ewald +9.805444472178 +133.409916244217 + E_demet +0.000000000000 +0.000000000000 + E_descf +0.000000000000 +0.000000000000 + E_efield +0.000000000000 +0.000000000000 + E_Fermi -0.654134329118 -8.899954133408 + charge density convergence is achieved + final etot is -219.792446575473 eV + + STATE ENERGY(eV) AND OCCUPATIONS. 1/1 kpoint (Cartesian) = 0.00000 0.00000 0.00000 (20178 pws) + [spin1_state] 1 -17.008572 2.000000 + [spin1_state] 2 -9.762220 2.000000 + [spin1_state] 3 -9.369222 2.000000 + [spin1_state] 4 -8.899954 2.000000 + [spin1_state] 5 -0.467626 0.000000 + + + + ><><><><><><><><><><><><><><><><><><><><><>< + + TOTAL-FORCE (Ry/Bohr) + + ><><><><><><><><><><><><><><><><><><><><><>< + + atom x y z + H1 +0.002959 +0.012968 -0.004708 + H2 -0.019440 +0.007157 -0.002091 + H3 +0.064612 +0.049770 +0.053569 + H4 -0.000202 +0.018610 +0.013752 + C1 -0.047929 -0.088505 -0.060522 + + + ><><><><><><><><><><><><><><><><><><><><><>< + + TOTAL-FORCE (eV/Angstrom) + + ><><><><><><><><><><><><><><><><><><><><><>< + + atom x y z + H1 +0.076075 +0.333431 -0.121056 + H2 -0.499814 +0.184016 -0.053760 + H3 +1.661246 +1.279637 +1.377319 + H4 -0.005203 +0.478484 +0.353569 + C1 -1.232303 -2.275569 -1.556072 + + + ><><><><><><><><><><><><><><><><><><><><><>< + + TOTAL-STRESS (KBAR) + + ><><><><><><><><><><><><><><><><><><><><><>< + + +2.55460601 +1.16926976 +1.35703241 + +1.16926976 +0.47006726 +0.83186454 + +1.35703241 +0.83186454 +1.55891919 + + + -------------------------------------------- + !FINAL_ETOT_IS -219.7924465754728089 eV + -------------------------------------------- + + + + + + + |CLASS_NAME---------|NAME---------------|TIME(Sec)-----|CALLS----|AVG------|PER%------- + A DC_Driv reading +0.305 1 +0.31 +1.30% + B Run_Frag frag_init +0.23 1 +0.23 +0.99% + A DC_Driv divide_frag +0.56 1 +0.56 +2.38% + B PW_Basis gen_pw +0.56 1 +0.56 +2.38% + A DC_Driv solve_eachf +22.55 1 +22.55 +96.31% + B Run_Frag frag_pw_line +22.55 1 +22.55 +96.31% + C ppcell_vl init_vloc +5.59 1 +5.59 +23.90% + X FFT FFT3D +6.78 851 +0.01 +28.94% + E potential v_of_rho +2.65 13 +0.20 +11.30% + C wavefunc wfcinit +0.13 1 +0.13 +0.54% + G Hamilt_PW cinitcgg +1.23 13 +0.09 +5.25% + H Hamilt_PW h_psi +5.37 301 +0.02 +22.93% + I Hamilt_PW add_vuspsi +0.14 301 +0.00 +0.61% + C Ions opt_ions_pw +15.66 1 +15.66 +66.90% + D electrons self_consistent +10.86 1 +10.86 +46.38% + E electrons c_bands +5.69 12 +0.47 +24.30% + F Hamilt diago +5.57 12 +0.46 +23.79% + G Diago_CG diag +4.44 12 +0.37 +18.96% + E Charge mix_rho +0.62 12 +0.05 +2.64% + ---------------------------------------------------------------------------------------- + + CLASS_NAME---------|NAME---------------|MEMORY(MB)-------- + +98.5390 + Charge_Pulay Rrho +21.3574 + Charge_Pulay dRrho +18.6877 + Charge_Pulay drho +18.6877 + Use_FFT porter +5.3394 + PW_Basis struc_fac +4.9242 + Charge rho +2.6697 + Charge rho_save +2.6697 + Charge rho_core +2.6697 + potential vltot +2.6697 + potential vr +2.6697 + potential vrs +2.6697 + potential vrs1 +2.6697 + potential vnew +2.6697 + Charge_Pulay rho_save2 +2.6697 + wavefunc evc +1.5395 + Charge rhog +1.2310 + Charge rhog_save +1.2310 + Charge rhog_core +1.2310 + ---------------------------------------------------------- + + Start Time : Tue Jun 1 15:07:47 2021 + Finish Time : Tue Jun 1 15:08:11 2021 + Total Time : +0 h +0 mins +24 secs diff --git a/tests/generator/out_data_post_fp_abacus/02.fp/task.001.000000/POSCAR b/tests/generator/out_data_post_fp_abacus/02.fp/task.001.000000/POSCAR new file mode 100644 index 000000000..94357dd48 --- /dev/null +++ b/tests/generator/out_data_post_fp_abacus/02.fp/task.001.000000/POSCAR @@ -0,0 +1,13 @@ +H4 C1 +1.0 +1.0256560185400000e+01 0.0000000000000000e+00 0.0000000000000000e+00 +-2.4531774970000000e-01 9.8128484190999998e+00 0.0000000000000000e+00 +-2.5710315189999999e-01 -3.0129123369999999e-01 9.8293471193999995e+00 +H C +4 1 +Cartesian + 5.3475200000 4.1329900000 3.4240900000 + 4.0099600000 5.0100700000 4.1737100000 + 5.5891800000 5.0824200000 4.8661200000 + 4.7052500000 3.5190100000 4.8860700000 + 4.9222700000 4.4726500000 4.3767300000 diff --git a/tests/generator/out_data_post_fp_abacus/02.fp/task.001.000000/STRU b/tests/generator/out_data_post_fp_abacus/02.fp/task.001.000000/STRU new file mode 100644 index 000000000..4fb0bec50 --- /dev/null +++ b/tests/generator/out_data_post_fp_abacus/02.fp/task.001.000000/STRU @@ -0,0 +1,25 @@ +ATOMIC_SPECIES +H 1.00 H_ONCV_PBE-1.0.upf +C 1.00 C_ONCV_PBE-1.0.upf + +LATTICE_CONSTANT +1.8897261254578281 + +LATTICE_VECTORS +10.2565601854 0.0 0.0 +-0.2453177497 9.8128484191 0.0 +-0.2571031519 -0.3012912337 9.8293471194 + +ATOMIC_POSITIONS +Cartesian # Cartesian(Unit is LATTICE_CONSTANT) +H +0.0 +4 +5.347520000000 4.132990000000 3.424090000000 0 0 0 +4.009960000000 5.010070000000 4.173710000000 0 0 0 +5.589180000000 5.082420000000 4.866120000000 0 0 0 +4.705250000000 3.519010000000 4.886070000000 0 0 0 +C +0.0 +1 +4.922270000000 4.472650000000 4.376730000000 0 0 0 diff --git a/tests/generator/out_data_post_fp_abacus/02.fp/task.001.000000/output b/tests/generator/out_data_post_fp_abacus/02.fp/task.001.000000/output new file mode 100644 index 000000000..7a1e9bac2 --- /dev/null +++ b/tests/generator/out_data_post_fp_abacus/02.fp/task.001.000000/output @@ -0,0 +1,81 @@ + ********************************************************* + * * + * WELCOME TO ABACUS * + * * + * 'Atomic-orbital Based Ab-initio * + * Computation at UStc' * + * * + * Website: http://abacus.ustc.edu.cn/ * + * * + ********************************************************* + Tue Jun 1 15:07:47 2021 + MAKE THE DIR : OUT.ABACUS/ + DONE(0.24874 SEC) : SETUP UNITCELL + DONE(0.30281 SEC) : SYMMETRY + DONE(0.304376 SEC) : INIT K-POINTS + --------------------------------------------------------- + This calculation is self-consistent + --------------------------------------------------------- + SPIN KPOINTS PROCESSORS + 1 1 4 + --------------------------------------------------------- + Use plane wave basis + --------------------------------------------------------- + ELEMENT NATOM XC + H 4 PBE + C 1 PBE + --------------------------------------------------------- + Initial plane wave basis and FFT box + --------------------------------------------------------- + DONE(0.861373 SEC) : INIT PLANEWAVE + UNIFORM GRID DIM : 120 * 108 * 108 + UNIFORM GRID DIM(BIG): 120 * 108 * 108 + MEMORY FOR PSI (MB) : 1.53946 + DONE(6.48094 SEC) : LOCAL POTENTIAL + DONE(6.48697 SEC) : NON-LOCAL POTENTIAL + START POTENTIAL : atomic + DONE(7.61803 SEC) : INIT POTENTIAL + DONE(7.7443 SEC) : INIT BASIS + ------------------------------------------- + SELF-CONSISTENT : + ------------------------------------------- + ITER ETOT(eV) EDIFF(eV) DRHO2 CG_ITER TIME(S) + CG1 -2.187523e+02 0.000000e+00 7.162e-01 1.080e+01 1.560e+00 + CG2 -2.197028e+02 -9.505323e-01 5.349e-02 2.600e+00 7.600e-01 + CG3 -2.197678e+02 -6.501050e-02 1.460e-02 3.400e+00 8.600e-01 + CG4 -2.197863e+02 -1.846040e-02 2.895e-03 2.600e+00 7.700e-01 + CG5 -2.197914e+02 -5.173733e-03 1.781e-04 3.000e+00 7.900e-01 + CG6 -2.197924e+02 -9.326171e-04 1.641e-05 3.200e+00 8.300e-01 + CG7 -2.197924e+02 -2.065396e-05 1.401e-05 4.000e+00 9.000e-01 + CG8 -2.197924e+02 -4.178981e-05 3.012e-07 2.800e+00 7.800e-01 + CG9 -2.197924e+02 -1.658174e-06 1.834e-08 4.000e+00 9.000e-01 + CG10 -2.197924e+02 4.026059e-08 1.576e-08 3.400e+00 8.500e-01 + CG11 -2.197924e+02 -4.158638e-08 1.032e-09 3.400e+00 8.800e-01 + CG12 -2.197924e+02 -6.262464e-09 2.326e-10 4.000e+00 8.600e-01 + + |CLASS_NAME---------|NAME---------------|TIME(Sec)-----|CALLS----|AVG------|PER%------- + A DC_Driv reading 0.31 1 0.31 1.3 % + B Run_Frag frag_init 0.23 1 0.23 0.99 % + A DC_Driv divide_frag 0.56 1 0.56 2.4 % + B PW_Basis gen_pw 0.56 1 0.56 2.4 % + A DC_Driv solve_eachf 23 1 23 96 % + B Run_Frag frag_pw_line 23 1 23 96 % + C ppcell_vl init_vloc 5.6 1 5.6 24 % + X FFT FFT3D 6.8 851 0.008 29 % + E potential v_of_rho 2.6 13 0.2 11 % + C wavefunc wfcinit 0.13 1 0.13 0.54 % + G Hamilt_PW cinitcgg 1.2 13 0.095 5.3 % + H Hamilt_PW h_psi 5.4 301 0.018 23 % + I Hamilt_PW add_vuspsi 0.14 301 0.00048 0.61 % + C Ions opt_ions_pw 16 1 16 67 % + D electrons self_consistent 11 1 11 46 % + E electrons c_bands 5.7 12 0.47 24 % + F Hamilt diago 5.6 12 0.46 24 % + G Diago_CG diag 4.4 12 0.37 19 % + E Charge mix_rho 0.62 12 0.052 2.6 % + ---------------------------------------------------------------------------------------- + + START Time : Tue Jun 1 15:07:47 2021 + FINISH Time : Tue Jun 1 15:08:11 2021 + TOTAL Time : 24 + SEE INFORMATION IN : OUT.ABACUS/ diff --git a/tests/generator/out_data_post_fp_abacus/02.fp/task.001.000001/INPUT b/tests/generator/out_data_post_fp_abacus/02.fp/task.001.000001/INPUT new file mode 100644 index 000000000..2b76680e7 --- /dev/null +++ b/tests/generator/out_data_post_fp_abacus/02.fp/task.001.000001/INPUT @@ -0,0 +1,14 @@ +INPUT_PARAMETERS +ntype 2 +pseudo_dir ./ +ecutwfc 80.000000 +mixing_type pulay +mixing_beta 0.400000 +symmetry 1 +nbands 5.000000 +nspin 1 +ks_solver cg +smearing fixed +sigma 0.001000 +force 1 +stress 1 diff --git a/tests/generator/out_data_post_fp_abacus/02.fp/task.001.000001/KPT b/tests/generator/out_data_post_fp_abacus/02.fp/task.001.000001/KPT new file mode 100644 index 000000000..5ab6cd6d4 --- /dev/null +++ b/tests/generator/out_data_post_fp_abacus/02.fp/task.001.000001/KPT @@ -0,0 +1,4 @@ +K_POINTS +0 +Gamma +1 1 1 0 0 0 \ No newline at end of file diff --git a/tests/generator/out_data_post_fp_abacus/02.fp/task.001.000001/OUT.ABACUS/INPUT b/tests/generator/out_data_post_fp_abacus/02.fp/task.001.000001/OUT.ABACUS/INPUT new file mode 100644 index 000000000..c656f3216 --- /dev/null +++ b/tests/generator/out_data_post_fp_abacus/02.fp/task.001.000001/OUT.ABACUS/INPUT @@ -0,0 +1,229 @@ +INPUT_PARAMETERS +#Parameters (1.General) +suffix ABACUS #the name of main output directory +latname test #the name of lattice name +atom_file STRU #the filename of file containing atom positions +kpoint_file KPT #the name of file containing k points +pseudo_dir .// #the directory containing pseudo files +pseudo_type auto #the type pseudo files +dft_functional none #exchange correlation functional +calculation scf #test; scf; relax; nscf; ienvelope; istate; +ntype 2 #atom species number +nspin 1 #1: single spin; 2: up and down spin; +nbands 5 #number of bands +nbands_istate 5 #number of bands around Fermi level for istate calulation +symmetry 1 #turn symmetry on or off +nelec 0 #input number of electrons + +#Parameters (2.PW) +ecutwfc 80 ##energy cutoff for wave functions +diago_cg_maxiter 50 #max iteration number for cg +diago_cg_prec 1 #diago_cg_prec +ethr 0.01 #threshold for eigenvalues is cg electron iterations +dr2 1e-09 #charge density error +start_wfc atomic #start wave functions are from 'atomic' or 'file' +start_charge atomic #start charge is from 'atomic' or file +charge_extrap atomic #atomic; first-order; second-order; dm:coefficients of SIA +out_charge 0 #>0 output charge density for selected electron steps +out_potential 0 #output realspace potential +out_wf 0 #output wave functions +out_dos 0 #output energy and dos +out_band 0 #output energy and band structure +nx 0 #number of points along x axis for FFT grid +ny 0 #number of points along y axis for FFT grid +nz 0 #number of points along z axis for FFT grid + +#Parameters (3.Relaxation) +ks_solver cg #cg; david; lapack; genelpa; hpseps; +niter 40 ##number of electron iterations +vna 0 #use the vna or not +grid_speed 1 #1:normal 2:fast +force_set 0 #output the force_set or not +nstep 1 #number of ion iteration steps +out_stru 0 #output the structure files after each ion step +force_thr 0.001 #force threshold, unit: Ry/Bohr +force_thr_ev 0.0257112 #force threshold, unit: eV/Angstrom +force_thr_ev2 0 #force invalid threshold, unit: eV/Angstrom +stress_thr 0.01 #stress threshold +press1 0 #target pressure, unit: KBar +press2 0 #target pressure, unit: KBar +press3 0 #target pressure, unit: KBar +bfgs_w1 0.01 #wolfe condition 1 for bfgs +bfgs_w2 0.5 #wolfe condition 2 for bfgs +trust_radius_max 0.8 #maximal trust radius, unit: Bohr +trust_radius_min 1e-05 #minimal trust radius, unit: Bohr +trust_radius_ini 0.5 #initial trust radius, unit: Bohr +stress 1 #calculate the stress or not +fixed_axes None #which axes are fixed +move_method cg #bfgs; sd; cg; cg_bfgs; +out_level ie #ie(for electrons); i(for ions); +out_dm 0 #>0 output density matrix + +#Parameters (4.LCAO) +basis_type pw #PW; LCAO in pw; LCAO +search_radius -1 #input search radius (Bohr) +search_pbc 1 #input periodic boundary condition +lcao_ecut 0 #energy cutoff for LCAO +lcao_dk 0.01 #delta k for 1D integration in LCAO +lcao_dr 0.01 #delta r for 1D integration in LCAO +lcao_rmax 30 #max R for 1D two-center integration table +out_hs 0 #output H and S matrix +out_lowf 0 #ouput LCAO wave functions +bx 1 #division of an element grid in FFT grid along x +by 1 #division of an element grid in FFT grid along y +bz 1 #division of an element grid in FFT grid along z + +#Parameters (5.Smearing) +smearing fixed #type of smearing: gauss; fd; fixed; mp; mp2 +sigma 0.001 #energy range for smearing + +#Parameters (6.Charge Mixing) +mixing_type pulay #plain; kerker; pulay; pulay-kerker +mixing_beta 0.4 #mixing parameter: 0 means no new charge +mixing_ndim 8 #mixing dimension in pulay +mixing_gg0 0 #mixing parameter in kerker + +#Parameters (7.DOS) +dos_emin_ev -15 #minimal range for dos +dos_emax_ev 15 #maximal range for dos +dos_edelta_ev 0.01 #delta energy for dos +dos_sigma 0.07 #gauss b coefficeinet(default=0.07) + +#Parameters (8.Technique) +gamma_only 0 #gamma only +diago_proc 4 #number of proc used to diago +npool 1 #number of pools for k points, pw only +sparse_matrix 0 #use sparse matrix, in DMM +atom_distribution 0 #distribute atoms, in DMM +mem_saver 0 #memory saver for many k points used +printe 100 #print band energy for selectively ionic steps + +#Parameters (9.SIAO) +selinv_npole 40 #number of selected poles +selinv_temp 2000 #temperature for Fermi-Dirac distribution +selinv_gap 0 #supposed gap in the calculation +selinv_deltae 2 #expected energy range +selinv_mu -1 #chosen mu as Fermi energy +selinv_threshold 0.001 #threshold for calculated electron number +selinv_niter 50 #max number of steps to update mu + +#Parameters (10.Molecular dynamics) +md_mdtype 1 #choose ensemble +md_dt -1 #time step +md_nresn 3 #parameter during integrater +md_nyosh 3 #parameter during integrater +md_qmass 1 #mass of thermostat +md_tfirst -1 #temperature first +md_tlast -1 #temperature last +md_dumpmdfred 1 #The period to dump MD information for monitoring and restarting MD +md_mdoutpath mdoutput #output path of md +md_domsd 0 #whether compute +md_domsdatom 0 #whether compute msd for each atom +md_rstmd 0 #whether restart +md_fixtemperature 1 #period to change temperature +md_ediff 0.0001 #parameter for constraining total energy change +md_ediffg 0.001 #parameter for constraining max force change +md_msdstarttime 1 #choose which step that msd be calculated + +#Parameters (11.Efield) +efield 0 #add electric field +edir 1 #add electric field +emaxpos 0.5 #maximal position of efield [0,1) +eopreg 0.1 #where sawlike potential decrease +eamp 0.001 #amplitute of the efield, unit is a.u. +eamp_v 0.05144 #amplitute of the efield, unit is V/A + +#Parameters (12.Bfield) +bfield 0 #add magnetic field +bfield_teslax 0 #magnetic field strength +bfield_teslay 0 #magnetic field strength +bfield_teslaz 0 #magnetic field strength +bfield_gauge_x 0 #magnetic field gauge origin +bfield_gauge_y 0 #magnetic field gauge origin +bfield_gauge_z 0 #magnetic field gauge origin + +#Parameters (13.Test) +out_alllog 0 #output information for each processor, when parallel +nurse 0 #for coders +colour 0 #for coders, make their live colourful +t_in_h 1 #calculate the kinetic energy or not +vl_in_h 1 #calculate the local potential or not +vnl_in_h 1 #calculate the nonlocal potential or not +zeeman_in_h 1 #calculate the zeeman term or not +test_force 0 #test the force +test_stress 0 #test the force + +#Parameters (14.Other Methods) +mlwf_flag 0 #turn MLWF on or off +opt_epsilon2 0 #calculate the dielectic function +opt_nbands 0 #number of bands for optical calculation + +#Parameters (15.VdW Correction) +vdw_method none #the method of calculating vdw (none ; d2 ; d3_0 ; d3_bj +vdw_s6 default #scale parameter of d2/d3_0/d3_bj +vdw_s8 default #scale parameter of d3_0/d3_bj +vdw_a1 default #damping parameter of d3_0/d3_bj +vdw_a2 default #damping parameter of d3_bj +vdw_d 20 #damping parameter of d2 +vdw_abc 0 #third-order term? +vdw_C6_file default #filename of C6 +vdw_C6_unit Jnm6/mol #unit of C6, Jnm6/mol or eVA6 +vdw_R0_file default #filename of R0 +vdw_R0_unit A #unit of R0, A or Bohr +vdw_model radius #expression model of periodic structure, radius or period +vdw_radius default #radius cutoff for periodic structure +vdw_radius_unit Bohr #unit of radius cutoff for periodic structure +vdw_cn_thr 40 #radius cutoff for cn +vdw_cn_thr_unit Bohr #unit of cn_thr, Bohr or Angstrom +vdw_period 3 3 3 #periods of periodic structure + +#Parameters (16.spectrum) +spectral_type None #the type of the calculated spectrum +spectral_method 0 #0: tddft(linear response) +kernel_type rpa #the kernel type: rpa, tdlda ... +eels_method 0 #0: hilbert_transform method; 1: standard method +absorption_method 0 #0: vasp's method 1: pwscf's method +system bulk #the calculate system +eta 0.05 #eta(Ry) +domega 0.01 #domega(Ry) +nomega 300 #nomega +ecut_chi 1 #the dimension of chi matrix +q_start 0.1 0.1 0.1 #the position of the first q point in direct coordinate +q_direction 1 0 0 #the q direction +nq 1 #the total number of qpoints for calculation +out_epsilon 1 #output epsilon or not +out_chi 0 #output chi or not +out_chi0 0 #output chi0 or not +fermi_level 0 #the change of the fermi_level(Ry) +coulomb_cutoff 0 # turn on the coulomb_cutoff or not +kmesh_interpolation 0 #calculting +qcar 0 0 0 #(unit: 2PI/lat0) +ocp 0 #change occupation or not +ocp_n 0 #number of occupation +lcao_box 10 10 10 #the scale for searching the existence of the overlap + mulliken 0 # mulliken charge or not +intrasmear 0 #Eta +shift 0 #shift +metalcalc 0 #metal or not +eps_degauss 0.01 #degauss in calculating epsilon0 +noncolin 0 #using non-collinear-spin +lspinorb 0 #consider the spin-orbit interaction +starting_spin_angle 0 #starting_spin_angle + +#Parameters (17.tddft) +tddft 0 #calculate tddft or not +td_dr2 1e-09 #threshold for electronic iteration of tddft +td_dt 0.02 #time of ion step +td_force_dt 0.02 #time of force change +val_elec_01 1 #val_elec_01 +val_elec_02 1 #val_elec_02 +val_elec_03 1 #val_elec_03 +vext 0 #add extern potential or not +vext_dire 1 #extern potential direction + +#Parameters (18.berry_wannier) +berry_phase 0 #calculate berry phase or not +gdir 3 #calculate the polarization in the direction of the lattice vector +towannier90 0 #use wannier90 code interface or not +nnkpfile seedname.nnkp #the wannier90 code nnkp file name +wannier_spin up #calculate spin in wannier90 code interface diff --git a/tests/generator/out_data_post_fp_abacus/02.fp/task.001.000001/OUT.ABACUS/running_scf.log b/tests/generator/out_data_post_fp_abacus/02.fp/task.001.000001/OUT.ABACUS/running_scf.log new file mode 100644 index 000000000..68863acae --- /dev/null +++ b/tests/generator/out_data_post_fp_abacus/02.fp/task.001.000001/OUT.ABACUS/running_scf.log @@ -0,0 +1,601 @@ + + WELCOME TO ABACUS + + 'Atomic-orbital Based Ab-initio Computation at UStc' + + Website: http://abacus.ustc.edu.cn/ + + Version: Parallel, v2.1.0 + Processor Number is 4 + Start Time is Tue Jun 1 15:08:11 2021 + + ------------------------------------------------------------------------------------ + + READING GENERAL INFORMATION + global_out_dir = OUT.ABACUS/ + global_in_card = INPUT + pseudo_dir = ./ + pseudo_type = auto + DRANK = 1 + DSIZE = 4 + DCOLOR = 1 + GRANK = 1 + GSIZE = 1 + + + + + >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + | | + | Reading atom information in unitcell: | + | From the input file and the structure file we know the number of | + | different elments in this unitcell, then we list the detail | + | information for each element, especially the zeta and polar atomic | + | orbital number for each element. The total atom number is counted. | + | We calculate the nearest atom distance for each atom and show the | + | Cartesian and Direct coordinates for each atom. We list the file | + | address for atomic orbitals. The volume and the lattice vectors | + | in real and reciprocal space is also shown. | + | | + <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< + + + + + READING UNITCELL INFORMATION + ntype = 2 + atom label for species 1 = H + atom label for species 2 = C + lattice constant (Bohr) = 1.88973 + lattice constant (Angstrom) = 1 + + READING ATOM TYPE 1 + atom label = H + start magnetization = FALSE + L=0, number of zeta = 1 + L=1, number of zeta = 1 + L=2, number of zeta = 1 + number of atom for this type = 4 + + READING ATOM TYPE 2 + atom label = C + start magnetization = FALSE + L=0, number of zeta = 1 + L=1, number of zeta = 1 + L=2, number of zeta = 1 + number of atom for this type = 1 + + TOTAL ATOM NUMBER = 5 + + CARTESIAN COORDINATES ( UNIT = 1.88973 Bohr ). + atom x y z mag + tauc_H1 5.9687 4.63839 4.15753 0 + tauc_H2 4.64299000001 5.19806000001 5.12790999999 0 + tauc_H3 4.76222 3.49318000001 4.69419 0 + tauc_H4 4.45758999999 4.60349 3.41247 0 + tauc_C1 4.90730000001 4.45692999999 4.37323 0 + + + Volume (Bohr^3) = 6676.0271937 + Volume (A^3) = 989.283980644 + + Lattice vectors: (Cartesian coordinate: in unit of a_0) + +10.2565601854 +0 +0 + -0.2453177497 +9.8128484191 +0 + -0.2571031519 -0.3012912337 +9.8293471194 + Reciprocal vectors: (Cartesian coordinate: in unit of 2 pi/a_0) + +0.0974985747584 +0.00243742998334 +0.00262495228314 + -0 +0.101907209537 +0.00312368141153 + +0 -0 +0.101736156822 + + + + + >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + | | + | Reading pseudopotentials files: | + | The pseudopotential file is in UPF format. The 'NC' indicates that | + | the type of pseudopotential is 'norm conserving'. Functional of | + | exchange and correlation is decided by 4 given parameters in UPF | + | file. We also read in the 'core correction' if there exists. | + | Also we can read the valence electrons number and the maximal | + | angular momentum used in this pseudopotential. We also read in the | + | trail wave function, trail atomic density and local-pseudopotential| + | on logrithmic grid. The non-local pseudopotential projector is also| + | read in if there is any. | + | | + <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< + + + + + PAO radial cut off (Bohr) = 15 + + Read in pseudopotential file is H_ONCV_PBE-1.0.upf + pseudopotential type = NC + functional Ex = PBE + functional Ec = + functional GCEx = + functional GCEc = + nonlocal core correction = 0 + valence electrons = 1 + lmax = 0 + number of zeta = 0 + number of projectors = 2 + L of projector = 0 + L of projector = 0 + PAO radial cut off (Bohr) = 15 + + Read in pseudopotential file is C_ONCV_PBE-1.0.upf + pseudopotential type = NC + functional Ex = PBE + functional Ec = + functional GCEx = + functional GCEc = + nonlocal core correction = 0 + valence electrons = 4 + lmax = 1 + number of zeta = 0 + number of projectors = 4 + L of projector = 0 + L of projector = 0 + L of projector = 1 + L of projector = 1 + initial pseudo atomic orbital number = 0 + NLOCAL = 45 + + SETUP THE ELECTRONS NUMBER + electron number of element H = 1 + total electron number of element H = 4 + electron number of element C = 4 + total electron number of element C = 4 + occupied bands = 4 + NBANDS = 5 + DONE : SETUP UNITCELL Time : 0.227668046951 (SEC) + + + + + + >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + | | + | Doing symmetry analysis: | + | We calculate the norm of 3 vectors and the angles between them, | + | the type of Bravais lattice is given. We can judge if the unticell | + | is a primitive cell. Finally we give the point group operation for | + | this unitcell. We we use the point group operations to do symmetry | + | analysis on given k-point mesh and the charge density. | + | | + <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< + + + + + LATTICE VECTORS: (CARTESIAN COORDINATE: IN UNIT OF A0) + +10.2565601854 +0 +0 + -0.2453177497 +9.8128484191 +0 + -0.2571031519 -0.3012912337 +9.8293471194 + right hand lattice = 1 + NORM_A = 10.2565601854 + NORM_B = 9.81591436875 + NORM_C = 9.83732398734 + ALPHA (DEGREE) = 91.4320759898 + BETA (DEGREE) = 91.7171031174 + GAMMA (DEGREE) = 91.4976230389 + BRAVAIS TYPE = 14 + BRAVAIS LATTICE NAME = 14. Triclinic cell + STANDARD LATTICE VECTORS: (CARTESIAN COORDINATE: IN UNIT OF A0) + +10.2565601854 +0 +0 + -0.2453177497 +9.8128484191 +0 + -0.2571031519 -0.3012912337 +9.8293471194 + IBRAV = 14 + BRAVAIS = TRICLINIC CELL + LATTICE CONSTAddNT A = 24.3134388692 + B/A RATIO = 1.20720410464 + C/A RATIO = 1.18773716153 + COS(ALPHA) = 0.878270383691 + COS(BETA) = 0.653779913716 + COS(GAMMA) = 0.215574501928 + ibrav = 14 + ROTATION MATRICES = 2 + PURE POINT GROUP OPERATIONS = 1 + SPACE GROUP OPERATIONS = 1 + POINT GROUP = C_1 + DONE : SYMMETRY Time : 0.278933048248 (SEC) + + + + + + >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + | | + | Setup K-points | + | We setup the k-points according to input parameters. | + | The reduced k-points are set according to symmetry operations. | + | We treat the spin as another set of k-points. | + | | + <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< + + + + + + SETUP K-POINTS + nspin = 1 + Input type of k points = Monkhorst-Pack(Gamma) + nkstot = 1 + nkstot_ibz = 1 + IBZ DirectX DirectY DirectZ Weight ibz2bz + 1 0 0 0 1 0 + nkstot now = 1 + + KPOINTS DIRECT_X DIRECT_Y DIRECT_Z WEIGHT + 1 0 0 0 1 + + k-point number in this process = 1 + minimum distributed K point number = 1 + + KPOINTS CARTESIAN_X CARTESIAN_Y CARTESIAN_Z WEIGHT + 1 0 0 0 2 + + KPOINTS DIRECT_X DIRECT_Y DIRECT_Z WEIGHT + 1 0 0 0 2 + DONE : INIT K-POINTS Time : 0.280417919159 (SEC) + + + + + + >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> + | | + | Setup plane waves: | + | Use the energy cutoff and the lattice vectors to generate the | + | dimensions of FFT grid. The number of FFT grid on each processor | + | is 'nrxx'. The number of plane wave basis in reciprocal space is | + | different for charege/potential and wave functions. We also set | + | the 'sticks' for the parallel of FFT. | + | | + <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< + + + + + + SETUP THE PLANE WAVE BASIS + energy cutoff for wavefunc (unit:Ry) = 80 + [fft grid for wave functions] = 120, 108, 108 + [fft grid for charge/potential] = 120, 108, 108 + [fft grid division] = 1, 1, 1 + [big fft grid for charge/potential] = 120, 108, 108 + nbxx = 349920 + nrxx = 349920 + + SETUP PLANE WAVES FOR CHARGE/POTENTIAL + number of plane waves = 645411 + number of sticks = 9153 + + SETUP PLANE WAVES FOR WAVE FUNCTIONS + number of plane waves = 80695 + number of sticks = 2293 + + PARALLEL PW FOR CHARGE/POTENTIAL + PROC COLUMNS(POT) PW + 1 2289 161355 + 2 2288 161352 + 3 2288 161352 + 4 2288 161352 + --------------- sum ------------------- + 4 9153 645411 + + PARALLEL PW FOR WAVE FUNCTIONS + PROC COLUMNS(W) PW + 1 572 20178 + 2 574 20172 + 3 573 20172 + 4 574 20173 + --------------- sum ------------------- + 4 2293 80695 + + SETUP COORDINATES OF PLANE WAVES + number of total plane waves = 645411 + + SETUP COORDINATES OF PLANE WAVES + number of |g| = 152312 + max |g| = 28.9459422956 + min |g| = 0 + DONE : INIT PLANEWAVE Time : 0.751913070679 (SEC) + + npwx = 20178 + + SETUP NONLOCAL PSEUDOPOTENTIALS IN PLANE WAVE BASIS + H non-local projectors: + projector 1 L=0 + projector 2 L=0 + C non-local projectors: + projector 1 L=0 + projector 2 L=0 + projector 3 L=1 + projector 4 L=1 + TOTAL NUMBER OF NONLOCAL PROJECTORS = 16 + DONE : LOCAL POTENTIAL Time : 6.44963598251 (SEC) + + + Init Non-Local PseudoPotential table : + Init Non-Local-Pseudopotential done. + DONE : NON-LOCAL POTENTIAL Time : 6.45572495461 (SEC) + + start_pot = atomic + DONE : INIT POTENTIAL Time : 7.58789 (SEC) + + + Make real space PAO into reciprocal space. + max mesh points in Pseudopotential = 601 + dq(describe PAO in reciprocal space) = 0.01 + max q = 1078 + + number of pseudo atomic orbitals for H is 0 + + number of pseudo atomic orbitals for C is 0 + DONE : INIT BASIS Time : 7.72146 (SEC) + + ------------------------------------------- + ------------------------------------------- + + PW ALGORITHM --------------- ION= 1 ELEC= 1-------------------------------- + K-point CG iter num Time(Sec) + 1 10.800000 1.190000 + + Density error is 0.729821145419 + Error Threshold = 0.010000000000 + + Energy Rydberg eV + E_KohnSham -16.074330807881 -218.702490524122 + E_Harris -16.417604334752 -223.372966462132 + E_Fermi -1.048335767748 -14.263339858584 + + PW ALGORITHM --------------- ION= 1 ELEC= 2-------------------------------- + K-point CG iter num Time(Sec) + 1 2.600000 0.420000 + + Density error is 0.054695249293 + Error Threshold = 0.009122764318 + + Energy Rydberg eV + E_KohnSham -16.144072294982 -219.651372135698 + E_Harris -16.168056159747 -219.977689356560 + E_Fermi -0.752817311335 -10.242604987193 + + PW ALGORITHM --------------- ION= 1 ELEC= 3-------------------------------- + K-point CG iter num Time(Sec) + 1 3.600000 0.550000 + + Density error is 0.016629706963 + Error Threshold = 0.000683690616 + + Energy Rydberg eV + E_KohnSham -16.149305967765 -219.722579907002 + E_Harris -16.158386373461 -219.846125164631 + E_Fermi -0.668286163733 -9.092499721328 + + PW ALGORITHM --------------- ION= 1 ELEC= 4-------------------------------- + K-point CG iter num Time(Sec) + 1 3.000000 0.460000 + + Density error is 0.012039285293 + Error Threshold = 0.000207871337 + + Energy Rydberg eV + E_KohnSham -16.150013535618 -219.732206861536 + E_Harris -16.156210347385 -219.816518810990 + E_Fermi -0.679552369062 -9.245784308645 + + PW ALGORITHM --------------- ION= 1 ELEC= 5-------------------------------- + K-point CG iter num Time(Sec) + 1 2.800000 0.430000 + + Density error is 0.000038865224 + Error Threshold = 0.000150491066 + + Energy Rydberg eV + E_KohnSham -16.152272431667 -219.762940718990 + E_Harris -16.152279970952 -219.763043296226 + E_Fermi -0.648769155245 -8.826957197980 + + PW ALGORITHM --------------- ION= 1 ELEC= 6-------------------------------- + K-point CG iter num Time(Sec) + 1 4.800000 0.670000 + + Density error is 0.000006534342 + Error Threshold = 0.000000485815 + + Energy Rydberg eV + E_KohnSham -16.152359945301 -219.764131403059 + E_Harris -16.152361698976 -219.764155263039 + E_Fermi -0.649149878586 -8.832137204783 + + PW ALGORITHM --------------- ION= 1 ELEC= 7-------------------------------- + K-point CG iter num Time(Sec) + 1 2.800000 0.450000 + + Density error is 0.000000610404 + Error Threshold = 0.000000081679 + + Energy Rydberg eV + E_KohnSham -16.152360323564 -219.764136549589 + E_Harris -16.152360337435 -219.764136738315 + E_Fermi -0.648756249289 -8.826781603442 + + PW ALGORITHM --------------- ION= 1 ELEC= 8-------------------------------- + K-point CG iter num Time(Sec) + 1 3.600000 0.530000 + + Density error is 0.000000171866 + Error Threshold = 0.000000007630 + + Energy Rydberg eV + E_KohnSham -16.152360355243 -219.764136980609 + E_Harris -16.152360390636 -219.764137462158 + E_Fermi -0.648799753721 -8.827373511606 + + PW ALGORITHM --------------- ION= 1 ELEC= 9-------------------------------- + K-point CG iter num Time(Sec) + 1 3.200000 0.480000 + + Density error is 0.000000067106 + Error Threshold = 0.000000002148 + + Energy Rydberg eV + E_KohnSham -16.152360346433 -219.764136860741 + E_Harris -16.152360368224 -219.764137157224 + E_Fermi -0.648688898759 -8.825865252473 + + PW ALGORITHM --------------- ION= 1 ELEC= 10-------------------------------- + K-point CG iter num Time(Sec) + 1 2.800000 0.460000 + + Density error is 0.000000023325 + Error Threshold = 0.000000000839 + + Energy Rydberg eV + E_KohnSham -16.152360337730 -219.764136742339 + E_Harris -16.152360349284 -219.764136899531 + E_Fermi -0.648713988799 -8.826206619971 + + PW ALGORITHM --------------- ION= 1 ELEC= 11-------------------------------- + K-point CG iter num Time(Sec) + 1 2.600000 0.410000 + + Density error is 0.000000001012 + Error Threshold = 0.000000000292 + + Energy Rydberg eV + E_KohnSham -16.152360339897 -219.764136771816 + E_Harris -16.152360342174 -219.764136802793 + E_Fermi -0.648723968748 -8.826342404147 + + PW ALGORITHM --------------- ION= 1 ELEC= 12-------------------------------- + K-point CG iter num Time(Sec) + 1 3.200000 0.490000 + + Density error is 0.000000000130 + Error Threshold = 0.000000000013 + + Energy Rydberg eV + E_KohnSham -16.152360339384 -219.764136764834 + E_Harris -16.152360340069 -219.764136774158 + E_band -6.635560338377 -90.281430024732 + E_one_elec -40.940654383931 -557.026179470144 + E_Hartree +21.302466346428 +289.834923764663 + E_xc -6.412543006742 -87.247123561742 + E_Ewald +9.898370704861 +134.674242502389 + E_demet +0.000000000000 +0.000000000000 + E_descf +0.000000000000 +0.000000000000 + E_efield +0.000000000000 +0.000000000000 + E_Fermi -0.648717389113 -8.826252883621 + charge density convergence is achieved + final etot is -219.764136764834 eV + + STATE ENERGY(eV) AND OCCUPATIONS. 1/1 kpoint (Cartesian) = 0.00000 0.00000 0.00000 (20178 pws) + [spin1_state] 1 -17.054872 2.000000 + [spin1_state] 2 -9.695583 2.000000 + [spin1_state] 3 -9.564007 2.000000 + [spin1_state] 4 -8.826253 2.000000 + [spin1_state] 5 -0.463743 0.000000 + + + + ><><><><><><><><><><><><><><><><><><><><><>< + + TOTAL-FORCE (Ry/Bohr) + + ><><><><><><><><><><><><><><><><><><><><><>< + + atom x y z + H1 +0.006276 -0.010856 +0.009239 + H2 -0.017059 +0.000470 -0.003141 + H3 -0.013780 -0.092793 +0.035676 + H4 -0.033559 +0.011029 -0.018084 + C1 +0.058123 +0.092150 -0.023689 + + + ><><><><><><><><><><><><><><><><><><><><><>< + + TOTAL-FORCE (eV/Angstrom) + + ><><><><><><><><><><><><><><><><><><><><><>< + + atom x y z + H1 +0.161367 -0.279115 +0.237538 + H2 -0.438608 +0.012083 -0.080753 + H3 -0.354308 -2.385815 +0.917260 + H4 -0.862843 +0.283572 -0.464968 + C1 +1.494392 +2.369276 -0.609077 + + + ><><><><><><><><><><><><><><><><><><><><><>< + + TOTAL-STRESS (KBAR) + + ><><><><><><><><><><><><><><><><><><><><><>< + + +1.14837900 -0.13180299 +0.56581952 + -0.13180299 +3.68777738 -1.56694085 + +0.56581952 -1.56694085 +0.98901525 + + + -------------------------------------------- + !FINAL_ETOT_IS -219.7641367648340349 eV + -------------------------------------------- + + + + + + + |CLASS_NAME---------|NAME---------------|TIME(Sec)-----|CALLS----|AVG------|PER%------- + A DC_Driv reading +0.288 1 +0.29 +1.17% + B Run_Frag frag_init +0.21 1 +0.21 +0.85% + A DC_Driv divide_frag +0.46 1 +0.46 +1.89% + B PW_Basis gen_pw +0.46 1 +0.46 +1.88% + A DC_Driv solve_eachf +23.89 1 +23.89 +96.95% + B Run_Frag frag_pw_line +23.89 1 +23.89 +96.95% + C ppcell_vl init_vloc +5.66 1 +5.66 +22.96% + X FFT FFT3D +8.18 837 +0.01 +33.21% + E potential v_of_rho +3.09 13 +0.24 +12.52% + C wavefunc wfcinit +0.13 1 +0.13 +0.54% + G Hamilt_PW cinitcgg +1.49 13 +0.11 +6.05% + H Hamilt_PW h_psi +6.34 294 +0.02 +25.75% + I Hamilt_PW add_vuspsi +0.16 294 +0.00 +0.67% + C Ions opt_ions_pw +16.91 1 +16.91 +68.64% + D electrons self_consistent +12.70 1 +12.70 +51.54% + E electrons c_bands +6.66 12 +0.56 +27.05% + F Hamilt diago +6.54 12 +0.55 +26.56% + G Diago_CG diag +5.16 12 +0.43 +20.93% + E Charge mix_rho +0.76 12 +0.06 +3.09% + ---------------------------------------------------------------------------------------- + + CLASS_NAME---------|NAME---------------|MEMORY(MB)-------- + +98.5390 + Charge_Pulay Rrho +21.3574 + Charge_Pulay dRrho +18.6877 + Charge_Pulay drho +18.6877 + Use_FFT porter +5.3394 + PW_Basis struc_fac +4.9242 + Charge rho +2.6697 + Charge rho_save +2.6697 + Charge rho_core +2.6697 + potential vltot +2.6697 + potential vr +2.6697 + potential vrs +2.6697 + potential vrs1 +2.6697 + potential vnew +2.6697 + Charge_Pulay rho_save2 +2.6697 + wavefunc evc +1.5395 + Charge rhog +1.2310 + Charge rhog_save +1.2310 + Charge rhog_core +1.2310 + ---------------------------------------------------------- + + Start Time : Tue Jun 1 15:08:11 2021 + Finish Time : Tue Jun 1 15:08:36 2021 + Total Time : +0 h +0 mins +25 secs diff --git a/tests/generator/out_data_post_fp_abacus/02.fp/task.001.000001/POSCAR b/tests/generator/out_data_post_fp_abacus/02.fp/task.001.000001/POSCAR new file mode 100644 index 000000000..7c2c619b0 --- /dev/null +++ b/tests/generator/out_data_post_fp_abacus/02.fp/task.001.000001/POSCAR @@ -0,0 +1,13 @@ +H4 C1 +1.0 +1.0256560185400000e+01 0.0000000000000000e+00 0.0000000000000000e+00 +-2.4531774970000000e-01 9.8128484190999998e+00 0.0000000000000000e+00 +-2.5710315189999999e-01 -3.0129123369999999e-01 9.8293471193999995e+00 +H C +4 1 +Cartesian + 5.9687000000 4.6383900000 4.1575300000 + 4.6429900000 5.1980600000 5.1279100000 + 4.7622200000 3.4931800000 4.6941900000 + 4.4575900000 4.6034900000 3.4124700000 + 4.9073000000 4.4569300000 4.3732300000 diff --git a/tests/generator/out_data_post_fp_abacus/02.fp/task.001.000001/STRU b/tests/generator/out_data_post_fp_abacus/02.fp/task.001.000001/STRU new file mode 100644 index 000000000..7990c5e3a --- /dev/null +++ b/tests/generator/out_data_post_fp_abacus/02.fp/task.001.000001/STRU @@ -0,0 +1,25 @@ +ATOMIC_SPECIES +H 1.00 H_ONCV_PBE-1.0.upf +C 1.00 C_ONCV_PBE-1.0.upf + +LATTICE_CONSTANT +1.8897261254578281 + +LATTICE_VECTORS +10.2565601854 0.0 0.0 +-0.2453177497 9.8128484191 0.0 +-0.2571031519 -0.3012912337 9.8293471194 + +ATOMIC_POSITIONS +Cartesian # Cartesian(Unit is LATTICE_CONSTANT) +H +0.0 +4 +5.968700000000 4.638390000000 4.157530000000 0 0 0 +4.642990000000 5.198060000000 5.127910000000 0 0 0 +4.762220000000 3.493180000000 4.694190000000 0 0 0 +4.457590000000 4.603490000000 3.412470000000 0 0 0 +C +0.0 +1 +4.907300000000 4.456930000000 4.373230000000 0 0 0 diff --git a/tests/generator/out_data_post_fp_abacus/02.fp/task.001.000001/output b/tests/generator/out_data_post_fp_abacus/02.fp/task.001.000001/output new file mode 100644 index 000000000..b0debe1e8 --- /dev/null +++ b/tests/generator/out_data_post_fp_abacus/02.fp/task.001.000001/output @@ -0,0 +1,81 @@ + ********************************************************* + * * + * WELCOME TO ABACUS * + * * + * 'Atomic-orbital Based Ab-initio * + * Computation at UStc' * + * * + * Website: http://abacus.ustc.edu.cn/ * + * * + ********************************************************* + Tue Jun 1 15:08:11 2021 + MAKE THE DIR : OUT.ABACUS/ + DONE(0.227909 SEC) : SETUP UNITCELL + DONE(0.279072 SEC) : SYMMETRY + DONE(0.280556 SEC) : INIT K-POINTS + --------------------------------------------------------- + This calculation is self-consistent + --------------------------------------------------------- + SPIN KPOINTS PROCESSORS + 1 1 4 + --------------------------------------------------------- + Use plane wave basis + --------------------------------------------------------- + ELEMENT NATOM XC + H 4 PBE + C 1 PBE + --------------------------------------------------------- + Initial plane wave basis and FFT box + --------------------------------------------------------- + DONE(0.752093 SEC) : INIT PLANEWAVE + UNIFORM GRID DIM : 120 * 108 * 108 + UNIFORM GRID DIM(BIG): 120 * 108 * 108 + MEMORY FOR PSI (MB) : 1.53946 + DONE(6.44984 SEC) : LOCAL POTENTIAL + DONE(6.45586 SEC) : NON-LOCAL POTENTIAL + START POTENTIAL : atomic + DONE(7.58819 SEC) : INIT POTENTIAL + DONE(7.7217 SEC) : INIT BASIS + ------------------------------------------- + SELF-CONSISTENT : + ------------------------------------------- + ITER ETOT(eV) EDIFF(eV) DRHO2 CG_ITER TIME(S) + CG1 -2.187025e+02 0.000000e+00 7.298e-01 1.080e+01 1.730e+00 + CG2 -2.196514e+02 -9.488816e-01 5.470e-02 2.600e+00 9.200e-01 + CG3 -2.197226e+02 -7.120777e-02 1.663e-02 3.600e+00 1.060e+00 + CG4 -2.197322e+02 -9.626955e-03 1.204e-02 3.000e+00 9.600e-01 + CG5 -2.197629e+02 -3.073386e-02 3.887e-05 2.800e+00 9.400e-01 + CG6 -2.197641e+02 -1.190684e-03 6.534e-06 4.800e+00 1.180e+00 + CG7 -2.197641e+02 -5.146530e-06 6.104e-07 2.800e+00 9.500e-01 + CG8 -2.197641e+02 -4.310203e-07 1.719e-07 3.600e+00 1.040e+00 + CG9 -2.197641e+02 1.198682e-07 6.711e-08 3.200e+00 9.700e-01 + CG10 -2.197641e+02 1.184017e-07 2.332e-08 2.800e+00 9.600e-01 + CG11 -2.197641e+02 -2.947662e-08 1.012e-09 2.600e+00 9.300e-01 + CG12 -2.197641e+02 6.981625e-09 1.296e-10 3.200e+00 9.700e-01 + + |CLASS_NAME---------|NAME---------------|TIME(Sec)-----|CALLS----|AVG------|PER%------- + A DC_Driv reading 0.29 1 0.29 1.2 % + B Run_Frag frag_init 0.21 1 0.21 0.85 % + A DC_Driv divide_frag 0.46 1 0.46 1.9 % + B PW_Basis gen_pw 0.46 1 0.46 1.9 % + A DC_Driv solve_eachf 24 1 24 97 % + B Run_Frag frag_pw_line 24 1 24 97 % + C ppcell_vl init_vloc 5.7 1 5.7 23 % + X FFT FFT3D 8.2 837 0.0098 33 % + E potential v_of_rho 3.1 13 0.24 13 % + C wavefunc wfcinit 0.13 1 0.13 0.54 % + G Hamilt_PW cinitcgg 1.5 13 0.11 6.1 % + H Hamilt_PW h_psi 6.3 294 0.022 26 % + I Hamilt_PW add_vuspsi 0.16 294 0.00056 0.67 % + C Ions opt_ions_pw 17 1 17 69 % + D electrons self_consistent 13 1 13 52 % + E electrons c_bands 6.7 12 0.56 27 % + F Hamilt diago 6.5 12 0.55 27 % + G Diago_CG diag 5.2 12 0.43 21 % + E Charge mix_rho 0.76 12 0.063 3.1 % + ---------------------------------------------------------------------------------------- + + START Time : Tue Jun 1 15:08:11 2021 + FINISH Time : Tue Jun 1 15:08:36 2021 + TOTAL Time : 25 + SEE INFORMATION IN : OUT.ABACUS/ diff --git a/tests/generator/out_data_post_fp_abacus/orig/box.raw b/tests/generator/out_data_post_fp_abacus/orig/box.raw new file mode 100644 index 000000000..01d8995ec --- /dev/null +++ b/tests/generator/out_data_post_fp_abacus/orig/box.raw @@ -0,0 +1,2 @@ +1.025655610217515346e+01 0.000000000000000000e+00 0.000000000000000000e+00 -2.453176520368934022e-01 9.812844512520625173e+00 0.000000000000000000e+00 -2.571030495450233877e-01 -3.012911137533678674e-01 9.829343206252350029e+00 +1.025655610217515346e+01 0.000000000000000000e+00 0.000000000000000000e+00 -2.453176520368934022e-01 9.812844512520625173e+00 0.000000000000000000e+00 -2.571030495450233877e-01 -3.012911137533678674e-01 9.829343206252350029e+00 diff --git a/tests/generator/out_data_post_fp_abacus/orig/coord.raw b/tests/generator/out_data_post_fp_abacus/orig/coord.raw new file mode 100644 index 000000000..c80e71221 --- /dev/null +++ b/tests/generator/out_data_post_fp_abacus/orig/coord.raw @@ -0,0 +1,2 @@ +5.347517871106284737e+00 4.132988354621125460e+00 3.424088636840314059e+00 4.009958403600426990e+00 5.010068005448031769e+00 4.173708338410142993e+00 5.589177774899359186e+00 5.082417976644874713e+00 4.866118062755765195e+00 4.705248126799496333e+00 3.519008599051845820e+00 4.886068054813499373e+00 4.922268040401967859e+00 4.472648219399557590e+00 4.376728257586134596e+00 +5.968697623809181785e+00 4.638388153417038140e+00 4.157528344851540325e+00 4.642988151585738521e+00 5.198057930607595800e+00 5.127907958534914101e+00 4.762218104119249062e+00 3.493178609334990803e+00 4.694188131202577274e+00 4.457588225395072712e+00 4.603488167311027723e+00 3.412468641466336106e+00 4.907298046361653121e+00 4.456928225657824427e+00 4.373228258979515282e+00 diff --git a/tests/generator/out_data_post_fp_abacus/orig/energy.raw b/tests/generator/out_data_post_fp_abacus/orig/energy.raw new file mode 100644 index 000000000..d7e762650 --- /dev/null +++ b/tests/generator/out_data_post_fp_abacus/orig/energy.raw @@ -0,0 +1,2 @@ +-2.197924465754728089e+02 +-2.197641367648340349e+02 diff --git a/tests/generator/out_data_post_fp_abacus/orig/force.raw b/tests/generator/out_data_post_fp_abacus/orig/force.raw new file mode 100644 index 000000000..1e42ae234 --- /dev/null +++ b/tests/generator/out_data_post_fp_abacus/orig/force.raw @@ -0,0 +1,2 @@ +7.607500000000000373e-02 3.334309999999999774e-01 -1.210559999999999969e-01 -4.998139999999999805e-01 1.840160000000000129e-01 -5.376000000000000223e-02 1.661246000000000000e+00 1.279636999999999913e+00 1.377318999999999960e+00 -5.203000000000000159e-03 4.784840000000000204e-01 3.535690000000000222e-01 -1.232302999999999926e+00 -2.275568999999999953e+00 -1.556071999999999900e+00 +1.613670000000000104e-01 -2.791150000000000020e-01 2.375379999999999991e-01 -4.386079999999999979e-01 1.208299999999999999e-02 -8.075300000000000533e-02 -3.543080000000000118e-01 -2.385815000000000019e+00 9.172599999999999643e-01 -8.628430000000000266e-01 2.835719999999999907e-01 -4.649679999999999924e-01 1.494391999999999943e+00 2.369276000000000160e+00 -6.090769999999999795e-01 diff --git a/tests/generator/out_data_post_fp_abacus/orig/set.000/box.npy b/tests/generator/out_data_post_fp_abacus/orig/set.000/box.npy new file mode 100644 index 000000000..5493f23dc Binary files /dev/null and b/tests/generator/out_data_post_fp_abacus/orig/set.000/box.npy differ diff --git a/tests/generator/out_data_post_fp_abacus/orig/set.000/coord.npy b/tests/generator/out_data_post_fp_abacus/orig/set.000/coord.npy new file mode 100644 index 000000000..9ef5c3713 Binary files /dev/null and b/tests/generator/out_data_post_fp_abacus/orig/set.000/coord.npy differ diff --git a/tests/generator/out_data_post_fp_abacus/orig/set.000/energy.npy b/tests/generator/out_data_post_fp_abacus/orig/set.000/energy.npy new file mode 100644 index 000000000..a9e9c21e5 Binary files /dev/null and b/tests/generator/out_data_post_fp_abacus/orig/set.000/energy.npy differ diff --git a/tests/generator/out_data_post_fp_abacus/orig/set.000/force.npy b/tests/generator/out_data_post_fp_abacus/orig/set.000/force.npy new file mode 100644 index 000000000..6c90fae84 Binary files /dev/null and b/tests/generator/out_data_post_fp_abacus/orig/set.000/force.npy differ diff --git a/tests/generator/out_data_post_fp_abacus/orig/set.000/virial.npy b/tests/generator/out_data_post_fp_abacus/orig/set.000/virial.npy new file mode 100644 index 000000000..8b7077794 Binary files /dev/null and b/tests/generator/out_data_post_fp_abacus/orig/set.000/virial.npy differ diff --git a/tests/generator/out_data_post_fp_abacus/orig/type.raw b/tests/generator/out_data_post_fp_abacus/orig/type.raw new file mode 100644 index 000000000..0b21c0d0e --- /dev/null +++ b/tests/generator/out_data_post_fp_abacus/orig/type.raw @@ -0,0 +1,5 @@ +0 +0 +0 +0 +1 diff --git a/tests/generator/out_data_post_fp_abacus/orig/type_map.raw b/tests/generator/out_data_post_fp_abacus/orig/type_map.raw new file mode 100644 index 000000000..35025b8b1 --- /dev/null +++ b/tests/generator/out_data_post_fp_abacus/orig/type_map.raw @@ -0,0 +1,2 @@ +H +C diff --git a/tests/generator/out_data_post_fp_abacus/orig/virial.raw b/tests/generator/out_data_post_fp_abacus/orig/virial.raw new file mode 100644 index 000000000..bd961b15b --- /dev/null +++ b/tests/generator/out_data_post_fp_abacus/orig/virial.raw @@ -0,0 +1,2 @@ +1.577361027367633950e+00 7.219745599453539775e-01 8.379100448482763586e-01 7.219745599453539775e-01 2.902466263928850099e-01 5.136411252101861225e-01 8.379100448482763586e-01 5.136411252101861225e-01 9.625665818900658310e-01 +7.090754003383151760e-01 -8.138276466222123251e-02 3.493695919755006041e-01 -8.138276466222123251e-02 2.277046360201712805e+00 -9.675196172345627010e-01 3.493695919755006041e-01 -9.675196172345627010e-01 6.106750335337453039e-01 diff --git a/tests/generator/param-methane-abacus.json b/tests/generator/param-methane-abacus.json new file mode 100644 index 000000000..2fca7d924 --- /dev/null +++ b/tests/generator/param-methane-abacus.json @@ -0,0 +1,147 @@ +{ + "type_map": ["H", "C"], + "mass_map": [1.0, 12.0], + + "_comment": "initial data set for Training and the number of frames in each training batch", + "init_data_prefix": "/home/mhchen_pkuhpc/mhchen_cls/lustre2/5_liurenxi/5_ABACUS_dpgen_interface/5_dpgen_examples/dpgen-example/run_abacus/", + "init_data_sys": [ + "abacus_init_data" + ], + "init_batch_size": [ + 8 + ], + + "_comment": "configurations for starting MD in Exploration and batch sizes when traning snapshots derived from these configs (if they were selected)", + "sys_configs_prefix": "/home/mhchen_pkuhpc/mhchen_cls/lustre2/5_liurenxi/5_ABACUS_dpgen_interface/5_dpgen_examples/dpgen-example/run", + "sys_configs": [ + [ + "CH4.POSCAR.01x01x01/01.scale_pert/sys-0004-0001/scale-1.000/000000/POSCAR", + "CH4.POSCAR.01x01x01/01.scale_pert/sys-0004-0001/scale-1.000/000001/POSCAR", + "CH4.POSCAR.01x01x01/01.scale_pert/sys-0004-0001/scale-1.000/00000[2-9]/POSCAR" + ], + [ + "CH4.POSCAR.01x01x01/01.scale_pert/sys-0004-0001/scale-1.000/00001*/POSCAR" + ] + ], + "sys_batch_size": [ + 8, + 8 + ], + + "_comment": " 00.train ", + "numb_models": 4, + + "default_training_param": { + "model": { + "type_map": ["H","C"], + "descriptor": { + "type": "se_a", + "sel": [16,4], + "rcut_smth": 0.5, + "rcut": 5.0, + "neuron": [10,20,40], + "resnet_dt": false, + "axis_neuron": 12, + "seed": 0 + }, + "fitting_net": { + "neuron": [120,120,120], + "resnet_dt": true, + "coord_norm": true, + "type_fitting_net": false, + "seed": 0 + } + }, + "loss": { + "start_pref_e": 0.02, + "limit_pref_e": 2, + "start_pref_f": 1000, + "limit_pref_f": 1, + "start_pref_v": 0, + "limit_pref_v": 0 + }, + "learning_rate": { + "type": "exp", + "start_lr": 0.001, + "decay_steps": 180, + "decay_rate": 0.95 + }, + "training": { + "systems": [], + "set_prefix": "set", + "stop_batch": 36000, + "batch_size": 1, + "seed": 1, + "_comment": "frequencies counted in batch", + "disp_file": "lcurve.out", + "disp_freq": 1000, + "numb_test": 4, + "save_freq": 1000, + "save_ckpt": "model.ckpt", + "load_ckpt": "model.ckpt", + "disp_training": true, + "time_training": true, + "profiling": false, + "profiling_file": "timeline.json" + } + }, + + "_comment": " 01.model_devi ", + "model_devi_dt": 0.002, + "model_devi_skip": 0, + "model_devi_f_trust_lo": 0.05, + "model_devi_f_trust_hi": 0.15, + "model_devi_clean_traj": false, + "model_devi_jobs": [ + { + "sys_idx": [ + 0 + ], + "temps": [ + 50 + ], + "press": [ + 1 + ], + "trj_freq": 10, + "nsteps": 1000, + "ensemble": "nvt", + "_idx": "00" + }, + { + "sys_idx": [ + 1 + ], + "temps": [ + 50 + ], + "press": [ + 1 + ], + "trj_freq": 10, + "nsteps": 3000, + "ensemble": "nvt", + "_idx": "01" + } + ], + + "_comment": " 02.fp ", + "fp_style": "abacus/scf", + "shuffle_poscar": false, + "fp_task_max": 30, + "fp_task_min": 8, + "fp_pp_path": ".", + "fp_pp_files": [ "H_HSCV_PBE-1.0.UPF","C_HSCV_PBE-1.0.UPF"], + "user_fp_params":{ + "ntype": 2, + "ecutwfc": 80, + "mixing_type": "pulay", + "mixing_beta": 0.4, + "symmetry": 1, + "nbands": 5, + "nspin": 1, + "ks_solver": "cg", + "smearing": "fixed", + "sigma": 0.001 + } +} diff --git a/tests/generator/test_gromacs_engine.py b/tests/generator/test_gromacs_engine.py new file mode 100644 index 000000000..cfbeaa997 --- /dev/null +++ b/tests/generator/test_gromacs_engine.py @@ -0,0 +1,115 @@ +import os, sys, glob, shutil +import unittest +import json +import numpy as np +import importlib + +sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))) +__package__ = 'generator' +dirname = os.path.join(os.path.abspath(os.path.dirname(__file__)), "gromacs") + +from .context import make_model_devi +from .context import make_fp_gaussian + +def _make_fake_graphs(train_path): + if not os.path.exists(train_path): + os.mkdir(train_path) + for ii in range(4): + with open(os.path.join(train_path, f"graph.{ii:03}.pb"), 'w+') as f: + f.write("Fake Model") + +class TestGromacsModelDeviEngine(unittest.TestCase): + def setUp(self): + self.dirname = dirname + self.jdata = { + "type_map": ["H", "C", "N", "O", "Cl"], + "mass_map": [2, 12, 14, 16, 35], + "sys_configs_prefix": self.dirname, + "sys_configs": [["model_devi_case"]], + "sys_format": "gromacs/gro", + "model_devi_engine": "gromacs", + "gromacs_settings": { + "mdp_filename": "md.mdp", + "topol_filename": "processed.top", + "conf_filename": "npt.gro", + "index_filename": "index.raw", + "ref_filename": "em.tpr", + "model_devi_script": "model_devi.py", + "traj_filename": "deepmd_traj.gro" + }, + "model_devi_dt": 0.001, + "model_devi_f_trust_lo": 0.05, + "model_devi_f_trust_hi": 0.10, + "model_devi_e_trust_lo": 1e10, + "model_devi_e_trust_hi": 1e10, + "model_devi_clean_traj": False, + "model_devi_skip": 0, + "model_devi_nopbc": True, + "model_devi_jobs": [ + { + "ensemble": "nvt", + "nsteps": 5000, + "sys_idx": [0], + "trj_freq": 10 + } + ], + "shuffle_poscar": False, + "fp_style": "gaussian", + "shuffle_poscar": False, + "fp_task_max": 20, + "fp_task_min": 1, + "fp_pp_path": "./", + "fp_pp_files": [], + "fp_params": { + "keywords": "force m062x/6-31g(d) nosymm", + "nproc": 16, + "multiplicity": "auto" + } + } + self.iter_path = os.path.join(os.path.abspath(os.path.dirname(__file__)), "iter.000000") + if not os.path.exists(self.iter_path): + os.mkdir(self.iter_path) + self.train_path = os.path.join(self.iter_path, "00.train") + self.model_devi_path = os.path.join(self.iter_path, "01.model_devi") + self.model_devi_task_path = os.path.join(self.model_devi_path, "task.000.000000") + self.fp_path = os.path.join(self.iter_path, "02.fp") + _make_fake_graphs(self.train_path) + + def _check_dir(self, wdir, post=True): + for key in self.jdata['gromacs_settings'].keys(): + if key != "traj_filename": + self.assertTrue(os.path.exists(os.path.join(wdir, self.jdata['gromacs_settings'][key]))) + else: + if post: + self.assertTrue(os.path.exists(os.path.join(wdir, self.jdata['gromacs_settings'][key]))) + + def _copy_outputs(self, path_1, path_2): + shutil.copy(os.path.join(path_1, "deepmd_traj.gro"), os.path.join(path_2, "deepmd_traj.gro")) + shutil.copy(os.path.join(path_1, "model_devi.out"), os.path.join(path_2, "model_devi.out")) + shutil.copytree(os.path.join(path_1, "traj"), os.path.join(path_2, "traj")) + + def test_make_model_devi_gromacs(self): + flag = make_model_devi(iter_index=0, + jdata=self.jdata, + mdata={}) + self.assertTrue(flag) + self.assertTrue(os.path.exists(self.model_devi_path)) + self.assertTrue(os.path.exists(self.model_devi_task_path)) + self._check_dir(self.model_devi_task_path, post=False) + self._copy_outputs(os.path.join(self.dirname, "outputs"), self.model_devi_task_path) + self._check_dir(self.model_devi_task_path, post=True) + + @unittest.skipIf(importlib.util.find_spec("openbabel") is None, "requires openbabel") + def test_make_fp_gaussian(self): + make_fp_gaussian(iter_index=0, jdata=self.jdata) + candi = np.loadtxt(os.path.join(self.fp_path, "candidate.shuffled.000.out"), dtype=np.str) + candi_ref = np.loadtxt(os.path.join(self.dirname, "outputs", "candidate.shuffled.000.out"), dtype=np.str) + self.assertEqual(sorted([int(i) for i in candi[:,1]]), [0,10,20,30,50]) + + + def tearDown(self): + #pass + shutil.rmtree(self.iter_path) +if __name__ == '__main__': + unittest.main() + diff --git a/tests/generator/test_make_fp.py b/tests/generator/test_make_fp.py index 0607c8132..09ac5aede 100644 --- a/tests/generator/test_make_fp.py +++ b/tests/generator/test_make_fp.py @@ -13,6 +13,7 @@ from .context import param_old_file from .context import param_pwscf_file from .context import param_pwscf_old_file +from .context import param_abacus_post_file from .context import param_siesta_file from .context import param_gaussian_file from .context import param_cp2k_file @@ -148,7 +149,25 @@ IN.PSP2 = H.SG15.PBE.UPF\n\ IN.PSP3 = N.SG15.PBE.UPF\n"; - +abacus_input_ref = "INPUT_PARAMETERS\n\ +ntype 2\n\ +pseudo_dir ./\n\ +ecutwfc 80.000000\n\ +mixing_type pulay\n\ +mixing_beta 0.400000\n\ +symmetry 1\n\ +nbands 5.000000\n\ +nspin 1\n\ +ks_solver cg\n\ +smearing fixed\n\ +sigma 0.001000\n\ +force 1\n\ +stress 1\n" + +abacus_kpt_ref = "K_POINTS\n\ +0\n\ +Gamma\n\ +1 1 1 0 0 0\n" def _box2lmpbox(orig, box) : @@ -382,6 +401,26 @@ def _check_pwscf_input_head(testCase, idx) : lines = lines[:idx] testCase.assertEqual(('\n'.join(lines)).strip(), pwscf_input_ref.strip()) +def _check_abacus_input(testCase, idx) : + fp_path = os.path.join('iter.%06d' % idx, '02.fp') + tasks = glob.glob(os.path.join(fp_path, 'task.*')) + for ii in tasks : + ifile = os.path.join(ii, 'INPUT') + testCase.assertTrue(os.path.isfile(ifile)) + with open(ifile) as fp: + lines = fp.read().split('\n') + testCase.assertEqual(('\n'.join(lines)).strip(), abacus_input_ref.strip()) + +def _check_abacus_kpt(testCase, idx) : + fp_path = os.path.join('iter.%06d' % idx, '02.fp') + tasks = glob.glob(os.path.join(fp_path, 'task.*')) + for ii in tasks : + ifile = os.path.join(ii, 'KPT') + testCase.assertTrue(os.path.isfile(ifile)) + with open(ifile) as fp: + lines = fp.read().split('\n') + testCase.assertEqual(('\n'.join(lines)).strip(), abacus_kpt_ref.strip()) + def _check_siesta_input_head(testCase, idx) : fp_path = os.path.join('iter.%06d' % idx, '02.fp') tasks = glob.glob(os.path.join(fp_path, 'task.*')) @@ -444,6 +483,7 @@ def _check_pwmat_input(testCase, idx): class TestMakeFPPwscf(unittest.TestCase): def test_make_fp_pwscf(self): + setUpModule() if os.path.isdir('iter.000000') : shutil.rmtree('iter.000000') with open (param_pwscf_file, 'r') as fp : @@ -470,6 +510,7 @@ def test_make_fp_pwscf(self): shutil.rmtree('iter.000000') def test_make_fp_pwscf_old(self): + setUpModule() if os.path.isdir('iter.000000') : shutil.rmtree('iter.000000') with open (param_pwscf_old_file, 'r') as fp : @@ -495,8 +536,38 @@ def test_make_fp_pwscf_old(self): _check_potcar(self, 0, jdata['fp_pp_path'], jdata['fp_pp_files']) shutil.rmtree('iter.000000') +class TestMakeFPABACUS(unittest.TestCase): + def test_make_fp_abacus(self): + setUpModule() + if os.path.isdir('iter.000000') : + shutil.rmtree('iter.000000') + with open (param_abacus_post_file, 'r') as fp : + jdata = json.load (fp) + with open (machine_file, 'r') as fp: + mdata = json.load (fp) + md_descript = [] + nsys = 2 + nmd = 3 + n_frame = 10 + for ii in range(nsys) : + tmp = [] + for jj in range(nmd) : + tmp.append(np.arange(0, 0.29, 0.29/10)) + md_descript.append(tmp) + atom_types = [0, 0, 0, 0, 1] + type_map = jdata['type_map'] + _make_fake_md(0, md_descript, atom_types, type_map) + make_fp(0, jdata, {}) + _check_sel(self, 0, jdata['fp_task_max'], jdata['model_devi_f_trust_lo'], jdata['model_devi_f_trust_hi']) + _check_poscars(self, 0, jdata['fp_task_max'], jdata['type_map']) + _check_abacus_input(self, 0) + _check_abacus_kpt(self, 0) + _check_potcar(self, 0, jdata['fp_pp_path'], jdata['fp_pp_files']) + shutil.rmtree('iter.000000') + class TestMakeFPSIESTA(unittest.TestCase): def test_make_fp_siesta(self): + setUpModule() if os.path.isdir('iter.000000') : shutil.rmtree('iter.000000') with open (param_siesta_file, 'r') as fp : @@ -524,6 +595,7 @@ def test_make_fp_siesta(self): class TestMakeFPVasp(unittest.TestCase): def test_make_fp_vasp(self): + setUpModule() if os.path.isdir('iter.000000') : shutil.rmtree('iter.000000') with open (param_file, 'r') as fp : @@ -554,6 +626,7 @@ def test_make_fp_vasp(self): shutil.rmtree('iter.000000') def test_make_fp_vasp_old(self): + setUpModule() if os.path.isdir('iter.000000') : shutil.rmtree('iter.000000') with open (param_old_file, 'r') as fp : @@ -616,6 +689,7 @@ def test_make_fp_vasp_less_sel(self): def test_make_fp_vasp_from_incar(self): ## Verify if user chooses to diy VASP INCAR totally. + setUpModule() if os.path.isdir('iter.000000') : shutil.rmtree('iter.000000') with open (param_diy_file, 'r') as fp : @@ -649,6 +723,7 @@ def test_make_fp_vasp_from_incar(self): def test_make_fp_vasp_ele_temp(self): ## Verify if user chooses to diy VASP INCAR totally. + setUpModule() if os.path.isdir('iter.000000') : shutil.rmtree('iter.000000') with open (param_diy_file, 'r') as fp : @@ -684,6 +759,7 @@ def test_make_fp_vasp_ele_temp(self): class TestMakeFPGaussian(unittest.TestCase): def make_fp_gaussian(self, multiplicity="auto"): + setUpModule() if os.path.isdir('iter.000000') : shutil.rmtree('iter.000000') with open (param_gaussian_file, 'r') as fp : @@ -734,6 +810,7 @@ def _check_multiplicity(self, symbols, multiplicity): class TestMakeFPCP2K(unittest.TestCase): def test_make_fp_cp2k(self): + setUpModule() if os.path.isdir('iter.000000') : shutil.rmtree('iter.000000') with open (param_cp2k_file, 'r') as fp : @@ -761,6 +838,7 @@ def test_make_fp_cp2k(self): _check_potcar(self, 0, jdata['fp_pp_path'], jdata['fp_pp_files']) shutil.rmtree('iter.000000') def test_make_fp_cp2k_exinput(self): + setUpModule() if os.path.isdir('iter.000000') : shutil.rmtree('iter.000000') with open (param_cp2k_file_exinput, 'r') as fp : @@ -792,6 +870,7 @@ def test_make_fp_cp2k_exinput(self): class TestMakeFPPWmat(unittest.TestCase): def test_make_fp_pwmat(self): + setUpModule() if os.path.isdir('iter.000000') : shutil.rmtree('iter.000000') with open (param_pwmat_file, 'r') as fp : diff --git a/tests/generator/test_make_train.py b/tests/generator/test_make_train.py index 3fa820d82..583447a35 100644 --- a/tests/generator/test_make_train.py +++ b/tests/generator/test_make_train.py @@ -175,7 +175,10 @@ def _check_pb_link(testCase, iter_idx, numb_models) : os.chdir(pwd) class TestMakeTrain(unittest.TestCase): - def test_0 (self) : + + def test_0 (self) : + # No longer support for DeePMD-kit-0.x version. + return with open (param_file, 'r') as fp : jdata = json.load (fp) with open (machine_file, 'r') as fp: @@ -194,6 +197,8 @@ def test_0 (self) : shutil.rmtree('iter.000000') def test_1_data(self) : + # No longer support for DeePMD-kit-0.x version. + return with open (param_file, 'r') as fp : jdata = json.load (fp) with open (machine_file, 'r') as fp: @@ -213,6 +218,8 @@ def test_1_data(self) : def test_1_skip(self): + # No longer support for DeePMD-kit-0.x version. + return with open (param_file, 'r') as fp : jdata = json.load (fp) with open (machine_file, 'r') as fp: diff --git a/tests/generator/test_post_fp.py b/tests/generator/test_post_fp.py index 629f416b8..8c14889f6 100644 --- a/tests/generator/test_post_fp.py +++ b/tests/generator/test_post_fp.py @@ -7,6 +7,7 @@ __package__ = 'generator' from .context import post_fp from .context import post_fp_pwscf +from .context import post_fp_abacus_pw_scf from .context import post_fp_siesta from .context import post_fp_vasp from .context import post_fp_gaussian @@ -15,6 +16,7 @@ from .context import param_old_file from .context import param_pwscf_file from .context import param_pwscf_old_file +from .context import param_abacus_post_file from .context import param_siesta_file from .context import param_gaussian_file from .context import param_cp2k_file @@ -177,6 +179,22 @@ def setUp(self): self.system_1 = dpdata.LabeledSystem('iter.000000/orig', fmt = 'deepmd/raw') self.system_2 = dpdata.LabeledSystem('iter.000000/02.fp/data.000', fmt = 'deepmd/raw') +class TestPostFPABACUS(unittest.TestCase, CompLabeledSys): + def setUp(self): + self.places = 5 + self.e_places = 5 + self.f_places = 5 + self.v_places = 2 + assert os.path.isdir('out_data_post_fp_abacus'), 'out data for post fp pwscf should exist' + if os.path.isdir('iter.000000') : + shutil.rmtree('iter.000000') + shutil.copytree('out_data_post_fp_abacus', 'iter.000000') + with open (param_abacus_post_file, 'r') as fp : + jdata = json.load (fp) + post_fp(0, jdata) + self.system_1 = dpdata.LabeledSystem('iter.000000/orig', fmt = 'deepmd/raw') + self.system_2 = dpdata.LabeledSystem('iter.000000/02.fp/data.000', fmt = 'deepmd/raw') + class TestPostFPSIESTA(unittest.TestCase, CompLabeledSys): def setUp(self): self.places = 5