Sunday, November 1, 2009

The trouble with transition metals I: molecule building

This post is long overdue. Quite some time ago (it has been so long I can't find the email anymore) someone asked me to do a post on transition metals.

Modeling of transition metal-containing compounds is notoriously difficult and will require at least two separate posts: one one building the molecules (that's this post) and one on SCF convergence problems.

The screencast shows how to build two molecules: a model of a zinc finger and a substituted ferrocene.

I build the zinc finger model in Avogadro and the only new trick is to pick the UFF force field, because that has parameters for bonds to transition metals.

However, I build ferrocene using Marvin Sketch and import the structure into Avogadro. This is because Avogadro doesn't have multi-center coordination bonds, while Marvin does. The "multi-center" points I add in Marvin Sketch show up as "dummy atoms" in Avogadro. As the name suggests these are not real atoms.

I then use Avogadro to add a functional group to one of the rings and optimize them while leaving the ferrocene part frozen. I could have added the group in Marvin Sketch but Avogadro gives me the opportunity to use autoopt to find the best geometry for the functional group. Note that because I am freezing the transition metal containing part I don't need to assign bonds between the Fe atom and the rings and therefore I can use the MMFF force field, as long as I delete the dummy atoms first.


Marten said...

Hello, your blog has been extremely helpful with molecular modeling and I've referenced it extensively while I'm getting my research going.

I've run into a problem that I hope you can help me with, I've been calculating the polarizabilities of organic molecules using $FFCALC and so far so good. However, I'm currently trying to run a calculation on a molecule that contains a ferrocene group. I use the 6-31G** basis set for energy calculations, but I want to use the 6-31G++ basis set for the FFCALC calculations to include diffuse functions.

I can't use DIFFSP=.t. with a Fe atom, because then I get an error that the "polarization type L has no exponent" for the Fe atom.

Is there a clever way around this? Do I need to somehow define my basis set differently for Fe? What is a good basis set that includes diffuse functions for the transition metals?

I'd rather not change the basis set completely, because I'd like to be able to compare my results with my previous calculations using 6-31G++.

Thank you very much,


Jan Jensen said...


First, by 6-31G++ do you mean 6-31++G**? I would not recommend removing the polarization functions, as that would lead to an unbalanced basis set.

Second, I would suggest a mixed basis set, where you use 6-31G* for Fe and 6-31++G** for the rest.

You can do this by defining the basis functions for each atom in $DATA, instead of $BASIS. Have a look at the $DATA group in the .dat file (that you produce when you run GAMESS) for guidance.

Any problems, just write again.

I'm happy to hear you find the blog useful.

Marten said...

Thanks for the quick suggestion, Jan.

That sounds like an excellent solution, I can keep the polarization and diffuse functions for the rest of the atoms, and just treat the Fe separately.

(yes, I meant 6-31G with 2 sets of both polarization and diffuse functions)

Keep up the great work, it's been indispensable.

By the way, I'm curious, but are you related to the Frank Jensen that wrote another computational chemistry book? Or is that just a coincidence?


Marten said...

To be a little more precise, I used 6-31G(d,p) to optimize the geometry, and then 6-31++G(d,p) for the finite field calculations for the polarizabilities.

Would more polarization functions be beneficial? (i.e. 6-31G(2df,2p) or something like that?)


Jan Jensen said...

Jensen is the most common last name in Denmark, so it is probably just a coincidence. On the other hand, Denmark is a very small country ...

With regard to the basis set question. More polarization functions never hurt, but it is probably more important to have diffuse functions to describe your Cp* rings properly. But the safest things is simply to run the calculation and see.

boblodiablo said...

Hello Jan,
I am currently running a geometry calculation for a MnCp(CO)2 -> MnCp(CO)3 freezing string method. I am using a custom basis set, actually the same custom basis you recommended, but am getting non-convergence. Do you have any advice for fsm methods? Can I email you?


Jan Jensen said...


Please post the input and output somewhere (e.g. dropbox or Google Docs) and provide a link here. This way everyone benefits from the discussion

I'm pretty busy at the moment so the GAMESS Google discussion group would also be good idea.!forum/gamess

John kerry said...

This blog is really valuable to pass on upgraded enlightening endeavors over web which is genuinely examination. Mac video editing software