A new algorithm to identify contact types between arbitrarily shaped polyhedral blocks for three-dimensional discontinuous deformation analysis. (December 2016)