Tutorial v9-t44 can not run correct

Dear every one,
I want calculate the orbital magnetic moment due to the electrons rotate around the atomic nuclei. However, I cannot run the tutorial (v9-t44.abi) successsfully. Abinit show me the imformations below:

############
Program received signal SIGFPE: Floating-point exception - erroneous arithmetic operation.

Backtrace for this error:

Program received signal SIGFPE: Floating-point exception - erroneous arithmetic operation.

Backtrace for this error:

Program received signal SIGFPE: Floating-point exception - erroneous arithmetic operation.

Backtrace for this error:

Backtrace for this error:
#0 0x2ae03176f66f in ???
#0 0x2b8a56cec66f in ???
#0 0x2b7fa350766f in ???
#1 0x1556c1f in __m_mpinfo_MOD_initmpi_band
at …/…/…/src/51_manage_mpi/m_mpinfo.F90:2087
#1 0x1556c1f in __m_mpinfo_MOD_initmpi_band
at …/…/…/src/51_manage_mpi/m_mpinfo.F90:2087
#0 0x2ae93a1ff66f in ???
#1 0x1556c1f in __m_mpinfo_MOD_initmpi_band
at …/…/…/src/51_manage_mpi/m_mpinfo.F90:2087
#0 0x2ac90105666f in ???
#0 0x2ba824bc566f in ???
#0 0x2af5324f666f in ???

##############

I used Abinit 984 and compiled with gcc830, and other properties such as phonon calculations are worked well. Thus the compilation should have no errors.

Best,
Chao

I canced some parameters and now it can run well. below is the revised t44.abi, I don’t know why.
###t44.abi

test DDK and orbital magnetism response with nuclear dipole moment

Neon atom in a box

ndtset 2

#nuclear magnetic dipole moment,
#size 1 in a.u. along x axis
#nucdipmom 1.0 0.0 0.0

ground state convergence

tolvrs1 1.0D-18

ddk convergence

tolwfr2 1.0D-20
rfddk2 1
rfdir2 1 1 1
iscf2 -3
getwfk2 -1
orbmag2 1
#lambsig2 341.86D-6

kptopt 0
nkpt 1
kpt 3*0.0
nsym 1
#symrel 1 0 0 0 1 0 0 0 1
symmorphi 0
istwfk *1
enunit 2

nstep 500
ecut 5 # much too small for real studies
pawecutdg 6 # much too small for real studies

ecut 30 # these values give converged orbital magnetism value

pawecutdg 60

nband 4

nuclear dipole requires the following settings

#optforces 0
#optstress 0
pawcpxocc 2
usexcnhat 0
pawxcdev 0

paral_atom 0
paral_kgb 0

Structural parameters

acell 3*20.0

natom 1
ntypat 1
typat 1
znucl 10

Ne atom at center of box

xred
3*1/2

pp_dirpath=“./”
pseudos=“Ne.xml”

###t44.abi

Best,
Chao

OK, I don’t know why but now it can run sucesssfully anyway. Maybe god bless me. Please ignored those wrongs above.

By the way, I want know why we only need one kpoints (kpt=1) to calculate the orbital magnetization ?

Best,
Chao

Hi Chao,
I’m glad it’s working for you, I can’t reproduce your original bug (it works fine for me with gcc and intel compilers, and has been tested on the abinit test farm with many different builds and hardware).

Only 1 kpt is needed in this particular case because you are modelling an atom in an empty box, so a single k point is sufficient. For a solid you need more. It doesn’t have anything much to do with orbital magnetism, just the usual need for k points in describing a periodic solid.

By the way, the new public release, the 9.10 series, is scheduled to become available today or tomorrow, and it has better orbital magnetism code, many more test examples, and a tutorial (which I added to the tutorial called “Properties at the nucleus”. You should switch to this new version as soon as you can.

Also, if possible I’d recommend switching to the intel compiler suite (it’s called OneAPI), it has better performance than gcc and it’s also free to download.

Dear jzwanzig,
Thank you for your reply.
Now I’m try to calculate the orbital magnetic moment of a solid material with spin-orbital coupling plus GGA+U plus antiferromagnetic ground state, using paw Psp. However abinit give me a bug report. Since as you suggestion a new version of abinit will coming soon, I will try it as soon as possible.
The bug report seems GGA cannot be used to calculate the orbital magnetic moment with soc, GGA+u and AFM ?
please find the input file and Bug report below, I will check the new version of abinit once I get it.

#######
ndtset 2

#nuclear magnetic dipole moment,
#size 1 in a.u. along x axis
#nucdipmom 1.0 0.0 0.0

#! ground state convergence
tolvrs1 1.0D-18

#! ddk convergence
tolwfr2 1.0D-20
rfddk2 1
rfdir2 1 1 1
iscf2 -3
getwfk2 -1
orbmag2 1
#lambsig2 341.86D-6

kptopt 0
nkpt 1
kpt 3*0.0
nsym 1
#symrel 1 0 0 0 1 0 0 0 1
symmorphi 0
istwfk *1
enunit 2

nstep 500
ecut 5 # much too small for real studies
pawecutdg 6 # much too small for real studies
#!## ecut 30 # these values give converged orbital magnetism value
#!pawecutdg 60

#nband 4
#soc with afm
nspinor 2
pawspnorb 1
nspden 4

usepawu 4
dmatpuopt 2
lpawu -1 2 -1
upawu 0.0 4.0 0.0 eV
jpawu 0.0 0.0 0.0 eV
spinat 0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 4.5
0 0 -4.5
0 0 5.7
0 0 -5.7
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0

#! nuclear dipole requires the following settings
#optforces 0
#optstress 0
pawcpxocc 2
usexcnhat 0
#!# dft+u need pawxcdev=1
pawxcdev 1

paral_atom 0
paral_kgb 0

#! Structural parameters

#########

Bug report from the outfile:

— !BUG
src_file: m_rhotoxc.F90
src_line: 367
mpi_rank: 0
message: |
When nspden==4 and GGA, the absolute value of option cannot be 2 !

Action: contact ABINIT group (please attach the output of abinit -b)

abinit_abort: decision taken to exit. Check above messages for more info

Best,
Chao

Hi, the new version coming any moment does a lot, but not everything, it’s not ready for SOC or +U yet–

Dear jzwanzig,
Thank you for your reply.
I get the new version of Abinit and found the B.1 Orbital magnetization under B. Most noticeable achievements. But I also found another abinity: B.8 Atomic orbital magnetic moment inside PAW spheres. Both of them can calculate the orbital magnetic properties. I want know what’s the difference between them?
The magnetic moments of an atom are composed of spin moments plus orbital moments. So which one (B.1 or B. 8 under B. Most noticeable achievements of the newest version of Abinit ) is better if I want to know the details of an atom magnetic moments?

Best,
Chao

The orbmag version includes the full effect of the planewave parts and the PAW spheres, and was initially designed for insulators and is being extended to metals and magnetic systems. The prt_lorbmag does only the the in-sphere part, and only in the nspden case. But this may be enough for your problem, you should try it.