Density functional theory for computational materials design