Constrained MD using a canonical ensemble