A novel algorithm for implementing a specified wall heat flux in DSMC: Application to micro/nano flows and hypersonic flows. (20th March 2016)