## cRPA dielectric matrix error

**Moderators:** gmatteo, bruneval, rigna

### cRPA dielectric matrix error

Hello everyone,

I am using abinit for evaluating the cRPA loss function, EELS file. However, I get the following error:

--- !ERROR

src_file: m_matrix.F90

src_line: 134

mpi_rank: 0

message: |

- Eigenvalues from zheev are negative or zero ! -

which I think is related to the input variables nbandkss and kssform: suppressing these, the error disappers, but no SCR file nor EELF is created, which are what I need.

Can anyone help me?

Thanks

Marco

I am using abinit for evaluating the cRPA loss function, EELS file. However, I get the following error:

--- !ERROR

src_file: m_matrix.F90

src_line: 134

mpi_rank: 0

message: |

- Eigenvalues from zheev are negative or zero ! -

which I think is related to the input variables nbandkss and kssform: suppressing these, the error disappers, but no SCR file nor EELF is created, which are what I need.

Can anyone help me?

Thanks

Marco

### Re: cRPA dielectric matrix error

Dear Marco,

I do not understand precisely your goal. You want to compute the RPA loss function, or you want to do a cRPA (constrained RPA) calculation ?

Could you post your input file ?

if you have used the keyword ucrpa, ABINIT will compute effective interactions, and in this case, the error

might come from the definition of Wannier functions.

Best regards

Bernard

I do not understand precisely your goal. You want to compute the RPA loss function, or you want to do a cRPA (constrained RPA) calculation ?

Could you post your input file ?

if you have used the keyword ucrpa, ABINIT will compute effective interactions, and in this case, the error

might come from the definition of Wannier functions.

Best regards

Bernard

Bernard Amadon

CEA

France

CEA

France

### Re: cRPA dielectric matrix error

Dear Bernard,

thanks for your reply. I want to do a cRPA calculation step by step: KohnSham first, evaluation of the cRPA _SCR file then and finally U(om) with that SCR as an input. The error comes at the second step, where I want to produce the SCR file:

# ----------------------------------------------------------------------------------

ndtset 2

paral_kgb 0

pawprtvol 3

#==================================================================================

############ Parameters common to all DATASETS

#==================================================================================

##### CONVERGENCE PARAMETERS

nstep 50

#nline 5 #Number of LINE minimisations

#nnsclo 3 #Number of Non-Self Consistent LOops

ecut 60.0 # Maximal kinetic energy cut-off, in Hartree

pawecutdg 70.0 #(60)PAW - Energy CUToff for the Double Grid ( need only when usepaw=1=)

occopt 3 #OCCupation OPTion

tsmear 0.03 eV #Temperature of SMEARing

#

##### PHYSICAL PARAMETERS

natom 12 ntypat 2 typat 1 2 2 1 2 2 1 2 2 1 2 2

znucl 23.0 8.0

# 4 ( V O*2 )

xred 0.23947 0.97894 0.02646 #vectors (X) of atom positions in REDuced coordinates

0.10616 0.21185 0.20859

0.40051 0.70258 0.29884

-0.23947 -0.97894 -0.02646

-0.10616 -0.21185 -0.20859

-0.40051 -0.70258 -0.29884

0.23947 -0.47894 0.52646

0.10616 0.28815 0.70859

0.40051 -0.20258 0.79884

-0.23947 0.47894 -0.52646

-0.10616 -0.28815 -0.70859

-0.40051 0.20258 -0.79884

acell 5.7517 4.5378 5.3825 angstrom

rprim 0.0 0.0 -1.0 #Real space PRIMitive translations

-1.0 0.0 0.0

0.0 0.84202 0.53945

ngkpt 3*4 #K - PoinTs grid : Real space LATTice

nshiftk 1 #No shif

shiftk 0.5 0.5 0.5

istwfk *1

#For all the dataset

nsym 1

icutcoul 6

symchi 0

nband 200

ecutwfn1 5.0

#pawoptosc 1 # Choose the Shishkin Kresse way to compute oscillator matrix. In general Arnaud Alouani is much better, but too time consuming for this simple test.

# -- LDAU: 1st dataset and definition of correlated angular momentum

usepawu 1 # LDA+U is used just for printing usefull quantities.

dmatpuopt 1 # choose expression of the density matrix

lpawu 2 -1

jpawu 0.0 0.0 0.0 eV

upawu 0.0 0.0 0.0 eV

# -- Activate calculation of U and J

ucrpa 1 # The screening will use the Wannier weights to suppress transitions.

nbandkss1 -1 # Number of bands in KSS file (-1 means the maximum possible)

kssform 3

nbdbuf1 4

iscf1 -2

getden1 -1

tolwfr1 1.0d-18 # Will stop when this tolerance is achieved

usedmft1 1 # useful to compute Wannier functions.

dmftbandi1 49 # Precise the definition of Wannier functions (also used for DMFT calculations)

dmftbandf1 68 # Precise the definition of Wannier functions (also used for DMFT calculations)

optdriver2 3

gwcalctyp2 2

getwfk2 -1

ecuteps 3.0

nfreqre2 200

freqremax2 40 eV

