The gradient discretisation method. (2018)