mirror of https://gitlab.com/QEF/q-e.git
Add more beef_interface uses
This commit is contained in:
parent
e16a52768c
commit
7fc205939b
|
@ -17,13 +17,13 @@ MODULE beef_interface
|
|||
#if defined(use_beef)
|
||||
!
|
||||
PUBLIC :: beefx, beeflocalcorr, beeflocalcorrspin, beefsetmode, &
|
||||
beefrandinit, beefrandinitdef, beefensemble
|
||||
beefrandinit, beefrandinitdef, beefensemble, beef_set_type
|
||||
!
|
||||
INTERFACE
|
||||
!
|
||||
SUBROUTINE beefx( r, g, e, dr, dg, addlda ) BIND(C, NAME="beefx_")
|
||||
USE iso_c_binding
|
||||
REAL (C_DOUBLE), INTENT(INOUT) :: r, g, e, dr, dg
|
||||
REAL (C_DOUBLE) :: r, g, e, dr, dg
|
||||
INTEGER(C_INT), INTENT(IN) :: addlda
|
||||
END SUBROUTINE beefx
|
||||
!
|
||||
|
@ -59,14 +59,35 @@ MODULE beef_interface
|
|||
REAL (C_DOUBLE), INTENT(INOUT) :: beefxc(*), ensemble(*)
|
||||
END SUBROUTINE beefensemble
|
||||
!
|
||||
FUNCTION beef_set_type(tbeef, ionode) BIND(C,name="beef_set_type_") RESULT(r)
|
||||
USE iso_c_binding
|
||||
INTEGER(C_INT), INTENT(IN) :: tbeef, ionode
|
||||
LOGICAL(C_INT) :: r
|
||||
END FUNCTION beef_set_type
|
||||
FUNCTION beef_set_type_interface(tbeef, ionode) &
|
||||
BIND(C,name="beef_set_type_") RESULT(r)
|
||||
USE iso_c_binding
|
||||
INTEGER(C_INT), INTENT(IN) :: tbeef, ionode
|
||||
INTEGER(C_INT) :: r
|
||||
END FUNCTION beef_set_type_interface
|
||||
!
|
||||
END INTERFACE
|
||||
!
|
||||
CONTAINS
|
||||
! ====================================================================
|
||||
!
|
||||
FUNCTION beef_set_type(tbeef, ionode) RESULT(r)
|
||||
INTEGER, INTENT(IN) :: tbeef
|
||||
LOGICAL, INTENT(IN) :: ionode
|
||||
LOGICAL :: r
|
||||
! ... local variables ...
|
||||
INTEGER :: ionode_, r_
|
||||
!
|
||||
ionode_ = 0
|
||||
IF ( ionode ) ionode_ = 1
|
||||
!
|
||||
r_ = beef_set_type_interface(tbeef, ionode_)
|
||||
!
|
||||
r = .FALSE.
|
||||
IF ( r_ ) r = .TRUE.
|
||||
!
|
||||
END FUNCTION beef_set_type
|
||||
!
|
||||
#endif
|
||||
!
|
||||
END MODULE beef_interface
|
||||
|
|
|
@ -39,6 +39,7 @@ MODULE funct
|
|||
USE xc_f90_types_m
|
||||
USE xc_f90_lib_m
|
||||
#endif
|
||||
!
|
||||
#if defined(use_beef)
|
||||
USE beef_interface, ONLY: beef_set_type
|
||||
#endif
|
||||
|
|
|
@ -763,6 +763,9 @@ SUBROUTINE gcx_spin( length, rho_in, grho2_in, sx_tot, v1x_out, v2x_out )
|
|||
!! Gradient corrections for exchange - Hartree a.u.
|
||||
!
|
||||
USE exch_gga
|
||||
#if defined(use_beef)
|
||||
USE beef_interface, ONLY: beefx
|
||||
#endif
|
||||
!
|
||||
IMPLICIT NONE
|
||||
!
|
||||
|
|
Loading…
Reference in New Issue