diff --git a/io/r_inpXML.F90 b/io/r_inpXML.F90 index b2aab38949e00f84ee620e0d025140495244ac0d..a50ca2499d02b760650d4399bbb91277b0c4e624 100644 --- a/io/r_inpXML.F90 +++ b/io/r_inpXML.F90 @@ -142,7 +142,7 @@ SUBROUTINE r_inpXML(& REAL :: speciesXMLCoreOccs(2,29) LOGICAL :: speciesXMLPrintCoreStates(29) - INTEGER :: iType, iLO, iSpecies, lNumCount, nNumCount, iLLO, jsp, j, l + INTEGER :: iType, iLO, iSpecies, lNumCount, nNumCount, iLLO, jsp, j, l, absSum INTEGER :: numberNodes, nodeSum, numSpecies, n2spg, n1, n2, ikpt, iqpt INTEGER :: atomicNumber, coreStates, gridPoints, lmax, lnonsphr, lmaxAPW INTEGER :: latticeDef, symmetryDef, nop48, firstAtomOfType, errorStatus @@ -936,14 +936,27 @@ SUBROUTINE r_inpXML(& END IF ALLOCATE(sym%tau(3,sym%nop)) + sym%invs = .FALSE. + sym%zrfs = .FALSE. + DO k = 1, sym%nop + absSum = 0 DO i = 1, 3 DO j = 1, 3 sym%mrot(j,i,k) = mrotTemp(j,i,k) + absSum = absSum + ABS(sym%mrot(j,i,k)) END DO sym%tau(i,k) = tauTemp(i,k) END DO + IF (absSum.EQ.3) THEN + IF (ALL(sym%tau(:,k).EQ.0.0)) THEN + IF ((sym%mrot(1,1,k).EQ.-1).AND.(sym%mrot(2,2,k).EQ.-1).AND.(sym%mrot(3,3,k).EQ.-1)) sym%invs = .TRUE. + IF ((sym%mrot(1,1,k).EQ.1).AND.(sym%mrot(2,2,k).EQ.1).AND.(sym%mrot(3,3,k).EQ.-1)) sym%zrfs = .TRUE. + END IF + END IF END DO + + sym%invs2 = sym%invs.AND.sym%zrfs END IF xPathA = '/fleurInput/cell/symmetryOperations'