First-principles simulation