Smart materials for structural health monitoring and energy harvesting