Understanding the implementation of the virtual sites in gromacs

GROMACS version: 2020.5
GROMACS modification: No
I am building a CG model using virtual particles. I defined the virtual particle on the basis of the position of the neighboring particles and distributed the mass of that particular particle which I want to make virtual to the corresponding neighboring particles. My understanding is - before each integration step, the force on the virtual particle is computed (Force as the negative gradient of potential energy), and this force is distributed to the corresponding particles so that the force on the virtual site is zero. Since V-sites are not integrated, its position and velocity is determined from the position and velocity of corresponding particles after each integration step. Is my this understanding of virtual sites right? Also, is there anyway we can find the force on the virtual particle before it is redistributed?