This dex.js visual is based upon the clustered force layout which uses two custom forces ‘cluster’ and ‘collide’.
Here is the example on which the base visualization is based.