Commit b08eeb9f authored by Gregor Michalicek's avatar Gregor Michalicek

Start definition of version 0.29 Fleur XML input

This commit introduces general LDA+U parameters (for mixing) to the inp.xml file.
parent 9e8de6ce
......@@ -163,6 +163,7 @@
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
kpts%numSpecialPoints = 0
input%ldauLinMix = .FALSE. ; input%ldauMixParam = -1.0 ; input%ldauSpinf = 1.0
!+odim
oneD%odd%mb = 0 ; oneD%odd%M = 0 ; oneD%odd%m_cyl = 0 ; oneD%odd%chi = 0 ; oneD%odd%rot = 0
......
......@@ -183,7 +183,8 @@ SUBROUTINE r_inpXML(&
! Check version of inp.xml
versionString = xmlGetAttributeValue('/fleurInput/@fleurInputVersion')
IF((TRIM(ADJUSTL(versionString)).NE.'0.27').AND.(TRIM(ADJUSTL(versionString)).NE.'0.28')) THEN
IF((TRIM(ADJUSTL(versionString)).NE.'0.27').AND.(TRIM(ADJUSTL(versionString)).NE.'0.28').AND.&
(TRIM(ADJUSTL(versionString)).NE.'0.29')) THEN
STOP 'version number of inp.xml file is not compatible with this fleur version'
END IF
......@@ -639,6 +640,18 @@ SUBROUTINE r_inpXML(&
END IF
END IF
! Read in optional general LDA+U parameters
IF (TRIM(ADJUSTL(versionString)).EQ.'0.29') THEN
xPathA = '/fleurInput/calculationSetup/ldaU'
numberNodes = xmlGetNumberOfNodes(xPathA)
IF (numberNodes.EQ.1) THEN
input%ldauLinMix = evaluateFirstBoolOnly(xmlGetAttributeValue(TRIM(ADJUSTL(xPathA))//'/@l_linMix'))
input%ldauMixParam = evaluateFirstOnly(xmlGetAttributeValue(TRIM(ADJUSTL(xPathA))//'/@mixParam'))
input%ldauSpinf = evaluateFirstOnly(xmlGetAttributeValue(TRIM(ADJUSTL(xPathA))//'/@spinf'))
END IF
END IF
! Read in optional q point mesh for spin spirals
xPathA = '/fleurInput/calculationSetup/spinSpiralQPointMesh'
......
......@@ -154,7 +154,7 @@ SUBROUTINE w_inpXML(&
REWIND (fileNum)
WRITE (fileNum,'(a)') '<?xml version="1.0" encoding="UTF-8" standalone="no"?>'
WRITE (fileNum,'(a)') '<fleurInput fleurInputVersion="0.28">'
WRITE (fileNum,'(a)') '<fleurInput fleurInputVersion="0.29">'
END IF
IF(PRESENT(name_opt)) THEN
......@@ -232,6 +232,11 @@ SUBROUTINE w_inpXML(&
ELSE IF(input%tria) THEN
bzIntMode = 'tria'
END IF
! <ldaU l_linMix="F" mixParam="0.05" spinf="1.0" />
195 FORMAT(' <ldaU l_linMix="',i0,'" mixParam="',l1,'" spinf="',i0,'"/>')
WRITE (fileNum,195) input%ldauLinMix,input%ldauMixParam,input%ldauSpinf
! <bzIntegration valenceElectrons="8.00000" mode="hist" fermiSmearingEnergy="0.00100">
200 FORMAT(' <bzIntegration valenceElectrons="',f0.8,'" mode="',a,'" fermiSmearingEnergy="',f0.8,'">')
WRITE (fileNum,200) input%zelec,TRIM(ADJUSTL(bzIntMode)),input%tkb
......
This diff is collapsed.
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