Basis functions not specified in expected form

Basis functions not specified in expected form

Postby markusd » Sun Jun 29, 2014 10:30 pm

Dear NBO team,

I have been struggling for some time now with the following problem. I admit that I am not completely sure that this is a problem of NBO or of the program I used to create the input. But I hope to get some hint in this forum.

I want to do an NBO analysis on the phenalenone molecule. (See attachment. Because the input file is too big to upload it completely, I had to shorten it.). This input file was created from a molden file (obtained from a turbomole calculation) using molden2aim (so the problem might as well be related to molden2aim).

The NBO calculation runs (partially), but in the output appears the message

"Basis functions are not specified in the expected form; all NBO options that require the coefficients and exponents of these functions (including NJC, NBCP, and PLOT/AOINFO) are disabled."

and no file .31 is created.

In order to further investigate the problem I have created an input for the water molecule (same basis set, also with molden2aim from a turbomole calculation). This calculation runs without any problems (and gives a hint that the problem might be related to NBO, not to molden2aim). Apart from the file size I do not see any obvious difference between the two files, so I really have no idea what could be the problem.

Any help would be appreciated.

Best regards,

Markus
Attachments
pnshortened.gz
shortened input file (.47) phenalenone, zipped.
(2.65 KiB) Downloaded 228 times
markusd
 
Posts: 4
Joined: Sun Jun 29, 2014 9:53 pm

Re: Basis functions not specified in expected form

Postby ericg » Mon Jun 30, 2014 1:53 pm

Markus,

If basis function coefficients and exponents are provided in the FILE47 input, NBO tests these values by explicitly calculating basis function overlap integrals and comparing the resulting overlap matrix to that provided in the FILE47 $OVERLAP datalist. Some electronic structure programs assume that the underlying primitive functions are normalized, and others don't. By default, NBO assumes that the primitives are not normalized. If the test successfully reproduces the matrix in $OVERLAP, NBO proceeds normally. If unsuccessful, NBO assumes that the parent program used normalized primitives, evaluates the normalization constants (rescaling the basis function coefficients and saving internally), and reevaluates the overlap matrix. If the new overlap doesn't agree with $OVERLAP, NBO gives up, warns the user (as you see), and disables all functionality that requires details of the underlying basis functions.

NBO will fail similarly if the underlying basis functions don't have the expected forms (e.g. standard f functions vs cubic f) and perhaps if the symmetries (the 301, 302, 303... or 351, 352, 353... labels) have not been defined appropriately.

I'm surprised that water works for you, but not phenalenone when using the same basis set. On the other hand, water is rather small, and I've encountered cases when systems with a single heavy atom have worked, but not systems with more than one.

Here are a couple of things to try:

1. Does phenalenone work with an sp basis only (like 3-21g)? If so, d- and/or f-functions are likely the problem.

2. Water may work, but what about methanol (something with more than one heavy atom). If methanol doesn't work, then I'd bet that the symmetry labels are not appropriately assigned to the basis functions.

Eric
ericg
 
Posts: 265
Joined: Sat Dec 29, 2012 9:31 am

Re: Basis functions not specified in expected form

Postby markusd » Mon Jun 30, 2014 3:28 pm

Eric,

Thank you very much for your answer. Following your suggestions I did some more test calculations, and it seems that the problem is not in NBO but in molden2aim.

Here is what I did:

1. Phenalenone with turbomole's SV basis (only s and p functions): Now NBO reports a problem reading overlap. Looking at the .47 file one finds several "********" entries in this section (I assume that this means something like NaN). Obviously there is a problem in molden2aim.

2. Several molecules with cc-pVTZ basis: methanol, propanol, phenol: Only the calculation with methanol ends without error messages (as did the calculation with water). The others fail with the usual error "Basis functions are not specified in the expected form".

So it seems that the problem is in molden2aim and not in NBO. The feature to create NBO input files with this program is very new, so there might still be some bugs. I will contact the author of this program.

Thanks again for your help.

Markus
markusd
 
Posts: 4
Joined: Sun Jun 29, 2014 9:53 pm

Re: Basis functions not specified in expected form

Postby markusd » Thu Jul 03, 2014 3:57 pm

Eric,

