Constitutive modelling of granular materials using a contact normal-based fabric tensor