udtset problem?

Total energy, geometry optimization, DFT+U, spin....

Moderator: bguster

Locked
Emile
Posts: 15
Joined: Tue Dec 04, 2012 12:54 pm

udtset problem?

Post by Emile » Mon Sep 01, 2014 3:24 pm

Dear all,

While using udtset in combination with ndtset, I am encountering a problem.
When udtset >= 10 (more than two digits) the tsmear parameter that I use as an electronic temperature, is set to its default value 0.04 Ha.

Thus:
tsmear1? 3.173d-08
tsmear2? 9.503d-04
tsmear3? 3.173d-03
tsmear4? 9.503d-03
tsmear5? 1.583d-02
tsmear6? 3.173d-02
tsmear7? 5.703d-02
tsmear8? 7.923d-02
tsmear9? 1.203d-01
tsmear10? 1.583d-01
tsmear11? 2.383d-01
tsmear12? 3.173d-01

Acutally become:
tsmear11 3.17300000E-08 Hartree
tsmear21 9.50300000E-04 Hartree
tsmear31 3.17300000E-03 Hartree
tsmear41 9.50300000E-03 Hartree
tsmear51 1.58300000E-02 Hartree
tsmear61 3.17300000E-02 Hartree
tsmear71 5.70300000E-02 Hartree
tsmear81 7.92300000E-02 Hartree
tsmear91 1.20300000E-01 Hartree
tsmear101 4.00000000E-02 Hartree
tsmear111 4.00000000E-02 Hartree
tsmear121 4.00000000E-02 Hartree

If I remove the first datasets, changing:

tsmear10? 1.583d-01
tsmear11? 2.383d-01
tsmear12? 3.173d-01
to
tsmear1? 1.583d-01
tsmear2? 2.383d-01
tsmear3? 3.173d-01

Then the correct values of tsmear are considered.

I tested abinit 7.8.1 and 7.8.2, same problem.
Am I misunderstanding udtset behavior or is it something wrong there?

Thanks

Jordan
Posts: 282
Joined: Tue May 07, 2013 9:47 am

Re: udtset problem?

Post by Jordan » Mon Sep 01, 2014 4:09 pm

Despite what the documentation says, there is actually a problem.
I got the same behaviour when udtset(1) > 9.

We will investigate the problem and try to correct very soon.

In the mean time, I would suggest
1) Use an external script to generate your inputfile if you really need more than 9 dataset in the first loop,
2) split your calculation into 2, 1 for your dataset from 1 to 9 and the second for 10 to 13. using only udtset 9 x where x <=9

If x =1 you don't need the double loop udtset and you can just specify ndtset 13. Then write your tsmear values by hand or using the one loop tool
tsmear: 0.001
tsmear+ 0.0005
for example. That works for ndtset >9.

The 0.04Ha value you got is the default for tsmear value when the parser does not find the corresponding input keyword.

Cheers

Jordan

Locked