The physics of solar cells