Gradient discretisation method