Commit 5455d9f4 authored by Daniel Wortmann's avatar Daniel Wortmann

Merge branch 'develop' of iffgit.fz-juelich.de:fleur/fleur into develop

parents 944dd1a2 6b847aad
......@@ -21,6 +21,7 @@ do
-mpi) shift; CLI_USE_MPI=$1;;
-magma) shift; CLI_USE_MAGMA=$1;;
-gpu) shift; CLI_USE_GPU=$1;;
-chase) shift; CLI_USE_CHASE=$1;;
-link) shift; CLI_LIBRARIES=$1;;
-libdir) shift; CLI_LIBDIR="$CLI_LIBDIR $1";;
-flags) shift; CLI_FLAGS=$1;;
......
......@@ -77,6 +77,11 @@ then
echo "set(CLI_FLEUR_USE_WANNIER $CLI_USE_WANNIER)" >>config.cmake
fi
if [ "$CLI_USE_CHASE" ]
then
echo "set(CLI_FLEUR_USE_CHASE $CLI_USE_CHASE)" >>config.cmake
fi
if [ "$CLI_USE_MAGMA" ]
then
echo "set(CLI_FLEUR_USE_MAGMA $CLI_USE_MAGMA)" >>config.cmake
......
......@@ -12,6 +12,19 @@ if (NOT FLEUR_USE_CHASE)
endif()
message("ChASE Library found:${FLEUR_USE_CHASE}")
if (DEFINED CLI_FLEUR_USE_CHASE)
if (${CLI_FLEUR_USE_CHASE})
if (NOT FLEUR_USE_CHASE)
set(FLEUR_USE_CHASE TRUE)
message("Test for Chase failed, but you specified to use it anyway...")
endif()
else()
if (FLEUR_USE_CHASE)
set(FLEUR_USE_CHASE FALSE)
message("Test for Chase succeeded, but you specified not to use it.")
endif()
endif()
endif()
if (FLEUR_USE_CHASE)
# set(FLEUR_DEFINITIONS ${FLEUR_DEFINITIONS} "CPP_CHASE")
......
......@@ -414,13 +414,13 @@ MODULE m_corespec_eval
!!$ do m2 = -l2,l2
!!$ lm2 = l2*(l2+1)+m2
csv%dosb(1,1,lm1,lm1,iband) = dble(eigVecCoeffs%acof(iband,lm1,iatom,ispin)*&
&conjg(eigVecCoeffs%acof(iband,lm1,iatom,ispin)))*we(1)
&conjg(eigVecCoeffs%acof(iband,lm1,iatom,ispin)))!*we(1)
csv%dosb(1,2,lm1,lm1,iband) = dble(eigVecCoeffs%acof(iband,lm1,iatom,ispin)*&
&conjg(eigVecCoeffs%bcof(iband,lm1,iatom,ispin)))
csv%dosb(2,1,lm1,lm1,iband) = dble(eigVecCoeffs%bcof(iband,lm1,iatom,ispin)*&
&conjg(eigVecCoeffs%acof(iband,lm1,iatom,ispin)))
csv%dosb(2,2,lm1,lm1,iband) = dble(eigVecCoeffs%bcof(iband,lm1,iatom,ispin)*&
&conjg(eigVecCoeffs%bcof(iband,lm1,iatom,ispin)))*we(1)*usdus%ddn(l1,csi%atomType,ispin)
&conjg(eigVecCoeffs%bcof(iband,lm1,iatom,ispin)))!*we(1)*usdus%ddn(l1,csi%atomType,ispin)
!!!!! this has to be checked: is >> ddn << factor necessary !!!!!
!!$ enddo
!!$ enddo
......
......@@ -1969,6 +1969,17 @@ SUBROUTINE r_inpXML(&
banddos%e_mcd_up = evaluateFirstOnly(xmlGetAttributeValue(TRIM(ADJUSTL(xPathA))//'/@energyUp'))
END IF
! Read in optional parameter for unfolding bandstructure of supercell
xPathA = '/fleurInput/output/unfoldingBand'
numberNodes = xmlGetNumberOfNodes(xPathA)
IF (numberNodes.EQ.1) THEN
banddos%unfoldband = evaluateFirstBoolOnly(xmlGetAttributeValue(TRIM(ADJUSTL(xPathA))//'/@unfoldband'))
banddos%s_cell_x = evaluateFirstOnly(xmlGetAttributeValue(TRIM(ADJUSTL(xPathA))//'/@supercellX'))
banddos%s_cell_y = evaluateFirstOnly(xmlGetAttributeValue(TRIM(ADJUSTL(xPathA))//'/@supercellY'))
banddos%s_cell_z = evaluateFirstOnly(xmlGetAttributeValue(TRIM(ADJUSTL(xPathA))//'/@supercellZ'))
END IF
END IF
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
......
......@@ -739,7 +739,12 @@
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="UnfoldingBandType">
<xsd:attribute name="unfoldband" type="FleurBool" use="required"/>
<xsd:attribute name="supercellX" type="xsd:positiveInteger" use="required"/>
<xsd:attribute name="supercellY" type="xsd:positiveInteger" use="required"/>
<xsd:attribute name="supercellZ" type="xsd:positiveInteger" use="required"/>
</xsd:complexType>
<xsd:complexType name="OutputType">
......@@ -753,6 +758,7 @@
<xsd:element maxOccurs="1" minOccurs="0" name="coreSpectrum" type="CoreSpecOutputType"/>
<xsd:element maxOccurs="1" minOccurs="0" name="wannier" type="WannierOutputType"/>
<xsd:element maxOccurs="1" minOccurs="0" name="magneticCircularDichroism" type="MagneticCircularDichroismType"/>
<xsd:element maxOccurs="1" minOccurs="0" name="unfoldingBand" type="UnfoldingBandType"/>
</xsd:all>
<xsd:attribute default="F" name="dos" type="FleurBool" use="optional"/>
<xsd:attribute default="F" name="band" type="FleurBool" use="optional"/>
......
......@@ -158,6 +158,7 @@
banddos%l_mcd = .FALSE.
banddos%e_mcd_lo = -10.0
banddos%e_mcd_up = 0.0
banddos%unfoldband = .FALSE.
IF (input%l_inpXML) THEN
ALLOCATE(noel(1))
......
......@@ -444,6 +444,10 @@ MODULE m_types_setup
REAL :: sig_dos
REAL :: e_mcd_lo
REAL :: e_mcd_up
LOGICAL :: unfoldband
INTEGER :: s_cell_x
INTEGER :: s_cell_y
INTEGER :: s_cell_z
END TYPE t_banddos
TYPE t_obsolete
......
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