xclib_test - xml tags by dft name

This commit is contained in:
fabrizio22 2021-09-16 14:28:20 +02:00
parent 2dff6ed25f
commit 4cbd1bbab2
2 changed files with 55 additions and 41 deletions

View File

@ -38,28 +38,28 @@ MODULE qe_dft_list
!
!
! LDA exchange terms
DATA dft_LDAx_name / 'NOX', 'SLA', 'SL1', 'RXC', 'OEP', 'HF', 'PB0X', &
'B3LP', 'KZK', 'xxxx', 'xxxx' /
DATA dft_LDAx_name / 'NOX', 'SLA', 'SL1', 'RXC', 'OEP', 'HF', 'PB0X', & ! 0 to 6
'B3LP', 'KZK', 'xxxx', 'xxxx' / ! 7 " 10
! LDA correlation terms
DATA dft_LDAc_name / 'NOC', 'PZ', 'VWN', 'LYP', 'PW', 'WIG', 'HL', &
'OBZ', 'OBW', 'GL', 'KZK', 'xxxx', 'B3LP','xxxx',&
'xxxx' /
DATA dft_LDAc_name / 'NOC', 'PZ', 'VWN', 'LYP', 'PW', 'WIG', 'HL', & ! 0 to 6
'OBZ', 'OBW', 'GL', 'KZK', 'xxxx', 'B3LP','xxxx',& ! 7 " 13
'xxxx' / !14
! GGA exchange terms
DATA dft_GGAx_name / 'NOGX', 'B88', 'GGX', 'PBX', 'REVX', 'HCTH', &
'OPTX', 'xxxx', 'PB0X', 'B3LP', 'PSX', 'WCX', &
'HSE', 'RW86', 'PBE', 'xxxx', 'C09X', 'SOX', &
'xxxx', 'Q2DX', 'GAUP', 'PW86', 'B86B', 'OBK8', &
'OB86', 'EVX', 'B86R', 'CX13', 'X3LP', 'CX0', &
'R860', 'CX0P', 'AHCX', 'AHF2', 'AHPB', 'AHPS', &
'CX14', 'CX15', 'BR0', 'CX16', 'C090', 'B86X', &
'B88X', 'BEEX', 'HHNX', 'W31X', 'W32X' /
DATA dft_GGAx_name / 'NOGX', 'B88', 'GGX', 'PBX', 'REVX', 'HCTH', & ! 0 to 5
'OPTX', 'xxxx', 'PB0X', 'B3LP', 'PSX', 'WCX', & ! 6 " 11
'HSE', 'RW86', 'PBE', 'xxxx', 'C09X', 'SOX', & !12 " 17
'xxxx', 'Q2DX', 'GAUP', 'PW86', 'B86B', 'OBK8', & !18 " 23
'OB86', 'EVX', 'B86R', 'CX13', 'X3LP', 'CX0', & !24 " 29
'R860', 'CX0P', 'AHCX', 'AHF2', 'AHPB', 'AHPS', & !30 " 35
'CX14', 'CX15', 'BR0', 'CX16', 'C090', 'B86X', & !36 " 41
'B88X', 'BEEX', 'HHNX', 'W31X', 'W32X' / !42 " 46
! GGA correlation terms
DATA dft_GGAc_name / 'NOGC', 'P86', 'GGC', 'BLYP', 'PBC', 'HCTH', &
'NONE', 'B3LP','PSC', 'PBE', 'xxxx','xxxx', &
'Q2DC', 'xxxx','BEEC' /
DATA dft_GGAc_name / 'NOGC', 'P86', 'GGC', 'BLYP', 'PBC', 'HCTH', & ! 0 to 5
'NONE', 'B3LP','PSC', 'PBE', 'xxxx','xxxx', & ! 6 " 11
'Q2DC', 'xxxx','BEEC' / !12 " 14
! MGGA exchange+correlation terms
DATA dft_MGGA_name / 'NONE', 'TPSS', 'M06L', 'TB09', 'META', 'SCAN', &
'SCA0' /
DATA dft_MGGA_name / 'NONE', 'TPSS', 'M06L', 'TB09', 'META', 'SCAN', & ! 0 to 5
'SCA0' / ! 6
!
!
! ---- Full DFTs ----
@ -224,7 +224,7 @@ MODULE qe_dft_list
!
DATA dft_full(38)%name / 'SCAN' /
DATA dft_full(38)%name2 / 'none' /
DATA dft_full(38)%IDs(1:6) / 0,0,0,0,5,0 / ! scan[calls Libxc SCAN]
DATA dft_full(38)%IDs(1:6) / 0,0,0,0,5,0 / ! scan[wrapper to Libxc SCAN]
!
DATA dft_full(39)%name / 'SCAN0' /
DATA dft_full(39)%name2 / 'none' /

View File

