[Dear Panel Admins, please let me know if I should move this post to the Ground State panel]
For post-procesing purposes, I need to output the full wavefunction for a PAW run, including the spin orbit coupling, for a set of kpoints, i.e.
Code: Select all
pawprtwf 1
pawspnorb 1
kptopt 4 # Only spatial symmetries. Mandatory if pawspnorb=1.
iscf2 -2
kpt2 <the kpoints>
I do the run with an ABINIT executable (version 7.6.2) compiled for serial execution,
(MPI disabled at configure stage), as implied in the description of pawprtwf.
The following files get written:
Code: Select all
4.1G case_DS2_AE_ONSITE_WFK-etsf.nc
27G case_DS2_AE_WFK-etsf.nc
40K case_DS2_PAWSTAT
4.1G case_DS2_PS_ONSITE_WFK-etsf.nc
27G case_DS2_PS_WFK-etsf.nc
485M case_DS2_WFK
And although the run reaches the point where the suggested acknowledgements and the string
"Calculation completed. .Delivered 5 WARNINGs and 0 COMMENTs" gets written,
such log file is infested with error messages.
Surprisingly these errors did not stop ABINIT to proceed, as usually do,
so I wonder if I can trust the AE_WFK-etsf.nc
The following block of error messages appear almost 3 thousand times (exactly nkpt * band * nspinor; I got 34 kpts, 44 bands and 2 spinnors)
Code: Select all
--- !ERROR
message: |
Backtrace : etsf_io_main_put()
write_var_double_var()
write_var_double_2D()
etsf_io_low_check_var()
Action performed : specifications routine argument
Target (name) : real_space_wavefunctions (map)
Error message : wrong map value (map address = ***** & max address = *****)
src_file: pawmkaewf.F90
src_line: 1105
...
--- !ERROR
message: |
Backtrace : etsf_io_main_put()
write_var_double_var()
write_var_double_2D()
etsf_io_low_check_var()
Action performed : specifications routine argument
Target (name) : real_space_wavefunctions (map)
Error message : wrong map value (map address = ***** & max address = *****)
src_file: pawmkaewf.F90
src_line: 1109
So, the error seems to come from lines 1105 & 1109 of pawmkaewf.F90:
( leading numbers added by 'less -N pawmkaewf.F90')
Code: Select all
1087 #if defined HAVE_TRIO_ETSF_IO
1088 MainFolder%wfs_rsp__spin_access = isppol !this is wrong if para!
1089 if (nprocs>1) MainFolder%wfs_rsp__spin_access = 1
1090 MainFolder%wfs_rsp__kpoint_access = my_kstable(ikpt,isppol) !ikpt
1091 MainFolder%wfs_rsp__state_access = iband
1092 ! main_folder%wfs_coeff__number_of_coefficients = npw * dtset%nspinor
1093
1094 ! We use the group level write routine.
1095 MainFolder%real_space_wavefunctions%data2D => ur
1096 call etsf_io_main_put(ncids(1),MainFolder,lstat,Error_data=Error_data)
1097 ETSF_CHECK_ERROR(lstat,Error_data)
1098
1099 MainFolder%real_space_wavefunctions%data2D => ur_pw
1100 call etsf_io_main_put(ncids(2),MainFolder,lstat,Error_data=Error_data)
1101 ETSF_CHECK_ERROR(lstat,Error_data)
1102
1103 MainFolder%real_space_wavefunctions%data2D => ur_ae_onsite
1104 call etsf_io_main_put(ncids(3),MainFolder,lstat,Error_data=Error_data)
1105 ETSF_CHECK_ERROR(lstat,Error_data)
1106
1107 MainFolder%real_space_wavefunctions%data2D => ur_ps_onsite
1108 call etsf_io_main_put(ncids(4),MainFolder,lstat,Error_data=Error_data)
1109 ETSF_CHECK_ERROR(lstat,Error_data)
1110
1111
1112 #endif
and a selection of the norm info is
Code: Select all
.
.
ikpt,iband, norm (G,PSWF)= 34 17 0.4328657874146002 norm (R,AEWF)= 1.0001195823635485
ikpt,iband, norm (G,PSWF)= 34 18 0.4328657862454370 norm (R,AEWF)= 1.0001195841832851
ikpt,iband, norm (G,PSWF)= 34 19 0.4321775527241986 norm (R,AEWF)= 1.0007126256329253
ikpt,iband, norm (G,PSWF)= 34 20 0.4321775554873209 norm (R,AEWF)= 1.0007126263955426
ikpt,iband, norm (G,PSWF)= 34 21 1.0009449953360174 norm (R,AEWF)= 1.0003276827115253
ikpt,iband, norm (G,PSWF)= 34 22 1.0009449873972405 norm (R,AEWF)= 1.0003276838017774
ikpt,iband, norm (G,PSWF)= 34 23 1.0036109239103379 norm (R,AEWF)= 1.0006291588033582
ikpt,iband, norm (G,PSWF)= 34 24 1.0036109259480923 norm (R,AEWF)= 1.0006291561889276
.
.
I would appreciate any comments on the validity of the obtained AE_WFK-etsf.nc data.
With regards,
Temok