# Charge Rounding-Off Error

**URL:** https://gromacs.bioexcel.eu/t/charge-rounding-off-error/12305
**Category:** User discussions
**Created:** [July 1, 2025, 7:57am UTC](https://gromacs.bioexcel.eu/t/charge-rounding-off-error/12305 "2025-07-01T07:57:32Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![joh](https://avatars.discourse-cdn.com/v4/letter/j/e56c9b/32.png) [@joh](https://gromacs.bioexcel.eu/u/joh)
#### Post date: [July 1, 2025, 7:57am UTC](https://gromacs.bioexcel.eu/t/charge-rounding-off-error/12305/1 "2025-07-01T07:57:32Z")

</div>

GROMACS version: 2023.2  
GROMACS modification: No

Hi everyone,

I’m posting because I noticed a strange message in my log file during a simulation. In my topol.top, the right‐most column shows that qtot is exactly 0 throughout the system, and it takes only integer or 0.5 values per residue. However, when I run gmx mdrun, the log reports a total system charge of 0.001 e. In my experience, GROMACS usually issues a warning and stops if the system has any net charge when I run gmx grompp. Here, though, there’s no warning in grompp—it simply starts the simulation when I run mdrun and notes the 0.001 e total charge, without mentioning any “background charge correction.”

I suspect this 0.001 e arises from rounding errors. If you have any ideas about these questions, please let me know!

- Can I safely ignore this small residual charge?
- If not, how should I correct or compensate for it?

[topol.top]  
; residue 8732 CA rtp CA q +1.5  
21836 C0 8732 CA CA 8732 1.5 40.08 ; qtot -6  
; residue 8733 CA rtp CA q +1.5  
21837 C0 8733 CA CA 8733 1.5 40.08 ; qtot -4.5  
; residue 8734 CA rtp CA q +1.5  
21838 C0 8734 CA CA 8734 1.5 40.08 ; qtot -3  
; residue 8735 CA rtp CA q +1.5  
21839 C0 8735 CA CA 8735 1.5 40.08 ; qtot -1.5  
; residue 8736 CA rtp CA q +1.5  
21840 C0 8736 CA CA 8736 1.5 40.08 ; qtot 0

[simulation.log]  
1 GPU selected for this run.

Mapping of GPU IDs to the 1 GPU task in the 1 rank on this node:

PP:0

PP tasks will do (non-perturbed) short-ranged interactions on the GPU

PP task will update and constrain coordinates on the CPU

Using 1 MPI process

Using 16 OpenMP threads

System total charge: 0.001

Will do PME sum in reciprocal space for electrostatic interactions.
