Commit 8ae64a64 authored by jiff1302's avatar jiff1302

The PGI compiler has some bugs that prevent subroutines to compile. Added

preprocessor statements to remove that code
parent d6499911
......@@ -107,16 +107,18 @@ MODULE m_xmlOutput
DO i = 1, SIZE(attributeValues)
SELECT TYPE (attributeValues)
TYPE IS(INTEGER)
TYPE IS(INTEGER)
WRITE(charAttributeValues(i),'(i0)') attributeValues(i)
TYPE IS(REAL)
WRITE(charAttributeValues(i),'(f19.10)') attributeValues(i)
TYPE IS(LOGICAL)
WRITE(charAttributeValues(i),'(l1)') attributeValues(i)
TYPE IS(CHARACTER(LEN=*))
#ifndef __PGI
TYPE IS(CHARACTER(LEN=30))
WRITE(charAttributeValues(i),'(a)') TRIM(ADJUSTL(attributeValues(i)))
CLASS DEFAULT
STOP 'Type of attributeValues not allowed'
#endif
END SELECT
END DO
......@@ -129,10 +131,12 @@ MODULE m_xmlOutput
WRITE(charContentList(i),'(f19.10)') contentList(i)
TYPE IS(LOGICAL)
WRITE(charContentList(i),'(l1)') contentList(i)
TYPE IS(CHARACTER(LEN=*))
#ifndef __PGI
TYPE IS(CHARACTER(LEN=30))
WRITE(charContentList(i),'(a)') TRIM(ADJUSTL(contentList(i)))
CLASS DEFAULT
STOP 'Type of contentList not allowed'
#endif
END SELECT
END DO
CALL writeXMLElementForm(elementName,attributeNames,charAttributeValues,lengths,charContentList)
......@@ -340,10 +344,12 @@ MODULE m_xmlOutput
WRITE(charAttributeValues(i),'(f19.10)') attributeValues(i)
TYPE IS(LOGICAL)
WRITE(charAttributeValues(i),'(l1)') attributeValues(i)
TYPE IS(CHARACTER(LEN=*))
#ifndef __PGI
TYPE IS(CHARACTER(LEN=30))
WRITE(charAttributeValues(i),'(a)') TRIM(ADJUSTL(attributeValues(i)))
CLASS DEFAULT
STOP 'Type of attributeValues not allowed'
#endif
END SELECT
END DO
......
......@@ -2,7 +2,7 @@
! within a FLAPW framework
! Author: M. Schlipf 2009
MODULE m_hsefunctional
USE m_judft
IMPLICIT NONE
#ifdef __PGI
REAL,EXTERNAL ::erfc
......@@ -1082,10 +1082,10 @@ CONTAINS
IF (ngptm < noGpts) STOP 'hsefunctional: error calculating Fourier coefficients, noGpts too large'
gPts(:,:) = gptm(:,pgptm(1:noGPts))
#ifndef __PGI
gpoints: FORALL ( cg=1:noGPts )
ntypesA: FORALL ( cn=1:ntype )
! Calculate the phase factor exp(-iGR) for all atoms
FORALL ( ci=1:neq(cn) )
expIGR(cg,cn,ci) = EXP( -r2Pi * img * DOT_PRODUCT(taual(:,natdPtr(cn)+ci),gPts(:,cg)) )
......@@ -1199,7 +1199,9 @@ CONTAINS
endwhere
DEALLOCATE( gridf )
#else
call judft_error("hsefunctional not implemented for PGI")
#endif
CONTAINS
! Calculates the inter-atom parts and the summation over all atoms:
......
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