CP2K/SIRIUS magnetic moment

341 views
Skip to first unread message

Martin Konôpka

unread,
Nov 11, 2021, 5:30:56 AM11/11/21
to cp2k
Dear CP2K community,

I would like to use SIRIUS library as a backend for CP2K to do spin-polarised calculations. As I am new to SIRIUS, I first took single Au atom (which has an odd number of electrons so it should exhibit some magnetic moment). I would like to force a doublet state. Instead, I am getting zero magnetic moment. Am I forgetting to set something in my cp2k.inp file? I attach my CP2K input and output files as well as stdout produced by SIRIUS.

My more general question is if there is sufficient support in CP2K to access the needed SIRIUS functionality.

Thanks for any your advice.
Sincerely
Martin Konôpka.

---------------------------------------------------------------------------------------------------------
Mgr. Martin Konôpka, PhD.             http://kf.elf.stuba.sk/~konopka
Department of Physics                                     tel: +421-2-60291 118
Institute of Nuclear and Physical Engineering
Faculty of Electrical Engineering and Information Technology
Slovak University of Technology in Bratislava
Ilkovičova 3, 812 19 Bratislava, Slovakia
---------------------------------------------------------------------------------------------------------

stdout
cp2k.inp
cp2k.out

Ole Schütt

unread,
Nov 12, 2021, 8:51:47 AM11/12/21
to cp2k
Hi Martin,

running a magnetic calculation for gold might not actually work because it's paramagnetic. Furthermore, the starting direction for magnetization on each atom can not yet be set in the input. However, you can try setting the MAGNETIZATION keyword in the CP2K_INPUT / FORCE_EVAL / SUBSYS / KIND section.

Cheers,
Ole

Martin Konôpka

unread,
Nov 12, 2021, 11:42:17 AM11/12/21
to cp...@googlegroups.com
Hi Ole,

Thanks. There was perhaps a misunderstanding with the magnetisation. I had actually been trying to calculate an isolated Au atom without any valence SO interaction and in a state that would be a common eigenstate of the S^2 and S_z operators (and I opted for the lowest possible spin multiplicity).

Now I tried the MAGNETIZATION keyword as you suggested and used the value of 1 for it. The program started to run but then crashed saying "[sirius::Band::initialize_subspace] error in diagonalziation".

Of course, I understand that there are features not implemented or not debugged yet, especially concerning SIRIUS support. Anyway, I consider CP2K an amazing electronic-structure package.

Cheers,
Martin.

pi 12. 11. 2021 o 14:51 Ole Schütt <ole.s...@cp2k.org> napísal(a):
--
You received this message because you are subscribed to a topic in the Google Groups "cp2k" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/cp2k/QSEin2B_GYA/unsubscribe.
To unsubscribe from this group and all its topics, send an email to cp2k+uns...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cp2k/d502bcb1-9b9d-4997-bc1c-b1abad8cf56an%40googlegroups.com.

Anton Kozhevnikov

unread,
Nov 16, 2021, 7:45:17 AM11/16/21
to cp2k
Dear Martin!
Thank you for the report! We are looking into it. On the way we are fixing a couple of issues with the interface. We will use your test case for the validation and let you know once it's fixed.


With kind regards,
Anton.

Martin Konôpka

unread,
Nov 16, 2021, 8:17:46 AM11/16/21
to cp...@googlegroups.com
Dear Anton,

Thanks, this is really great to know!
Just to (perhaps) save you preparation of corresponding Quickstep input, I am attaching my one and also the corresponding output file. The comparison with SIRIUS should not be quite meaningless especially because both approaches use the same pseudopotential in my example. BTW, omitting the "MAGNETIZATION  1" line would just increase the number of iterations from 7 to 13 and otherwise nothing (in the QS run).
Best regards

Martin.

ut 16. 11. 2021 o 13:45 Anton Kozhevnikov <a.v.koz...@gmail.com> napísal(a):
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...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cp2k/2ee24352-1deb-414b-b621-2c2ff2e93806n%40googlegroups.com.
cp2k.inp
cp2k.out

Anton Kozhevnikov

unread,
Dec 13, 2021, 11:32:40 AM12/13/21
to cp2k
Dear Martin!
I have an update to this issue. First, there is something strange on the cp2k side (we investigate this). When magnetization in the input is non-zero, cp2k passes empty pseudo-wave functions to sirius and this breaks the sub-space initialization. With zero magnetization it works. Second, just for a demonstration purpose, I attached the converted UPF file with full-relativistic pseudopotential. With this file spin-orbit will be enabled and this will polarize the gold atom. Sample input should look like this