freqremin2 0 eV

nfreqim2 0

ucrpa_bands2 49 68

gwpara2 1

thanks for your reply. I want to do a cRPA calculation step by step: KohnSham first, evaluation of the cRPA _SCR file then and finally U(om) with that SCR as an input. The error comes at the second step, where I want to produce the SCR file:

# ----------------------------------------------------------------------------------

ndtset 2

paral_kgb 0

pawprtvol 3

#==================================================================================

############ Parameters common to all DATASETS

#==================================================================================

##### CONVERGENCE PARAMETERS

nstep 50

#nline 5 #Number of LINE minimisations

#nnsclo 3 #Number of Non-Self Consistent LOops

ecut 60.0 # Maximal kinetic energy cut-off, in Hartree

pawecutdg 70.0 #(60)PAW - Energy CUToff for the Double Grid ( need only when usepaw=1=)

occopt 3 #OCCupation OPTion

tsmear 0.03 eV #Temperature of SMEARing

#

##### PHYSICAL PARAMETERS

natom 12 ntypat 2 typat 1 2 2 1 2 2 1 2 2 1 2 2

znucl 23.0 8.0

# 4 ( V O*2 )

xred 0.23947 0.97894 0.02646 #vectors (X) of atom positions in REDuced coordinates

0.10616 0.21185 0.20859

0.40051 0.70258 0.29884

-0.23947 -0.97894 -0.02646

-0.10616 -0.21185 -0.20859

-0.40051 -0.70258 -0.29884

0.23947 -0.47894 0.52646

0.10616 0.28815 0.70859

0.40051 -0.20258 0.79884

-0.23947 0.47894 -0.52646

-0.10616 -0.28815 -0.70859

-0.40051 0.20258 -0.79884

acell 5.7517 4.5378 5.3825 angstrom

rprim 0.0 0.0 -1.0 #Real space PRIMitive translations

-1.0 0.0 0.0

0.0 0.84202 0.53945

ngkpt 3*4 #K - PoinTs grid : Real space LATTice

nshiftk 1 #No shif

shiftk 0.5 0.5 0.5

istwfk *1

#For all the dataset

nsym 1

icutcoul 6

symchi 0

nband 200

ecutwfn1 5.0

#pawoptosc 1 # Choose the Shishkin Kresse way to compute oscillator matrix. In general Arnaud Alouani is much better, but too time consuming for this simple test.

# -- LDAU: 1st dataset and definition of correlated angular momentum

usepawu 1 # LDA+U is used just for printing usefull quantities.

dmatpuopt 1 # choose expression of the density matrix

lpawu 2 -1

jpawu 0.0 0.0 0.0 eV

upawu 0.0 0.0 0.0 eV

# -- Activate calculation of U and J

ucrpa 1 # The screening will use the Wannier weights to suppress transitions.

nbandkss1 -1 # Number of bands in KSS file (-1 means the maximum possible)

kssform 3

nbdbuf1 4

iscf1 -2

getden1 -1

tolwfr1 1.0d-18 # Will stop when this tolerance is achieved

usedmft1 1 # useful to compute Wannier functions.

dmftbandi1 49 # Precise the definition of Wannier functions (also used for DMFT calculations)

dmftbandf1 68 # Precise the definition of Wannier functions (also used for DMFT calculations)

optdriver2 3

gwcalctyp2 2

getwfk2 -1

ecuteps 3.0

nfreqre2 200

freqremax2 40 eV

freqremin2 0 eV

nfreqim2 0

ucrpa_bands2 49 68

gwpara2 1

### Re: cRPA dielectric matrix error

Dear Marco,

Your input seems fine, however I have a few suggestions.

According to your choice of dmftbandi and dmftbandf, it seems that V d bands are isolated from O2p states and other states ?

Is it really the case, when you look to the DOS, or band structure for your calculation ?

To check it, could you post the 25 lines that are after " == Check: Occupations and Norm from psichi are" in the log file corresponding to the input file you have posted.

Besides, as your convergence criterion is tolwfr, there is no check on the convergence of the self-consistent cycle. Did you check that

the SCF DFT calculation is indeed converged ? (This is why in the tutorial, there are two datasets for the DFT calculation)

Best regards

Bernard

Your input seems fine, however I have a few suggestions.

According to your choice of dmftbandi and dmftbandf, it seems that V d bands are isolated from O2p states and other states ?

Is it really the case, when you look to the DOS, or band structure for your calculation ?

To check it, could you post the 25 lines that are after " == Check: Occupations and Norm from psichi are" in the log file corresponding to the input file you have posted.

Besides, as your convergence criterion is tolwfr, there is no check on the convergence of the self-consistent cycle. Did you check that

the SCF DFT calculation is indeed converged ? (This is why in the tutorial, there are two datasets for the DFT calculation)

Best regards

Bernard

Bernard Amadon

CEA

France

CEA

France

### Re: cRPA dielectric matrix error

Dear Bernard,

thanks for your reply. Yes, the DFT part is converged. I copy and paste some lines of the log file.

Cheers

Marco

== Check: Occupations and Norm from psichi are

------ Symetrised Occupation

