Carbon nanotube growth: First-principles-based kinetic Monte Carlo model