@ -28,13 +28,12 @@ PROGRAM xclib_test
!- sistema funzionali e guarda che funzioni tutto -- testa anche singoli
!- stesso input per n cpu FATTO
!- analogo per libxc
!- [dopo merge Vxc_gpu: versione gpu]
! aggiungi anche i dft full
@ -172,8 +171,8 @@ PROGRAM xclib_test
! ... xml
CHARACTER(LEN=1) :: dummy
CHARACTER(LEN=30) :: filename_xml=""
CHARACTER(LEN=30) :: xc_data="XC_DATA00", dxc_data="dXC_DATA00"
INTEGER :: iunpun, iun
CHARACTER(LEN=19) :: xc_data="XC_DATA__________", dxc_data="dXC_DATA___________"
INTEGER :: iunpun, iun, nlen1, nlen2
LOGICAL :: found
CHARACTER(LEN=10), PARAMETER :: failed='**FAILED**'
@ -325,7 +324,7 @@ PROGRAM xclib_test
WRITE(stdout,*) ; WRITE(stdout,*) ' --- XC_LIB TESTING PROGRAM --- '
WRITE(stdout,*)
WRITE(stdout,*) 'Node list:'
WRITE(stdout,*)
WRITE(stdout,*)
DO ii = 1, nnodes
WRITE(stdout,310) ii, node_name(ii)
ENDDO
@ -404,7 +403,7 @@ PROGRAM xclib_test
!IF (TRIM(dft)=='B88X') cycle !....... " " " "
!IF (TRIM(dft)=='RPBX') cycle !....... " " " "
IF (TRIM(dft)=='TPSS') CYCLE !......FIX!!!!
IF (TRIM(dft)=='TPSS') cycle !......FIX!!!!
!IF (TRIM(dft)=='B86X' .and. df_ok) cycle !.WHAT'S WRONG HERE???
!============================================
@ -427,7 +426,7 @@ PROGRAM xclib_test
imeta1 = xclib_get_ID('MGGA','EXCH')
imetac1 = xclib_get_ID('MGGA','CORR')
IF (imeta1+imetac1/=0) MGGA = .TRUE.
!
IF (fam_init=='all' .AND. lda) family='LDA'
IF (fam_init=='all' .AND. gga) family='GGA'
@ -436,24 +435,33 @@ PROGRAM xclib_test
IF (iexch1+icorr1+igcx1+igcc1+imeta1+imetac1==0) CYCLE
!print *, id, dft, igcx1, igcc1, gga, family
IF (fam_init=='all' .AND. GGA .AND. id<=nxc+ncc+2) CYCLE
!IF (fam_init=='all' .AND. GGA .AND. id<=nxc+ncc+2) CYCLE
!
!print *, id, dft
IF (fam_init=='all' .AND. LDA .AND. GGA ) THEN
IF ( id<=nxc+ncc+2) then
GGA=.FALSE.
if (iexch1/=0 .and. icorr1/=0 .and. TRIM(xc_kind)=='correlation') cycle
family='LDA'
ELSE
LDA=.FALSE.
if (igcx1/=0 .and. igcc1/=0 .and. TRIM(xc_kind)=='correlation') cycle
ENDIF
ENDIF
!
IF ( MGGA .AND. DF_OK ) CYCLE
!IF ( MGGA .AND. DF_OK ) THEN
! WRITE(stdout,*) " "
! WRITE(stdout,*) "ERROR: derivative not available with MGGA."
! GO TO 10
!ENDIF
!
IF (ns == 2 .AND. icorr1/=0 .AND. icorr1/=1 .AND. icorr1/=2 .AND. &
icorr1/=4 .AND. icorr1/=8 .AND. icorr1/=3 .AND. &
icorr1/=7 .AND. icorr1/=13) THEN
icorr1/=7 .AND. icorr1/=13) CYCLE
!WRITE(stdout,*) CHAR(10)//" ERROR: icorr1 not available at these &
! &conditions"//CHAR(10)
CYCLE
ENDIF
!
!
! ... index stuff
@ -578,12 +586,18 @@ PROGRAM xclib_test
! READ BENCHMARK DATA FROM FILE
!==========================================================================
!
nlen1 = LEN(TRIM(dft))
nlen2 = LEN(TRIM(family))
IF (.NOT. DF_OK) THEN
IF (id< 10) WRITE(xc_data(9:9),'(i1)') id
IF (id>=10) WRITE(xc_data(8:9),'(i2)') id
!IF (id< 10) WRITE(xc_data(9:9),'(i1)') id
!IF (id>=10) WRITE(xc_data(8:9),'(i2)') id
WRITE(xc_data(9:8+nlen1),'(a)') dft(1:nlen1)
WRITE(xc_data(14:13+nlen2),'(a)') family(1:nlen2)
ELSE
IF (id< 10) WRITE(dxc_data(10:10),'(i1)') id
IF (id>=10) WRITE(dxc_data(9:10), '(i2)') id
!IF (id< 10) WRITE(dxc_data(10:10),'(i1)') id
!IF (id>=10) WRITE(dxc_data(9:10), '(i2)') id
WRITE(dxc_data(10:9+nlen1),'(a)') dft(1:nlen1)
WRITE(xc_data(16:15+nlen1),'(a)') family(1:nlen2)
ENDIF
!
IF (test=='exe-benchmark' .AND. mype==root) THEN
@ -760,7 +774,7 @@ PROGRAM xclib_test
IF ( LDA ) THEN
!
IF (iexch1==8 .OR. icorr1==10) CALL xclib_set_finite_size_volume( volume )
!
IF (.NOT. DF_OK ) CALL xc( nnr, ns, ns, rho_tz, ex1, ec1, vx1, vc1 )
IF ( DF_OK ) CALL dmxc( nnr, ns, rho, dmuxc1 )
!