solar photovoltaic cells are types of