Computational design of donor and acceptor molecules based on thiophene derivatives for organic photovoltaic applications