DFT-D3: Make the Dispersion-Correction Convention Consistent

This operation directly modifies the DFT reference labels in the current dataset by adding or subtracting a DFT-D3 dispersion correction. Run it only when you know whether the source data already include D3 and which exchange-correlation functional was used. Do not infer this from the scatter plot.

Current data

Target convention

Choose

Without D3

Include D3

Add DFT-D3

With D3

Remove D3

Subtract DFT-D3

1. 先保存原始数据

Open the dataset and its corresponding nep.txt in NEP Dataset Display, confirm the source and functional of the current labels, and export a copy of the original data. DFT-D3 modifies energy, force, and any existing virial/stress labels. Repeating the operation accumulates the correction, and there is no dedicated undo button.

Energy plot and the DFT-D3 correction action

Click DFT D3 on the toolbar. This calculation always runs on the CPU, regardless of the selected NEP backend.

2. 泛函必须与原计算一致

DFT-D3 correction settings

The pbe setting shown here applies only to PBE data:

  1. In the first field, enter the functional used by the original DFT calculation, such as pbe, scan, or pbesol.

  2. Keep the current defaults for D3 cutoff and D3 cutoff_cn on your first run. Change them only when an established calculation protocol explicitly requires different values.

  3. Choose Add DFT-D3 or Subtract DFT-D3 according to the target convention.

  4. Click OK and wait for all structures to be processed.

Do not enter a functional merely because the model uses it. This field must match the convention of the original DFT labels in the current dataset.

3. 看标签是否按预期改变

Energy plot after adding PBE DFT-D3

This example applies a real PBE DFT-D3 correction, so the reference energy, force, and virial change while the NEP predictions remain unchanged. Points moving closer to or farther from the diagonal does not by itself prove that the operation is correct. What matters is whether the mode, functional, and source-data convention match.

After checking the result, export it under a new name such as train_pbe_d3.xyz. Do not overwrite original labels that cannot be reproduced.