Boys' Localization

Find answers or ask questions regarding Dalton calculations.
Please upload an output file showing the problem, if applicable.
(It is not necessary to upload input files, they can be found in the output file.)

Post Reply
jan
Posts: 11
Joined: 22 Jul 2015, 10:35
First name(s): Jan
Last name(s): Pavlik
Affiliation: Slovak University of Technology
Country: Slovakia

Boys' Localization

Post by jan » 17 Feb 2016, 18:03

Dear all,

I tried to perform the Boys localization after HF calculation of an open shell system, however the localization appears unsuccessful. Is this because of the singly occupied orbital? If so, is there some way how to exclude this orbital from the localization? The output file is attached.

Thanks a lot

Jan
Attachments
ZX3.LHF.LS.out
(79.51 KiB) Downloaded 248 times

taylor
Posts: 545
Joined: 15 Oct 2013, 05:37
First name(s): Peter
Middle name(s): Robert
Last name(s): Taylor
Affiliation: Tianjin University
Country: China

Re: Boys' Localization

Post by taylor » 17 Feb 2016, 20:51

It is not possible to localize a set of (restricted) open-shell HF orbitals, and in fact as far as I can see the program does not even try. It states explicitly that it will attempt to localize the doubly occupied MOs, and the listing shows that it is in fact only trying to localize the 75 doubly occupied MOs. (The restricted open-shell HF energy is not invariant to a transformation that mixes doubly- and singly-occupied orbitals, ruling out most localization procedures. One can use e.g. the Boys procedure on a UHF wave function, by separately localizing the alpha-spin and beta-spin MOs, but this is not relevant here as Dalton has no UHF capability.)

