You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Here, `nlist_vec` means the neighbors of atom 0 are atom 1 and atom 2, the neighbors of atom 1 are atom 0 and atom 2, and the neighbors of atom 2 are atom 0 and atom 1.
The type of fitting is set to {ref}`dipole <model[standard]/fitting_net[dipole]>`. The dipole is associated with type 0 atoms (oxygens), by the setting `"dipole_type": [0]`. What we trained is the displacement of the WC from the corresponding oxygen atom. It shares the same training input as the atomic dipole because both are 3-dimensional vectors defined on atoms.
so that the atomic dipole is trained as labels. Note that the NumPy compressed file `atomic_dipole.npy` should be provided in each dataset. In the context of DPLR models, the atomic dipole data represents the displacement vector from each atom to its associated Wannier centroid (WC), which can be calculated as `atomic_dipole = wannier_centroid_position - atom_position` from DFT calculations using tools such as VASP with Wannier90.
The training of the DPLR model is very similar to the standard short-range DP models. An example input script can be found in the example directory. The following section is introduced to compute the long-range energy contribution of the DPLR model, and modify the short-range DP model by this part.
83
74
84
75
```json
85
-
"modifier": {
86
-
"type": "dipole_charge",
87
-
"model_name": "dw.pb",
88
-
"model_charge_map": [-8],
89
-
"sys_charge_map": [6, 1],
90
-
"ewald_h": 1.00,
91
-
"ewald_beta": 0.40
92
-
},
76
+
"modifier": {
77
+
"type" :"dipole_charge",
78
+
"model_name" :"dw.pb",
79
+
"model_charge_map": [-8],
80
+
"sys_charge_map" : [ 6, 1],
81
+
"ewald_h" :1.00,
82
+
"ewald_beta" :0.40
83
+
},
93
84
```
94
85
95
86
The {ref}`model_name <model/modifier[dipole_charge]/model_name>` specifies which DW model is used to predict the position of WCs. {ref}`model_charge_map <model/modifier[dipole_charge]/model_charge_map>` gives the amount of charge assigned to WCs. {ref}`sys_charge_map <model/modifier[dipole_charge]/sys_charge_map>` provides the nuclear charge of oxygen (type 0) and hydrogen (type 1) atoms. {ref}`ewald_beta <model/modifier[dipole_charge]/ewald_beta>` (unit $\text{Å}^{-1}$) gives the spread parameter controls the spread of Gaussian charges, and {ref}`ewald_h <model/modifier[dipole_charge]/ewald_h>` (unit Å) assigns the grid size of Fourier transformation.
Copy file name to clipboardExpand all lines: doc/model/dprc.md
+59-51Lines changed: 59 additions & 51 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -63,7 +63,7 @@ Two levels of data use the same MM method, so $E_\text{MM}$ is eliminated.
63
63
In a DPRc model, QM atoms and MM atoms have different atom types. Assuming we have 4 QM atom types (C, H, O, P) and 2 MM atom types (HW, OW):
64
64
65
65
```json
66
-
"type_map": ["C", "H", "HW", "O", "OW", "P"]
66
+
"type_map": ["C", "H", "HW", "O", "OW", "P"]
67
67
```
68
68
69
69
As described in the paper, the DPRc model only corrects $E_\text{QM}$ and $E_\text{QM/MM}$ within the cutoff, so we use a hybrid descriptor to describe them separately:
@@ -73,29 +73,35 @@ As described in the paper, the DPRc model only corrects $E_\text{QM}$ and $E_\te
0 commit comments