[CP2K-user] MOS in Molden Format
Luca
luca.... at gmail.com
Mon Apr 26 08:18:43 UTC 2021
Dear Matthias
thank you a lot for the news.
Best Regards
Luca
On Thursday, April 22, 2021 at 9:33:45 PM UTC+2 Matthias Krack wrote:
> Dear Luca
>
> I have just applied a fix <https://github.com/cp2k/cp2k/issues/1335>
> proposed by Hossam Elgabarty to the CP2K trunk (master) affecting the
> transformation of spherical to Cartesian orbitals which includes also the
> MOLDEN output. Perhaps that fix resolves the problem which you observed.
>
> Best regards
>
> Matthias
> On Saturday, August 4, 2018 at 11:58:17 AM UTC+2 Luca wrote:
>
>> Dear Matt
>>
>>
>> Could you please let me know if the orbitals projected on the CARTESIAN -
>> GTOs are normalized?
>>
>>
>> The basis set (Normalized-Cartesian-GTOs) printed in the MOLDEN formatted
>> file is consistent with the basis set printed by the NWCHEM code.
>>
>> When I use the MOLDEN formatted file printed by NWCHEM, my code gives the
>> right number of electrons.
>>
>> When I use the orbitals printed by CP2K, I am not able to get the right
>> number of electrons in the system.
>>
>> Considering that the basis set is the same, the CP2K orbitals projected
>> on the Normalized-Cartesian-GTOs could not be normalized.
>>
>> Best Regards
>> Luca
>>
>>
>> On Tuesday, July 31, 2018 at 8:09:31 AM UTC+2, Luca wrote:
>>>
>>> Dear Matt
>>>
>>> the correct clause should be
>>>
>>> IF (ABS(mo_coeff(orbmap(orbital))) .GT. 10.0**(-digits))
>>>
>>>
>>>
>>> Best Regards
>>>
>>> Luca
>>>
>>>
>>>
>>>
>>> On Monday, July 30, 2018 at 8:30:38 AM UTC+2, Luca wrote:
>>>>
>>>> Dear Matt
>>>>
>>>>
>>>> The following code seems to give the correct MOLDEN-FORMAT. Please
>>>> note that:
>>>>
>>>> 1) I modified (irow_in+orbital ) in (irow_in+orbital – 1)
>>>>
>>>> 2) I tested molden formatted files containing no more than s,p,d
>>>> functions.
>>>>
>>>>
>>>>
>>>> DO orbital = 1, 15
>>>>
>>>> IF (orbmap(orbital) .NE. 0) THEN
>>>>
>>>> WRITE (iw, fmtstr1) irow_in+orbital - 1 ,
>>>> mo_coeff(orbmap(orbital))
>>>>
>>>> END IF
>>>>
>>>> END DO
>>>>
>>>>
>>>>
>>>> By adding the following clause:
>>>>
>>>> IF (mo_coeff(orbmap(orbital)) .GT. 10.0**(-digits))
>>>>
>>>>
>>>>
>>>> One obtains an incomplete MODLEN formatted file since it misses some
>>>> coefficients greater than 10.0**(-digits).
>>>>
>>>>
>>>>
>>>> Best Regards.
>>>>
>>>> Luca
>>>>
>>>> On Saturday, July 28, 2018 at 6:41:21 PM UTC+2, Matt W wrote:
>>>>>
>>>>> Hmmm, could you try recompiling after changing the lines around 323 -
>>>>> 330 to something like
>>>>>
>>>>> DO orbital = 1, 15
>>>>> IF (orbmap(orbital) .NE. 0) THEN
>>>>> WRITE (iw, fmtstr1) irow_in+orbital, mo_coeff(orbmap(orbital))
>>>>> IF (mo_coeff(orbmap(orbital)) .GT. 10.0**(-digits)) THEN
>>>>> WRITE(6,*) "skipping this orbital"
>>>>> END IF
>>>>> END IF
>>>>> END DO
>>>>>
>>>>>
>>>>> i.e. take the original write statement out of the if clause. This
>>>>> should print all coefficients in molden format.
>>>>>
>>>>> If that works then I can try and see why the if statement doesn't work
>>>>> as expected ...
>>>>>
>>>>> Matt
>>>>>
>>>>> On Saturday, July 28, 2018 at 5:05:04 PM UTC+1, Luca wrote:
>>>>>>
>>>>>>
>>>>>> Dear Matt
>>>>>>
>>>>>> Thank you for your answer. However, I still believe that the printed
>>>>>> formats do not differ only for the ordering. Furthermore, modifying NDIGITS
>>>>>> does not fix the issue.
>>>>>>
>>>>>> This means that the printed MOLDEN file cannot be used for
>>>>>> quantitative post-processing.
>>>>>>
>>>>>> I performed tests on H atoms and the H2 molecule, and in both the
>>>>>> cases, the MOLDEN-file does not contain the right orbitals.
>>>>>>
>>>>>> Below I will report the H case. The orbital printed in the MOLDEN
>>>>>> FORMAT is not normalized, as you can easily check by printing the OVERLAP
>>>>>> matrix.
>>>>>>
>>>>>> Please find below the different formats and the overlap (NDIGITS =
>>>>>> 12) :
>>>>>>
>>>>>>
>>>>>>
>>>>>> CP2K-FORMAT : Occupied orbital of H
>>>>>>
>>>>>> 1 1 H 1s 0.860523926375
>>>>>>
>>>>>> 2 1 H 2s -0.147897200557
>>>>>>
>>>>>> 3 1 H 2px -0.000000000000
>>>>>>
>>>>>> 4 1 H 2py -0.000000000000
>>>>>>
>>>>>> 5 1 H 2pz -0.000000000000
>>>>>>
>>>>>>
>>>>>>
>>>>>> MOLDEN-Format :Occupied orbital of H
>>>>>>
>>>>>> One = -0.25103226963873182
>>>>>>
>>>>>> Spin= Alpha
>>>>>>
>>>>>> Occup= 1.0000000000000000
>>>>>>
>>>>>> 2 8.605239264E-01
>>>>>>
>>>>>>
>>>>>>
>>>>>> OVERLAP
>>>>>>
>>>>>> 1s
>>>>>> 2s
>>>>>>
>>>>>> 1 1 H 1s 1.000000008914 -0.933553473764
>>>>>>
>>>>>> 2 1 H 2s -0.933553473764 1.000000029566
>>>>>>
>>>>>> ------------------------------------------------------------
>>>>>> ------------------------------------------------------------
>>>>>> -----------------
>>>>>>
>>>>>>
>>>>>>
>>>>>> The right MOLDEN FORMAT should be (I tested it):
>>>>>>
>>>>>> 1 0.860523926375
>>>>>>
>>>>>> 2 -0.147897200557
>>>>>>
>>>>>>
>>>>>>
>>>>>> Best Regards.
>>>>>>
>>>>>> Luca
>>>>>>
>>>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cp2k.org/archives/cp2k-user/attachments/20210426/98566f40/attachment.htm>
More information about the CP2K-user
mailing list