I think the answer may be less complicated (and if so indicates rather poor presentation of output by Dalton, I'm afraid). The output states that the code took "76 iterations to converge" in the localization. However, if you look at the source ("use the Force, Luke...") in sirloc.F, in the directory DALTON/sirius, it suggests that the code actually has an inbuilt limit of 75 iterations for the Boys localization sweeps. I suspect that the line "76 iterations to converge" actually means no more than "took more than 75 iterations so I'm out" and in fact means nothing useful about "convergence". So your problem (my guess, anyway) is that your localization needs more than 75 iterations and the program bails out because of the hardwired limit.


It is a long time since I thought much about Boys localization and I have to say (assuming that "iteration" in this context means a complete sweep through the matrix defining the charge centroids, and I haven't studied the code enough to be sure and I had nothing to do with writing this code in the first place) 75 seems a pretty damn generously high threshold for this. But this may be a difficult case. There is no possibility that a quick look through the code threw up that this can be adjusted by input. So the most immediate approach would likely be to go in and change 75 to a larger value in sirloc.F and rebuild. However, this is purely a suggestion that comes with no guarantee: it may work, it may fail, and/or consume all the beer in your refrigerator. I say it may fail because if anything else, like an array dimension, is also hardwired to 75, that would obviously need to be changed too. Let me repeat, 75 sweeps already sounds like a lot, but this may be a tricky case.

Finally, a question which is purely curiosity on my part, but given that I've put a bit of thought/time into this response I thought I'd ask. You have a system, treated in no symmetry, that at first look at your input doesn't seem to have much if any symmetry: what do you think Boys localization will accomplish? What is it that you want that needs orbital localization? For instance, unlike LSDalton there are no "linear scaling" possibilities to take advantage of in e.g. subsequent correlation treatments.

Best regards
Pete

taylor
Posts: 545
Joined: 15 Oct 2013, 05:37
First name(s): Peter
Middle name(s): Robert
Last name(s): Taylor
Affiliation: Tianjin University
Country: China

Re: Boys' Localization

Post by taylor » 18 Feb 2016, 09:12

Addendum: it had not escaped my notice that you have 75 doubly occupied orbitals and the localization is set to perform at most 75 "iterations". Although I do not think one would localize by treating one occupied MO at a time, without examining the code (or having someone who knows that part of the code better than I do jump in) it is not possible to rule out a correlation between the "iterations" required and the number of occupied MOs. I mention this because it may be something to keep in mind if you are going to do further calculations with bigger systems: it may be that you would then need to repeatedly redefine the maximum iteration count.

One way to test this hypothesis quickly would be to run a couple of calculations on smaller systems (could be closed-shell) and see how many localization iterations are required in each calculation.

Best regards
Pete

olav
Posts: 143
Joined: 28 Aug 2013, 06:20
First name(s): Olav
Last name(s): Vahtras

Re: Boys' Localization

Post by olav » 18 Feb 2016, 10:14

For your information, there are two implementations of Boys localization in Dalton, that some time ago were implemented about simultaneously but independently in different groups. To try out the other implementation check the manual for *LOCALIZE.SELECT
The purpose of that implementation is to select a subset of occupied orbitals that are subject to localization. The test case in the source distribution "DALTON/test/energy_localize_selected" illustrates the localization of the core orbitals of Benzene. You can try that implementation for your case by listing all doubly occupied in the input file after .SELECT, e.g. for five doubly occupied

*LOCALIZE
.SELECT
5
1 2 3 4 5

Regards,
Olav

taylor
Posts: 545
Joined: 15 Oct 2013, 05:37
First name(s): Peter
Middle name(s): Robert
Last name(s): Taylor
Affiliation: Tianjin University
Country: China

Re: Boys' Localization

Post by taylor » 18 Feb 2016, 10:31

Olav makes a good suggestion but you will still have to rebuild the code if you want to localize all your doubly occupied MOs. Your input would end up being something like

Code: Select all

*LOCALIZE
.SELECT
 75
 1 2 3 4 5 ...
   ... 75
and the array that holds the MO indices to include in the localization only accommodates 10 values per symmetry (see the header file infloc.h).

Best regards
Pete

olav
Posts: 143
Joined: 28 Aug 2013, 06:20
First name(s): Olav
Last name(s): Vahtras

Re: Boys' Localization

Post by olav » 18 Feb 2016, 13:09

Thank you Pete for pointing that out.

jan
Posts: 11
Joined: 22 Jul 2015, 10:35
First name(s): Jan
Last name(s): Pavlik
Affiliation: Slovak University of Technology
Country: Slovakia

Re: Boys' Localization

Post by jan » 01 Mar 2016, 21:18

Dear Peter, dear Olav,

thank you a lot for your replies.

Regarding the question on the reason of the localization, my motivation was to see the shape of the natural magnetic orbital as discussed in "Molecular Magnetism" by Olivier Kahn. This molecule is generator of a dimer which has Ci symmetry and where a magnetic exchange between the copper centres exists.

Best regards

Jan

taylor
Posts: 545
Joined: 15 Oct 2013, 05:37
First name(s): Peter
Middle name(s): Robert
Last name(s): Taylor
Affiliation: Tianjin University
Country: China

Re: Boys' Localization

Post by taylor » 02 Mar 2016, 13:56

I am not familiar with the notion of a "natural magnetic orbital". But I want to make sure there is no misunderstanding here. You are running a doublet state: there is one open-shell orbital with a single spin in it. For such a situation this orbital is uniquely defined by the SCF procedure. The only way to transform it in any way is to mix it with other orbitals, and the SCF energy is not invariant to such a transformation. Hence what the program calculated is what there is, and I do not see what else is possible while maintaining the energy unchanged.

Best regards
Pete

jan
Posts: 11
Joined: 22 Jul 2015, 10:35
First name(s): Jan
Last name(s): Pavlik
Affiliation: Slovak University of Technology
Country: Slovakia

Re: Boys' Localization

Post by jan » 09 Mar 2016, 18:01

Thank you, dear Pete!

Post Reply

Who is online

Users browsing this forum: Bing [Bot] and 3 guests