Error message when calculating EOM

71 views
Skip to first unread message

MH Hsieh

unread,
Oct 15, 2020, 1:36:55 PM10/15/20
to NWChem Forum
Hi all,

I currently use NWchem to calculate the excitation energies of a system that has 311 basis functions with the EOM-CCSD method.
However, an error message occurs after the convergence of the CCSD part.
  "tce_filenameindexed: illegal index                1000" 
Attached is the screenshot near the message.

Calculations with both NWchem 6.8.1 and 7.0.1 have this error.  
On the other hand, EOM calculations of small molecules such as F2 and N2 are OK.

Therefore, I want to know what is the problem and how can I solve this.
If more information is required, please tell me.

Many thanks.

Edoardo Aprà

unread,
Oct 15, 2020, 1:40:05 PM10/15/20
to nwchem...@googlegroups.com
There is no attachment to your posting.
Please avoid using screenshots in your postings when possible. Text files in attachment are much easier to deal with.
Please post the complete input and output files.


nicholas.bauman

unread,
Oct 15, 2020, 1:45:47 PM10/15/20
to NWChem Forum
If you could also attach the input and output file you used that would be helpful. 

MH Hsieh

unread,
Oct 16, 2020, 2:00:08 AM10/16/20
to NWChem Forum
Hi all,
I'm sorry about that.
The forum system seems not to allow me to attach files, so I put the files into my google drive.
The link below has my input, output, and standard output files.
Many thanks!

Nicholas Bauman

unread,
Oct 16, 2020, 4:53:04 PM10/16/20
to NWChem Forum

The error message you are seeing is complaining that there is over 1000 initial vectors, which is very expensive (the EOM caclulation will carryout the corresponding contraction on each vector)!

The problem is occurring in the initial guess routine. Initial guesses are based on orbital energy differences between occupied and unoccupied orbitals. For x1 (or R_1 in standard CC notation) this is (e_a - e_i), where e_p is the orbital energy of orbital p and in the notation a,b,.. is unoccupied and i,j,... is occupied. The smallest of these values is the excitation from HOMO to LUMO. If you are using symmetry, then these are the lowest symmetry allowed orbitals energy differences, but that is not the case here. For x2 (or R_2 in standard CC notation) this is (e_a + e_b - e_i - e_j). The smallest possibility of these values is 2 times the differences between the HOMO and LUMO energies. Despite setting the value of nroots, you may end up with many more roots as the initial guess because of the routine. Generally for x1, the code ought to take the nroot number of excitations. However, for the default solver, x2 has a hardcoded value of 0.6 that the difference must be below. This is done to find doubly excited states that are likely to occur, but is what is causing a problem for you and I explain why below.

Some things I noticed about your calculation is that there are several orbitals with an energy of nearly 0, which is why the number of inital vectors grows quickly because they create orbital differences that the algorithm thinks are important. My question to you is, are you sure that you are approaching your problem correctly? What is your intention with this calculation? The orbitals with energy of nearly zero are centered on the 'bq' atom whose basis set you defined. There is likely doubly excited states that will be important and CCSD will not be good at capturing this. You are looking for 10 roots, which for singly excited states in this case almost certainly excitations from the HOMO to the ten lowest unoccupied orbitals sitting on the 'bq' atom. Also, given the number of orbitals that are nearly zero, you are likely going to need more than 10 roots to properly addres your problem.

Options:
1. This is the most important: Consider your problem. Are you approaching it correctly? Could you accomplish the same results with a different basis set or method? What kind of excited states are you looking for?
*** None of the following options are ideal and given your situation so far, I am convinced they will not help your situation:
2. You can use the keyword 'EOMSOL 2' which uses the CIS initial guess. You may find your singly excited states, but are likely going to miss doulby excited states. You will also have to likely request a lot more roots given the number of close lying unoccupied orbitals.
3. I can tell you where in the source code we can change the threshold for doubly excited states, but even if we bring it down significantly from the orbital energy difference of 0.6, you are still going to have a LARGE number of states and can miss other states that are close in energy. Also, to properly solve doubly excited state, you will need a method with triple excitations, which is introduces a significant cost.

Best,
Nick

MH Hsieh

unread,
Oct 17, 2020, 10:04:23 AM10/17/20
to NWChem Forum
Hi Mr. Bauman,

Thanks for your reply and explanation!

The calculation mainly focuses on the excitation energies from the valence orbitals to the Rydberg and dipole-bound orbitals (not in this case).  To depict the diffuse orbitals, I add 7s and 7p diffuse functions to the center of mass (i.e., the position of Bq). As my early-stage study, I specifically want to know the lowest excited state and the corresponding energy. In addition, other excited states that have similar energies are going to be focused. Therefore, I think that I could either use 'EOMSOL 2' algorithm to see the excitation states with the single excitation, or reduce the number of roots in my calculation.

Thank you again.

Best,
M.H.

Nicholas Bauman 在 2020年10月17日 星期六上午4:53:04 [UTC+8] 的信中寫道:
Reply all
Reply to author
Forward
0 new messages