[CP2K-user] [CP2K:18561] Re: Evaluation of basis functions over a grid and computation of overlap integrals
Aleksandros Sobczyk
sobczykalek at gmail.com
Sun Mar 19 11:40:58 UTC 2023
Thank you very much for the feedback (especially over weekend).
It is very helpful, I think it is slowly clarifying.
I also found this reference in the
meantime: https://onlinelibrary.wiley.com/doi/10.1002/qua.560540202
But the link you shared seems more readable.
I will post our findings (...or more questions!)
Best regards,
Aleksandros
On Saturday, March 18, 2023 at 6:19:31 PM UTC+1 Krack Matthias wrote:
> Hi Aleksandros
>
>
>
> The basis set output in the top of the CP2K output is in Cartesian
> representation (i.e. not spherical coordinates) which you can easily
> recognize as soon as you have basis functions with l > 1 (d, f …), because
> there are 6 Cartesian d orbitals printed. I just wanted to note that the
> default output for integral matrices like the overlap matrix S, however, is
> in the spherical orbital representation (5 d orbitals d(-2) … d(+2)).
> Maybe, I confused you in that respect, since you are still trying to
> reproduce the initial basis set normalization.
>
> I suggest to start exercising with a primitive basis set and a single He
> atom, e.g.
>
> He
>
> 1 0 2 1 1 1 1
>
> 1.2 0.5 0.4 0.3
>
> and then try a contracted basis set with two primitive Gaussian functions
> per l value
>
> He
>
> 1 0 2 2 1 1 1
>
> 1.2 0.5 0.4 0.3
>
> 0.8 0.4 0.2 0.1
>
> Here, I just selected exponents and coefficients randomly without testing
> or calculating anything in an exemplary manner.
>
> Note, that Cartesian and spherical Gaussian functions have different normalization
> factors
> <https://iodata.readthedocs.io/en/latest/basis.html#cartesian-basis-functions>
> .
>
>
>
> HTH
>
>
>
> Matthias
>
>
>
> *From: *cp... at googlegroups.com <cp... at googlegroups.com> on behalf of
> Aleksandros Sobczyk <sobcz... at gmail.com>
> *Date: *Friday, 17 March 2023 at 18:17
> *To: *cp2k <cp... at googlegroups.com>
> *Subject: *Re: [CP2K:18555] Re: Evaluation of basis functions over a grid
> and computation of overlap integrals
>
> Hi Matthias,
>
>
>
> Thanks a lot for the response.
>
> I will try to explain better my understanding and my confusion.
>
> I am not sure what you mean by Cartesian representations and spherical
> representations (I have little experience with contracted GTO).
>
>
>
> 1) Let's take it a step back, to the cp2k definitions of the basis sets:
> https://www.cp2k.org/basis_sets
>
> The *φ_i *'s seem to be defined in spherical coordinates in that page,
> and so are the contraction coefficients.
>
> I cannot see where the Cartesian representations come in.
>
>
>
> 2) Assuming that we consider everything to be in spherical coordinates, as
> defined in the basis_set page.
>
> We now want to transform the contraction coefficients of the input file,
> to the "normalized" contraction coefficients that are reported in the
> output of cp2k.
>
> Let's assume only the first orbital.
>
> From what I understand from your explanation, I need to perform the
> following two steps:
>
> (Step 1): For all pairs of exponents a_i and coefficients c_i for this
> orbital, we need to scale c_i such that the primitive Gaussian integral
>
> \int exp(-a_I*r^2) dr,
>
> will integrate to 1.
>
> (Step 2): After this scaling, apply yet another scaling to the
> coefficients c_i based on the procedure here
>
>
> https://github.com/cp2k/cp2k/blob/f26eaef31a9d3f80ca30d8d2f11790a2a072e370/src/aobasis/basis_set_types.F#L1075
>
>
>
> After these two steps, the coefficients that I will get out should match
> the coefficients that are reported in the output of cp2k.
>
> Again, all of these are in spherical coordinates.
>
>
>
> Thanks again for the response, let me know if I got something wrong.
>
>
>
> Best,
>
> Aleksandros
>
>
>
>
>
>
>
>
>
> On Friday, March 17, 2023 at 5:39:59 PM UTC+1 Krack Matthias wrote:
>
> Hi
>
>
>
> You want to normalize a contracted Gaussian function (cgf) basis set,
> which is performed in two steps: (1) normalization of the primitive
> Cartesian Gaussian functions and thereafter (2) normalization of the
> contracted Gaussian functions as indicated in line 1075
> <https://github.com/cp2k/cp2k/blob/f26eaef31a9d3f80ca30d8d2f11790a2a072e370/src/aobasis/basis_set_types.F#L1075>.
> This is all in Cartesian representation. For the spherical orbital
> representation, you will need a further Cartesian to spherical orbital
> transformation step. CP2K calculates integrals internally in the Cartesian
> representation, but the default printout, e.g. for the overlap integral
> matrix, is in spherical orbitals.
>
> Firstly, I would try to reproduce the normalization for an uncontracted
> basis set (one primitive function per l only). In the next step, you can
> try two primitive functions. Normalization is required to keep for instance
> the electron count (trace of PS).
>
>
>
> HTH
>
>
>
> Matthias
>
>
>
> *From: *cp... at googlegroups.com <cp... at googlegroups.com> on behalf of
> Aleksandros Sobczyk <sobcz... at gmail.com>
> *Date: *Friday, 17 March 2023 at 16:59
> *To: *cp2k <cp... at googlegroups.com>
> *Subject: *Re: [CP2K:18552] Re: Evaluation of basis functions over a grid
> and computation of overlap integrals
>
> Below is the precise example we are using.
>
> These un-normalized orbitals:
>
>
>
>
>
>
>
>
>
> *Sr SZV-MOLOPT-SR-GTH SZV-MOLOPT-SR-GTH-q10 1 2 0 1 6 2 1
> 7.290111894735 0.069364270475 -0.016182746349 0.035659445929
> 2.536776771327 -0.571246927373 0.158928639982 -0.195822349727
> 1.283099546928 0.167836311459 -0.041157757852 0.260320252229
> 0.532449841650 0.904733330629 -0.431882417196 0.555386362294
> 0.211628059408 0.250907816117 -0.073959284415 0.267635587013
> 0.050841303698 0.007135721199 0.825600560103 0.001214128781*
>
> after the normalization (cp2k output) become as follows:
>
>
>
>
>
>
>
>
> *Sr SZV-MOLOPT-SR-GTH SZV-MOLOPT-SR-GTH-q10 1 2 0 1 6 2 1 7.290111894735
> 0.221325 -0.071449 0.684627 2.536776771327 -0.825808
> 0.317914 -1.004793 1.283099546928 0.145521 -0.049379
> 0.569764 0.532449841650 0.405577 -0.267899 0.404860
> 0.211628059408 0.056304 -0.022965 0.061570
> 0.050841303698 0.000549 0.087969 0.000047*
>
>
>
> None of the two aforementioned normalization procedures can reproduce this.
>
>
>
> On Friday, March 17, 2023 at 4:54:28 PM UTC+1 Aleksandros Sobczyk wrote:
>
> Update on this:
>
> There appear to be two (maybe more) normalization procedures for orbital
> coefficients:
>
> 1)
> https://github.com/cp2k/cp2k/blob/f26eaef31a9d3f80ca30d8d2f11790a2a072e370/src/aobasis/basis_set_types.F#L1099
> 2)
> https://github.com/cp2k/cp2k/blob/f26eaef31a9d3f80ca30d8d2f11790a2a072e370/src/atom_types.F#L2374
>
> The results of 1) seem to be closer to the output of cp2k (for
> s-orbitals). For p-orbitals it starts to diverge.
>
>
>
> It would be great if someone can confirm which normalization method is
> used internally for contracted Gaussians.
>
> (what is the goal of the normalization? are the primitive Gaussians
> normalized to integrate to 1? is it something more advanced?)
>
>
>
> Best regards,
>
> Aleksandros Sobczyk
>
> On Monday, March 13, 2023 at 11:00:04 AM UTC+1 Aleksandros Sobczyk wrote:
>
> Dear prof. Hutter and CP2K developers,
>
>
> The example helped to figure out how to reproduce the overlap matrix for
> our systems. We had to apply the following two steps:
>
> 1) For the basis sets, we had to use the normalized coefficients that are
> found inside the output file of CP2K. The un-normalized coefficients from
> the original BASIS_SET file did not work (as you suggested). For now, we
> can directly use the CP2K output to derive these normalized coefficients
> for our experiments, but it would be also helpful to know how to reproduce
> them (i.e., what is the normalization procedure).
>
> 2) We also had to scale all the exponents of all the basis sets by a
> factor of (1/0.529)^2 (to convert Angstrom to atomic units). This was an
> arbitrary guess, but without it the overlaps do not match.
>
> Could you confirm that this is the correct way to compute the orbital
> overlaps? (and if not, propose the correct way).
> It would also be helpful if these details can be documented, e.g. in this
> page: https://www.cp2k.org/basis_sets
>
> Best regards and thank you again for the feedback,
> Aleksandros Sobczyk
>
> On Friday, March 10, 2023 at 6:35:28 PM UTC+1 Aleksandros Sobczyk wrote:
>
> Dear Prof. Hutter,
>
>
>
> Thank you very much for your reply and for the example.
>
> Let us investigate it with my colleagues and see if we can resolve our
> problem.
>
>
>
> Best regards,
>
> Aleksandros
>
> On Friday, March 10, 2023 at 3:18:28 PM UTC+1 Jürg Hutter wrote:
>
> Hi
>
> are you assuming normalized or un-normalized Gaussians?
> The basis set input in CP2K uses (like all QC codes) normalized Gaussians.
> Internally, CP2K works with un-normalized Cartesian Gaussians, i.e. the
> coefficients are adapted at the beginning of the calculation.
>
> I have attached a simple example where you can play with the basis set
> in the input and the overlap matrix is printed.
>
> regards
> JH
>
> ________________________________________
> From: cp... at googlegroups.com <cp... at googlegroups.com> on behalf of
> Aleksandros Sobczyk <sobcz... at gmail.com>
> Sent: Friday, March 10, 2023 2:26 PM
> To: cp2k
> Subject: [CP2K:18530] Re: Evaluation of basis functions over a grid and
> computation of overlap integrals
>
> Update: I have also calculated several overlap integrals analytically (for
> s-orbitals which are simpler), they still don't match the values of the S
> matrix.
> Any feedback would be greatly appreciated.
>
> On Wednesday, March 8, 2023 at 12:57:02 PM UTC+1 Aleksandros Sobczyk
> wrote:
> Hello,
>
> I have a set of atoms in real-space and the corresponding SZV basis sets.
> I want to evaluate each basis function over a grid of points in the cell.
> E.g., I have a grid of 3d points [r1, r2, ..., rk] and I want to evaluate
> each
> Φj(r1), Φj(r2), ... Φj(rk)
> As a test, I tried to numerically integrate Φj * conj(Φj) over the grid
> that it was evaluated, and compare the result with the corresponding entry
> S[j, j] of the overlap matrix that
> is returned by CP2K.
> Unfortunately my integral differs substantially from the element S[j, j],
> so I am doing something wrong.
>
> Can we find somewhere more detailed documentation on the precise
> mathematical formulation of the basis sets, and also on the specific
> algorithms that are used by CP2K to compute the overlap integrals?
> (So far I have followed as precisely as possible the following page:
> https://www.cp2k.org/basis_sets
> but it is still missing information, e.g. are the coefficients normalized?
> do we assume that the spherical harmonics include the phase factor? etc.)
>
> Thanks a lot in advance!
> Aleksandros
>
> --
> You received this message because you are subscribed to the Google Groups
> "cp2k" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to cp2k+uns... at googlegroups.com<mailto:cp2k+uns... at googlegroups.com>.
>
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/cp2k/fa61a2bc-2c9c-4771-8606-445d46af9148n%40googlegroups.com
> <
> https://groups.google.com/d/msgid/cp2k/fa61a2bc-2c9c-4771-8606-445d46af9148n%40googlegroups.com?utm_medium=email&utm_source=footer>.
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "cp2k" group.
>
> To unsubscribe from this group and stop receiving emails from it, send an
> email to cp2k+uns... at googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/cp2k/073f7bb7-8358-47b8-ba7c-06fe5075ff6cn%40googlegroups.com
> <https://groups.google.com/d/msgid/cp2k/073f7bb7-8358-47b8-ba7c-06fe5075ff6cn%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
> --
> You received this message because you are subscribed to the Google Groups
> "cp2k" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to cp2k+uns... at googlegroups.com.
>
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/cp2k/fc50d786-153e-4120-85d0-d2e8871d8085n%40googlegroups.com
> <https://groups.google.com/d/msgid/cp2k/fc50d786-153e-4120-85d0-d2e8871d8085n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
--
You received this message because you are subscribed to the Google Groups "cp2k" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cp2k+unsubscribe at googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cp2k/466ad703-60ce-4f16-812f-92130a01d77cn%40googlegroups.com.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cp2k.org/archives/cp2k-user/attachments/20230319/55cb90a1/attachment-0001.htm>
More information about the CP2K-user
mailing list