Commit 68ac0196 authored by Gregor Michalicek's avatar Gregor Michalicek

Revert changes in NiO_ldauXML test and bugfix in io/r_inpXML.F90

The fixed bug was the ignoring of the ldaU XML element if the version number
of the inp.xml file was not 0.29. For the NiO_ldauXML test this meant that
no linear mixing was used for the density matrix.

Please note that there are still slight differences between the results
obtained with this version and the last release version. I changed the
reference value for the total energy from -3191.9717 to -3191.9707.
parent af4e95c0
...@@ -163,7 +163,7 @@ ...@@ -163,7 +163,7 @@
banddos%sig_dos = 0.015 ; vacuum%tworkf = 0.0 ; scale = 1.0 ; scpos = 1.0 banddos%sig_dos = 0.015 ; vacuum%tworkf = 0.0 ; scale = 1.0 ; scpos = 1.0
zc = 0.0 ; vacuum%locx(:) = 0.0 ; vacuum%locy(:) = 0.0 zc = 0.0 ; vacuum%locx(:) = 0.0 ; vacuum%locy(:) = 0.0
kpts%numSpecialPoints = 0 kpts%numSpecialPoints = 0
input%ldauLinMix = .FALSE. ; input%ldauMixParam = -1.0 ; input%ldauSpinf = 1.0 input%ldauLinMix = .FALSE. ; input%ldauMixParam = 0.05 ; input%ldauSpinf = 1.0
!+odim !+odim
oneD%odd%mb = 0 ; oneD%odd%M = 0 ; oneD%odd%m_cyl = 0 ; oneD%odd%chi = 0 ; oneD%odd%rot = 0 oneD%odd%mb = 0 ; oneD%odd%M = 0 ; oneD%odd%m_cyl = 0 ; oneD%odd%chi = 0 ; oneD%odd%rot = 0
......
...@@ -642,14 +642,12 @@ SUBROUTINE r_inpXML(& ...@@ -642,14 +642,12 @@ SUBROUTINE r_inpXML(&
! Read in optional general LDA+U parameters ! Read in optional general LDA+U parameters
IF (TRIM(ADJUSTL(versionString)).EQ.'0.29') THEN xPathA = '/fleurInput/calculationSetup/ldaU'
xPathA = '/fleurInput/calculationSetup/ldaU' numberNodes = xmlGetNumberOfNodes(xPathA)
numberNodes = xmlGetNumberOfNodes(xPathA) IF (numberNodes.EQ.1) THEN
IF (numberNodes.EQ.1) THEN input%ldauLinMix = evaluateFirstBoolOnly(xmlGetAttributeValue(TRIM(ADJUSTL(xPathA))//'/@l_linMix'))
input%ldauLinMix = evaluateFirstBoolOnly(xmlGetAttributeValue(TRIM(ADJUSTL(xPathA))//'/@l_linMix')) input%ldauMixParam = evaluateFirstOnly(xmlGetAttributeValue(TRIM(ADJUSTL(xPathA))//'/@mixParam'))
input%ldauMixParam = evaluateFirstOnly(xmlGetAttributeValue(TRIM(ADJUSTL(xPathA))//'/@mixParam')) input%ldauSpinf = evaluateFirstOnly(xmlGetAttributeValue(TRIM(ADJUSTL(xPathA))//'/@spinf'))
input%ldauSpinf = evaluateFirstOnly(xmlGetAttributeValue(TRIM(ADJUSTL(xPathA))//'/@spinf'))
END IF
END IF END IF
! Read in optional q point mesh for spin spirals ! Read in optional q point mesh for spin spirals
......
...@@ -9,8 +9,8 @@ jt::testrun("$executable -xmlInput",$workdir); ...@@ -9,8 +9,8 @@ jt::testrun("$executable -xmlInput",$workdir);
#now test output #now test output
$result=jt::test_grepexists("$workdir/out","it= 9 is completed"); $result=jt::test_grepexists("$workdir/out","it= 9 is completed");
$result+=jt::test_grepnumber("$workdir/out","new fermi energy",".*: *([^ ]*)",0.263,0.001); $result+=jt::test_grepnumber("$workdir/out","new fermi energy",".*: *([^ ]*)",0.263,0.001);
$result+=jt::test_grepnumber("$workdir/out","total energy=",".*= *([^ ]*)",-3192.0110,0.001); $result+=jt::test_grepnumber("$workdir/out","total energy=",".*= *([^ ]*)",-3191.9707,0.001);
$result+=jt::test_grepnumber("$workdir/out","distance of charge densities for it= *9",": *([^ ]*)",0.361,0.01); $result+=jt::test_grepnumber("$workdir/out","distance of charge densities for it= *9",": *([^ ]*)",1.439,0.01);
$result+=jt::test_grepnumber("$workdir/out","mm 1",".*mm 1 *([^ ]*)",1.83,0.03); $result+=jt::test_grepnumber("$workdir/out","mm 1",".*mm 1 *([^ ]*)",1.75,0.03);
jt::stageresult($workdir,$result,"1"); jt::stageresult($workdir,$result,"1");
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment