From 2cc2bf1f69f4dfd84a9f45784c885e7e1daeb540 Mon Sep 17 00:00:00 2001 From: HuangJiameng <105633685+HuangJiameng@users.noreply.github.com> Date: Sun, 28 Aug 2022 00:38:00 +0800 Subject: [PATCH] update autotest wiki - fix contents according to comments in #891 - reorganize the document structure --- doc/autotest/Auto-test-to-do-list.md | 37 ---- doc/autotest/Auto-test.md | 166 ++++++++---------- doc/autotest/Make-run-and-post.md | 21 --- doc/autotest/Property-type.md | 18 -- .../Refine-get-started-and-input-examples.md | 24 --- doc/autotest/Task-type.md | 46 ----- doc/autotest/autotest.md | 104 ----------- doc/autotest/index.rst | 24 +-- ...Property-get-started-and-input-examples.md | 50 ++++-- doc/autotest/{ => property}/Property-make.md | 2 +- doc/autotest/{ => property}/Property-post.md | 0 doc/autotest/{ => property}/Property-run.md | 2 +- doc/autotest/property/index.rst | 12 ++ .../EOS-get-started-and-input-examples.md | 0 .../{ => property/properties}/EOS-make.md | 0 .../{ => property/properties}/EOS-post.md | 0 .../{ => property/properties}/EOS-run.md | 0 .../Elastic-get-started-and-input-examples.md | 2 +- .../{ => property/properties}/Elastic-make.md | 2 +- .../{ => property/properties}/Elastic-post.md | 0 .../{ => property/properties}/Elastic-run.md | 0 ...rstitial-get-started-and-input-examples.md | 0 .../properties}/Interstitial-make.md | 0 .../properties}/Interstitial-post.md | 0 .../properties}/Interstitial-run.md | 0 .../Surface-get-started-and-input-examples.md | 0 .../{ => property/properties}/Surface-make.md | 0 .../{ => property/properties}/Surface-post.md | 0 .../{ => property/properties}/Surface-run.md | 0 .../Vacancy-get-started-and-input-examples.md | 0 .../{ => property/properties}/Vacancy-make.md | 0 .../{ => property/properties}/Vacancy-post.md | 0 .../{ => property/properties}/Vacancy-run.md | 0 doc/autotest/property/properties/index.rst | 27 +++ .../Refine-get-started-and-input-examples.md | 26 +++ doc/autotest/{ => refine}/Refine-make.md | 2 +- doc/autotest/{ => refine}/Refine-post.md | 2 +- doc/autotest/{ => refine}/Refine-run.md | 2 +- doc/autotest/refine/index.rst | 11 ++ ...laxation-get-started-and-input-examples.md | 26 +-- .../{ => relaxation}/Relaxation-make.md | 2 +- .../{ => relaxation}/Relaxation-post.md | 2 +- .../{ => relaxation}/Relaxation-run.md | 2 +- doc/autotest/relaxation/index.rst | 11 ++ ...eproduce-get-started-and-input-examples.md | 8 +- .../{ => reproduce}/Reproduce-make.md | 2 +- .../{ => reproduce}/Reproduce-post.md | 2 +- doc/autotest/{ => reproduce}/Reproduce-run.md | 2 +- doc/autotest/reproduce/index.rst | 11 ++ 49 files changed, 247 insertions(+), 401 deletions(-) delete mode 100644 doc/autotest/Auto-test-to-do-list.md delete mode 100644 doc/autotest/Make-run-and-post.md delete mode 100644 doc/autotest/Property-type.md delete mode 100644 doc/autotest/Refine-get-started-and-input-examples.md delete mode 100644 doc/autotest/Task-type.md delete mode 100644 doc/autotest/autotest.md rename doc/autotest/{ => property}/Property-get-started-and-input-examples.md (57%) rename doc/autotest/{ => property}/Property-make.md (99%) rename doc/autotest/{ => property}/Property-post.md (100%) rename doc/autotest/{ => property}/Property-run.md (91%) create mode 100644 doc/autotest/property/index.rst rename doc/autotest/{ => property/properties}/EOS-get-started-and-input-examples.md (100%) rename doc/autotest/{ => property/properties}/EOS-make.md (100%) rename doc/autotest/{ => property/properties}/EOS-post.md (100%) rename doc/autotest/{ => property/properties}/EOS-run.md (100%) rename doc/autotest/{ => property/properties}/Elastic-get-started-and-input-examples.md (95%) rename doc/autotest/{ => property/properties}/Elastic-make.md (99%) rename doc/autotest/{ => property/properties}/Elastic-post.md (100%) rename doc/autotest/{ => property/properties}/Elastic-run.md (100%) rename doc/autotest/{ => property/properties}/Interstitial-get-started-and-input-examples.md (100%) rename doc/autotest/{ => property/properties}/Interstitial-make.md (100%) rename doc/autotest/{ => property/properties}/Interstitial-post.md (100%) rename doc/autotest/{ => property/properties}/Interstitial-run.md (100%) rename doc/autotest/{ => property/properties}/Surface-get-started-and-input-examples.md (100%) rename doc/autotest/{ => property/properties}/Surface-make.md (100%) rename doc/autotest/{ => property/properties}/Surface-post.md (100%) rename doc/autotest/{ => property/properties}/Surface-run.md (100%) rename doc/autotest/{ => property/properties}/Vacancy-get-started-and-input-examples.md (100%) rename doc/autotest/{ => property/properties}/Vacancy-make.md (100%) rename doc/autotest/{ => property/properties}/Vacancy-post.md (100%) rename doc/autotest/{ => property/properties}/Vacancy-run.md (100%) create mode 100644 doc/autotest/property/properties/index.rst create mode 100644 doc/autotest/refine/Refine-get-started-and-input-examples.md rename doc/autotest/{ => refine}/Refine-make.md (97%) rename doc/autotest/{ => refine}/Refine-post.md (88%) rename doc/autotest/{ => refine}/Refine-run.md (90%) create mode 100644 doc/autotest/refine/index.rst rename doc/autotest/{ => relaxation}/Relaxation-get-started-and-input-examples.md (72%) rename doc/autotest/{ => relaxation}/Relaxation-make.md (99%) rename doc/autotest/{ => relaxation}/Relaxation-post.md (99%) rename doc/autotest/{ => relaxation}/Relaxation-run.md (98%) create mode 100644 doc/autotest/relaxation/index.rst rename doc/autotest/{ => reproduce}/Reproduce-get-started-and-input-examples.md (70%) rename doc/autotest/{ => reproduce}/Reproduce-make.md (99%) rename doc/autotest/{ => reproduce}/Reproduce-post.md (99%) rename doc/autotest/{ => reproduce}/Reproduce-run.md (89%) create mode 100644 doc/autotest/reproduce/index.rst diff --git a/doc/autotest/Auto-test-to-do-list.md b/doc/autotest/Auto-test-to-do-list.md deleted file mode 100644 index cf5d0a37c..000000000 --- a/doc/autotest/Auto-test-to-do-list.md +++ /dev/null @@ -1,37 +0,0 @@ -## Auto-test-to-do-list - -For the implementation, one should do : -1. Clearly know the input/output of the function/class. How to handle exceptions. -2. Finish coding -3. Provide Unittest -4. Provide Document: what does the user provide in each section of the parameter file (json format) - -common.py -- make_* -- run_* -- post_* - -Property -- EOS -- Elastic -- Vacancy -- Interstitial -- Surface - - - -Task: -- VASP -- DEEPMD_LMP -- MEAM_LMP - - -Specific functions: -1. Property.make_confs : Make configurations needed to compute the property. - The tasks directory will be named as path_to_work/task.xxxxxx - IMPORTANT: handel the case when the directory exists. -2. Property.cmpt : Compute the property. -3. Task.make_input_file(Property.task_type): Prepare input files for a computational task. - For example, the VASP prepares INCAR. - LAMMPS (including DeePMD, MEAM...) prepares in.lammps. - The parameter of this task will be stored in 'output_dir/task.json' diff --git a/doc/autotest/Auto-test.md b/doc/autotest/Auto-test.md index 9db12748b..b49d28516 100644 --- a/doc/autotest/Auto-test.md +++ b/doc/autotest/Auto-test.md @@ -1,124 +1,114 @@ -## Auto-test Overview +## Autotest Overview: Autotest for Deep Generator +Suppose that we have a potential (can be DFT, DP, MEAM ...), `autotest` helps us automatically calculate M properties on N configurations. The folder where the `autotest` runs is called the working directory of `autotest`. Different potentials should be tested in different working directories. -Suppose that we have a potential (can be DFT, DP, MEAM ...), `autotest` helps us automatically calculate M porperties on N configurations. The folder where the `autotest` runs is called the `autotest`'s working directory. Different potentials should be tested in different working directories. - -A property is tested in three stages: `make`, `run` and `post`. `make` prepare all computational tasks that are needed to calculate the property. For example to calculate EOS, `autotest` prepare a series of tasks, each of which has a scaled configuration with certain volume, and all necessary input files necessary for starting a VAPS or LAMMPS relaxation. `run` sends all the computational tasks to remote computational resources defined in a machine configuration file like `machine.json`, and automatically collect the results when remote calculations finish. `post` calculates the desired property from the collected results. +A property is tested in three steps: `make`, `run` and `post`. `make` prepares all computational tasks that are needed to calculate the property. For example to calculate EOS, `make` prepares a series of tasks, each of which has a scaled configuration with certain volume, and all necessary input files necessary for starting a VASP, ABACUS, or LAMMPS calculations. `run` sends all the computational tasks to remote computational resources defined in a machine configuration file like `machine.json`, and automatically collects the results when remote calculations finish. `post` calculates the desired property from the collected results. ### Relaxation The relaxation of a structure should be carried out before calculating all other properties: ```bash -dpgen autotest make equi.json +dpgen autotest make relax.json dpgen autotest run relax.json machine.json -dpgen autotest post equi.json +dpgen autotest post relax.json ``` -If, for some reason, the main program terminated at stage `run`, one can easily restart with the same command. +If, for some reasons, the main program terminated at stage `run`, one can easily restart with the same command. `relax.json` is the parameter file. An example for `deepmd` relaxation is given as: ```json { - "structures": "confs/mp-*", - "interaction": { - "type": "deepmd", - "model": "frozen_model.pb", + "structures": "confs/mp-*", + "interaction": { + "type": "deepmd", + "model": "frozen_model.pb", "type_map": {"Al": 0, "Mg": 1} - }, - "relaxation": { - } + }, + "relaxation": {} } ``` -where the key `structures` provides the structures to relax. `interaction` is provided with `deepmd`, and other options are `vasp`, `eam`, `meam`... +where the key `structures` provides the structures to relax. `interaction` is provided with `deepmd`, and other options are `vasp`, `abacus`, `meam`... -Yuzhi: +### Task type +There are now six task types implemented in the package: `vasp`, `abacus`, `deepmd`, `meam`, `eam_fs`, and `eam_alloy`. An `inter.json` file in json format containing the interaction parameters will be written in the directory of each task after `make`. We give input examples of the `interaction` part for each type below: -1. We should notice that the `interaction` here should always be considered as a unified abstract class, which means that we should avoid repeating identifing which interaction we're using in the main code. -2. The structures here should always considered as a list, and the wildcard should be supported by using `glob`. Before all calculations , there is a stage where we generate the configurations. - -The outputs of the relaxation are stored in the `mp-*/00.relaxation` directory. -```bash -ls mp-* -mp-1/relaxation mp-2/relaxation mp-3/relaxation -``` - -### Other properties - -Other properties can be computed in parallel: -```bash -dpgen autotest make properties.json -dpgen autotest run properties.json machine.json -dpgen autotest post properties.json -``` -where an example of `properties.json` is given by +**VASP**: + +The default of `potcar_prefix` is "". ```json -{ - "structures": "confs/mp-*", "interaction": { "type": "vasp", "incar": "vasp_input/INCAR", "potcar_prefix":"vasp_input", "potcars": {"Al": "POTCAR.al", "Mg": "POTCAR.mg"} - }, - "properties": [ - { - "type": "eos", - "vol_start": 10, - "vol_end": 30, - "vol_step": 0.5 - }, - { - "type": "elastic", - "norm_deform": 2e-2, - "shear_deform": 5e-2 - } - ] -} + } +``` +**ABACUS**: + +The default of `potcar_prefix` is "". The path of potcars/orb_files/deepks_desc is `potcar_prefix` + `potcars`/`orb_files`/`deepks_desc`. +```json + "interaction": { + "type": "abacus", + "incar": "abacus_input/INPUT", + "potcar_prefix":"abacus_input", + "potcars": {"Al": "pseudo_potential.al", "Mg": "pseudo_potential.mg"}, + "orb_files": {"Al": "numerical_orb.al", "Mg": "numerical_orb.mg"}, + "atom_masses": {"Al": 26.9815, "Mg":24.305}, + "deepks_desc": "jle.orb" + } ``` +**deepmd**: +**Only 1** model can be used in autotest in one working directory. -The `dpgen` packed all `eos` and `elastic` task and sends them to corresponding computational resources defined in `machine.json`. The outputs of a property, taking `eos` for example, are stored in -```bash -ls mp-*/ | grep eos -mp-1/eos_00 mp-2/eos_00 mp-3/eos_00 +```json + "interaction": { + "type": "deepmd", + "model": "frozen_model.pb", + "type_map": {"Al": 0, "Mg": 1} + } ``` -where `00` are suffix of the task. +**meam**: -### Refine the calculation of a property - -Some times we want to refine the calculation of a property from previous results. For example, when higher convergence criteria `EDIFF` and `EDIFFG` are necessary, and the new VASP calculation is desired to start from the previous output configration, rather than starting from scratch. -```bash -dpgen autotest make refine.json -dpgen autotest run refine.json machine.json +Please make sure the [USER-MEAMC package](https://lammps.sandia.gov/doc/Packages_details.html#pkg-user-meamc) has already been installed in LAMMPS. +```json + "interaction": { + "type": "meam", + "model": ["meam.lib","AlMg.meam"], + "type_map": {"Al": 1, "Mg": 2} + } ``` -with `refine.json` +**eam_fs & eam_alloy**: + +Please make sure the [MANYBODY package](https://lammps.sandia.gov/doc/Packages_details.html#pkg-manybody) has already been installed in LAMMPS ```json -{ - "properties": { - "eos" : { - "init_from_suffix": "00", - "output_suffix": "01", - "vol_start": 10, - "vol_end": 30, - "vol_step": 0.5 - } - } -} + "interaction": { + "type": "eam_fs (eam_alloy)", + "model": "AlMg.eam.fs (AlMg.eam.alloy)", + "type_map": {"Al": 1, "Mg": 2} + } ``` +### Property type +Now the supported property types are `eos`, `elastic`, `vacancy`, `interstitial`, `surface`, and `gamma`. Before property tests, `relaxation` should be done first or the relaxation results should be present in the corresponding directory `confs/mp-*/relaxation/relax_task`. A file named `task.json` in json format containing the property parameter will be written in the directory of each task after `make` step. Multiple property tests can be performed simultaneously. -### Configuration filter +## Make run and post -Some times the configurations automatically generated are problematic. For example, the distance between the interstitial atom and the lattic is too small, then these configurations should be filtered out. One can set filters of configurations by -```json -{ - "properties": { - "intersitital" : { - "supercell": [3,3,3], - "insert_atom": ["Al"], - "conf_filters": [ - { "min_dist": 2 } - ] - } - } -} +There are three operations in auto test package, namely `make`, `run`, and `post`. Here we take `eos` property as an example for property type. + +### Make +The `INCAR`, `POSCAR`, `POTCAR` input files for VASP or `in.lammps`, `conf.lmp`, and the interatomic potential files for LAMMPS will be generated in the directory `confs/mp-*/relaxation/relax_task` for relaxation or `confs/mp-*/eos_00/task.[0-9]*[0-9]` for EOS. The `machine.json` file is not needed for `make`. Example: +```bash +dpgen autotest make relaxation.json +``` + +### Run +The jobs would be dispatched according to the parameter in `machine.json` file and the calculation results would be sent back. Example: +```bash +dpgen autotest run relaxation.json machine.json +``` + +### Post +The post process of calculation results would be performed. `result.json` in json format will be generated in `confs/mp-*/relaxation/relax_task` for relaxation and `result.json` in json format and `result.out` in txt format in `confs/mp-*/eos_00` for EOS. The `machine.json` file is also not needed for `post`. Example: +```bash +dpgen autotest post relaxation.json ``` diff --git a/doc/autotest/Make-run-and-post.md b/doc/autotest/Make-run-and-post.md deleted file mode 100644 index fe20c1394..000000000 --- a/doc/autotest/Make-run-and-post.md +++ /dev/null @@ -1,21 +0,0 @@ -## Make-run-and-post - -There are three operations in auto test package, namely `make`, `run`, and `post`. Here we take `eos` property as an example for property type. - -### Make -The `INCAR`, `POSCAR`, `POTCAR` input files for VASP or `in.lammps`, `conf.lmp`, and the interatomic potential files for LAMMPS will be generated in the directory `confs/mp-*/relaxation/relax_task` for relaxation or `confs/mp-*/eos_00/task.[0-9]*[0-9]` for EOS. The `machine.json` file is not needed for `make`. Example: -```bash -dpgen autotest make relaxation.json -``` - -### Run -The jobs would be dispatched according to the parameter in `machine.json` file and the calculation results would be sent back. Example: -```bash -dpgen autotest run relaxation.json machine.json -``` - -### Post -The post process of calculation results would be performed. `result.json` in json format will be generated in `confs/mp-*/relaxation/relax_task` for relaxation and `result.json` in json format and `result.out` in txt format in `confs/mp-*/eos_00` for EOS. The `machine.json` file is also not needed for `post`. Example: -```bash -dpgen autotest post relaxation.json -``` diff --git a/doc/autotest/Property-type.md b/doc/autotest/Property-type.md deleted file mode 100644 index 16369b7e0..000000000 --- a/doc/autotest/Property-type.md +++ /dev/null @@ -1,18 +0,0 @@ -## Property-type - -Now the supported property types are `eos`, `elastic`, `vacancy`, `interstitial`, and `surface`. Before property tests, `relaxation` should be done first or the relaxation results should be present in the corresponding directory `confs/mp-*/relaxation/relax_task`. A file named `task.json` in json format containing the property parameter will be written in the directory of each task. Multiple property tests can be performed simultaneously and are written in the `"properties"` part of the input file. An example of `EOS` and `Elastic` tests can be given as follows (please refer to [Property](https://github.com/deepmodeling/dpgen/wiki/Property:-get-started-and-input-examples) for further information of the property parameters): -```json -"properties": [ - { - "type": "eos", - "vol_start": 0.8, - "vol_end": 1.2, - "vol_step": 0.01 - }, - { - "type": "elastic", - "norm_deform": 2e-2, - "shear_deform": 5e-2 - } - ] -``` diff --git a/doc/autotest/Refine-get-started-and-input-examples.md b/doc/autotest/Refine-get-started-and-input-examples.md deleted file mode 100644 index 8bce1af27..000000000 --- a/doc/autotest/Refine-get-started-and-input-examples.md +++ /dev/null @@ -1,24 +0,0 @@ -## Refine-get-started-and-input-examples - -In some cases, we want to refine the calculation results of a property based on previous results by using different convergence criteria like `EDIFF` and `EDIFFG` or higher `ENCUT`. If the parameter of `init_from_suffix` and `output_suffix` are both provided in the input file, `refine` would start based on the results in `init_from_suffix` directory and output the results to `output_suffix` directory. Otherwise, the calculation results would be output to the default suffix `00`. An example of the input file is given below: -```json -{ - "structures": ["confs/std-*"], - "interaction": { - "type": "deepmd", - "model": "frozen_model.pb", - "deepmd_version":"1.2.0", - "type_map": {"Al": 0} - }, - "properties": [ - { - "type": "vacancy", - "init_from_suffix": "00", - "output_suffix": "01", - "cal_setting": {"input_prop": "lammps_input/lammps_high"} - } - ] -} -``` - -In this example, `refine` would output the results to `vacancy_01` based on the previous results in `vacancy_00` by using a different input commands file for lammps. diff --git a/doc/autotest/Task-type.md b/doc/autotest/Task-type.md deleted file mode 100644 index 53fff9ff3..000000000 --- a/doc/autotest/Task-type.md +++ /dev/null @@ -1,46 +0,0 @@ -## Task-type - -There are now five task types implemented in the package: `vasp`, `deepmd`, `meam`, `eam_fs`, and `eam_alloy`. An `inter.json` file in json format containing the interaction parameters will be written in the directory of each task. The input examples of the `"interaction"` part of each type can be found below: - -### VASP: - -The default of `potcar_prefix` is "". -```json - "interaction": { - "type": "vasp", - "incar": "vasp_input/INCAR", - "potcar_prefix":"vasp_input", - "potcars": {"Al": "POTCAR.al", "Mg": "POTCAR.mg"} - } -``` -### deepmd: - -**Only 1** model can be used in autotest in one working directory and the default `"deepmd_version"` is **1.2.0**. - -```json - "interaction": { - "type": "deepmd", - "model": "frozen_model.pb", - "type_map": {"Al": 0, "Mg": 1}, - "deepmd_version":"1.2.0" - } -``` -### meam: -Please make sure the [USER-MEAMC package](https://lammps.sandia.gov/doc/Packages_details.html#pkg-user-meamc) has already been installed in LAMMPS. -```json - "interaction": { - "type": "meam", - "model": ["meam.lib","AlMg.meam"], - "type_map": {"Al": 1, "Mg": 2} - } -``` -### eam_fs & eam_alloy: -Please make sure the [MANYBODY package](https://lammps.sandia.gov/doc/Packages_details.html#pkg-manybody) has already been installed in LAMMPS -```json - "interaction": { - "type": "eam_fs (eam_alloy)", - "model": "AlMg.eam.fs (AlMg.eam.alloy)", - "type_map": {"Al": 1, "Mg": 2} - } -``` - diff --git a/doc/autotest/autotest.md b/doc/autotest/autotest.md deleted file mode 100644 index a8cfe8c10..000000000 --- a/doc/autotest/autotest.md +++ /dev/null @@ -1,104 +0,0 @@ -## autotest - -Suppose that we have a potential (can be DFT, DP, MEAM ...), autotest helps us automatically calculate M porperties on N configurations. The folder where the autotest runs is called the autotest's working directory. Different potentials should be tested in different working directories. - -A property is tested in three stages: make, run and post. make prepare all computational tasks that are needed to calculate the property. For example to calculate EOS, autotest prepare a series of tasks, each of which has a scaled configuration with certain volume, and all necessary input files necessary for starting a VAPS or LAMMPS relaxation. run sends all the computational tasks to remote computational resources defined in a machine configuration file like machine.json, and automatically collect the results when remote calculations finish. post calculates the desired property from the collected results. - -Relaxation -The relaxation of a structure should be carried out before calculating all other properties: - -dpgen autotest make equi.json -dpgen autotest run relax.json machine.json -dpgen autotest post equi.json -If, for some reason, the main program terminated at stage run, one can easily restart with the same command. relax.json is the parameter file. An example for deepmd relaxation is given as: - -{ - "structures": "confs/mp-*", - "interaction": { - "type": "deepmd", - "model": "frozen_model.pb", - "type_map": {"Al": 0, "Mg": 1} - }, - "relaxation": { - } -} -where the key structures provides the structures to relax. interaction is provided with deepmd, and other options are vasp, eam, meam... - -Yuzhi: - -We should notice that the interaction here should always be considered as a unified abstract class, which means that we should avoid repeating identifing which interaction we're using in the main code. -The structures here should always considered as a list, and the wildcard should be supported by using glob. Before all calculations , there is a stage where we generate the configurations. -The outputs of the relaxation are stored in the mp-*/00.relaxation directory. - -ls mp-* -mp-1/relaxation mp-2/relaxation mp-3/relaxation -Other properties -Other properties can be computed in parallel: - -dpgen autotest make properties.json -dpgen autotest run properties.json machine.json -dpgen autotest post properties.json -where an example of properties.json is given by - -{ - "structures": "confs/mp-*", - "interaction": { - "type": "vasp", - "incar": "vasp_input/INCAR", - "potcar_prefix":"vasp_input", - "potcars": {"Al": "POTCAR.al", "Mg": "POTCAR.mg"} - }, - "properties": [ - { - "type": "eos", - "vol_start": 10, - "vol_end": 30, - "vol_step": 0.5 - }, - { - "type": "elastic", - "norm_deform": 2e-2, - "shear_deform": 5e-2 - } - ] -} -The dpgen packed all eos and elastic task and sends them to corresponding computational resources defined in machine.json. The outputs of a property, taking eos for example, are stored in - -ls mp-*/ | grep eos -mp-1/eos_00 mp-2/eos_00 mp-3/eos_00 -where 00 are suffix of the task. - -Refine the calculation of a property -Some times we want to refine the calculation of a property from previous results. For example, when higher convergence criteria EDIFF and EDIFFG are necessary, and the new VASP calculation is desired to start from the previous output configration, rather than starting from scratch. - -dpgen autotest make refine.json -dpgen autotest run refine.json machine.json -with refine.json - -{ - "properties": { - "eos" : { - "init_from_suffix": "00", - "output_suffix": "01", - "vol_start": 10, - "vol_end": 30, - "vol_step": 0.5 - } - } -} -Configuration filter -Some times the configurations automatically generated are problematic. For example, the distance between the interstitial atom and the lattic is too small, then these configurations should be filtered out. One can set filters of configurations by - -{ - "properties": { - "intersitital" : { - "supercell": [3,3,3], - "insert_atom": ["Al"], - "conf_filters": [ - { "min_dist": 2 } - ] - } - } -} -Footer - diff --git a/doc/autotest/index.rst b/doc/autotest/index.rst index fbe944656..4c393354b 100644 --- a/doc/autotest/index.rst +++ b/doc/autotest/index.rst @@ -9,8 +9,6 @@ Auto test :caption: Guidelines Auto-test - Auto-test-to-do-list - .. _Main-components:: @@ -28,21 +26,15 @@ Auto test :maxdepth: 2 :caption: Structure relaxation - Relaxation-get-started-and-input-examples - Relaxation-make - Relaxation-run - Relaxation-post + relaxation/index.rst .. _Property:: .. toctree:: :maxdepth: 2 :caption: Property - - Property-get-started-and-input-examples - Property-make - Property-run - Property-post + + property/index.rst .. _Refine:: @@ -50,10 +42,7 @@ Auto test :maxdepth: 2 :caption: Refine - Refine-get-started-and-input-examples - Refine-make - Refine-run - Refine-post + refine/index.rst .. _Reproduce:: @@ -61,7 +50,4 @@ Auto test :maxdepth: 2 :caption: Reproduce - Reproduce-get-started-and-input-examples - Reproduce-make - Reproduce-run - Reproduce-post + reproduce/index.rst diff --git a/doc/autotest/Property-get-started-and-input-examples.md b/doc/autotest/property/Property-get-started-and-input-examples.md similarity index 57% rename from doc/autotest/Property-get-started-and-input-examples.md rename to doc/autotest/property/Property-get-started-and-input-examples.md index 141f85dcd..0e1cc9a7d 100644 --- a/doc/autotest/Property-get-started-and-input-examples.md +++ b/doc/autotest/property/Property-get-started-and-input-examples.md @@ -1,4 +1,4 @@ -## Property-get-started-and-input-examples +## Property get started and input examples Here we take deepmd for example and the input file for other task types is similar. @@ -8,7 +8,6 @@ Here we take deepmd for example and the input file for other task types is simil "interaction": { "type": "deepmd", "model": "frozen_model.pb", - "deepmd_version":"1.2.0", "type_map": {"Al": 0} }, "properties": [ @@ -20,8 +19,8 @@ Here we take deepmd for example and the input file for other task types is simil }, { "type": "elastic", - "norm_deform": 2e-2, - "shear_deform": 5e-2 + "norm_deform": 1e-2, + "shear_deform": 1e-2 }, { "type": "vacancy", @@ -41,6 +40,16 @@ Here we take deepmd for example and the input file for other task types is simil "min_vacuum_size":11, "max_miller": 2, "cal_type": "static" + }, + { + "type": "gamma", + "lattice_type": "fcc", + "miller_index": [1, 1, 1], + "displace_direction": [1, 1, 0], + "supercell_size": [1, 1, 10], + "min_vacuum_size": 10, + "add_fix": ["true", "true", "false"], + "n_steps": 20 } ] } @@ -49,10 +58,10 @@ Universal key words for properties Key words | data structure | example | description ---|---|---|--- -**type** | String | "eos" | specifying the property type +**type** | String | "eos" | property type skip | Boolean | true | whether to skip current property or not -start_confs_path | String | "../vasp/confs" | starting from the equilibrium configuration in other path only for the current property type -cal_setting["input_prop"] | String | "lammps_input/lammps_high" |input commands file for lammps +start_confs_path | String | "../vasp/confs" | start from the equilibrium configuration in other path only for the current property type +cal_setting["input_prop"] | String | "lammps_input/lammps_high" |input commands file cal_setting["overwrite_interaction"] | Dict | | overwrite the interaction in the `interaction` part only for the current property type other parameters in `cal_setting` and `cal_type` in `relaxation` also apply in `property`. @@ -64,28 +73,29 @@ Key words | data structure | example | description **vol_start** | Float | 0.9 | the starting volume related to the equilibrium structure **vol_end** | Float | 1.1 | the biggest volume related to the equilibrium structure **vol_step** | Float | 0.01 | the volume increment related to the equilibrium structure -**vol_abs** | Boolean | false | whether to treat vol_start and vol_end as absolute volume or not (as relative volume), default = false +vol_abs | Boolean | false | whether to treat vol_start, vol_end and vol_step as absolute volume or not (as relative volume), default = false Key words for **Elastic** Key words | data structure | example | description ---|---|---|--- -norm_deform | Float | 2e-2 | specifying the deformation in xx, yy, zz, default = 2e-3 -shear_deform | Float | 5e-2 | specifying the deformation in other directions, default = 5e-3 +norm_deform | Float | 1e-2 | deformation in xx, yy, zz, default = 1e-2 +shear_deform | Float | 1e-2 | deformation in other directions, default = 1e-2 Key words for **Vacancy** Key words | data structure | example | description ---|---|---|--- -supercell | Lisf of Int | [3,3,3] | the supercell to be constructed, default = [1,1,1] +supercell | List of Int | [3,3,3] | the supercell to be constructed, default = [1,1,1] Key words for **Interstitial** Key words | data structure | example | description ---|---|---|--- -**insert_ele** | Lisf of String | ["Al"] | the element to be inserted -supercell | Lisf of Int | [3,3,3] | the supercell to be constructed, default = [1,1,1] +**insert_ele** | List of String | ["Al"] | the element to be inserted +supercell | List of Int | [3,3,3] | the supercell to be constructed, default = [1,1,1] conf_filters | Dict | "min_dist": 1.5 | filter out the undesirable configuration +bcc_self | Boolean | false | whether to do the self-interstitial calculations for bcc structures, default = false Key words for **Surface** @@ -94,4 +104,16 @@ Key words | data structure | example | description **min_slab_size** | Int | 10 | minimum size of slab thickness **min_vacuum_size** | Int | 11 | minimum size of vacuum width pert_xz | Float | 0.01 | perturbation through xz direction used to compute surface energy, default = 0.01 -max_miller | Int | 2 | the maximum miller index +max_miller | Int | 2 | the maximum miller index, default = 2 + +Key words for **Gamma** + +Key words | data structure | example | description +---|---|---|--- +**lattice_type** | String | "fcc" | "bcc" or "fcc" at this stage +**miller_index** | List of Int | [1,1,1] | slip plane for gamma-line calculation +**displace_direction** | List of Int | [1,1,0] | slip direction for gamma-line calculation +supercell_size | List of Int | [1,1,10] | the supercell to be constructed, default = [1,1,5] +min_vacuum_size | Int or Float | 10 | minimum size of vacuum width, default = 20 +add_fix | List of String | ['true','true','false'] | whether to fix atoms in the direction, default = ['true','true','false'] (standard method) +n_steps | Int | 20 | Number of points for gamma-line calculation, default = 10 \ No newline at end of file diff --git a/doc/autotest/Property-make.md b/doc/autotest/property/Property-make.md similarity index 99% rename from doc/autotest/Property-make.md rename to doc/autotest/property/Property-make.md index 935351217..1b7faed8f 100644 --- a/doc/autotest/Property-make.md +++ b/doc/autotest/property/Property-make.md @@ -1,4 +1,4 @@ -## Property-make +## Property make ```bash dpgen autotest make property.json diff --git a/doc/autotest/Property-post.md b/doc/autotest/property/Property-post.md similarity index 100% rename from doc/autotest/Property-post.md rename to doc/autotest/property/Property-post.md diff --git a/doc/autotest/Property-run.md b/doc/autotest/property/Property-run.md similarity index 91% rename from doc/autotest/Property-run.md rename to doc/autotest/property/Property-run.md index 95927e8ba..d4aa7a1af 100644 --- a/doc/autotest/Property-run.md +++ b/doc/autotest/property/Property-run.md @@ -1,4 +1,4 @@ -## Property-run +## Property run ```bash nohup dpgen autotest run property.json machine-ali.json > run.result 2>&1 & diff --git a/doc/autotest/property/index.rst b/doc/autotest/property/index.rst new file mode 100644 index 000000000..dbf433cba --- /dev/null +++ b/doc/autotest/property/index.rst @@ -0,0 +1,12 @@ +========================== +Property +========================== + +.. toctree:: + :maxdepth: 2 + + Property-get-started-and-input-examples + Property-make + Property-run + Property-post + properties/index.rst \ No newline at end of file diff --git a/doc/autotest/EOS-get-started-and-input-examples.md b/doc/autotest/property/properties/EOS-get-started-and-input-examples.md similarity index 100% rename from doc/autotest/EOS-get-started-and-input-examples.md rename to doc/autotest/property/properties/EOS-get-started-and-input-examples.md diff --git a/doc/autotest/EOS-make.md b/doc/autotest/property/properties/EOS-make.md similarity index 100% rename from doc/autotest/EOS-make.md rename to doc/autotest/property/properties/EOS-make.md diff --git a/doc/autotest/EOS-post.md b/doc/autotest/property/properties/EOS-post.md similarity index 100% rename from doc/autotest/EOS-post.md rename to doc/autotest/property/properties/EOS-post.md diff --git a/doc/autotest/EOS-run.md b/doc/autotest/property/properties/EOS-run.md similarity index 100% rename from doc/autotest/EOS-run.md rename to doc/autotest/property/properties/EOS-run.md diff --git a/doc/autotest/Elastic-get-started-and-input-examples.md b/doc/autotest/property/properties/Elastic-get-started-and-input-examples.md similarity index 95% rename from doc/autotest/Elastic-get-started-and-input-examples.md rename to doc/autotest/property/properties/Elastic-get-started-and-input-examples.md index 8c93eae4b..e346efea3 100644 --- a/doc/autotest/Elastic-get-started-and-input-examples.md +++ b/doc/autotest/property/properties/Elastic-get-started-and-input-examples.md @@ -1,4 +1,4 @@ -## Elastic-get-started-and-input-examples +## Elastic get started and input examples Here we calculate the mechanical properties which include elastic constants (C11 to C66), bulk modulus Bv, shear modulus Gv, Youngs modulus Ev, and Poission ratio Uv of a certain crystal structure. diff --git a/doc/autotest/Elastic-make.md b/doc/autotest/property/properties/Elastic-make.md similarity index 99% rename from doc/autotest/Elastic-make.md rename to doc/autotest/property/properties/Elastic-make.md index 4980b5b90..e5e337260 100644 --- a/doc/autotest/Elastic-make.md +++ b/doc/autotest/property/properties/Elastic-make.md @@ -1,4 +1,4 @@ -## Elastic-make +## Elastic make **Step 1.** The `DeformedStructureSet` module in [pymatgen.analysis.elasticity.strain](https://pymatgen.org/pymatgen.analysis.elasticity.strain.html) is used to generate a set of independently deformed structures. `equi.stress.out` file is written to record the equilibrium stress in the Elastic directory. For the example in the previous section, `equi.stress.out` should be in `confs/mp-*/elastic_00`. diff --git a/doc/autotest/Elastic-post.md b/doc/autotest/property/properties/Elastic-post.md similarity index 100% rename from doc/autotest/Elastic-post.md rename to doc/autotest/property/properties/Elastic-post.md diff --git a/doc/autotest/Elastic-run.md b/doc/autotest/property/properties/Elastic-run.md similarity index 100% rename from doc/autotest/Elastic-run.md rename to doc/autotest/property/properties/Elastic-run.md diff --git a/doc/autotest/Interstitial-get-started-and-input-examples.md b/doc/autotest/property/properties/Interstitial-get-started-and-input-examples.md similarity index 100% rename from doc/autotest/Interstitial-get-started-and-input-examples.md rename to doc/autotest/property/properties/Interstitial-get-started-and-input-examples.md diff --git a/doc/autotest/Interstitial-make.md b/doc/autotest/property/properties/Interstitial-make.md similarity index 100% rename from doc/autotest/Interstitial-make.md rename to doc/autotest/property/properties/Interstitial-make.md diff --git a/doc/autotest/Interstitial-post.md b/doc/autotest/property/properties/Interstitial-post.md similarity index 100% rename from doc/autotest/Interstitial-post.md rename to doc/autotest/property/properties/Interstitial-post.md diff --git a/doc/autotest/Interstitial-run.md b/doc/autotest/property/properties/Interstitial-run.md similarity index 100% rename from doc/autotest/Interstitial-run.md rename to doc/autotest/property/properties/Interstitial-run.md diff --git a/doc/autotest/Surface-get-started-and-input-examples.md b/doc/autotest/property/properties/Surface-get-started-and-input-examples.md similarity index 100% rename from doc/autotest/Surface-get-started-and-input-examples.md rename to doc/autotest/property/properties/Surface-get-started-and-input-examples.md diff --git a/doc/autotest/Surface-make.md b/doc/autotest/property/properties/Surface-make.md similarity index 100% rename from doc/autotest/Surface-make.md rename to doc/autotest/property/properties/Surface-make.md diff --git a/doc/autotest/Surface-post.md b/doc/autotest/property/properties/Surface-post.md similarity index 100% rename from doc/autotest/Surface-post.md rename to doc/autotest/property/properties/Surface-post.md diff --git a/doc/autotest/Surface-run.md b/doc/autotest/property/properties/Surface-run.md similarity index 100% rename from doc/autotest/Surface-run.md rename to doc/autotest/property/properties/Surface-run.md diff --git a/doc/autotest/Vacancy-get-started-and-input-examples.md b/doc/autotest/property/properties/Vacancy-get-started-and-input-examples.md similarity index 100% rename from doc/autotest/Vacancy-get-started-and-input-examples.md rename to doc/autotest/property/properties/Vacancy-get-started-and-input-examples.md diff --git a/doc/autotest/Vacancy-make.md b/doc/autotest/property/properties/Vacancy-make.md similarity index 100% rename from doc/autotest/Vacancy-make.md rename to doc/autotest/property/properties/Vacancy-make.md diff --git a/doc/autotest/Vacancy-post.md b/doc/autotest/property/properties/Vacancy-post.md similarity index 100% rename from doc/autotest/Vacancy-post.md rename to doc/autotest/property/properties/Vacancy-post.md diff --git a/doc/autotest/Vacancy-run.md b/doc/autotest/property/properties/Vacancy-run.md similarity index 100% rename from doc/autotest/Vacancy-run.md rename to doc/autotest/property/properties/Vacancy-run.md diff --git a/doc/autotest/property/properties/index.rst b/doc/autotest/property/properties/index.rst new file mode 100644 index 000000000..02fe2acd2 --- /dev/null +++ b/doc/autotest/property/properties/index.rst @@ -0,0 +1,27 @@ +========================== +properties +========================== + +.. toctree:: + :maxdepth: 2 + + EOS-get-started-and-input-examples + EOS-make + EOS-run + EOS-post + Elastic-get-started-and-input-examples + Elastic-make + Elastic-run + Elastic-post + Vacancy-get-started-and-input-examples + Vacancy-make + Vacancy-run + Vacancy-post + Interstitial-get-started-and-input-examples + Interstitial-make + Interstitial-run + Interstitial-post + Surface-get-started-and-input-examples + Surface-make + Surface-run + Surface-post \ No newline at end of file diff --git a/doc/autotest/refine/Refine-get-started-and-input-examples.md b/doc/autotest/refine/Refine-get-started-and-input-examples.md new file mode 100644 index 000000000..1dd6e88a7 --- /dev/null +++ b/doc/autotest/refine/Refine-get-started-and-input-examples.md @@ -0,0 +1,26 @@ +## Refine get started and input examples + +Sometimes we want to refine the calculation of a property from previous results. For example, when higher convergence criteria `EDIFF` and `EDIFFG` are necessary in VASP, the new VASP calculation is desired to start from the previous output configuration, rather than starting from scratch. + + +An example of the input file `refine.json` is given below: + +```json +{ + "structures": ["confs/std-*"], + "interaction": { + "type": "deepmd", + "model": "frozen_model.pb", + "type_map": {"Al": 0} + }, + "properties": [ + { + "type": "vacancy", + "init_from_suffix": "00", + "output_suffix": "01", + "cal_setting": {"input_prop": "lammps_input/lammps_high"} + } + ] +} +``` +In this example, `refine` would output the results to `vacancy_01` based on the previous results in `vacancy_00` by using a different input commands file for lammps. diff --git a/doc/autotest/Refine-make.md b/doc/autotest/refine/Refine-make.md similarity index 97% rename from doc/autotest/Refine-make.md rename to doc/autotest/refine/Refine-make.md index d1e058434..5e5877bed 100644 --- a/doc/autotest/Refine-make.md +++ b/doc/autotest/refine/Refine-make.md @@ -1,4 +1,4 @@ -## Refine-make +## Refine make ```bash dpgen autotest make refine.json diff --git a/doc/autotest/Refine-post.md b/doc/autotest/refine/Refine-post.md similarity index 88% rename from doc/autotest/Refine-post.md rename to doc/autotest/refine/Refine-post.md index 20c7e8f92..df9258075 100644 --- a/doc/autotest/Refine-post.md +++ b/doc/autotest/refine/Refine-post.md @@ -1,4 +1,4 @@ -## Refine-post +## Refine post ```bash dpgen autotest post refine.json diff --git a/doc/autotest/Refine-run.md b/doc/autotest/refine/Refine-run.md similarity index 90% rename from doc/autotest/Refine-run.md rename to doc/autotest/refine/Refine-run.md index 66bb04ed9..8ff4f2f46 100644 --- a/doc/autotest/Refine-run.md +++ b/doc/autotest/refine/Refine-run.md @@ -1,4 +1,4 @@ -## Refine-run +## Refine run ```bash nohup dpgen autotest run refine.json machine-ali.json > run.result 2>&1 & diff --git a/doc/autotest/refine/index.rst b/doc/autotest/refine/index.rst new file mode 100644 index 000000000..d2fd8a3b3 --- /dev/null +++ b/doc/autotest/refine/index.rst @@ -0,0 +1,11 @@ +========================== +Refine +========================== + +.. toctree:: + :maxdepth: 2 + + Refine-get-started-and-input-examples + Refine-make + Refine-run + Refine-post \ No newline at end of file diff --git a/doc/autotest/Relaxation-get-started-and-input-examples.md b/doc/autotest/relaxation/Relaxation-get-started-and-input-examples.md similarity index 72% rename from doc/autotest/Relaxation-get-started-and-input-examples.md rename to doc/autotest/relaxation/Relaxation-get-started-and-input-examples.md index 288ac33da..8ac37847c 100644 --- a/doc/autotest/Relaxation-get-started-and-input-examples.md +++ b/doc/autotest/relaxation/Relaxation-get-started-and-input-examples.md @@ -1,9 +1,10 @@ -## Relaxation-get-started-and-input-examples +## Relaxation get started and input examples -All the property tests should be based on the equilibrium state calculated either by `VASP` or `LAMMPS`. The structure after relaxation is supposed to exist as the file like `confs/mp-*/relaxation/relax_task/CONTCAR` and the further property tests would normally start from this configuration. +The relaxation of a structure should be carried out before calculating all other properties. -### Input example -#### An example of the input file for relaxation by VASP: +First, we need input parameter file and we name it `relax.json` here. All the relaxation calculations should be taken either by `VASP`, `ABACUS`, or `LAMMPS`. Here are two input examples for `VASP` and `LAMMPS` respectively. + +An example of the input file for relaxation by VASP: ```json { @@ -27,17 +28,16 @@ All the property tests should be based on the equilibrium state calculated eithe } } ``` -For VASP relaxation and all the property calculations, **the initial INCAR file must be given by user** and the package would change the `ISIF` and `NSW` parameter according to the property type. Besides, users can also set the `cal_setting` dictionary in the `relaxation` part to make the final changes on INCAR. Key words | data structure | example | description ---|---|---|--- **structures** | List of String | ["confs/std-*"] | path of different structures **interaction** | Dict | See above | description of the task type and atomic interaction **type** | String | "vasp" | task type -**incar** | String | "vasp_input/INCAR" | the path for INCAR file in vasp -potcar_prefix | String | "vasp_input" | the prefix of path for POTCAR file in vasp, default = "" +**incar** | String | "vasp_input/INCAR" | path for INCAR file in vasp +potcar_prefix | String | "vasp_input" | prefix of path for POTCAR file in vasp, default = "" **potcars** | Dict | {"Al": "POTCAR.al"} | key is element type and value is potcar name -**relaxation** | Dict | See above | the calculation type and setting for relaxation +**relaxation** | Dict | See above | calculation type and setting for relaxation cal_type | String | "relaxation" or "static" | calculation type cal_setting | Dict | See above | calculation setting relax_pos | Boolean | true | relax atomic position or not, default = true for relaxation @@ -49,7 +49,7 @@ encut | Int | 650 | set `encut` parameter in INCAR files kspacing | Float | 0.1 | set `KSPACING` parameter in INCAR files kgamma | Boolean | false | set `KGAMMA` parameter in INCAR files -#### An example of the input file for relaxation by LAMMPS: +An example of the input file for relaxation by LAMMPS: ```json { @@ -61,8 +61,8 @@ kgamma | Boolean | false | set `KGAMMA` parameter in INCAR files "type_map": {"Al": 0} }, "relaxation": { - "cal_setting":{"etol": 1e-12, - "ftol": 1e-6, + "cal_setting":{"etol": 0, + "ftol": 1e-10, "maxiter": 5000, "maximal": 500000} } @@ -75,8 +75,8 @@ Key words | data structure | example | description **model** | String or List of String | "frozen_model.pb" | model file for atomic interaction in_lammps | String | "lammps_input/in.lammps" | input file for lammps commands **type_map** | Dict | {"Al": 0} | key is element type and value is type number. DP starts from 0, others starts from 1 -etol | Float | 1e-12 | stopping tolerance for energy -ftol | Float | 1e-6 | stopping tolerance for force +etol | Float | 0 | stopping tolerance for energy +ftol | Float | 1e-10 | stopping tolerance for force maxiter | Int | 5000 | max iterations of minimizer maxeval | Int | 500000 | max number of force/energy evaluations diff --git a/doc/autotest/Relaxation-make.md b/doc/autotest/relaxation/Relaxation-make.md similarity index 99% rename from doc/autotest/Relaxation-make.md rename to doc/autotest/relaxation/Relaxation-make.md index 9d80c2ec5..9179d690b 100644 --- a/doc/autotest/Relaxation-make.md +++ b/doc/autotest/relaxation/Relaxation-make.md @@ -1,4 +1,4 @@ -## Relaxation-make +## Relaxation make The list of the directories storing structures are `["confs/std-*"]` in the previous example. For single element system, if `POSCAR` doesn't exist in the directories: `std-fcc`, `std-hcp`, `std-dhcp`, `std-bcc`, `std-diamond`, and `std-sc`, the package will automatically generate the standard crystal structures **`fcc`**, **`hcp`**, **`dhcp`**, **`bcc`**, **`diamond`**, and **`sc`** in the corresponding directories, respectively. In other conditions and for multi-component system (more than 1), if `POSCAR` doesn't exist, the package will terminate and print the error **"no configuration for autotest"**. diff --git a/doc/autotest/Relaxation-post.md b/doc/autotest/relaxation/Relaxation-post.md similarity index 99% rename from doc/autotest/Relaxation-post.md rename to doc/autotest/relaxation/Relaxation-post.md index 0f1c7fe77..9f3186680 100644 --- a/doc/autotest/Relaxation-post.md +++ b/doc/autotest/relaxation/Relaxation-post.md @@ -1,4 +1,4 @@ -## Relaxation-post +## Relaxation post Take `deepmd` post for example: ```bash diff --git a/doc/autotest/Relaxation-run.md b/doc/autotest/relaxation/Relaxation-run.md similarity index 98% rename from doc/autotest/Relaxation-run.md rename to doc/autotest/relaxation/Relaxation-run.md index 439f05bf8..d9f2af56f 100644 --- a/doc/autotest/Relaxation-run.md +++ b/doc/autotest/relaxation/Relaxation-run.md @@ -1,4 +1,4 @@ -## Relaxation-run +## Relaxation run The work path of each task should be in the form like `confs/mp-*/relaxation` and all task is in the form like `confs/mp-*/relaxation/relax_task`. diff --git a/doc/autotest/relaxation/index.rst b/doc/autotest/relaxation/index.rst new file mode 100644 index 000000000..512f8b6cb --- /dev/null +++ b/doc/autotest/relaxation/index.rst @@ -0,0 +1,11 @@ +========================== +Relaxation +========================== + +.. toctree:: + :maxdepth: 2 + + Refine-get-started-and-input-examples + Relaxation-make + Relaxation-run + Relaxation-post \ No newline at end of file diff --git a/doc/autotest/Reproduce-get-started-and-input-examples.md b/doc/autotest/reproduce/Reproduce-get-started-and-input-examples.md similarity index 70% rename from doc/autotest/Reproduce-get-started-and-input-examples.md rename to doc/autotest/reproduce/Reproduce-get-started-and-input-examples.md index bf71cbe04..815cfbcf3 100644 --- a/doc/autotest/Reproduce-get-started-and-input-examples.md +++ b/doc/autotest/reproduce/Reproduce-get-started-and-input-examples.md @@ -1,13 +1,13 @@ -## Reproduce-get-started-and-input-examples +## Reproduce get started and input examples + +Sometimes we want to reproduce the initial results with the same configurations for cross validation. This version of autotest package can accomplish this successfully in all property types except for `Elastic`. An input example for using `deepmd` to reproduce the `VASP` Interstitial results is given below: -Some times we want to reproduce the initial results with the same configurations for cross validation. This version of auto-test package can accomplish this successfully in all property types except for `Elastic`. An input example for using `deepmd` to reproduce the `VASP` Interstitial results is given as below: ```json { "structures": ["confs/std-*"], "interaction": { "type": "deepmd", "model": "frozen_model.pb", - "deepmd_version":"1.2.0", "type_map": {"Al": 0} }, "properties": [ @@ -26,4 +26,4 @@ Some times we want to reproduce the initial results with the same configurations `init_data_path` is the path of VASP or LAMMPS initial data to be reproduced. `init_from_suffix` is the suffix of the initial data and the default value is "00". In this case, the VASP Interstitial results are stored in `../vasp/confs/std-*/interstitial_00` and the reproduced Interstitial results would be in `deepmd/confs/std-*/interstitial_reprod`. -`reprod_last_frame` denotes if only the last frame is used in reproduce. The default value is True for eos and surface, but is False for vacancy and interstitial. +`reprod_last_frame` denotes if only the last frame is used in reproduce. The default value is True for eos and surface, but is False for vacancy and interstitial. \ No newline at end of file diff --git a/doc/autotest/Reproduce-make.md b/doc/autotest/reproduce/Reproduce-make.md similarity index 99% rename from doc/autotest/Reproduce-make.md rename to doc/autotest/reproduce/Reproduce-make.md index aa9860559..fbd1262e7 100644 --- a/doc/autotest/Reproduce-make.md +++ b/doc/autotest/reproduce/Reproduce-make.md @@ -1,4 +1,4 @@ -## Reproduce-make +## Reproduce make ```bash dpgen autotest make reproduce.json diff --git a/doc/autotest/Reproduce-post.md b/doc/autotest/reproduce/Reproduce-post.md similarity index 99% rename from doc/autotest/Reproduce-post.md rename to doc/autotest/reproduce/Reproduce-post.md index f32ef5d90..f1d9328be 100644 --- a/doc/autotest/Reproduce-post.md +++ b/doc/autotest/reproduce/Reproduce-post.md @@ -1,4 +1,4 @@ -## Reproduce-post +## Reproduce post ```bash dpgen autotest post reproduce.json diff --git a/doc/autotest/Reproduce-run.md b/doc/autotest/reproduce/Reproduce-run.md similarity index 89% rename from doc/autotest/Reproduce-run.md rename to doc/autotest/reproduce/Reproduce-run.md index 3172ab03a..d43e43622 100644 --- a/doc/autotest/Reproduce-run.md +++ b/doc/autotest/reproduce/Reproduce-run.md @@ -1,4 +1,4 @@ -## Reproduce-run +## Reproduce run ```bash nohup dpgen autotest run reproduce.json machine-ali.json > run.result 2>&1 & diff --git a/doc/autotest/reproduce/index.rst b/doc/autotest/reproduce/index.rst new file mode 100644 index 000000000..fa49af926 --- /dev/null +++ b/doc/autotest/reproduce/index.rst @@ -0,0 +1,11 @@ +========================== +Reproduce +========================== + +.. toctree:: + :maxdepth: 2 + + Reproduce-get-started-and-input-examples + Reproduce-make + Reproduce-run + Reproduce-post \ No newline at end of file