-------> For Correlated Atom 1

-- polarization spin component 1

0.09002 0.00158 0.10700 0.00174 -0.00338

0.00158 0.02234 -0.00535 0.01978 0.00131

0.10700 -0.00535 0.17101 -0.00251 -0.00388

0.00174 0.01978 -0.00251 0.02091 0.00462

-0.00338 0.00131 -0.00388 0.00462 0.02688

-------> For Correlated Atom 4

-- polarization spin component 1

0.09005 0.00158 0.10704 0.00173 -0.00339

0.00158 0.02234 -0.00536 0.01979 0.00132

0.10704 -0.00536 0.17110 -0.00251 -0.00389

0.00173 0.01979 -0.00251 0.02092 0.00464

-0.00339 0.00132 -0.00389 0.00464 0.02691

-------> For Correlated Atom 7

-- polarization spin component 1

0.00000 0.00000 0.00000 0.00000 0.00000

0.00000 0.00000 0.00000 0.00000 0.00000

0.00000 0.00000 0.00000 0.00000 0.00000

0.00000 0.00000 0.00000 0.00000 0.00000

0.00000 0.00000 0.00000 0.00000 0.00000

-------> For Correlated Atom 10

-- polarization spin component 1

0.00000 0.00000 0.00000 0.00000 0.00000

0.00000 0.00000 0.00000 0.00000 0.00000

0.00000 0.00000 0.00000 0.00000 0.00000

0.00000 0.00000 0.00000 0.00000 0.00000

0.00000 0.00000 0.00000 0.00000 0.00000

------ Symetrised Norm

-------> For Correlated Atom 1

-- polarization spin component 1

0.58939 0.00784 0.04072 0.00425 -0.00031

0.00784 0.60898 -0.00286 0.02165 -0.00370

0.04072 -0.00286 0.63982 -0.00323 0.00075

0.00425 0.02165 -0.00323 0.60740 0.00488

-0.00031 -0.00370 0.00075 0.00488 0.61395

thanks for your reply. Yes, the DFT part is converged. I copy and paste some lines of the log file.

Cheers

Marco

== Check: Occupations and Norm from psichi are

------ Symetrised Occupation

-------> For Correlated Atom 1

-- polarization spin component 1

0.09002 0.00158 0.10700 0.00174 -0.00338

0.00158 0.02234 -0.00535 0.01978 0.00131

0.10700 -0.00535 0.17101 -0.00251 -0.00388

0.00174 0.01978 -0.00251 0.02091 0.00462

-0.00338 0.00131 -0.00388 0.00462 0.02688

-------> For Correlated Atom 4

-- polarization spin component 1

0.09005 0.00158 0.10704 0.00173 -0.00339

0.00158 0.02234 -0.00536 0.01979 0.00132

0.10704 -0.00536 0.17110 -0.00251 -0.00389

0.00173 0.01979 -0.00251 0.02092 0.00464

-0.00339 0.00132 -0.00389 0.00464 0.02691

-------> For Correlated Atom 7

-- polarization spin component 1

0.00000 0.00000 0.00000 0.00000 0.00000

0.00000 0.00000 0.00000 0.00000 0.00000

0.00000 0.00000 0.00000 0.00000 0.00000

0.00000 0.00000 0.00000 0.00000 0.00000

0.00000 0.00000 0.00000 0.00000 0.00000

-------> For Correlated Atom 10

-- polarization spin component 1

0.00000 0.00000 0.00000 0.00000 0.00000

0.00000 0.00000 0.00000 0.00000 0.00000

0.00000 0.00000 0.00000 0.00000 0.00000

0.00000 0.00000 0.00000 0.00000 0.00000

0.00000 0.00000 0.00000 0.00000 0.00000

------ Symetrised Norm

-------> For Correlated Atom 1

-- polarization spin component 1

0.58939 0.00784 0.04072 0.00425 -0.00031

0.00784 0.60898 -0.00286 0.02165 -0.00370

0.04072 -0.00286 0.63982 -0.00323 0.00075

0.00425 0.02165 -0.00323 0.60740 0.00488

-0.00031 -0.00370 0.00075 0.00488 0.61395

### Re: cRPA dielectric matrix error

Dear Marco,

Indeed, correlated atoms 7 and 11 have zero occupations.

I recently corrected a bug (not yet available in the public version) related to the order of atoms:

Could you put the correlated atom before the non correlated atoms such that:

typat 1 1 1 1 2 2 2 2 2 2 2 2

(you have to reorder also the atomic positions accordingly)

and try your calculation again ?

Best regards

Bernard

Indeed, correlated atoms 7 and 11 have zero occupations.

I recently corrected a bug (not yet available in the public version) related to the order of atoms:

Could you put the correlated atom before the non correlated atoms such that:

typat 1 1 1 1 2 2 2 2 2 2 2 2

(you have to reorder also the atomic positions accordingly)

and try your calculation again ?

Best regards

Bernard

Bernard Amadon

CEA

France

CEA

France

### Re: cRPA dielectric matrix error

Thank you Bernard, I think it now works!

Best

Marco

Best

Marco