15

I'm a software developer interested in learning quantum mechanics to simulate chemistry. I know it's a very difficult topic, so I consider it a long term "someday/maybe" goal, and I’m not sure it's even possible.

I've listened to some video lectures in introductory QM courses like Susskind's and Brant Carlson's youtube videos, and the content so far seems far removed from computing "chemistry" things like electron orbital shapes or bond energies.

Is it possible to simulate the time evolution of something "simple" like the colliding and reacting molecules in: $2\mathrm{H}_2 + \mathrm{O}_2 \rightarrow 2\mathrm{H_2O}$? I mean simulate from first principles - pure quantum mechanics without any estimates like "pretend this atom is a mass on a spring", etc.

If it is possible, what is a rough outline of the college courses required to go from point A to B - from intro quantum mechanics to the understanding needed to write code for that simulation? (Maybe it's less about the physics and more about tricky computational techniques of estimating solutions to equations?)

Rob N
  • 473

3 Answers3

16

Yes, it is possible. Working with pure quantum mechanics means you will need to solve the many-body Schrödinger equation, which has no exact solution, so some approximation must be done numerically. Different approaches into solving this equations gave birth to different numerical methods, and some methods are more efficient for solving specific problems, like the one you mentioned.

You may want to look for the terms: Ab initio, First Principles methods, computational chemistry, Density Functional Theory. I have even seen some dedicated courses on youtube.

Some popular softwares used in this field are: Gaussian, VASP, GAMESS, DMol, Quantum Espresso.

10

Yes, this is possible -- I used to study it in undergrad, actually. I would say that the prerequisites are probably a few semesters of quantum mechanics -- enough to learn concepts like Born-Oppenheimer approximations, perturbation theory, and angular momentum theory. A course specifically in atomic and molecular physics would also help.

As you say, and as a comment points out, the computational requirements for exactly solution of the Schrodinger equation for even something comparatively simple can be immense. There's plenty of computational effort on trying to simply this problem, and for something as large as what you propose I doubt you'd see "exact from first principles" treatment; approximations likely enter it to it. (My numerical work in undergrad would take days to run, for reactions like F + H2.)

The key word is "reactive scattering" -- the process of two molecules colliding and then a different configuration emerging. This seems like a decent review paper, if you can access it.

zeldredge
  • 10,247
2

The other answers hit on the software that exists already and touched on how long "pure" ab inito (from first principals) calculations can take. Note: for interesting systems supercomputers are used (my group as access to one, would recommend)

The most important classes to take if you want to write your own code (I'm assuming you know how to code):

Linear Algebra - 99% of all Quantum Chemistry is matrix math

Physical Chemistry - make sure you understand underlying concepts

Quantum Physics/Chemistry - either will definitely get to into shouting distance of being able to code - but the focus is going to be on the exact answer that we get for Hydrogen not coding the modern methods

If you want a course that will actually teach you how to code the modern methods, you will probably have to go to a school that as a focused center for Quantum Chemistry or a Physics department that is branching into chemistry.

Example class titles: Advanced Quantum Chemistry, 'Beyond Hartree-Fock', or Couple Cluster Methods

If you have an interest in playing with a quantum chemistry package you can download from github: Psi4 - written in C++ and python with a python interface for input