poly_info.md(檔案已創建)
| @@ -0,0 +1,67 @@ | |||
| 1 | + | The `neighbour_list` program only works with the old format of the supercell configuration. | |
| 2 | + | These days we almost always use the `rmc6f` format, but before this format, there was an old | |
| 3 | + | version of the configuration in the `rmc3` format. The `data2config` program can be used to | |
| 4 | + | convert from `rmc6f` to `rmc3` (with the extension of `cfg`). For the conversion, we basically | |
| 5 | + | want to generate a `1x1x1` 'supercell' from the input `rmc6f` configuration, so nothing is | |
| 6 | + | really happening except from the format conversion. | |
| 7 | + | ||
| 8 | + | The `neighbour_list` command can then be run with the created `cfg` file from previous step, | |
| 9 | + | and we just need to follow the prompt to provide answers to those questions about the center | |
| 10 | + | and surrounding atoms, the maximum distance between them and the output file. Multiple files | |
| 11 | + | can be generated by answer `y` to the question `Produce another file (y/<n>)`. | |
| 12 | + | ||
| 13 | + | Then we need to manually prepare a `.poly` file containing the information about the expected | |
| 14 | + | bond lengths regarding the polyhedron. The input lines are specific to each type of supported | |
| 15 | + | polyhedron -- see section 4.9 in the manual. Apart from the expected bond length is each line, | |
| 16 | + | two entries are also expected in each line, to specify the weight for bond and angle constraint, | |
| 17 | + | respectively. The weight is applied in the positive way, i.e., the larger of the number, the | |
| 18 | + | stronger weight to be applied. | |
| 19 | + | ||
| 20 | + | > For the `get_poly_gapo4` command involved in `ex_6`, it is just a bash script that goes over | |
| 21 | + | all the mentioned steps here in a single shot. The contents of the script are pasted below. | |
| 22 | + | Basically, the first two lines run the `data2config` for the format conversion. The following | |
| 23 | + | lines are for preparing the input file for running `neighbour_list` and then running the program. | |
| 24 | + | Then we prepare the `.poly` file by filling in the necessary contents, which is, again, specific | |
| 25 | + | to the type of polyhedron for `ex_6`. | |
| 26 | + | ||
| 27 | + | ||
| 28 | + | ```bash | |
| 29 | + | echo $1 > .rmc_tempy | |
| 30 | + | data2config -rmc3 -order [Ga P O] -supercell [1 1 1] $1.rmc6f < .rmc_tempy > .delete_me | |
| 31 | + | echo $1.cfg > .rmc_tempy | |
| 32 | + | echo 1 >> .rmc_tempy | |
| 33 | + | echo 3 >> .rmc_tempy | |
| 34 | + | echo 2.5 >> .rmc_tempy | |
| 35 | + | echo $1.alo >> .rmc_tempy | |
| 36 | + | echo y >> .rmc_tempy | |
| 37 | + | echo 3 >> .rmc_tempy | |
| 38 | + | echo 1 >> .rmc_tempy | |
| 39 | + | echo 2.5 >> .rmc_tempy | |
| 40 | + | echo $1.oal >> .rmc_tempy | |
| 41 | + | echo y >> .rmc_tempy | |
| 42 | + | echo 2 >> .rmc_tempy | |
| 43 | + | echo 3 >> .rmc_tempy | |
| 44 | + | echo 2.5 >> .rmc_tempy | |
| 45 | + | echo $1.po >> .rmc_tempy | |
| 46 | + | echo y >> .rmc_tempy | |
| 47 | + | echo 3 >> .rmc_tempy | |
| 48 | + | echo 2 >> .rmc_tempy | |
| 49 | + | echo 2.5 >> .rmc_tempy | |
| 50 | + | echo $1.op >> .rmc_tempy | |
| 51 | + | echo n >> .rmc_tempy | |
| 52 | + | neighbour_list < .rmc_tempy >> .delete_me | |
| 53 | + | echo Bondlength Bondweight Angleweight > $1.poly | |
| 54 | + | echo 1.820 8000 2400 >> $1.poly | |
| 55 | + | echo 1.538 16000 4800 >> $1.poly | |
| 56 | + | rm .rmc_tempy | |
| 57 | + | rm .delete_me | |
| 58 | + | rm $1.cfg | |
| 59 | + | ``` | |
| 60 | + | ||
| 61 | + | --- | |
| 62 | + | ||
| 63 | + | Yuanpeng Zhang @ 07/29/2025 09:36:18 EST | |
| 64 | + | ||
| 65 | + | SNS-HFIR, ORNL | |
| 66 | + | ||
| 67 | + | --- | |
上一頁
下一頁