Effect of ions (K+, Mg2+, Ca2+ and SO42−) and temperature on energy generation performance of reverse electrodialysis stack