Nanomaterials solar cells