# How to determine stable electron states in ionic and covalent bonds?

I'm working on a program that needs to determine if a bond between two or more elements will result in a stable state. I understand at a high-level how to fill electron subshells using the Aufbau principle, but I also read that in some cases, electrons will jump from a lower energy shell or orbital to a higher one in order to maintain a stable state (Filling Electron Shells).

For example, if I want to determine if Hydrogen and Nitrogen will form a stable bond I would fill the shells for Nitrogen like so:

When adding Hydrogen, would the two electrons in the 2s shell jump to the 2p shell because with the one electron from Hydrogen the HN would then have a full 2p shell? Like this:

Or is this not a stable state? Would it require a large amount of energy to excite or promote those two 2s electrons to the 2p shell?

I'm trying to understand if there are rules or heuristics I can use to estimate if two ore more elements will bond (on there own w/o adding a large amount of energy to the system) using their valence electron configuration like this, or if there are too many exceptions, making it not a simple programming task to estimate this.

• This question in general is entire point of quantum chemistry, so there is no simple answer on it except "setup run for package [PACKAGE_NAME] and try". In some simple cases , like one you stated, it is possible to note, that for second row of elements 2s-2p gap is hight, so N in HN will have $1s^22s^22p^2$ electronic formula. Commented Aug 10, 2012 at 10:47
• As an addition to what @permeakra said, it might be an idea to edit your question to go into a little more detail on what you're trying to do (and constraints involved) so that someone can either suggest an appropriate approximate method, or maybe tell you that it's impossible. :) Commented Aug 10, 2012 at 13:52
• @Aesin, I've edited my question a bit to explain what I'm trying to do. Perhaps it's not possible to code some simple rules and I need to run a package such at StochKit? Commented Aug 10, 2012 at 14:52
• @MattPalmerlee: It's still not really clear what sort of level you're aiming at, and I'll try to explain why: generally, two atoms in a vacuum will attract each other. Even helium atoms attract each other, but there's no significant electron transfer between them. If you want to work out whether two atoms can form a covalent bond or an ionic bond, that's an entirely different kettle of fish, and there are some rules based on electronegativity that sort of work for elements down to about calcium - beyond that is dangerous transition zone. Commented Aug 10, 2012 at 19:19
• For anyone who is curious, I've finished the first version of my game this question was for: Chem Fight instead of trying to estimate if two or more atoms will form a compound I use a list of common compounds, if a combination is on the list, it's a valid compound, otherwise an attack will be successful. Commented Sep 13, 2012 at 14:02