Hi Matthias,<div><br /></div><div>Thanks a lot for the response.</div><div>I will try to explain better my understanding and my confusion.</div><div>I am not sure what you mean by Cartesian representations and spherical representations (I have little experience with contracted GTO).</div><div><br /></div><div>1) Let's take it a step back, to the cp2k definitions of the basis sets:<br />https://www.cp2k.org/basis_sets</div><div>The <b>φ_i </b>'s seem to be defined in spherical coordinates in that page, and so are the contraction coefficients.</div><div>I cannot see where the Cartesian representations come in.</div><div><br /></div><div>2) Assuming that we consider everything to be in spherical coordinates, as defined in the basis_set page.</div><div>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.</div><div>Let's assume only the first orbital.</div><div>From what I understand from your explanation, I need to perform the following two steps:</div><div>(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  </div><div>        \int exp(-a_I*r^2) dr,</div><div>will integrate to 1.</div><div>(Step 2):  After this scaling, apply yet another scaling to the coefficients c_i based on the procedure here </div><div>        https://github.com/cp2k/cp2k/blob/f26eaef31a9d3f80ca30d8d2f11790a2a072e370/src/aobasis/basis_set_types.F#L1075</div><div><br /></div><div>After these two steps,  the coefficients that I will get out should match the coefficients that are reported in the output of cp2k.</div><div>Again, all of these are in spherical coordinates.</div><div><br /></div><div>Thanks again for the response, let me know if I got something wrong.</div><div><br /></div><div>Best,</div><div>Aleksandros</div><div><br /></div><div><br /></div><div><br /></div><div><br /><br /></div><div class="gmail_quote"><div dir="auto" class="gmail_attr">On Friday, March 17, 2023 at 5:39:59 PM UTC+1 Krack Matthias wrote:<br/></div><blockquote class="gmail_quote" style="margin: 0 0 0 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">





<div lang="en-CH" link="blue" vlink="purple" style="word-wrap:break-word">
<div>
<p class="MsoNormal"><span lang="DE-CH" style="font-size:11.0pt">Hi<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="DE-CH" style="font-size:11.0pt"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt">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
<a href="https://github.com/cp2k/cp2k/blob/f26eaef31a9d3f80ca30d8d2f11790a2a072e370/src/aobasis/basis_set_types.F#L1075" target="_blank" rel="nofollow" data-saferedirecturl="https://www.google.com/url?hl=en&q=https://github.com/cp2k/cp2k/blob/f26eaef31a9d3f80ca30d8d2f11790a2a072e370/src/aobasis/basis_set_types.F%23L1075&source=gmail&ust=1679157824494000&usg=AOvVaw0q6fWsbNaskbLM1O2UvK-p">
line 1075</a>. 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.<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt">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).
<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt">HTH<u></u><u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt"><u></u> <u></u></span></p>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt">Matthias  
<u></u><u></u></span></p></div></div><div lang="en-CH" link="blue" vlink="purple" style="word-wrap:break-word"><div>
<p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt"><u></u> <u></u></span></p>
<div style="border:none;border-top:solid #b5c4df 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal" style="margin-right:0cm;margin-bottom:12.0pt;margin-left:36.0pt">
<b><span style="font-size:12.0pt;color:black">From: </span></b><span style="font-size:12.0pt;color:black"><a href data-email-masked rel="nofollow">cp...@googlegroups.com</a> <<a href data-email-masked rel="nofollow">cp...@googlegroups.com</a>> on behalf of Aleksandros Sobczyk <<a href data-email-masked rel="nofollow">sobcz...@gmail.com</a>><br>
<b>Date: </b>Friday, 17 March 2023 at 16:59<br>
<b>To: </b>cp2k <<a href data-email-masked rel="nofollow">cp...@googlegroups.com</a>><br>
<b>Subject: </b>Re: [CP2K:18552] Re: Evaluation of basis functions over a grid and computation of overlap integrals<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:36.0pt"><span style="font-size:11.0pt">Below is the precise example we are using.<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:36.0pt"><span style="font-size:11.0pt">These un-normalized orbitals:<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-right:0cm;margin-bottom:12.0pt;margin-left:36.0pt">
<b><span style="font-size:11.0pt;color:black;background:yellow">Sr SZV-MOLOPT-SR-GTH SZV-MOLOPT-SR-GTH-q10<br>
1<br>
2 0 1 6 2 1<br>
     7.290111894735  0.069364270475 -0.016182746349  0.035659445929<br>
     2.536776771327 -0.571246927373  0.158928639982 -0.195822349727<br>
     1.283099546928  0.167836311459 -0.041157757852  0.260320252229<br>
     0.532449841650  0.904733330629 -0.431882417196  0.555386362294<br>
     0.211628059408  0.250907816117 -0.073959284415  0.267635587013<br>
     0.050841303698  0.007135721199  0.825600560103  0.001214128781</span></b><span style="font-size:11.0pt"><u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:36.0pt"><span style="font-size:11.0pt">after the normalization (cp2k output) become as follows:<br>
