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 @@ ...@@ -163,6 +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
!+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
......
...@@ -183,7 +183,8 @@ SUBROUTINE r_inpXML(& ...@@ -183,7 +183,8 @@ SUBROUTINE r_inpXML(&
! Check version of inp.xml ! Check version of inp.xml
versionString = xmlGetAttributeValue('/fleurInput/@fleurInputVersion') 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' STOP 'version number of inp.xml file is not compatible with this fleur version'
END IF END IF
...@@ -639,6 +640,18 @@ SUBROUTINE r_inpXML(& ...@@ -639,6 +640,18 @@ SUBROUTINE r_inpXML(&
END IF END IF
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 ! Read in optional q point mesh for spin spirals
xPathA = '/fleurInput/calculationSetup/spinSpiralQPointMesh' xPathA = '/fleurInput/calculationSetup/spinSpiralQPointMesh'
......
...@@ -154,7 +154,7 @@ SUBROUTINE w_inpXML(& ...@@ -154,7 +154,7 @@ SUBROUTINE w_inpXML(&
REWIND (fileNum) REWIND (fileNum)
WRITE (fileNum,'(a)') '<?xml version="1.0" encoding="UTF-8" standalone="no"?>' 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 END IF
IF(PRESENT(name_opt)) THEN IF(PRESENT(name_opt)) THEN
...@@ -232,6 +232,11 @@ SUBROUTINE w_inpXML(& ...@@ -232,6 +232,11 @@ SUBROUTINE w_inpXML(&
ELSE IF(input%tria) THEN ELSE IF(input%tria) THEN
bzIntMode = 'tria' bzIntMode = 'tria'
END IF 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"> ! <bzIntegration valenceElectrons="8.00000" mode="hist" fermiSmearingEnergy="0.00100">
200 FORMAT(' <bzIntegration valenceElectrons="',f0.8,'" mode="',a,'" fermiSmearingEnergy="',f0.8,'">') 200 FORMAT(' <bzIntegration valenceElectrons="',f0.8,'" mode="',a,'" fermiSmearingEnergy="',f0.8,'">')
WRITE (fileNum,200) input%zelec,TRIM(ADJUSTL(bzIntMode)),input%tkb 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