Le code avec la force approximée commence de la même façon que celui avec le calcul exact de la force. Seulement, dans l'expression de la force à symétrie polaire, nous avons besoin des vecteurs. C'est pourquoi nous calculons pour chaque particule le rcx et le rcy qui représente les vecteurs unitaires radials.
Le calcul de la force se fait ainsi très simplement en prenant en compte le nombre de particules qui sont à l'intérieur du cercle de rayon r[i]. Pour cela, nous utilisons la fonction (rank->data[i]) qui permet de donner le rang de la particule i. Le rang est le nombre qui indique la position de la particule par rapport au centre. Exemple : Si la ième particule est la 5 ème plus éloignée du centre alors son rang est 5. Ainsi, nous savons combien il y a de particules dans le cercle de rayon r[i] et nous pouvons calculer la force qui agit sur i: fi=(-2.0*G*m*m*((double)(rank->data[i]) -1.0 )/sqrt(r[i])) En la multipliant par les vecteurs unitaires nous obtenons les composantes sur x et y de la force.
La force étant ainsi calculée, nous n'avons plus qu'à réutiliser l'Algorithme de Verlet pour calculer les nouvelles positions et vistesses (comme expliqué dans Le code du calcul exact de la force ).