Effects of subcooling and two-phase inlet on flow boiling heat transfer and critical heat flux in a horizontal channel with one-sided and double-sided heating