I have been in contact with the author of molden2aim, who was very cooperative. He has indeed found a bug in his program (some prefactor of d,f,g contraction coefficients was missing).
However, even with the corrected version I get the warning of NBO that the basis functions are not specified in the expected form. His suggestion is that the checking in NBO may be a bit too strict.

He sent me two .47 files (both with zero electron density), which I attach (7-zip compressed). One created from Gaussian (gaussian.47), and one from molden (molden.47). As you see, there are some differences in the overlap matrices. The gaussian.47 file works perfectly, while the molden.47 file produces the usual warning.

I cannot try to make the checking in NBO less strict, because I don't have a source code license, but it would be nice if you could comment on this. Would it be OK to make the checking in NBO less strict, or could it be that there is another problem in the input file?


Best regards,

Markus
Attachments
47.7z
two input files
(163.34 KiB) Downloaded 223 times
markusd
 
Posts: 4
Joined: Sun Jun 29, 2014 9:53 pm

Re: Basis functions not specified in expected form

Postby ericg » Thu Jul 03, 2014 11:45 pm

Markus,

Yes, the overlap test that NBO performs seems a bit too strict. The code expects that overlaps agree to within 1e-6, which clobbers (although not by much) your MOLDEN.47 test case. I've now increased the tolerance to 1e-5. This change should be available in the latter part of July, when I next update the NBO6 distributions.

Thanks for passing this issue along to me.

Eric
ericg
 
Posts: 265
Joined: Sat Dec 29, 2012 9:31 am

Re: Basis functions not specified in expected form

Postby markusd » Fri Jul 04, 2014 1:17 pm

Eric,

I have just received another email from the author of molden2aim. He increased the number of printed digits in the .47 file, and also the precision of the Bohr-Angstrom conversion factor.
Now the files created with molden2aim work perfectly with NBO. So probably changing the threshold in the consistency check is not necessary.

Thank you very much again for your help.

Markus
markusd
 
Posts: 4
Joined: Sun Jun 29, 2014 9:53 pm

Re: Basis functions not specified in expected form

Postby mevans » Sat Aug 16, 2014 7:58 pm

Hey NBO team! I'm having a similar issue with the 6-31G(d) basis set in GAMESS. I'm attempting a calculation on allyl bromide and getting the same message when running gennbo on the archive.47 file spit out by GAMESS. When I use the PLOT keyword in the *.47 file, the *.31 file comes out at zero bytes.

I realized later that I could just throw PLOT into the GAMESS input (*.inp) file, and that worked like a charm! I'm not sure if that's a problem with GAMESS or NBO...ultimately, just putting PLOT in GAMESS saved me a step, I think. Either way, I wanted to make you aware of the issue. I've attached the offending input file.
Attachments
allyl_bromide_gamess.inp.zip
(569 Bytes) Downloaded 221 times
mevans
 
Posts: 2
Joined: Sat Aug 16, 2014 7:41 pm

Re: Basis functions not specified in expected form

Postby ericg » Sun Aug 17, 2014 6:08 pm

This problem only arises for GAMESS optimizations when, it appears, the geometry has not converged. There is no similar issue for GAMESS single point calculations.

For an NSTEP geometry optimization, GAMESS stores (and passes to NBO) the NSTEP+1 geometry, the geometry that would be considered next if the optimization were to continue. Thus, while NBO receives the overlap and density matrices for geometry NSTEP, it receives the atomic coordinates for geometry NSTEP+1. As long as the optimization has converged, the difference in the NSTEP and NSTEP+1 geometries is not sufficiently large to create an issue for NBO. When the optimization has not converged, these geometries may differ sufficiently so that densities or orbital amplitudes calculated by NBO using the basis functions are inconsistent with information determined from the overlap and densities matrices.

There isn't a good fix here. NBO really should get consistent data, all for the NSTEP geometry. But GAMESS discards the NSTEP geometry, replacing it by NSTEP+1. Either run NBO in GAMESS single point calculations only, or always ensure that GAMESS converges the geometry before performing NBO analysis.

Thanks for calling attention to this issue.

Eric
ericg
 
Posts: 265
Joined: Sat Dec 29, 2012 9:31 am


Return to Bug Reports

Who is online

Users browsing this forum: No registered users and 1 guest

cron