[Wien] SCAN+U in k parallel using Wien2k 21.1

Park, Ken Kenneth_Park at baylor.edu
Sat May 27 23:53:25 CEST 2023


Dear Wien2k developers,
I am trying to include the Hubbard U term with SCAN using wien2k 21.1 in k parallel mode, but having some trouble.

For a quick testing with tio2 rutile, I used 2 nodes (4 processors each) with rkmax=8 (and all other default values) for pbe and SCAN.
init_lapw -b -rkmax 8
With case.inm_tau file and using SCAN, I got the converged result in 13 or so cycles:
….
>   lapw2 -up -p  -tau      (16:18:40) running LAPW2 in parallel mode
      n011 15.805u 1.448s 4.38 393.10% 0+0k 0+0io 0pf+0w
      n017 18.147u 1.658s 5.06 390.79% 0+0k 0+0io 0pf+0w
   Summary of lapw2para:
   n011   user=15.805      wallclock=655.9
   n017   user=18.147      wallclock=694.39
0.275u 0.428s 0:07.29 9.4%         0+0k 0+184io 0pf+0w
>   lapw2 -dn -p  -tau      (16:18:48) running LAPW2 in parallel mode
      n011 16.116u 1.500s 4.48 392.69% 0+0k 0+0io 0pf+0w
      n017 17.046u 1.437s 4.77 387.40% 0+0k 0+0io 0pf+0w
   Summary of lapw2para:
   n011   user=16.116      wallclock=661.49
   n017   user=17.046      wallclock=673.6
0.288u 0.449s 0:07.02 10.2%       0+0k 0+176io 0pf+0w
>   lcore -up   -tau             (16:18:55) 0.017u 0.019s 0:00.05 40.0% 0+0k 0+0io 0pf+0w
>   lcore -dn   -tau             (16:18:55) 0.019u 0.017s 0:00.04 50.0% 0+0k 0+0io 0pf+0w
>   mixer               (16:18:55) 0.552u 0.057s 0:00.26 230.7%              0+0k 0+0io 0pf+0w
>   mixer_tau      (16:18:55) 0.181u 0.029s 0:00.12 166.6%              0+0k 0+0io 0pf+0w
:ENERGY convergence:  1 0.0001 .0000140150000000
:CHARGE convergence:  1 0.001 -.0009970

>   stop

Then, I prepared for the orbital potential for Ti 3d.
  1  1  0                     nmod, natorb, ipr
PRATT  1.0                    BROYD/PRATT, mixing
  1 1 2                          iatom nlorb, lorb
  1                              nsic 0..AMF, 1..SIC, 2..HFM
   0.18 0.00        U J (Ry)   Note: you can also use U_eff = U-J and J=0

For the density matrix calculation,
-12.                      Emin cutoff energy
1                       number of atoms for which density matrix is calculated
1  1  2      index of 1st atom, number of L's, L1
0 0           r-index, (l,s)index

Then, I ran “runsp_lapw -p -orb -ec 0.0001 -cc 0.001”. However for SCAN+U, the calculation would go on and on without “converging” because that the convergence criteria were not apparently checked. See below (after 11 cycle).
….
>   lapw2 -up -p  -tau     -orb         (16:31:22) running LAPW2 in parallel mode
      n011 15.741u 1.449s 4.37 393.27% 0+0k 0+0io 0pf+0w
      n017 17.146u 1.523s 4.78 390.48% 0+0k 0+0io 0pf+0w
   Summary of lapw2para:
   n011   user=15.741      wallclock=655.47
   n017   user=17.146      wallclock=677.28
0.311u 0.433s 0:07.13 10.3%       0+0k 0+176io 0pf+0w
>   lapw2 -dn -p  -tau     -orb         (16:31:30) running LAPW2 in parallel mode
      n011 15.968u 1.471s 4.42 394.55% 0+0k 0+0io 0pf+0w
      n017 17.381u 1.518s 4.83 390.56% 0+0k 0+0io 0pf+0w
   Summary of lapw2para:
   n011   user=15.968      wallclock=659.75
   n017   user=17.381      wallclock=680.36
0.293u 0.444s 0:07.20 10.1%       0+0k 0+176io 0pf+0w
>   lcore -up   -tau             (16:31:37) 0.020u 0.017s 0:00.04 75.0% 0+0k 0+0io 0pf+0w
>   lcore -dn   -tau             (16:31:37) 0.022u 0.015s 0:00.04 75.0% 0+0k 0+0io 0pf+0w
>   mixer  -orb    (16:31:37) 0.507u 0.056s 0:00.24 229.1%              0+0k 0+0io 0pf+0w
>   mixer_tau      (16:31:38) 0.166u 0.030s 0:00.12 158.3%              0+0k 0+0io 0pf+0w
:ENERGY convergence:  0 0.0001 0
:CHARGE convergence:  0 0.001 0

>   stop due to .stop file

When I tried to grep :ENE from case.scf, it says “Binary file tio2r_scanU.scf matches”. Indeed the file contained binary characters in the results from density matrix calculation.

              Occ     Shift    Amp then Phase
:DDM^@^@1001: 0.1689    0.00 ( 0.000,   0.00) ( 0.707,   0.00) ( 0.000,   0.00) ( 0.707,   0.00) ( 0.000,   0.00)
:DDM^@^@2001: 0.1530    0.00 ( 0.602,   0.00) ( 0.000,   0.00) ( 0.525,   0.00) ( 0.000,   0.00) ( 0.602,   0.00)
:DDM^@^@3001: 0.0818    0.00 ( 0.707,   0.00) ( 0.000,   0.00) ( 0.000,   0.00) ( 0.000,   0.00) ( 0.707,   0.00)
:DDM^@^@4001: 0.0779    0.00 ( 0.000,   0.00) ( 0.707,   0.00) ( 0.000,   0.00) ( 0.707,   0.00) ( 0.000,   0.00)
:DDM^@^@5001: 0.0634    0.00 ( 0.371,   0.00) ( 0.000,   0.00) ( 0.851,   0.00) ( 0.000,   0.00) ( 0.371,   0.00)

I suppose that this error might have prevented wien2k to check the energy convergence even though the energy was converging. Here are the last three entries from the scf file.
:ENE  : ********** TOTAL ENERGY IN Ry =        -4019.61399468
:ENE  : ********** TOTAL ENERGY IN Ry =        -4019.61396665
:ENE  : ********** TOTAL ENERGY IN Ry =        -4019.61398204

I didn’t have such problem when I ran it in a single mode using SCAN (runsp_lapw -orb). For pbe, it worked well whether -orb was run in either a single or k parallel mode (runsp_lapw -p -orb). Thank you for your attention and help on this in advance.
Sincerely,
Ken


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://zeus.theochem.tuwien.ac.at/pipermail/wien/attachments/20230527/7de58a78/attachment.htm>


More information about the Wien mailing list