&GLOBAL
  PROJECT  test_magmom
  RUN_TYPE  ENERGY_FORCE
  PRINT_LEVEL  MEDIUM
&END GLOBAL

&FORCE_EVAL

  METHOD SIRIUS

  &SUBSYS
    &KIND  Au
      ELEMENT    Au
      POTENTIAL  upf Au.rel-pbe-n-rrkjus_psl.1.0.0.UPF.json
      MAGNETIZATION 1
    &END KIND
    &CELL
      ABC   12.0   12.0   12.0
    &END CELL
    &COORD
      SCALED
        Au    0.5  0.5  0.5
    &END COORD
  &END SUBSYS

  &PW_DFT

    &CONTROL
      PROCESSING_UNIT  cpu
      STD_EVP_SOLVER_NAME  lapack
      GEN_EVP_SOLVER_NAME  lapack
      PRINT_FORCES  .FALSE.
      PRINT_STRESS  .FALSE.
      VERBOSITY  2
    &END CONTROL

    &PARAMETERS
      ELECTRONIC_STRUCTURE_METHOD  pseudopotential
      GAMMA_POINT
      SMEARING_WIDTH  0.01
      USE_SYMMETRY  .FALSE.
      NUM_MAG_DIMS  3
      GK_CUTOFF  3.0
      PW_CUTOFF  20.0
      ENERGY_TOL  1.0E-10
      NUM_DFT_ITER  100
      NGRIDK  1 1 1
      SHIFTK  0 0 0
    &END PARAMETERS

    &MIXER
      BETA 0.75
    &END MIXER

  &END PW_DFT

  &DFT
    POTENTIAL_FILE_NAME  GTH_POTENTIALS
    SPIN_POLARIZED
    MULTIPLICITY  2
    &XC
      &XC_FUNCTIONAL
        &LIBXC
          FUNCTIONAL  GGA_X_PBE
        &END LIBXC
        &LIBXC
          FUNCTIONAL  GGA_C_PBE
        &END LIBXC
      &END XC_FUNCTIONAL
    &END XC
    &SCF
      &PRINT
        &RESTART
          BACKUP_COPIES  3
        &END RESTART
        &RESTART_HISTORY  OFF
        &END RESTART_HISTORY
      &END PRINT
    &END SCF
  &END DFT

&END FORCE_EVAL
 
Cheers,
Anton.
Au.rel-pbe-n-rrkjus_psl.1.0.0.UPF.json

Martin Konôpka

unread,
Dec 15, 2021, 4:39:56 PM12/15/21
to cp...@googlegroups.com
Dear Anton,

Thank you very much! This is quite interesting for me as I am presently also trying to do some spin-orbit coupling calculations, for the first time for me, BTW. (I used PWscf of Quantum-Espresso for it which I first had to learn.) And now I tried your Au input file with CP2K/SIRIUS, the same versions as I used for my recent reports. It works except the last stage - it says that
"stress and forces with SO coupling are not upported"
(Of course, I understand there there are features not implemented yet.)

There is however an additional problem for me - I am not able to convert the v6.3 PPs from the site
to the json format. When I issue the command
/usr/bin/python3 upf_to_json.py Au.rel-pbe-n-rrkjus_psl.1.0.0.UPF
I am getting the message
Warning missing size field in attributes
Warning: missing size field in attributes <Element 'PP_NLCC' at 0x7fd1bc420ea0>
Warning missing size field in attributes <Element 'PP_LOCAL' at 0x7fd1bc420ef0>
Don't know how to parse this 'q_with_l != T'

Converting the older version PPs from that site works; for example
/usr/bin/python3 upf_to_json.py Au.rel-pbe-dn-rrkjus_psl.0.1.UPF
cleanly produces an Au.json file.

Am I using an improper version of the SIRIUS distribution or python? My versions are
SIRIUS version : 7.2.7
python3.8 on ubuntu 20.04.

Thanks again and best regards
Martin.

po 13. 12. 2021 o 17:32 Anton Kozhevnikov <a.v.koz...@gmail.com> napísal(a):
Reply all
Reply to author
Forward
0 new messages