charge_mode

This legacy keyword remains supported but prints a deprecation warning. Use model qnep1 , model qnep2 or model qnep3 for new inputs; see model. Do not combine charge_mode with model, including charge_mode 0.

This keyword specifies the charge mode of a NEP4 potential model to be trained.

The syntax is:

charge_mode <mode_value> [<flip_charge>]

where <mode_value> must be an integer that can assume one of the following values.

Value

Model description

0

original NEP without charge

1

qNEP model with charge, including both real- and reciprocal-space contributions

2

qNEP model with charge, including reciprocal-space contribution only

The optional flip_charge flag is 0 (default) or 1 and controls charge-sign reversal when restarting training.

Here, qNEP means NEP with charge (q) [Fan2026]. Mode 1 is consistent with the approach first proposed by Song et al. [Song2024b]. Mode 2 is consistent with the approach first proposed by Cheng [Cheng2025]. To train a qNEP model, we do not need to provide target charges. One can choose to provide target Born effective charges (BEC), but this usually only works for a single matter in a single phase, as we have assumed a constant high-frequency dielectric constant for the whole training dataset.