add constrain function
add viscosity constraint option
get specs passing
dont just check if two units have converged -- check all
as per ashby's original document, all units' weights should be randomised in the event that one of them is outwith the threshold