I started my first test calculations with Exciting for
bcc ferromagnetic iron and I tried to get a simply volume-energy
curve. However I did not get a smooth curve (i.e. compared
to earlier VASP-results), especially I got a 'kink' at about 80bohr^3 :(
Has anyone an idea what I have done wrong in my input
file or which parameters I have not set up properly?
Enclosed are my example input file and the corresponding
volume-energy-data.
Dear Rabbit,
I did some magnetic calculations with Fe with Exciting, especially spin-spirals.
My first guess looking at your input is that you are using too many plane waves (rgkmax=10 is too large), and Exciting is sometime sensitive to this fact.
My experience is the following:
1) IMPORTANT: DO NOT USE such large rgkmax in this case, rgkmax=8.5 (or 9.0) is ok.
By doing so increase gmaxvr, I would use gmaxvr=16.0 for rgkmax=8.5, or gmaxvr=18.0 for rgkmax=9.0
Also use autormt=.true., this will decrease your computational time.
nempty looks ok, maybe for safety put nempty=15
2) Also increase lmaxapw=14
lmaxvr=10 (or 8)
lmaxmat=10 (or 8)
3) Start first with LSDA (xctype=3) and see what you get.
GGA (xctype=20) is always more sensitive to all parameters, and you may use it at a second stage!
4) You may also decrease number of kpoints, 16by16by16 seems too much, 12by12by12 should be enough
5) Start by using your default species file.
By the way I'm going to include this considerations in the new version of exciting by putting a flag in the code.
Please let me know which point was crucial (you may try every point separately if you have time) this will help me in my work also!
! Try first to use default smearing, that for me always worked fine
!stype
!1
!swidth
!0.00551
epspot
1.e-7
! decreased to 8.5
rgkmax
8.5
! increased to 16.0
gmaxvr
16.0
! automatic mt radius
autormt
.true.
! increased to 14
lmaxapw
14
! increased to 10
lmaxmat
10
! increased to 10
lmaxvr
10
! you could decrease them to 12
ngridk
16 16 16
vkloff
0.5 0.5 0.5
A trick to reduce the number of iterations:
You can start by performing few iterations with a bigger magnetic field to go a bit a faster toward the magnetic solution, for example:
task
0
maxscl
5
bfieldc
0.0 0.0 2.0
and then reduce the magnetic field and converge the calculation starting from this STATE.OUT.
task
1
bfieldc
0.0 0.0 0.01
You could try this procedure after things are working fine with your first input file.
Also to reduce computational time , you can modify the species files as we discussed yesterday
Fe_new.in:
'Fe' : spsymb
'iron' : spname
-26.0000 : spzn
101799.2074 : spmass
0.392232E-06 2.0000 47.1462 500 : sprmin, rmt, sprmax, nrmt
10 : spnst
1 0 1 2.00000 T : spn, spl, spk, spocc, spcore
2 0 1 2.00000 T
2 1 1 2.00000 T
2 1 2 4.00000 T
3 0 1 2.00000 T
3 1 1 2.00000 F
3 1 2 4.00000 F
3 2 2 4.00000 F
3 2 3 2.00000 F
4 0 1 2.00000 F
1 : apword
0.1500 0 F : apwe0, apwdm, apwve
0 : nlx
4 : nlorb
0 2 : lorbl, lorbord
0.1500 0 F : lorbe0, lorbdm, lorbve
0.1500 1 F
1 2 : lorbl, lorbord
0.1500 0 F : lorbe0, lorbdm, lorbve
0.1500 1 F
2 2 : lorbl, lorbord
0.1500 0 F : lorbe0, lorbdm, lorbve
0.1500 1 F
1 3 : lorbl, lorbord
0.1500 0 F : lorbe0, lorbdm, lorbve
0.1500 1 F
-2.0888 0 T
I removed f local orbitals, useless, and moved 3s electron (highly deep in energy) to the core from valence, by removing at same time the corresponding local orbitals. You could probably do the same with 3p electrons, but p local orbitals do not cost much so I kept the p electrons in valence and the corresponding local orbitals!
Best
Francesco Cricchio
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I forgot one more IMPORTANT thing:
the first thing to do when some point in your curve looks "suspicious" is to check that the calculation has really converged to the tolerance degree you provided in the input (epspot).
You can do that simply by using the following command
grep RMS INFO.OUT
this will give for example
RMS change in effective potential (target) : 0.8571902686E-04 ( 0.1000000000E-06)
RMS change in effective potential (target) : 0.6109792629E-04 ( 0.1000000000E-06)
RMS change in effective potential (target) : 0.2346030924E-04 ( 0.1000000000E-06)
RMS change in effective potential (target) : 0.1105456664E-04 ( 0.1000000000E-06)
RMS change in effective potential (target) : 0.3419620058E-05 ( 0.1000000000E-06)
RMS change in effective potential (target) : 0.4835455808E-05 ( 0.1000000000E-06)
RMS change in effective potential (target) : 0.1119025911E-05 ( 0.1000000000E-06)
RMS change in effective potential (target) : 0.1683226153E-05 ( 0.1000000000E-06)
RMS change in effective potential (target) : 0.1315547709E-05 ( 0.1000000000E-06)
RMS change in effective potential (target) : 0.7999069647E-06 ( 0.1000000000E-06)
RMS change in effective potential (target) : 0.6231901922E-06 ( 0.1000000000E-06)
RMS change in effective potential (target) : 0.4531650390E-06 ( 0.1000000000E-06)
RMS change in effective potential (target) : 0.1637293967E-06 ( 0.1000000000E-06)
RMS change in effective potential (target) : 0.2345607132E-06 ( 0.1000000000E-06)
RMS change in effective potential (target) : 0.2283494942E-07 ( 0.1000000000E-06)
In the last line there must be the same tolerance degree you provided in the input (epspot), in this case a number lower than 1.e-07.
If the calculation has not converged, first thing to do is to reduce the mixing parameter beta0.
I noticed that in your input beta0 is not defined, so it will be equal to the default value beta=0.1 that is a bit too large for magnetic system. Try beta0=0.05!
And of course in addition to this you may try the suggestions I gave you in my other reply, especially I recommend you to reduce rgkmax to 8.5 (9.0), gmaxvr=16.0 (18.0) and to use autormt .true., nempty=10 (15).
At this stage you could leave lmaxapw,lmaxmat, and lmaxvr at the default values. My experience is that they should be increased if you are looking at tiny energy differences between different magnetic structures (FM,AFM,spin-spirals...), but this is probably not your case now since you are studying the energy-volume curve.
I think most likely the kink in your energy-curve is simply caused by such non convergence for some points, I remembered now I had a similar problem in the past.
Hi Rabbit,
I remebered one thing: you may decrease epspot to 1.d-8 (convergence tolerance) after you check all your calculations are converged to 1.d-7. This probably will give you a very smooth curve. I suggest you to try first this, together with rgkmax 9.0 and autormt=.true. .
Best
Francesco
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
many thanks for your new suggestions.
Up to now the results seem to be converged within
the tolerance.
I tried the different points you suggested and found the following:
- the curve looks more smooth when using LDA instead of GGA (as you already
pointed out).
- using gauss-smearing instead of Methfessel-Paxton makes the curve also more
smooth
- increasing of lmaxapw to 14, lmaxmat 10 and lmaxvr to 10 from default values
changes total energy and also energy differences.
E.g. for the exciting.in-inputfile given in your first response one gets the following
energies for default_values (lmaxapw,lmaxmat,lmaxvr) and when increasing these (increased_l-parameters):
So should one increase these parameters more like lmaxapw 16, lmaxmat 12 and lmaxvr 10 or is
there a rule of thumb?
Nevertheless all curves look still not smooth enough for murnaghan-fits
especially when switching on GGA.
For this case I also use epspot=1d-8 and beta0=0.05 but results doesn't change.
I also increased now rgkmax to 9 and gmaxvr to 18 as you suggested, so
my input-file looks now like the following:
I have calculated for a fixed volume (setting scale to 5.42 in the example inputfile above)
the energy for different fixed magnetic moments (please find also my input file at the end of the message).
For the total relaxed calculation I got with the input-file above:
# Volume (Bohr^3) Energy (H) Moment_relaxed [muB]
79.61004400 -1272.806615 -2.410914746
Surprisingly when I additionally fix the moment I got the following results:
# Volume (Bohr^3) Energy (H) Moment_fixed (muB)
79.61004400 -1272.806737 2.379999673
79.61004400 -1272.806657 2.400003869
79.61004400 -1272.806579 2.419999761
79.61004400 -1272.806497 2.439999571
79.61004400 -1272.806412 2.460000779
79.61004400 -1272.806327 2.480000316
Indeed I got lower energy by fixing the magnetic moment as compared to
to the fully relaxed calculation.
Does this indicate that the minimizer has some problems
to find the global minimum? If so, is there any solution
how one can overcome this problem, because there occurs no
warning or something like this in the calculation without
constraining the moment :(
Hi Rabbit,
concerning your question about lmaxapw, lmaxmat and lmaxvr, in principle you should converge all relevant parameters in a productive calculation such:
-rgkmax
-number of kpoints
-number of empty bands (nempty)
-lmaxapw
-once converged lmaxapw, lmaxmat and lmaxvr (by keeping in mind lmaxmat<=lmaxvr<=lmaxpaw)
-maybe smearing, but usually the default is enough
About your curve, it seems to me that the first curve you sent to me (increased l-values and LDA) is smooth. I would fit it with 3-4th order polinomial.
Then for GGA you may increase further lmaxmat and lmaxvr to 12 to get rid of the kick in the second curve.
In principle to get the right parameters for a real calculation you should make convergence test.
Another trick you may try to speed up things and reduce the probability of errors, you can converge every volume point from STATE.OUT
corresponding to the previous volume. This will reduce convergence iterations, especially in the "minimum region" where the enregy does not change too much.
About the general shape of the curve "parabola-like" it looks ok to me. If you compare with a pseudopotential code you should remeber that it is a different method, so maybe the minimum would be about the same, but the shape probably slightly different.
In my (not so long) experience with pseudopentials I remeber kind of energy-volume curve with lower derivative in the "volume expansion region" by respect to the ones I got with APW+LO method.
If someone had different experience , please write to us.
To summarize: your first energy curve (increased l-values and LDA) looks ok to me. For the second one try to increase lamxmat,lmaxvr; nad maybe the other parameters I listed before (in a productive calculation you should make a convergence test for each of them). Try also to start the calculation for the point with the kick from the STATE.OUT of the previous volume (task=1).
Best
Francesco
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Dear Rabbit,
The total energy in your fixed moment calculation is slightly different (on mHtr scale) compared to your ground state calculation because you're using 2 different algorithms.
I agree with you that you should find a minimum about 2.41 u_b in your energy-moment curve since this is the value of the moment you got in the ground state calculation.
However in your output
the energy scale is quite small. All the energies are the same up to the third digits, and we're looking at differences in the 4-th digits (0.1 mhtr ~ meV). The task is then quite difficult. First point: Is your energy in TOTENERGY.OUT converged up to the 4-th digits? if not such a digit will be just numerical noise.
Also try to do the same calculation for a wider moment range, let's say from 1.6 to 3.6 at step of 0.1 and see what you get.
You should get minimum at about 2.4 according to your ground state calculation.
However to resolve small energies differences, like mHtr, you should do convergence test of ALL parameters up to the digits you would like to resolve (especially rgkmax and kpoints).
This would be important for example to calculate energy difference between different magnetic structures that have small eneregy difference, such as spin spirals in fcc iron.
Hope this explanation was helpful
Best
Francesco
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
First many thanks for your rapid response :)
In the fixed spin calculations as well as in the
relaxed ones, I ensure that the energy change
given in TOTENERGY.OUT in the last 5 Iterations is
less than 2d-5hartree. Also the RMS change
fulfills the energy criterion given by epspot=1d-8.
I have now the results for a wider range of
fixed spin calculations and found the following for Vol_fixed=79.61004400 with the input-file
given in my recent entry:
Moment_fixed (muB) Energy (H)
2.040000832 -1272.806675
2.060000440 -1272.806815
2.080000459 -1272.806949
2.099998395 -1272.807067
2.119999498 -1272.807164
2.139999860 -1272.807238
2.159999935 -1272.807280
2.179999434 -1272.807292
2.200000104 -1272.807281
2.220000281 -1272.807250
2.240000093 -1272.807207
2.260001301 -1272.807155
2.279999769 -1272.807094
2.299999638 -1272.807029
2.319999517 -1272.806960
2.339999294 -1272.806887
2.359999273 -1272.806813
2.379999673 -1272.806737
2.400003869 -1272.806657
2.419999761 -1272.806579
2.439999571 -1272.806497
2.460000779 -1272.806412
2.480000316 -1272.806327
This has to be compared with the relaxed result:
moment_relaxed=-2.410914746 and
Energy_relaxed=-1272.806615.
The relaxed result seem to be consistent with the constrained calculation
in the sense that it fits nicely in the curve above.
I will now check each of the parameters you pointed out to ensure
that this is not due to any convergence problems.
But I still do not understand why both procedures (constrained and relaxed) are
in principle consistent (the moment-energy-point of the relaxed calculation is on
the moment-energy-curve) but yield different energy minimums :(.
I also try your new suggestions (carefully increasing the l-parameters)
to get rid of the kink in the GGA-curve. As soon I have these results and
the results of the convergence tests I will report :)
Thanks for the nice support and discussion, I learn a lot from this :)
best regards,
rabbit
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Dear rabbit,
thanls to you for the nice discussion.
Regarding our discussion about comparison between ground state calculation and fixed moment calculation, I tried the following test:
1) Test Ground state calculation of iron
tasks
0
spinpol
.true.
!fixspin
! .true.
! fixed spin moment vector
!momfix
! 0.0 0.0 1.0
! small magnetic field in the z-direction
bfieldc
0.0 0.0 0.01
! fairly large number of empty states required for magnetic cases
nempty
10
Here I decreased taufsm=0.001 (the step to update the effective magnetic field for fixed spin moment calculation), but it doesn't really matter unless your calculation is not going to converge.
So |Energy(2)-Energy(1)|= 0.03 mhtr compatible with the convergence I have in energy that is 0.1 mhtr (the last digit that does not change in TOTENERGY.OUT) in both calculations.
The two moments are different about 0.0004 u_B , but in general moments are much more difficult to converge that energy.
A final consideration: this was a numerical check of consistency bewteen two different calculations. If you compare such small energy differences in a real "physical" calculation, let's say to determine which magnetic structure is the most stable, ALL your parameters such kpoints, rgkmax... must be FULLY converged!
So one thing is mumerical consistency between different calculations that should lead the same results, another thing is to have converged all cutoff parameters to compare physical energy differences.
So you may try in your case the same test by copying and paste in the fixed spin moment calculation the exact same moment you got in your ground state calculation.
# Volume (Bohr3) Energy (H) Moment_fixed (muB)
79.61004400 -1272.806615 -2.410914746
and compare it with the one you get out from the fixed moment calculation.
Be sure you use same paramerers in both calculation (same small magnetic field...).
Cheers,
Francesco
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
To our discussion for relaxed vs fixed calculation.
I totally agree to the fact (a) that one finds the same energies in both procedures
for the SAME magnetic moments. That's why I call these procedures in
principle consistent.
The same holds for your example file given above (please find the used input-file at the end of the posting).
As I pointed out the problem of the energy minimizing (b)
occurs when switching on GGA (it seems that LSDA is not affected from this behavior).
Lets have a look on the fact (a)
Switching on GGA in your example file above I got for the relaxed calculation the following results:
Energy(1)=-1272.793516 htr Moment(1)=-2.339820742
Switching on fixed spin with the SAME moment I got (+removed taufsm-flag in your example):
Energy(2)=-1272.793516 htr Moment(1)=-2.339821339
(suprisingly this even ends up yielding exactly the same energy, but this might be by accident).
So both procedures are consistent and yield the same energies for the same magnetic moments (a).
Lets turn now to the problem (b) of minimizing energy.
Also for this example I sample the magnetic-moment vs energy curve and found the following:
# Energy [htr] moment [muB]
-1.919999968 -1272.792803
-1.939999836 -1272.793105
-1.960000046 -1272.793415
-1.980000053 -1272.793726
-1.999995979 -1272.794007
-2.019998515 -1272.794022
-2.039999989 -1272.793989
-2.060000099 -1272.793960
-2.080000011 -1272.793935
-2.100000051 -1272.793910
-2.119999958 -1272.793887
-2.140000002 -1272.793860
-2.159999980 -1272.793832
-2.179999862 -1272.793801
-2.199999847 -1272.793767
-2.219999802 -1272.793730
-2.239999833 -1272.793694
-2.259999954 -1272.793656
-2.279999883 -1272.793620
-2.300000487 -1272.793584
-2.320000171 -1272.793549
-2.340000130 -1272.793516
-2.359999654 -1272.793481
-2.379999878 -1272.793444
-2.399999987 -1272.793398
-2.420000027 -1272.793339
-2.440000009 -1272.793258
-2.459999910 -1272.793152
Of course this curve is not as smooth as the recent one presented in my previous posting due to the much lower kpoints, cutoff etc.
But the main problem is still the same: one finds the minimum of the 'magnetic-moment vs. energy'-curve
(on which the relaxed results fits nicely, see point (a) ) somewhere around
moment_minimum=2.02 with corresponding energy=-1272.794022.
That means, the minimizer scheme of the relaxed calculation does NOT find the global minimum
and ends therefor with too high magnetic moment and energy.
At this special volume point the energy difference between the absolute minimum and the one calculated
with the relaxed calculation is about 13meV. Of course when one is interested in these small energy differences
on should make carefully check of convergence. However, if the minimizer would not find the correct minimum
also convergence tests are somehow serious.
This (b) would explain why I do not get a smooth bcc-FM volume-energy curve using GGA.
I also tested your recent suggestions and increased the lmax-parameters, but I still get the same curves.
I checked the convergence of the energy difference for two fixed volumes wrt to the parameters
you pointed out. The change in energy difference is always smaller than 1meV for:
- lmax-parameters from 12-18
- same holds when increasing nempty from 15 to 60,
- kpoints are converged around 4000kpoints (increased to 8000 i.e. 20x20x20-grid)
- increased rgkmax to 10 with rmt=2.0, i.e. cutoff energy 25ryd (increasing rgkmax more, calculation become
in some cases unstable)
However I was not able to get rid of the kink in the GGA-curve by increasing the suggested parameters.
As I pointed out from my point of view the reason for this is due to problems in the minimizing scheme (b).
I guess the relaxed calculations sometimes end in some local minimum and are not able to find the global
energy minimum. This would explain my GGA-curve in which some points should have lower energy (compared
to smooth curves one gets for example not only with the PAW-method implemented in VASP but also with all electron WIEN2k).
As you pointed out you already calculated some iron-configurations (even spin spirals).
Have you done these calculations using GGA or LSDA?
If GGA, you might compare your parameters with the one given in my recent posting and
figure out, which I have not set up properly :)
thanks a lot for the nice discussion,
rabbit
#input-file
maxscl
500
tasks
0
spinpol
.true.
fixspin
.true.
! fixed spin moment vector
momfix
0.0 0.0 2.0
! small magnetic field in the z-direction
bfieldc
0.0 0.0 0.01
! this the step to update the effective magnetic field for fixed spin moment calculation
!taufsm
!0.001
! fairly large number of empty states required for magnetic cases
nempty
10
It's quite an interesting problem. With regards to the last post about the FSM minimum not corresponding to the variational minimum, if you use a small smearing width (0.001) and increase lmaxvr and lmaxapw, you obtain the energy minimum at the correct moment (exciting.in below with LDA). Here are the energies and moments:
Concerning the 'kink' in the GGA energy-volume, I can confirm the same results and it remains despite changing the 'usual suspects' of input parameters -- it corresponds to a drop in the total moment. One possibility is that the kinky curve is in fact the correct solution for the PBE functional. EXCITING handles magnetism differently from Wien2k by applying a infinitesimal field and computing the spinors in the second variational step. It also calculates the higher derivatives needed for the GGA functionals exactly, whereas (I think) Wien may approximate some of them. These differences may account for the different curves. Of course there could always be a bug lingering in EXCITING somewhere. I'll try some more tests this week.
(You may also like to try the new PBEsol functional (http://arxiv.org/abs/0707.2088v1) when it's available in the next release)
Hi Rabbit and Kay,
concerning spin-spirals in Fe fcc (gamma iron) I used LDA and I compared the results some of the numerous existing ones. They agree nicely. Same I did for a more complicate structure TlCoSe2, again I used LDA and the results agree nicely to existing ones.
I compared the results I obtained by using the spin spirals routine (spinsprl=.true.) with spirals calculated in supercells and they also agree.
So I would say I FULLY TRUST the spin spirals calculation with LSDA, especially "planar spirals" (polar angle=90) that are the ones I most calculated.
If you are interested in spin spirals calculation I can send you the input files I used.
I'm trying with GGA (task=21) both the Fe and the TlCoSe2 test but I'm having some problems.
1) for the same volume for Fe that I used with LSDA (a=6.82 a.u.), I get only the high moment solution (moment aroun 2.5) with GGA while for LSDA I get two solution (moment about 1.2 and 2.2).
I get a low moment solution with GGA only by significantly decreasing the volume (a=6.60 a.u.).
2) The GGA spin spirals for energy curve as function of q vector a=6.82 a.u. doesn't agree at all with LSDA one and it looks a bit strange. I'm still comparing with other results and playing with volume: for a=6.60 a.u. the curve looks reasonable.
Cheers,
Francesco
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Dear Exciting users,
I started my first test calculations with Exciting for
bcc ferromagnetic iron and I tried to get a simply volume-energy
curve. However I did not get a smooth curve (i.e. compared
to earlier VASP-results), especially I got a 'kink' at about 80bohr^3 :(
Has anyone an idea what I have done wrong in my input
file or which parameters I have not set up properly?
Enclosed are my example input file and the corresponding
volume-energy-data.
Many thanks in advance :)
rabbit
# Volume [Bohr^3] Energy [Hartree] Moment [muB]
62.50000000 -1272.796458 1.947881647
63.25300400 -1272.798070 1.981131720
64.01203200 -1272.799593 2.009829142
64.77710800 -1272.801014 2.034615457
65.54825600 -1272.802337 2.054916392
67.10886400 -1272.804694 2.082248022
67.89837200 -1272.805702 2.093529954
68.69404800 -1272.806591 2.106214642
69.49591600 -1272.807363 2.120950471
70.30400000 -1272.808027 2.137028554
71.11832400 -1272.808609 2.152355534
71.93891200 -1272.809119 2.164893375
72.76578800 -1272.809557 2.174590961
73.59897600 -1272.809909 2.183136503
74.43850000 -1272.810158 2.193437502
75.28438400 -1272.810288 2.208541789
76.13665200 -1272.810298 2.231022230
76.99532800 -1272.810207 2.261073909
77.86043600 -1272.810038 2.296218461
78.73200000 -1272.809779 2.338022421
79.61004400 -1272.809403 2.390324456
80.49459200 -1272.809030 2.438511499
82.28329600 -1272.808418 2.497620276
83.18750000 -1272.808097 2.521222540
84.09830400 -1272.807746 2.543523223
85.01573200 -1272.807334 2.574232976
85.93980800 -1272.806902 2.604006607
86.87055600 -1272.806462 2.631550045
87.80800000 -1272.806010 2.652838353
88.75216400 -1272.805560 2.666539656
89.70307200 -1272.805085 2.673856036
90.66074800 -1272.804576 2.677118162
91.62521600 -1272.804031 2.678714554
92.59650000 -1272.803437 2.680710188
# exciting.in
tasks
0
spinpol
.true.
bfieldc
0.0 0.0 0.01
nempty
10
avec
0.5 0.5 -0.5
0.5 -0.5 0.5
-0.5 0.5 0.5
scale
5.4
xctype
20
sppath
'./'
atoms
1 : nspecies
'Fe.in' : spfname
1 : natoms
0.0 0.0 0.0 0.0 0.0 0.0 : atposl, bfcmt
stype
1
swidth
0.00551
epspot
1.e-7
rgkmax
10.0
ngridk
16 16 16
vkloff
0.5 0.5 0.5
P.S. I also tried to increase nempty, gmax and of course kpoints, unfortunately without success :(
Any help is greatly appreciated :)
Dear Rabbit,
I did some magnetic calculations with Fe with Exciting, especially spin-spirals.
My first guess looking at your input is that you are using too many plane waves (rgkmax=10 is too large), and Exciting is sometime sensitive to this fact.
My experience is the following:
1) IMPORTANT: DO NOT USE such large rgkmax in this case, rgkmax=8.5 (or 9.0) is ok.
By doing so increase gmaxvr, I would use gmaxvr=16.0 for rgkmax=8.5, or gmaxvr=18.0 for rgkmax=9.0
Also use autormt=.true., this will decrease your computational time.
nempty looks ok, maybe for safety put nempty=15
2) Also increase lmaxapw=14
lmaxvr=10 (or 8)
lmaxmat=10 (or 8)
3) Start first with LSDA (xctype=3) and see what you get.
GGA (xctype=20) is always more sensitive to all parameters, and you may use it at a second stage!
4) You may also decrease number of kpoints, 16by16by16 seems too much, 12by12by12 should be enough
5) Start by using your default species file.
By the way I'm going to include this considerations in the new version of exciting by putting a flag in the code.
Please let me know which point was crucial (you may try every point separately if you have time) this will help me in my work also!
So my input would look like:
# exciting.in
tasks
0
spinpol
.true.
bfieldc
0.0 0.0 0.01
! increased to 15
nempty
15
avec
0.5 0.5 -0.5
0.5 -0.5 0.5
-0.5 0.5 0.5
scale
5.4
! LSDA
xctype
3
sppath
'./'
atoms
1 : nspecies
'Fe.in' : spfname
1 : natoms
0.0 0.0 0.0 0.0 0.0 0.0 : atposl, bfcmt
! Try first to use default smearing, that for me always worked fine
!stype
!1
!swidth
!0.00551
epspot
1.e-7
! decreased to 8.5
rgkmax
8.5
! increased to 16.0
gmaxvr
16.0
! automatic mt radius
autormt
.true.
! increased to 14
lmaxapw
14
! increased to 10
lmaxmat
10
! increased to 10
lmaxvr
10
! you could decrease them to 12
ngridk
16 16 16
vkloff
0.5 0.5 0.5
A trick to reduce the number of iterations:
You can start by performing few iterations with a bigger magnetic field to go a bit a faster toward the magnetic solution, for example:
task
0
maxscl
5
bfieldc
0.0 0.0 2.0
and then reduce the magnetic field and converge the calculation starting from this STATE.OUT.
task
1
bfieldc
0.0 0.0 0.01
You could try this procedure after things are working fine with your first input file.
Also to reduce computational time , you can modify the species files as we discussed yesterday
Fe_new.in:
'Fe' : spsymb
'iron' : spname
-26.0000 : spzn
101799.2074 : spmass
0.392232E-06 2.0000 47.1462 500 : sprmin, rmt, sprmax, nrmt
10 : spnst
1 0 1 2.00000 T : spn, spl, spk, spocc, spcore
2 0 1 2.00000 T
2 1 1 2.00000 T
2 1 2 4.00000 T
3 0 1 2.00000 T
3 1 1 2.00000 F
3 1 2 4.00000 F
3 2 2 4.00000 F
3 2 3 2.00000 F
4 0 1 2.00000 F
1 : apword
0.1500 0 F : apwe0, apwdm, apwve
0 : nlx
4 : nlorb
0 2 : lorbl, lorbord
0.1500 0 F : lorbe0, lorbdm, lorbve
0.1500 1 F
1 2 : lorbl, lorbord
0.1500 0 F : lorbe0, lorbdm, lorbve
0.1500 1 F
2 2 : lorbl, lorbord
0.1500 0 F : lorbe0, lorbdm, lorbve
0.1500 1 F
1 3 : lorbl, lorbord
0.1500 0 F : lorbe0, lorbdm, lorbve
0.1500 1 F
-2.0888 0 T
I removed f local orbitals, useless, and moved 3s electron (highly deep in energy) to the core from valence, by removing at same time the corresponding local orbitals. You could probably do the same with 3p electrons, but p local orbitals do not cost much so I kept the p electrons in valence and the corresponding local orbitals!
Best
Francesco Cricchio
Dear Francesco,
again many, many thanks for these detailed answers :)!
I will check these points and report as soon as I get
results,
looking forward to the new calculations :),
rabbit
Dear rabbit,
I forgot one more IMPORTANT thing:
the first thing to do when some point in your curve looks "suspicious" is to check that the calculation has really converged to the tolerance degree you provided in the input (epspot).
You can do that simply by using the following command
grep RMS INFO.OUT
this will give for example
RMS change in effective potential (target) : 0.8571902686E-04 ( 0.1000000000E-06)
RMS change in effective potential (target) : 0.6109792629E-04 ( 0.1000000000E-06)
RMS change in effective potential (target) : 0.2346030924E-04 ( 0.1000000000E-06)
RMS change in effective potential (target) : 0.1105456664E-04 ( 0.1000000000E-06)
RMS change in effective potential (target) : 0.3419620058E-05 ( 0.1000000000E-06)
RMS change in effective potential (target) : 0.4835455808E-05 ( 0.1000000000E-06)
RMS change in effective potential (target) : 0.1119025911E-05 ( 0.1000000000E-06)
RMS change in effective potential (target) : 0.1683226153E-05 ( 0.1000000000E-06)
RMS change in effective potential (target) : 0.1315547709E-05 ( 0.1000000000E-06)
RMS change in effective potential (target) : 0.7999069647E-06 ( 0.1000000000E-06)
RMS change in effective potential (target) : 0.6231901922E-06 ( 0.1000000000E-06)
RMS change in effective potential (target) : 0.4531650390E-06 ( 0.1000000000E-06)
RMS change in effective potential (target) : 0.1637293967E-06 ( 0.1000000000E-06)
RMS change in effective potential (target) : 0.2345607132E-06 ( 0.1000000000E-06)
RMS change in effective potential (target) : 0.2283494942E-07 ( 0.1000000000E-06)
In the last line there must be the same tolerance degree you provided in the input (epspot), in this case a number lower than 1.e-07.
If the calculation has not converged, first thing to do is to reduce the mixing parameter beta0.
I noticed that in your input beta0 is not defined, so it will be equal to the default value beta=0.1 that is a bit too large for magnetic system. Try beta0=0.05!
And of course in addition to this you may try the suggestions I gave you in my other reply, especially I recommend you to reduce rgkmax to 8.5 (9.0), gmaxvr=16.0 (18.0) and to use autormt .true., nempty=10 (15).
At this stage you could leave lmaxapw,lmaxmat, and lmaxvr at the default values. My experience is that they should be increased if you are looking at tiny energy differences between different magnetic structures (FM,AFM,spin-spirals...), but this is probably not your case now since you are studying the energy-volume curve.
I think most likely the kink in your energy-curve is simply caused by such non convergence for some points, I remembered now I had a similar problem in the past.
So the input will look like:
# exciting.in
tasks
0
spinpol
.true.
beta0
0.05
bfieldc
0.0 0.0 0.01
! increased to 15
nempty
15
avec
0.5 0.5 -0.5
0.5 -0.5 0.5
-0.5 0.5 0.5
scale
5.4
! LSDA
xctype
3
sppath
'./'
atoms
1 : nspecies
'Fe.in' : spfname
1 : natoms
0.0 0.0 0.0 0.0 0.0 0.0 : atposl, bfcmt
! You may first try to use default smearing, that for me always worked fine
!stype
!1
!swidth
!0.00551
epspot
1.e-7
! decreased to 8.5
rgkmax
8.5
! increased to 16.0
gmaxvr
16.0
! automatic mt radius to reduce computational time
autormt
.true.
! at first stage you may keep default values
! increased to 14
!lmaxapw
!14
! increased to 10
!lmaxmat
!10
! increased to 10
!lmaxvr
!10
! you could decrease them to 12
ngridk
16 16 16
vkloff
0.5 0.5 0.5
Hope this will help more!
Best
Francesco
Hi Rabbit,
I remebered one thing: you may decrease epspot to 1.d-8 (convergence tolerance) after you check all your calculations are converged to 1.d-7. This probably will give you a very smooth curve. I suggest you to try first this, together with rgkmax 9.0 and autormt=.true. .
Best
Francesco
Dear Francesco,
many thanks for your new suggestions.
Up to now the results seem to be converged within
the tolerance.
I tried the different points you suggested and found the following:
- the curve looks more smooth when using LDA instead of GGA (as you already
pointed out).
- using gauss-smearing instead of Methfessel-Paxton makes the curve also more
smooth
- increasing of lmaxapw to 14, lmaxmat 10 and lmaxvr to 10 from default values
changes total energy and also energy differences.
E.g. for the exciting.in-inputfile given in your first response one gets the following
energies for default_values (lmaxapw,lmaxmat,lmaxvr) and when increasing these (increased_l-parameters):
# Volume (Bohr^3) default_values increased_l-parameters difference
62.50000000 -1270.578026 -1270.585677 0.007651
65.16192150 -1270.581495 -1270.588706 0.007211
67.89837200 -1270.583649 -1270.590382 0.006733
70.71038050 -1270.584751 -1270.591020 0.006269
73.59897600 -1270.584912 -1270.590773 0.005861
76.56518750 -1270.584091 -1270.589599 0.005508
79.61004400 -1270.582342 -1270.587534 0.005192
82.73457450 -1270.579858 -1270.584684 0.004826
85.93980800 -1270.576845 -1270.581338 0.004493
89.22677350 -1270.573676 -1270.577781 0.004105
92.59650000 -1270.570288 -1270.574116 0.003828
So should one increase these parameters more like lmaxapw 16, lmaxmat 12 and lmaxvr 10 or is
there a rule of thumb?
Nevertheless all curves look still not smooth enough for murnaghan-fits
especially when switching on GGA.
For this case I also use epspot=1d-8 and beta0=0.05 but results doesn't change.
I also increased now rgkmax to 9 and gmaxvr to 18 as you suggested, so
my input-file looks now like the following:
#exciting_gga.in
tasks
0
spinpol
.true.
bfieldc
0.0 0.0 0.01
! increased to 15
nempty
15
avec
0.5 0.5 -0.5
0.5 -0.5 0.5
-0.5 0.5 0.5
scale
5.0
! GGA
xctype
20
sppath
'./'
atoms
1 : nspecies
'Fe.in' : spfname
1 : natoms
0.0 0.0 0.0 0.0 0.0 0.0 : atposl, bfcmt
! use default smearing
!stype
!1
!swidth
!0.00551
beta0
0.05
epspot
1.e-8
! increased to 9.0
rgkmax
9.0
! increased to 18.0
gmaxvr
18.0
! automatic mt radius
autormt
.true.
! increased to 14
lmaxapw
14
! increased to 10
lmaxmat
10
! increased to 10
lmaxvr
10
ngridk
12 12 12
vkloff
0.5 0.5 0.5
With this input-file I got following results for the
energy-volume curve:
# Volume (Bohr^3) Energy (H)
62.50000000 -1272.790337
65.16192150 -1272.796188
67.89837200 -1272.800840
70.71038050 -1272.804181
73.59897600 -1272.806170
76.56518750 -1272.806890
79.61004400 -1272.806615
82.73457450 -1272.806111
85.93980800 -1272.805302
89.22677350 -1272.803944
92.59650000 -1272.802061
Maybe the algorithm does not find the global minimum in some cases (e.g. at vol = 79.61004400 and 82.73457450) ?
Many thanks for your help and your nice support,
best regards,
rabbit
Dear Exciting users,
dear Francesco.
I have calculated for a fixed volume (setting scale to 5.42 in the example inputfile above)
the energy for different fixed magnetic moments (please find also my input file at the end of the message).
For the total relaxed calculation I got with the input-file above:
# Volume (Bohr^3) Energy (H) Moment_relaxed [muB]
79.61004400 -1272.806615 -2.410914746
Surprisingly when I additionally fix the moment I got the following results:
# Volume (Bohr^3) Energy (H) Moment_fixed (muB)
79.61004400 -1272.806737 2.379999673
79.61004400 -1272.806657 2.400003869
79.61004400 -1272.806579 2.419999761
79.61004400 -1272.806497 2.439999571
79.61004400 -1272.806412 2.460000779
79.61004400 -1272.806327 2.480000316
Indeed I got lower energy by fixing the magnetic moment as compared to
to the fully relaxed calculation.
Does this indicate that the minimizer has some problems
to find the global minimum? If so, is there any solution
how one can overcome this problem, because there occurs no
warning or something like this in the calculation without
constraining the moment :(
Any help is greatly appreciate :),
cheers,
rabbit
#exciting_fixedspin.in
tasks
0
spinpol
.true.
bfieldc
0.0 0.0 0.01
fixspin
.true.
momfix
0.0 0.0 2.4
! increased to 15
nempty
15
avec
0.5 0.5 -0.5
0.5 -0.5 0.5
-0.5 0.5 0.5
scale
5.42
! LSDA
xctype
20
sppath
'./'
atoms
1 : nspecies
'Fe.in' : spfname
1 : natoms
0.0 0.0 0.0 0.0 0.0 0.0 : atposl, bfcmt
! Try first to use default smearing, that for me always worked fine
!stype
!1
!swidth
!0.00551
beta0
0.05
epspot
1.e-8
rgkmax
9.0
gmaxvr
18.0
! automatic mt radius
autormt
.true.
! increased to 14
lmaxapw
14
! increased to 10
lmaxmat
10
! increased to 10
lmaxvr
10
ngridk
12 12 12
vkloff
0.5 0.5 0.5
Hi Rabbit,
concerning your question about lmaxapw, lmaxmat and lmaxvr, in principle you should converge all relevant parameters in a productive calculation such:
-rgkmax
-number of kpoints
-number of empty bands (nempty)
-lmaxapw
-once converged lmaxapw, lmaxmat and lmaxvr (by keeping in mind lmaxmat<=lmaxvr<=lmaxpaw)
-maybe smearing, but usually the default is enough
About your curve, it seems to me that the first curve you sent to me (increased l-values and LDA) is smooth. I would fit it with 3-4th order polinomial.
Then for GGA you may increase further lmaxmat and lmaxvr to 12 to get rid of the kick in the second curve.
In principle to get the right parameters for a real calculation you should make convergence test.
Another trick you may try to speed up things and reduce the probability of errors, you can converge every volume point from STATE.OUT
corresponding to the previous volume. This will reduce convergence iterations, especially in the "minimum region" where the enregy does not change too much.
About the general shape of the curve "parabola-like" it looks ok to me. If you compare with a pseudopotential code you should remeber that it is a different method, so maybe the minimum would be about the same, but the shape probably slightly different.
In my (not so long) experience with pseudopentials I remeber kind of energy-volume curve with lower derivative in the "volume expansion region" by respect to the ones I got with APW+LO method.
If someone had different experience , please write to us.
To summarize: your first energy curve (increased l-values and LDA) looks ok to me. For the second one try to increase lamxmat,lmaxvr; nad maybe the other parameters I listed before (in a productive calculation you should make a convergence test for each of them). Try also to start the calculation for the point with the kick from the STATE.OUT of the previous volume (task=1).
Best
Francesco
Dear Rabbit,
The total energy in your fixed moment calculation is slightly different (on mHtr scale) compared to your ground state calculation because you're using 2 different algorithms.
I agree with you that you should find a minimum about 2.41 u_b in your energy-moment curve since this is the value of the moment you got in the ground state calculation.
However in your output
# Volume (Bohr3) Energy (H) Moment_fixed (muB)
79.61004400 -1272.806737 2.379999673
79.61004400 -1272.806657 2.400003869
79.61004400 -1272.806579 2.419999761
79.61004400 -1272.806497 2.439999571
79.61004400 -1272.806412 2.460000779
79.61004400 -1272.806327 2.480000316
the energy scale is quite small. All the energies are the same up to the third digits, and we're looking at differences in the 4-th digits (0.1 mhtr ~ meV). The task is then quite difficult. First point: Is your energy in TOTENERGY.OUT converged up to the 4-th digits? if not such a digit will be just numerical noise.
Also try to do the same calculation for a wider moment range, let's say from 1.6 to 3.6 at step of 0.1 and see what you get.
You should get minimum at about 2.4 according to your ground state calculation.
However to resolve small energies differences, like mHtr, you should do convergence test of ALL parameters up to the digits you would like to resolve (especially rgkmax and kpoints).
This would be important for example to calculate energy difference between different magnetic structures that have small eneregy difference, such as spin spirals in fcc iron.
Hope this explanation was helpful
Best
Francesco
Dear Exciting users,
dear Francesco.
First many thanks for your rapid response :)
In the fixed spin calculations as well as in the
relaxed ones, I ensure that the energy change
given in TOTENERGY.OUT in the last 5 Iterations is
less than 2d-5hartree. Also the RMS change
fulfills the energy criterion given by epspot=1d-8.
I have now the results for a wider range of
fixed spin calculations and found the following for Vol_fixed=79.61004400 with the input-file
given in my recent entry:
Moment_fixed (muB) Energy (H)
2.040000832 -1272.806675
2.060000440 -1272.806815
2.080000459 -1272.806949
2.099998395 -1272.807067
2.119999498 -1272.807164
2.139999860 -1272.807238
2.159999935 -1272.807280
2.179999434 -1272.807292
2.200000104 -1272.807281
2.220000281 -1272.807250
2.240000093 -1272.807207
2.260001301 -1272.807155
2.279999769 -1272.807094
2.299999638 -1272.807029
2.319999517 -1272.806960
2.339999294 -1272.806887
2.359999273 -1272.806813
2.379999673 -1272.806737
2.400003869 -1272.806657
2.419999761 -1272.806579
2.439999571 -1272.806497
2.460000779 -1272.806412
2.480000316 -1272.806327
This has to be compared with the relaxed result:
moment_relaxed=-2.410914746 and
Energy_relaxed=-1272.806615.
The relaxed result seem to be consistent with the constrained calculation
in the sense that it fits nicely in the curve above.
I will now check each of the parameters you pointed out to ensure
that this is not due to any convergence problems.
But I still do not understand why both procedures (constrained and relaxed) are
in principle consistent (the moment-energy-point of the relaxed calculation is on
the moment-energy-curve) but yield different energy minimums :(.
I also try your new suggestions (carefully increasing the l-parameters)
to get rid of the kink in the GGA-curve. As soon I have these results and
the results of the convergence tests I will report :)
Thanks for the nice support and discussion, I learn a lot from this :)
best regards,
rabbit
Dear rabbit,
thanls to you for the nice discussion.
Regarding our discussion about comparison between ground state calculation and fixed moment calculation, I tried the following test:
1) Test Ground state calculation of iron
tasks
0
spinpol
.true.
!fixspin
! .true.
! fixed spin moment vector
!momfix
! 0.0 0.0 1.0
! small magnetic field in the z-direction
bfieldc
0.0 0.0 0.01
! fairly large number of empty states required for magnetic cases
nempty
10
! conservative mixing
beta0
0.05
epspot
1.d-8
avec
1.0 1.0 -1.0
1.0 -1.0 1.0
-1.0 1.0 1.0
scale
2.708
sppath
'../../species/'
atoms
1 : nspecies
'Fe.in' : spfname
1 : natoms
0.0 0.0 0.0 0.0 0.0 0.0 : atposl, bfcmt
ngridk
4 4 4
vkloff
0.5 0.5 0.5
This converges to
Energy(1)=-1270.56942276 htr Moment(1)=-2.069085572
2) I inserted the EXACT SAME moment (same sign also) I got in calculation (1) in a new input file for a fixed spin calculation:
! Ferromagnetic bcc iron fixed spin moment example.
tasks
0
spinpol
.true.
fixspin
.true.
! fixed spin moment vector
momfix
0.0 0.0 -2.069085572
! small magnetic field in the z-direction
bfieldc
0.0 0.0 0.01
! this the step to update the effective magnetic field for fixed spin moment calculation
taufsm
0.001
! fairly large number of empty states required for magnetic cases
nempty
10
! conservative mixing
beta0
0.05
epspot
1.d-8
avec
1.0 1.0 -1.0
1.0 -1.0 1.0
-1.0 1.0 1.0
scale
2.708
sppath
'../../species/'
atoms
1 : nspecies
'Fe.in' : spfname
1 : natoms
0.0 0.0 0.0 0.0 0.0 0.0 : atposl, bfcmt
ngridk
4 4 4
vkloff
0.5 0.5 0.5
Here I decreased taufsm=0.001 (the step to update the effective magnetic field for fixed spin moment calculation), but it doesn't really matter unless your calculation is not going to converge.
This converges to :
Energy(2)=-1270.56941976 htr Moment(2)=-2.069490120 u_b
So |Energy(2)-Energy(1)|= 0.03 mhtr compatible with the convergence I have in energy that is 0.1 mhtr (the last digit that does not change in TOTENERGY.OUT) in both calculations.
The two moments are different about 0.0004 u_B , but in general moments are much more difficult to converge that energy.
A final consideration: this was a numerical check of consistency bewteen two different calculations. If you compare such small energy differences in a real "physical" calculation, let's say to determine which magnetic structure is the most stable, ALL your parameters such kpoints, rgkmax... must be FULLY converged!
So one thing is mumerical consistency between different calculations that should lead the same results, another thing is to have converged all cutoff parameters to compare physical energy differences.
So you may try in your case the same test by copying and paste in the fixed spin moment calculation the exact same moment you got in your ground state calculation.
# Volume (Bohr3) Energy (H) Moment_fixed (muB)
79.61004400 -1272.806615 -2.410914746
and compare it with the one you get out from the fixed moment calculation.
Be sure you use same paramerers in both calculation (same small magnetic field...).
Cheers,
Francesco
Dear Francesco,
thanks for your rapid response.
To our discussion for relaxed vs fixed calculation.
I totally agree to the fact (a) that one finds the same energies in both procedures
for the SAME magnetic moments. That's why I call these procedures in
principle consistent.
The same holds for your example file given above (please find the used input-file at the end of the posting).
As I pointed out the problem of the energy minimizing (b)
occurs when switching on GGA (it seems that LSDA is not affected from this behavior).
Lets have a look on the fact (a)
Switching on GGA in your example file above I got for the relaxed calculation the following results:
Energy(1)=-1272.793516 htr Moment(1)=-2.339820742
Switching on fixed spin with the SAME moment I got (+removed taufsm-flag in your example):
Energy(2)=-1272.793516 htr Moment(1)=-2.339821339
(suprisingly this even ends up yielding exactly the same energy, but this might be by accident).
So both procedures are consistent and yield the same energies for the same magnetic moments (a).
Lets turn now to the problem (b) of minimizing energy.
Also for this example I sample the magnetic-moment vs energy curve and found the following:
# Energy [htr] moment [muB]
-1.919999968 -1272.792803
-1.939999836 -1272.793105
-1.960000046 -1272.793415
-1.980000053 -1272.793726
-1.999995979 -1272.794007
-2.019998515 -1272.794022
-2.039999989 -1272.793989
-2.060000099 -1272.793960
-2.080000011 -1272.793935
-2.100000051 -1272.793910
-2.119999958 -1272.793887
-2.140000002 -1272.793860
-2.159999980 -1272.793832
-2.179999862 -1272.793801
-2.199999847 -1272.793767
-2.219999802 -1272.793730
-2.239999833 -1272.793694
-2.259999954 -1272.793656
-2.279999883 -1272.793620
-2.300000487 -1272.793584
-2.320000171 -1272.793549
-2.340000130 -1272.793516
-2.359999654 -1272.793481
-2.379999878 -1272.793444
-2.399999987 -1272.793398
-2.420000027 -1272.793339
-2.440000009 -1272.793258
-2.459999910 -1272.793152
Of course this curve is not as smooth as the recent one presented in my previous posting due to the much lower kpoints, cutoff etc.
But the main problem is still the same: one finds the minimum of the 'magnetic-moment vs. energy'-curve
(on which the relaxed results fits nicely, see point (a) ) somewhere around
moment_minimum=2.02 with corresponding energy=-1272.794022.
That means, the minimizer scheme of the relaxed calculation does NOT find the global minimum
and ends therefor with too high magnetic moment and energy.
At this special volume point the energy difference between the absolute minimum and the one calculated
with the relaxed calculation is about 13meV. Of course when one is interested in these small energy differences
on should make carefully check of convergence. However, if the minimizer would not find the correct minimum
also convergence tests are somehow serious.
This (b) would explain why I do not get a smooth bcc-FM volume-energy curve using GGA.
I also tested your recent suggestions and increased the lmax-parameters, but I still get the same curves.
I checked the convergence of the energy difference for two fixed volumes wrt to the parameters
you pointed out. The change in energy difference is always smaller than 1meV for:
- lmax-parameters from 12-18
- same holds when increasing nempty from 15 to 60,
- kpoints are converged around 4000kpoints (increased to 8000 i.e. 20x20x20-grid)
- increased rgkmax to 10 with rmt=2.0, i.e. cutoff energy 25ryd (increasing rgkmax more, calculation become
in some cases unstable)
However I was not able to get rid of the kink in the GGA-curve by increasing the suggested parameters.
As I pointed out from my point of view the reason for this is due to problems in the minimizing scheme (b).
I guess the relaxed calculations sometimes end in some local minimum and are not able to find the global
energy minimum. This would explain my GGA-curve in which some points should have lower energy (compared
to smooth curves one gets for example not only with the PAW-method implemented in VASP but also with all electron WIEN2k).
As you pointed out you already calculated some iron-configurations (even spin spirals).
Have you done these calculations using GGA or LSDA?
If GGA, you might compare your parameters with the one given in my recent posting and
figure out, which I have not set up properly :)
thanks a lot for the nice discussion,
rabbit
#input-file
maxscl
500
tasks
0
spinpol
.true.
fixspin
.true.
! fixed spin moment vector
momfix
0.0 0.0 2.0
! small magnetic field in the z-direction
bfieldc
0.0 0.0 0.01
! this the step to update the effective magnetic field for fixed spin moment calculation
!taufsm
!0.001
! fairly large number of empty states required for magnetic cases
nempty
10
! conservative mixing
beta0
0.05
epspot
1.d-8
xctype
20
avec
1.0 1.0 -1.0
1.0 -1.0 1.0
-1.0 1.0 1.0
scale
2.708
sppath
'./'
atoms
1 : nspecies
'Fe.in' : spfname
1 : natoms
0.0 0.0 0.0 0.0 0.0 0.0 : atposl, bfcmt
ngridk
4 4 4
vkloff
0.5 0.5 0.5
Hi Rabbit and Francesco,
It's quite an interesting problem. With regards to the last post about the FSM minimum not corresponding to the variational minimum, if you use a small smearing width (0.001) and increase lmaxvr and lmaxapw, you obtain the energy minimum at the correct moment (exciting.in below with LDA). Here are the energies and moments:
1.95004377293205 -1270.59127436382
1.99992999113912 -1270.59134705613
2.04992590890207 -1270.59140948852
2.09994737304110 -1270.59147963903
2.15001444811895 -1270.59138849976
2.19991595215000 -1270.59105720957
and the moment vs. FSM magnetic field (which goes through zero at the variational moment):
1.95004377293205 2.238588779253938E-003
1.99992999113912 1.867170776651221E-003
2.04992590890207 1.698130106071478E-003
2.09994737304110 5.504653361509118E-004
2.15001444811895 -2.179327979346337E-003
2.19991595215000 -6.107356962613522E-003
Concerning the 'kink' in the GGA energy-volume, I can confirm the same results and it remains despite changing the 'usual suspects' of input parameters -- it corresponds to a drop in the total moment. One possibility is that the kinky curve is in fact the correct solution for the PBE functional. EXCITING handles magnetism differently from Wien2k by applying a infinitesimal field and computing the spinors in the second variational step. It also calculates the higher derivatives needed for the GGA functionals exactly, whereas (I think) Wien may approximate some of them. These differences may account for the different curves. Of course there could always be a bug lingering in EXCITING somewhere. I'll try some more tests this week.
(You may also like to try the new PBEsol functional (http://arxiv.org/abs/0707.2088v1) when it's available in the next release)
Thanks for all the testing.
Cheers, Kay.
--------------------------------------------------------
tasks
0
lmaxvr
8
lmaxapw
10
swidth
0.001
spinpol
.true.
fixspin
.true.
momfix
0.0 0.0 1.95
bfieldc
0.0 0.0 0.001
nempty
10
avec
0.5 0.5 -0.5
0.5 -0.5 0.5
-0.5 0.5 0.5
scale
5.25
xctype
3
atoms
1 : nspecies
'Fe.in' : spfname
1 : natoms
0.0 0.0 0.0 0.0 0.0 0.0 : atposl, bfcmt
epspot
1.e-7
rgkmax
8.0
ngridk
12 12 12
vkloff
0.5 0.5 0.5
Hi Rabbit and Kay,
concerning spin-spirals in Fe fcc (gamma iron) I used LDA and I compared the results some of the numerous existing ones. They agree nicely. Same I did for a more complicate structure TlCoSe2, again I used LDA and the results agree nicely to existing ones.
I compared the results I obtained by using the spin spirals routine (spinsprl=.true.) with spirals calculated in supercells and they also agree.
So I would say I FULLY TRUST the spin spirals calculation with LSDA, especially "planar spirals" (polar angle=90) that are the ones I most calculated.
If you are interested in spin spirals calculation I can send you the input files I used.
I'm trying with GGA (task=21) both the Fe and the TlCoSe2 test but I'm having some problems.
1) for the same volume for Fe that I used with LSDA (a=6.82 a.u.), I get only the high moment solution (moment aroun 2.5) with GGA while for LSDA I get two solution (moment about 1.2 and 2.2).
I get a low moment solution with GGA only by significantly decreasing the volume (a=6.60 a.u.).
2) The GGA spin spirals for energy curve as function of q vector a=6.82 a.u. doesn't agree at all with LSDA one and it looks a bit strange. I'm still comparing with other results and playing with volume: for a=6.60 a.u. the curve looks reasonable.
Cheers,
Francesco