<b><span style="color:black;background:yellow">Sr SZV-MOLOPT-SR-GTH SZV-MOLOPT-SR-GTH-q10<br>
1<br>
2 0 1 6 2 1<br>
 7.290111894735       0.221325      -0.071449       0.684627<br>
 2.536776771327      -0.825808       0.317914      -1.004793<br>
 1.283099546928       0.145521      -0.049379       0.569764<br>
 0.532449841650       0.405577      -0.267899       0.404860<br>
 0.211628059408       0.056304      -0.022965       0.061570<br>
 0.050841303698       0.000549       0.087969       0.000047</span></b><u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:36.0pt"><span style="font-size:11.0pt"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:36.0pt"><span style="font-size:11.0pt">None of the two aforementioned normalization procedures can reproduce this.<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:36.0pt"><span style="font-size:11.0pt"><u></u> <u></u></span></p>
</div>
<div>
<div>
<p class="MsoNormal" style="margin-left:36.0pt"><span style="font-size:11.0pt">On Friday, March 17, 2023 at 4:54:28 PM UTC+1 Aleksandros Sobczyk wrote:<u></u><u></u></span></p>
</div>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<p class="MsoNormal" style="margin-left:36.0pt"><span style="font-size:11.0pt">Update on this:<u></u><u></u></span></p>
<div>
<p class="MsoNormal" style="margin-left:36.0pt"><span style="font-size:11.0pt">There appear to be two (maybe more) normalization procedures for orbital coefficients:<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:36.0pt"><span style="font-size:11.0pt">1) <a href="https://github.com/cp2k/cp2k/blob/f26eaef31a9d3f80ca30d8d2f11790a2a072e370/src/aobasis/basis_set_types.F#L1099" target="_blank" rel="nofollow" data-saferedirecturl="https://www.google.com/url?hl=en&q=https://github.com/cp2k/cp2k/blob/f26eaef31a9d3f80ca30d8d2f11790a2a072e370/src/aobasis/basis_set_types.F%23L1099&source=gmail&ust=1679157824494000&usg=AOvVaw1-m1C9MIlb0djKQjW1gzN6">https://github.com/cp2k/cp2k/blob/f26eaef31a9d3f80ca30d8d2f11790a2a072e370/src/aobasis/basis_set_types.F#L1099</a><br>
2) <a href="https://github.com/cp2k/cp2k/blob/f26eaef31a9d3f80ca30d8d2f11790a2a072e370/src/atom_types.F#L2374" target="_blank" rel="nofollow" data-saferedirecturl="https://www.google.com/url?hl=en&q=https://github.com/cp2k/cp2k/blob/f26eaef31a9d3f80ca30d8d2f11790a2a072e370/src/atom_types.F%23L2374&source=gmail&ust=1679157824494000&usg=AOvVaw0ce6ixfi45MJreOJqz1rhZ">https://github.com/cp2k/cp2k/blob/f26eaef31a9d3f80ca30d8d2f11790a2a072e370/src/atom_types.F#L2374</a><u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:36.0pt"><span style="font-size:11.0pt">The results of 1) seem to be closer to the output of cp2k (for s-orbitals). For p-orbitals it starts to diverge.<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:36.0pt"><span style="font-size:11.0pt"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:36.0pt"><span style="font-size:11.0pt">It would be great if someone can confirm which normalization method is used internally for contracted Gaussians.<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:36.0pt"><span style="font-size:11.0pt">(what is the goal of the normalization? are the primitive Gaussians normalized to integrate to 1? is it something more advanced?)<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:36.0pt"><span style="font-size:11.0pt"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:36.0pt"><span style="font-size:11.0pt">Best regards,<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:36.0pt"><span style="font-size:11.0pt">Aleksandros Sobczyk<u></u><u></u></span></p>
</div>
<div>
<div>
<p class="MsoNormal" style="margin-left:36.0pt"><span style="font-size:11.0pt">On Monday, March 13, 2023 at 11:00:04 AM UTC+1 Aleksandros Sobczyk wrote:<u></u><u></u></span></p>
</div>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<p class="MsoNormal" style="margin-left:36.0pt"><span style="font-size:11.0pt">Dear prof. Hutter and CP2K developers,<u></u><u></u></span></p>
<div>
<p class="MsoNormal" style="margin-right:0cm;margin-bottom:12.0pt;margin-left:36.0pt">
<span style="font-size:11.0pt"><br>
The example helped to figure out how to reproduce the overlap matrix for our systems. We had to apply the following two steps:<br>
<br>
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).<br>
<br>
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.<br>
<br>
Could you confirm that this is the correct way to compute the orbital overlaps? (and if not, propose the correct way).
<br>
It would also be helpful if these details can be documented, e.g. in this page: <a href="https://www.cp2k.org/basis_sets" target="_blank" rel="nofollow" data-saferedirecturl="https://www.google.com/url?hl=en&q=https://www.cp2k.org/basis_sets&source=gmail&ust=1679157824494000&usg=AOvVaw0T8WcsUouPtPUnTntZWGgq">
https://www.cp2k.org/basis_sets</a><br>
<br>
Best regards and thank you again for the feedback,<br>
Aleksandros Sobczyk<u></u><u></u></span></p>
</div>
<div>
<div>
<p class="MsoNormal" style="margin-left:36.0pt"><span style="font-size:11.0pt">On Friday, March 10, 2023 at 6:35:28 PM UTC+1 Aleksandros Sobczyk wrote:<u></u><u></u></span></p>
</div>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<p class="MsoNormal" style="margin-left:36.0pt"><span style="font-size:11.0pt">Dear Prof. Hutter,<u></u><u></u></span></p>
<div>
<p class="MsoNormal" style="margin-left:36.0pt"><span style="font-size:11.0pt"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:36.0pt"><span style="font-size:11.0pt">Thank you very much for your reply and for the example.<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:36.0pt"><span style="font-size:11.0pt">Let us investigate it with my colleagues and see if we can resolve our problem.<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:36.0pt"><span style="font-size:11.0pt"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-left:36.0pt"><span style="font-size:11.0pt">Best regards,<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-right:0cm;margin-bottom:12.0pt;margin-left:36.0pt">
<span style="font-size:11.0pt">Aleksandros<u></u><u></u></span></p>
</div>
<div>
<div>
<p class="MsoNormal" style="margin-left:36.0pt"><span style="font-size:11.0pt">On Friday, March 10, 2023 at 3:18:28 PM UTC+1 Jürg Hutter wrote:<u></u><u></u></span></p>
</div>
<blockquote style="border:none;border-left:solid #cccccc 1.0pt;padding:0cm 0cm 0cm 6.0pt;margin-left:4.8pt;margin-right:0cm">
<p class="MsoNormal" style="margin-left:36.0pt"><span style="font-size:11.0pt">Hi
<br>
<br>
are you assuming normalized or un-normalized Gaussians? <br>
The basis set input in CP2K uses (like all QC codes) normalized Gaussians. <br>
Internally, CP2K works with un-normalized Cartesian Gaussians, i.e. the <br>
coefficients are adapted at the beginning of the calculation. <br>
<br>
I have attached a simple example where you can play with the basis set <br>
in the input and the overlap matrix is printed. <br>
<br>
regards <br>
JH <br>
<br>
________________________________________ <br>
From: <a href data-email-masked rel="nofollow">cp...@googlegroups.com</a> <<a href data-email-masked rel="nofollow">cp...@googlegroups.com</a>> on behalf of Aleksandros Sobczyk <<a href data-email-masked rel="nofollow">sobcz...@gmail.com</a>>
<br>
Sent: Friday, March 10, 2023 2:26 PM <br>
To: cp2k <br>
Subject: [CP2K:18530] Re: Evaluation of basis functions over a grid and computation of overlap integrals
<br>
<br>
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.
<br>
Any feedback would be greatly appreciated. <br>
<br>
On Wednesday, March 8, 2023 at 12:57:02 PM UTC+1 Aleksandros Sobczyk wrote: <br>
Hello, <br>
<br>
I have a set of atoms in real-space and the corresponding SZV basis sets. <br>
I want to evaluate each basis function over a grid of points in the cell. <br>
E.g., I have a grid of 3d points [r1, r2, ..., rk] and I want to evaluate each <br>
Φj(r1), Φj(r2), ... Φj(rk) <br>
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
<br>
is returned by CP2K. <br>
Unfortunately my integral differs substantially from the element S[j, j], so I am doing something wrong.
<br>
<br>
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?
<br>
(So far I have followed as precisely as possible the following page: <a href="https://www.cp2k.org/basis_sets" target="_blank" rel="nofollow" data-saferedirecturl="https://www.google.com/url?hl=en&q=https://www.cp2k.org/basis_sets&source=gmail&ust=1679157824494000&usg=AOvVaw0T8WcsUouPtPUnTntZWGgq">
https://www.cp2k.org/basis_sets</a> <br>
but it is still missing information, e.g. are the coefficients normalized? do we assume that the spherical harmonics include the phase factor? etc.)
<br>
<br>
Thanks a lot in advance! <br>
Aleksandros <br>
<br>
-- <br>
You received this message because you are subscribed to the Google Groups "cp2k" group.
<br>
To unsubscribe from this group and stop receiving emails from it, send an email to <a href data-email-masked rel="nofollow">cp2k+uns...@googlegroups.com</a><mailto:<a href data-email-masked rel="nofollow">cp2k+uns...@googlegroups.com</a>>.
<br>
To view this discussion on the web visit <a href="https://groups.google.com/d/msgid/cp2k/fa61a2bc-2c9c-4771-8606-445d46af9148n%40googlegroups.com" target="_blank" rel="nofollow" data-saferedirecturl="https://www.google.com/url?hl=en&q=https://groups.google.com/d/msgid/cp2k/fa61a2bc-2c9c-4771-8606-445d46af9148n%2540googlegroups.com&source=gmail&ust=1679157824494000&usg=AOvVaw00LUAlJyVajMHhpBRA87C9">
https://groups.google.com/d/msgid/cp2k/fa61a2bc-2c9c-4771-8606-445d46af9148n%40googlegroups.com</a><<a href="https://groups.google.com/d/msgid/cp2k/fa61a2bc-2c9c-4771-8606-445d46af9148n%40googlegroups.com?utm_medium=email&utm_source=footer" target="_blank" rel="nofollow" data-saferedirecturl="https://www.google.com/url?hl=en&q=https://groups.google.com/d/msgid/cp2k/fa61a2bc-2c9c-4771-8606-445d46af9148n%2540googlegroups.com?utm_medium%3Demail%26utm_source%3Dfooter&source=gmail&ust=1679157824494000&usg=AOvVaw0CATvpP2B9SI20qiL2IIoQ">https://groups.google.com/d/msgid/cp2k/fa61a2bc-2c9c-4771-8606-445d46af9148n%40googlegroups.com?utm_medium=email&utm_source=footer</a>>.
<u></u><u></u></span></p>
</blockquote>
</div>
</blockquote>
</div>
</blockquote>
</div>
</blockquote>
</div>
</div></div><div lang="en-CH" link="blue" vlink="purple" style="word-wrap:break-word"><div><p class="MsoNormal" style="margin-left:36.0pt"><span style="font-size:11.0pt">--
<br>
You received this message because you are subscribed to the Google Groups "cp2k" group.<br></span></p></div></div><div lang="en-CH" link="blue" vlink="purple" style="word-wrap:break-word"><div><p class="MsoNormal" style="margin-left:36.0pt"><span style="font-size:11.0pt">
To unsubscribe from this group and stop receiving emails from it, send an email to
<a href data-email-masked rel="nofollow">cp2k+uns...@googlegroups.com</a>.<br>
To view this discussion on the web visit <a href="https://groups.google.com/d/msgid/cp2k/073f7bb7-8358-47b8-ba7c-06fe5075ff6cn%40googlegroups.com?utm_medium=email&utm_source=footer" target="_blank" rel="nofollow" data-saferedirecturl="https://www.google.com/url?hl=en&q=https://groups.google.com/d/msgid/cp2k/073f7bb7-8358-47b8-ba7c-06fe5075ff6cn%2540googlegroups.com?utm_medium%3Demail%26utm_source%3Dfooter&source=gmail&ust=1679157824495000&usg=AOvVaw06nN2qtIg-olkxQ3jE26dI">
https://groups.google.com/d/msgid/cp2k/073f7bb7-8358-47b8-ba7c-06fe5075ff6cn%40googlegroups.com</a>.<u></u><u></u></span></p>
</div>
</div>

</blockquote></div>

<p></p>

-- <br />
You received this message because you are subscribed to the Google Groups "cp2k" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="mailto:cp2k+unsubscribe@googlegroups.com">cp2k+unsubscribe@googlegroups.com</a>.<br />
To view this discussion on the web visit <a href="https://groups.google.com/d/msgid/cp2k/fc50d786-153e-4120-85d0-d2e8871d8085n%40googlegroups.com?utm_medium=email&utm_source=footer">https://groups.google.com/d/msgid/cp2k/fc50d786-153e-4120-85d0-d2e8871d8085n%40googlegroups.com</a>.<br />