Thermal photovoltaics: energy generation and storage