Make pointers contiguous to fix gcc8 (#2319)

This commit is contained in:
Frederick Stein 2022-10-04 20:12:41 +02:00 committed by GitHub
parent b41f84f0a6
commit c2dc0ed422
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
38 changed files with 234 additions and 165 deletions

View file

@ -33,6 +33,9 @@ MODULE cp_array_utils
PUBLIC :: cp_1d_${nametype}$_p_type, &
cp_2d_${nametype}$_p_type, &
cp_3d_${nametype}$_p_type, &
cp_1d_${nametype}$_cp_type, &
cp_2d_${nametype}$_cp_type, &
cp_3d_${nametype}$_cp_type, &
cp_1d_${nametype}$_guarantee_size, &
cp_1d_${nametype}$_write, &
cp_2d_${nametype}$_write, &
@ -84,6 +87,36 @@ MODULE cp_array_utils
${type1}$, dimension(:, :, :), pointer :: array
end type cp_3d_${nametype1}$_p_type
! **************************************************************************************************
!> \brief represent a pointer to a contiguous 1d array
!> \par History
!> 02.2003 created [fawzi]
!> \author fawzi
! **************************************************************************************************
type cp_1d_${nametype1}$_cp_type
${type1}$, dimension(:), contiguous, pointer :: array
end type cp_1d_${nametype1}$_cp_type
! **************************************************************************************************
!> \brief represent a pointer to a contiguous 2d array
!> \par History
!> 02.2003 created [fawzi]
!> \author fawzi
! **************************************************************************************************
type cp_2d_${nametype1}$_cp_type
${type1}$, dimension(:, :), contiguous, pointer :: array
end type cp_2d_${nametype1}$_cp_type
! **************************************************************************************************
!> \brief represent a pointer to a contiguous 3d array
!> \par History
!> 02.2003 created [fawzi]
!> \author fawzi
! **************************************************************************************************
type cp_3d_${nametype1}$_cp_type
${type1}$, dimension(:, :, :), contiguous, pointer :: array
end type cp_3d_${nametype1}$_cp_type
#:endfor
CONTAINS

View file

@ -10,19 +10,19 @@
MODULE cp_linked_list_pw
USE kinds, ONLY: dp
USE pw_types, ONLY: pw_type, pw_p_type
USE cp_array_utils, ONLY: cp_3d_r_p_type
USE cp_array_utils, ONLY: cp_3d_r_cp_type
USE realspace_grid_types, ONLY: realspace_grid_type, realspace_grid_p_type
#include "../base/base_uses.f90"
#:mute
#:set nametype1 = ['3d_r', 'pw', 'rs']
#:set type1 = ['REAL(kind=dp),dimension(:,:,:),pointer', 'type(pw_type),pointer', 'type(realspace_grid_type),pointer']
#:set type1 = ['REAL(kind=dp),dimension(:,:,:),pointer,contiguous', 'type(pw_type),pointer', 'type(realspace_grid_type),pointer']
#:set type1in = type1
#:set type1out = type1
#:set eq = ['=>','=>','=>','=>']
#:set arrayeq = eq
#:set type1arrayEl = ['type(cp_3d_r_p_type)','type(pw_p_type)','type(realspace_grid_p_type)']
#:set type1arrayEl = ['type(cp_3d_r_cp_type)','type(pw_p_type)','type(realspace_grid_p_type)']
#:set arrayEl = ['%array','%pw','%rs_grid']

View file

@ -170,7 +170,8 @@ CONTAINS
SUBROUTINE pw_pool_flush_cache(pool)
TYPE(pw_pool_type), POINTER :: pool
REAL(kind=dp), DIMENSION(:, :, :), POINTER :: array_att
REAL(kind=dp), CONTIGUOUS, DIMENSION(:, :, :), &
POINTER :: array_att
TYPE(cp_logger_type), POINTER :: logger
TYPE(cp_sll_3d_r_type), POINTER :: array_iterator
TYPE(cp_sll_pw_type), POINTER :: iterator
@ -306,7 +307,8 @@ CONTAINS
CHARACTER(len=*), PARAMETER :: routineN = 'pw_pool_create_pw'
INTEGER :: handle
REAL(kind=dp), DIMENSION(:, :, :), POINTER :: cr3d_ptr
REAL(kind=dp), CONTIGUOUS, DIMENSION(:, :, :), &
POINTER :: cr3d_ptr
TYPE(cp_logger_type), POINTER :: logger
TYPE(pw_type), POINTER :: el
@ -554,7 +556,8 @@ CONTAINS
! **************************************************************************************************
SUBROUTINE pw_pool_give_back_cr3d(pw_pool, cr3d, accept_non_compatible)
TYPE(pw_pool_type), POINTER :: pw_pool
REAL(kind=dp), DIMENSION(:, :, :), POINTER :: cr3d
REAL(kind=dp), CONTIGUOUS, DIMENSION(:, :, :), &
POINTER :: cr3d
LOGICAL, INTENT(in), OPTIONAL :: accept_non_compatible
LOGICAL :: compatible, my_accept_non_compatible

View file

@ -123,8 +123,8 @@ CONTAINS
TYPE(pw_grid_type), INTENT(IN), POINTER :: pw_grid
INTEGER, INTENT(in) :: use_data
INTEGER, INTENT(in), OPTIONAL :: in_space
REAL(KIND=dp), DIMENSION(:, :, :), INTENT(IN), &
OPTIONAL, POINTER :: cr3d_ptr
REAL(KIND=dp), CONTIGUOUS, DIMENSION(:, :, :), &
INTENT(IN), OPTIONAL, POINTER :: cr3d_ptr
CHARACTER(len=*), PARAMETER :: routineN = 'pw_create'

View file

@ -492,11 +492,12 @@ CONTAINS
LOGICAL :: gradient_functional, lsd, lsd_singlets, &
my_tddft, paw_atom, tau_f
REAL(KIND=dp) :: density_cut, gradient_cut, rtot, tau_cut
REAL(KIND=dp), CONTIGUOUS, DIMENSION(:, :, :), &
POINTER :: vxc_h, vxc_s
REAL(KIND=dp), DIMENSION(1, 1) :: rtau
REAL(KIND=dp), DIMENSION(1, 1, 1, 1) :: rrho
REAL(KIND=dp), DIMENSION(:, :), POINTER :: rho1_h, rho1_s, rho_h, rho_s, tau1_h, &
tau1_s, tau_h, tau_s, weight
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: vxc_h, vxc_s
REAL(KIND=dp), DIMENSION(:, :, :, :), POINTER :: drho1_h, drho1_s, drho_h, drho_s, vxg_h, &
vxg_s
TYPE(atomic_kind_type), DIMENSION(:), POINTER :: atomic_kind_set

View file

@ -16,7 +16,7 @@
! **************************************************************************************************
MODULE xc
#:include 'xc.fypp'
USE cp_array_utils, ONLY: cp_3d_r_p_type
USE cp_array_utils, ONLY: cp_3d_r_cp_type
USE cp_linked_list_xc_deriv, ONLY: cp_sll_xc_deriv_next, &
cp_sll_xc_deriv_type
USE cp_log_handling, ONLY: cp_get_default_logger, &
@ -1685,7 +1685,7 @@ CONTAINS
tau_a, tau_b, tau, tau1, tau1a, tau1b, laplace, laplace1, &
laplacea, laplaceb, laplace1a, laplace1b, &
laplace2, laplace2a, laplace2b, deriv_data
TYPE(cp_3d_r_p_type), DIMENSION(3) :: drho, drho1, drho1a, drho1b, drhoa, drhob
TYPE(cp_3d_r_cp_type), DIMENSION(3) :: drho, drho1, drho1a, drho1b, drhoa, drhob
TYPE(pw_type) :: v_drho, v_drhoa, v_drhob
TYPE(pw_p_type), DIMENSION(:), POINTER :: rho_g, rho_r, vxc_rho, &
tau_r, vxc_tau
@ -2363,7 +2363,7 @@ CONTAINS
TYPE(xc_derivative_set_type), INTENT(IN) :: deriv_set
INTEGER, DIMENSION(:), INTENT(in) :: description
TYPE(pw_type), INTENT(IN) :: virial_pw
TYPE(cp_3d_r_p_type), DIMENSION(3), INTENT(IN) :: drho, drho1
TYPE(cp_3d_r_cp_type), DIMENSION(3), INTENT(IN) :: drho, drho1
REAL(KIND=dp), DIMENSION(3, 3), INTENT(INOUT) :: virial_xc
REAL(KIND=dp), DIMENSION(:, :, :), INTENT(IN) :: norm_drho
REAL(KIND=dp), INTENT(IN) :: gradient_cut
@ -2677,7 +2677,7 @@ CONTAINS
norm_drhob, rho1, rho1a, rho1b, &
tau1, tau1a, tau1b, laplace1, laplace1a, laplace1b, &
rho, rhoa, rhob
TYPE(cp_3d_r_p_type), DIMENSION(3) :: drho, drho1, drho1a, drho1b, drhoa, drhob
TYPE(cp_3d_r_cp_type), DIMENSION(3) :: drho, drho1, drho1a, drho1b, drhoa, drhob
TYPE(pw_p_type), DIMENSION(:), ALLOCATABLE :: v_drhoa, v_drhob, v_drho, v_laplace
TYPE(pw_p_type), DIMENSION(:, :), ALLOCATABLE :: v_drho_r
TYPE(pw_type) :: tmp_g, virial_pw, vxc_g
@ -3120,7 +3120,7 @@ CONTAINS
! **************************************************************************************************
SUBROUTINE virial_drho_drho1(virial_pw, drho, drho1, deriv_data, virial_xc)
TYPE(pw_type), INTENT(IN) :: virial_pw
TYPE(cp_3d_r_p_type), DIMENSION(3), INTENT(IN) :: drho, drho1
TYPE(cp_3d_r_cp_type), DIMENSION(3), INTENT(IN) :: drho, drho1
REAL(KIND=dp), DIMENSION(:, :, :), INTENT(IN) :: deriv_data
REAL(KIND=dp), DIMENSION(3, 3), INTENT(INOUT) :: virial_xc
@ -3151,7 +3151,7 @@ CONTAINS
! **************************************************************************************************
SUBROUTINE virial_drho_drho(virial_pw, drho, v_drho, virial_xc)
TYPE(pw_type), INTENT(IN) :: virial_pw
TYPE(cp_3d_r_p_type), DIMENSION(3), INTENT(IN) :: drho
TYPE(cp_3d_r_cp_type), DIMENSION(3), INTENT(IN) :: drho
TYPE(pw_type), INTENT(IN) :: v_drho
REAL(KIND=dp), DIMENSION(3, 3), INTENT(INOUT) :: virial_xc
@ -3307,7 +3307,7 @@ CONTAINS
INTEGER, DIMENSION(2, 3) :: bo
REAL(KIND=dp) :: drho_cutoff
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: norm_drho, norm_drhoa, norm_drhob
TYPE(cp_3d_r_p_type), DIMENSION(3) :: drho, drhoa, drhob
TYPE(cp_3d_r_cp_type), DIMENSION(3) :: drho, drhoa, drhob
TYPE(cp_sll_xc_deriv_type), POINTER :: pos
TYPE(xc_derivative_type), POINTER :: deriv_att
@ -3397,8 +3397,8 @@ CONTAINS
!> \param drhob ...
! **************************************************************************************************
SUBROUTINE calc_drho_from_ab(drho, drhoa, drhob)
TYPE(cp_3d_r_p_type), DIMENSION(3), INTENT(OUT) :: drho
TYPE(cp_3d_r_p_type), DIMENSION(3), INTENT(IN) :: drhoa, drhob
TYPE(cp_3d_r_cp_type), DIMENSION(3), INTENT(OUT) :: drho
TYPE(cp_3d_r_cp_type), DIMENSION(3), INTENT(IN) :: drhoa, drhob
CHARACTER(len=*), PARAMETER :: routineN = 'calc_drho_from_ab'
@ -3429,7 +3429,7 @@ CONTAINS
SUBROUTINE prepare_dr1dr(dr1dr, drho, drho1)
REAL(KIND=dp), ALLOCATABLE, DIMENSION(:, :, :), &
INTENT(OUT) :: dr1dr
TYPE(cp_3d_r_p_type), DIMENSION(3), INTENT(IN) :: drho, drho1
TYPE(cp_3d_r_cp_type), DIMENSION(3), INTENT(IN) :: drho, drho1
CHARACTER(len=*), PARAMETER :: routineN = 'prepare_dr1dr'
@ -3466,7 +3466,7 @@ CONTAINS
SUBROUTINE prepare_dr1dr_ab(dr1dr, drhoa, drhob, drho1a, drho1b, fac)
REAL(KIND=dp), ALLOCATABLE, DIMENSION(:, :, :), &
INTENT(OUT) :: dr1dr
TYPE(cp_3d_r_p_type), DIMENSION(3), INTENT(IN) :: drhoa, drhob, drho1a, drho1b
TYPE(cp_3d_r_cp_type), DIMENSION(3), INTENT(IN) :: drhoa, drhob, drho1a, drho1b
REAL(KIND=dp), INTENT(IN) :: fac
CHARACTER(len=*), PARAMETER :: routineN = 'prepare_dr1dr_ab'

View file

@ -352,7 +352,7 @@ CONTAINS
TYPE(section_vals_type), POINTER :: xc_section
TYPE(xc_derivative_set_type), INTENT(INOUT) :: deriv_set
REAL(dp), DIMENSION(:, :), POINTER :: w
REAL(dp), DIMENSION(:, :, :), POINTER :: vxc
REAL(dp), CONTIGUOUS, DIMENSION(:, :, :), POINTER :: vxc
REAL(dp), DIMENSION(:, :, :, :), POINTER :: vxg
CHARACTER(LEN=*), PARAMETER :: routineN = 'xc_2nd_deriv_of_r'

View file

@ -260,9 +260,9 @@ CONTAINS
INTEGER, DIMENSION(2, 3) :: bo
REAL(kind=dp) :: epsilon_norm_drho, epsilon_rho, scale_c, &
scale_x
REAL(kind=dp), DIMENSION(:, :, :), POINTER :: dummy, e_0, e_ndrho, e_ndrho_ndrho, &
e_ndrho_ndrho_ndrho, e_ndrho_ndrho_rho, e_ndrho_rho, e_ndrho_rho_rho, e_rho, e_rho_rho, &
e_rho_rho_rho, norm_drho, rho
REAL(kind=dp), CONTIGUOUS, DIMENSION(:, :, :), POINTER :: dummy, e_0, e_ndrho, &
e_ndrho_ndrho, e_ndrho_ndrho_ndrho, e_ndrho_ndrho_rho, e_ndrho_rho, e_ndrho_rho_rho, &
e_rho, e_rho_rho, e_rho_rho_rho, norm_drho, rho
TYPE(xc_derivative_type), POINTER :: deriv
CALL timeset(routineN, handle)
@ -371,9 +371,9 @@ CONTAINS
INTEGER :: handle, npoints, param
INTEGER, DIMENSION(2, 3) :: bo
REAL(kind=dp) :: epsilon_rho, scale_c, scale_x
REAL(kind=dp), DIMENSION(:, :, :), POINTER :: dummy, e_0, e_ndra, e_ndra_ndra, e_ndra_ndrb, &
e_ndra_ra, e_ndra_rb, e_ndrb, e_ndrb_ndrb, e_ndrb_ra, e_ndrb_rb, e_ra, e_ra_ra, e_ra_rb, &
e_rb, e_rb_rb, norm_drhoa, norm_drhob, rhoa, rhob
REAL(kind=dp), CONTIGUOUS, DIMENSION(:, :, :), POINTER :: dummy, e_0, e_ndra, e_ndra_ndra, &
e_ndra_ndrb, e_ndra_ra, e_ndra_rb, e_ndrb, e_ndrb_ndrb, e_ndrb_ra, e_ndrb_rb, e_ra, &
e_ra_ra, e_ra_rb, e_rb, e_rb_rb, norm_drhoa, norm_drhob, rhoa, rhob
TYPE(xc_derivative_type), POINTER :: deriv
CALL timeset(routineN, handle)

View file

@ -156,7 +156,7 @@ CONTAINS
INTEGER :: handle, m, npoints
INTEGER, DIMENSION(2, 3) :: bo
REAL(KIND=dp) :: epsilon_rho
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: e_0, e_ndrho, e_ndrho_ndrho, &
REAL(KIND=dp), CONTIGUOUS, DIMENSION(:, :, :), POINTER :: e_0, e_ndrho, e_ndrho_ndrho, &
e_ndrho_ndrho_ndrho, e_rho, e_rho_ndrho, e_rho_ndrho_ndrho, e_rho_rho, e_rho_rho_ndrho, &
e_rho_rho_rho, grho, rho, rho13
TYPE(xc_derivative_type), POINTER :: deriv
@ -245,7 +245,8 @@ CONTAINS
INTEGER :: handle, npoints
INTEGER, DIMENSION(2, 3) :: bo
REAL(KIND=dp) :: epsilon_rho
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: e_0, e_ndrhoa, e_ndrhob, e_rhoa, e_rhob, &
REAL(KIND=dp), CONTIGUOUS, DIMENSION(:, :, :), &
POINTER :: e_0, e_ndrhoa, e_ndrhob, e_rhoa, e_rhob, &
norm_drhoa, norm_drhob, rhoa, &
rhoa_1_3, rhob, rhob_1_3
TYPE(xc_derivative_type), POINTER :: deriv

View file

@ -77,7 +77,8 @@ CONTAINS
INTEGER, ALLOCATABLE, DIMENSION(:) :: std_deriv_desc
LOGICAL :: my_allocate_deriv
REAL(kind=dp), DIMENSION(:, :, :), POINTER :: cr3d_ptr
REAL(kind=dp), CONTIGUOUS, DIMENSION(:, :, :), &
POINTER :: cr3d_ptr
TYPE(cp_sll_xc_deriv_type), POINTER :: pos
TYPE(xc_derivative_type), POINTER :: deriv_att

View file

@ -32,7 +32,7 @@ MODULE xc_derivative_types
! **************************************************************************************************
TYPE xc_derivative_type
INTEGER, DIMENSION(:), POINTER :: split_desc => NULL()
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: deriv_data => NULL()
REAL(KIND=dp), DIMENSION(:, :, :), POINTER, CONTIGUOUS :: deriv_data => NULL()
END TYPE xc_derivative_type
! **************************************************************************************************
@ -59,7 +59,8 @@ CONTAINS
TYPE(xc_derivative_type) :: derivative
INTEGER, DIMENSION(:), INTENT(in) :: desc
REAL(kind=dp), DIMENSION(:, :, :), POINTER :: cr3d_ptr
REAL(kind=dp), CONTIGUOUS, DIMENSION(:, :, :), &
POINTER :: cr3d_ptr
CALL create_split_desc(desc, derivative%split_desc)
derivative%deriv_data => cr3d_ptr

View file

@ -15,7 +15,7 @@
! **************************************************************************************************
MODULE xc_exchange_gga
USE cp_array_utils, ONLY: cp_3d_r_p_type
USE cp_array_utils, ONLY: cp_3d_r_cp_type
USE cp_log_handling, ONLY: cp_to_string
USE kinds, ONLY: dp
USE mathconstants, ONLY: pi
@ -171,10 +171,10 @@ CONTAINS
REAL(KIND=dp) :: drho_cutoff, rho_cutoff
REAL(KIND=dp), ALLOCATABLE, DIMENSION(:) :: s
REAL(KIND=dp), ALLOCATABLE, DIMENSION(:, :) :: fs
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: e_0, e_ndrho, e_ndrho_ndrho, &
REAL(KIND=dp), CONTIGUOUS, DIMENSION(:, :, :), POINTER :: e_0, e_ndrho, e_ndrho_ndrho, &
e_ndrho_ndrho_ndrho, e_rho, e_rho_ndrho, e_rho_ndrho_ndrho, e_rho_rho, e_rho_rho_ndrho, &
e_rho_rho_rho
TYPE(cp_3d_r_p_type), DIMENSION(2) :: norm_drho, rho, rho_1_3
TYPE(cp_3d_r_cp_type), DIMENSION(2) :: norm_drho, rho, rho_1_3
TYPE(xc_derivative_type), POINTER :: deriv
CALL timeset(routineN, handle)

View file

@ -123,7 +123,8 @@ CONTAINS
INTEGER :: npoints
INTEGER, DIMENSION(2, 3) :: bo
REAL(kind=dp) :: epsilon_rho
REAL(kind=dp), DIMENSION(:, :, :), POINTER :: e_0, e_ndrho, e_rho, norm_drho, rho
REAL(kind=dp), CONTIGUOUS, DIMENSION(:, :, :), &
POINTER :: e_0, e_ndrho, e_rho, norm_drho, rho
TYPE(xc_derivative_type), POINTER :: deriv
NULLIFY (e_0, e_ndrho, e_rho, norm_drho, rho)

View file

@ -15,7 +15,7 @@
! **************************************************************************************************
MODULE xc_ke_gga
USE cp_array_utils, ONLY: cp_3d_r_p_type
USE cp_array_utils, ONLY: cp_3d_r_cp_type
USE kinds, ONLY: dp
USE mathconstants, ONLY: pi
USE xc_derivative_desc, ONLY: deriv_norm_drho,&
@ -188,7 +188,7 @@ CONTAINS
REAL(KIND=dp) :: drho_cutoff, rho_cutoff
REAL(KIND=dp), ALLOCATABLE, DIMENSION(:) :: s
REAL(KIND=dp), ALLOCATABLE, DIMENSION(:, :) :: fs
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: e_0, e_ndrho, e_ndrho_ndrho, &
REAL(KIND=dp), CONTIGUOUS, DIMENSION(:, :, :), POINTER :: e_0, e_ndrho, e_ndrho_ndrho, &
e_ndrho_ndrho_ndrho, e_rho, e_rho_ndrho, e_rho_ndrho_ndrho, e_rho_rho, e_rho_rho_ndrho, &
e_rho_rho_rho, grho, rho, rho13
TYPE(xc_derivative_type), POINTER :: deriv
@ -326,10 +326,10 @@ CONTAINS
REAL(KIND=dp) :: rho_cutoff
REAL(KIND=dp), ALLOCATABLE, DIMENSION(:) :: s
REAL(KIND=dp), ALLOCATABLE, DIMENSION(:, :) :: fs
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: e_0, e_ndrho, e_ndrho_ndrho, &
REAL(KIND=dp), CONTIGUOUS, DIMENSION(:, :, :), POINTER :: e_0, e_ndrho, e_ndrho_ndrho, &
e_ndrho_ndrho_ndrho, e_rho, e_rho_ndrho, e_rho_ndrho_ndrho, e_rho_rho, e_rho_rho_ndrho, &
e_rho_rho_rho
TYPE(cp_3d_r_p_type), DIMENSION(2) :: norm_drho, rho, rho_1_3
TYPE(cp_3d_r_cp_type), DIMENSION(2) :: norm_drho, rho, rho_1_3
TYPE(xc_derivative_type), POINTER :: deriv
CALL timeset(routineN, handle)

View file

@ -555,11 +555,11 @@ CONTAINS
INTEGER, DIMENSION(2, 3) :: bo
LOGICAL :: has_laplace, no_exc
REAL(KIND=dp) :: epsilon_rho, epsilon_tau, func_scale
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: dummy, e_0, e_laplace_rho, &
e_laplace_rho_laplace_rho, e_laplace_rho_tau, e_ndrho, &
e_ndrho_laplace_rho, e_ndrho_ndrho, e_ndrho_rho, e_ndrho_tau, e_rho, &
e_rho_laplace_rho, e_rho_rho, e_rho_rho_rho, e_rho_tau, e_tau, &
e_tau_tau, laplace_rho, norm_drho, rho, tau
REAL(KIND=dp), CONTIGUOUS, DIMENSION(:, :, :), POINTER :: dummy, e_0, e_laplace_rho, &
e_laplace_rho_laplace_rho, e_laplace_rho_tau, e_ndrho, &
e_ndrho_laplace_rho, e_ndrho_ndrho, e_ndrho_rho, e_ndrho_tau, e_rho, &
e_rho_laplace_rho, e_rho_rho, e_rho_rho_rho, e_rho_tau, e_tau, &
e_tau_tau, laplace_rho, norm_drho, rho, tau
TYPE(xc_derivative_type), POINTER :: deriv
TYPE(xc_f03_func_t) :: xc_func
TYPE(xc_f03_func_info_t) :: xc_info
@ -790,25 +790,25 @@ CONTAINS
INTEGER, DIMENSION(2, 3) :: bo
LOGICAL :: has_laplace, no_exc
REAL(KIND=dp) :: epsilon_rho, epsilon_tau, func_scale
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: dummy, e_0, e_laplace_rhoa, &
e_laplace_rhoa_laplace_rhoa, e_laplace_rhoa_laplace_rhob, &
e_laplace_rhoa_tau_a, e_laplace_rhoa_tau_b, e_laplace_rhob, &
e_laplace_rhob_laplace_rhob, e_laplace_rhob_tau_a, &
e_laplace_rhob_tau_b, e_ndrho, e_ndrho_laplace_rhoa, &
e_ndrho_laplace_rhob, e_ndrho_ndrho, e_ndrho_ndrhoa, e_ndrho_ndrhob, &
e_ndrho_rhoa, e_ndrho_rhob, e_ndrho_tau_a, e_ndrho_tau_b, e_ndrhoa, &
e_ndrhoa_laplace_rhoa, e_ndrhoa_laplace_rhob, e_ndrhoa_ndrhoa, &
e_ndrhoa_ndrhob, e_ndrhoa_rhoa, e_ndrhoa_rhob, e_ndrhoa_tau_a, &
e_ndrhoa_tau_b, e_ndrhob
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: e_ndrhob_laplace_rhoa, &
e_ndrhob_laplace_rhob, e_ndrhob_ndrhob, e_ndrhob_rhoa, e_ndrhob_rhob, &
e_ndrhob_tau_a, e_ndrhob_tau_b, e_rhoa, e_rhoa_laplace_rhoa, &
e_rhoa_laplace_rhob, e_rhoa_rhoa, e_rhoa_rhoa_rhoa, e_rhoa_rhoa_rhob, &
e_rhoa_rhob, e_rhoa_rhob_rhob, e_rhoa_tau_a, e_rhoa_tau_b, e_rhob, &
e_rhob_laplace_rhoa, e_rhob_laplace_rhob, e_rhob_rhob, &
e_rhob_rhob_rhob, e_rhob_tau_a, e_rhob_tau_b, e_tau_a, e_tau_a_tau_a, &
e_tau_a_tau_b, e_tau_b, e_tau_b_tau_b, laplace_rhoa, laplace_rhob, &
norm_drho, norm_drhoa, norm_drhob, rhoa, rhob, tau_a, tau_b
REAL(KIND=dp), CONTIGUOUS, DIMENSION(:, :, :), POINTER :: dummy, e_0, e_laplace_rhoa, &
e_laplace_rhoa_laplace_rhoa, e_laplace_rhoa_laplace_rhob, &
e_laplace_rhoa_tau_a, e_laplace_rhoa_tau_b, e_laplace_rhob, &
e_laplace_rhob_laplace_rhob, e_laplace_rhob_tau_a, &
e_laplace_rhob_tau_b, e_ndrho, e_ndrho_laplace_rhoa, &
e_ndrho_laplace_rhob, e_ndrho_ndrho, e_ndrho_ndrhoa, e_ndrho_ndrhob, &
e_ndrho_rhoa, e_ndrho_rhob, e_ndrho_tau_a, e_ndrho_tau_b, e_ndrhoa, &
e_ndrhoa_laplace_rhoa, e_ndrhoa_laplace_rhob, e_ndrhoa_ndrhoa, &
e_ndrhoa_ndrhob, e_ndrhoa_rhoa, e_ndrhoa_rhob, e_ndrhoa_tau_a, &
e_ndrhoa_tau_b, e_ndrhob
REAL(KIND=dp), CONTIGUOUS, DIMENSION(:, :, :), POINTER :: e_ndrhob_laplace_rhoa, &
e_ndrhob_laplace_rhob, e_ndrhob_ndrhob, e_ndrhob_rhoa, e_ndrhob_rhob, &
e_ndrhob_tau_a, e_ndrhob_tau_b, e_rhoa, e_rhoa_laplace_rhoa, &
e_rhoa_laplace_rhob, e_rhoa_rhoa, e_rhoa_rhoa_rhoa, e_rhoa_rhoa_rhob, &
e_rhoa_rhob, e_rhoa_rhob_rhob, e_rhoa_tau_a, e_rhoa_tau_b, e_rhob, &
e_rhob_laplace_rhoa, e_rhob_laplace_rhob, e_rhob_rhob, &
e_rhob_rhob_rhob, e_rhob_tau_a, e_rhob_tau_b, e_tau_a, e_tau_a_tau_a, &
e_tau_a_tau_b, e_tau_b, e_tau_b_tau_b, laplace_rhoa, laplace_rhob, &
norm_drho, norm_drhoa, norm_drhob, rhoa, rhob, tau_a, tau_b
TYPE(xc_derivative_type), POINTER :: deriv
TYPE(xc_f03_func_t) :: xc_func
TYPE(xc_f03_func_info_t) :: xc_info

View file

@ -131,9 +131,9 @@ CONTAINS
INTEGER :: handle, npoints
INTEGER, DIMENSION(2, 3) :: bo
REAL(kind=dp) :: epsilon_norm_drho, epsilon_rho, sc
REAL(kind=dp), DIMENSION(:, :, :), POINTER :: dummy, e_0, e_ndrho, e_ndrho_ndrho, &
e_ndrho_ndrho_rho, e_ndrho_rho, e_ndrho_rho_rho, e_rho, e_rho_rho, e_rho_rho_rho, &
norm_drho, rho, rho_1_3
REAL(kind=dp), CONTIGUOUS, DIMENSION(:, :, :), POINTER :: dummy, e_0, e_ndrho, &
e_ndrho_ndrho, e_ndrho_ndrho_rho, e_ndrho_rho, e_ndrho_rho_rho, e_rho, e_rho_rho, &
e_rho_rho_rho, norm_drho, rho, rho_1_3
TYPE(xc_derivative_type), POINTER :: deriv
CALL timeset(routineN, handle)
@ -734,10 +734,10 @@ CONTAINS
INTEGER :: handle, npoints
INTEGER, DIMENSION(2, 3) :: bo
REAL(kind=dp) :: epsilon_drho, epsilon_rho, sc
REAL(kind=dp), DIMENSION(:, :, :), POINTER :: dummy, e_0, e_ndr, e_ndr_ndr, e_ndr_ra, &
e_ndr_rb, e_ndra, e_ndra_ndra, e_ndra_ra, e_ndra_rb, e_ndrb, e_ndrb_ndrb, e_ndrb_ra, &
e_ndrb_rb, e_ra, e_ra_ra, e_ra_rb, e_rb, e_rb_rb, norm_drho, norm_drhoa, norm_drhob, &
rhoa, rhob
REAL(kind=dp), CONTIGUOUS, DIMENSION(:, :, :), POINTER :: dummy, e_0, e_ndr, e_ndr_ndr, &
e_ndr_ra, e_ndr_rb, e_ndra, e_ndra_ndra, e_ndra_ra, e_ndra_rb, e_ndrb, e_ndrb_ndrb, &
e_ndrb_ra, e_ndrb_rb, e_ra, e_ra_ra, e_ra_rb, e_rb, e_rb_rb, norm_drho, norm_drhoa, &
norm_drhob, rhoa, rhob
TYPE(xc_derivative_type), POINTER :: deriv
CALL timeset(routineN, handle)

View file

@ -132,7 +132,8 @@ CONTAINS
INTEGER :: handle, npoints
INTEGER, DIMENSION(2, 3) :: bo
REAL(kind=dp) :: epsilon_norm_drho, epsilon_rho, lambda
REAL(kind=dp), DIMENSION(:, :, :), POINTER :: dummy, e_0, e_ndrho, e_rho, norm_drho, &
REAL(kind=dp), CONTIGUOUS, DIMENSION(:, :, :), &
POINTER :: dummy, e_0, e_ndrho, e_rho, norm_drho, &
rho, rho_1_3
TYPE(xc_derivative_type), POINTER :: deriv
@ -333,10 +334,10 @@ CONTAINS
INTEGER :: handle, npoints
INTEGER, DIMENSION(2, 3) :: bo
REAL(kind=dp) :: epsilon_rho, lambda
REAL(kind=dp), DIMENSION(:, :, :), POINTER :: dummy, e_0, e_ndr, e_ndr_ndr, e_ndr_ra, &
e_ndr_rb, e_ndra, e_ndra_ndra, e_ndra_ra, e_ndra_rb, e_ndrb, e_ndrb_ndrb, e_ndrb_ra, &
e_ndrb_rb, e_ra, e_ra_ra, e_ra_rb, e_rb, e_rb_rb, norm_drho, norm_drhoa, norm_drhob, &
rhoa, rhob
REAL(kind=dp), CONTIGUOUS, DIMENSION(:, :, :), POINTER :: dummy, e_0, e_ndr, e_ndr_ndr, &
e_ndr_ra, e_ndr_rb, e_ndra, e_ndra_ndra, e_ndra_ra, e_ndra_rb, e_ndrb, e_ndrb_ndrb, &
e_ndrb_ra, e_ndrb_rb, e_ra, e_ra_ra, e_ra_rb, e_rb, e_rb_rb, norm_drho, norm_drhoa, &
norm_drhob, rhoa, rhob
TYPE(xc_derivative_type), POINTER :: deriv
CALL timeset(routineN, handle)

View file

@ -12,7 +12,7 @@
!> \author Joost VandeVondele [03.2004]
! **************************************************************************************************
MODULE xc_optx
USE cp_array_utils, ONLY: cp_3d_r_p_type
USE cp_array_utils, ONLY: cp_3d_r_cp_type
USE input_section_types, ONLY: section_vals_type,&
section_vals_val_get
USE kinds, ONLY: dp
@ -116,7 +116,8 @@ CONTAINS
INTEGER, DIMENSION(2, 3) :: bo
REAL(kind=dp) :: a1, a2, epsilon_drho, epsilon_rho, gam, &
sx
REAL(kind=dp), DIMENSION(:, :, :), POINTER :: e_0, e_ndrho, e_rho, norm_drho, rho
REAL(kind=dp), CONTIGUOUS, DIMENSION(:, :, :), &
POINTER :: e_0, e_ndrho, e_rho, norm_drho, rho
TYPE(xc_derivative_type), POINTER :: deriv
NULLIFY (e_0, e_ndrho, e_rho, norm_drho, rho)
@ -174,8 +175,9 @@ CONTAINS
INTEGER, DIMENSION(2, 3) :: bo
REAL(kind=dp) :: a1, a2, epsilon_drho, epsilon_rho, gam, &
sx
REAL(kind=dp), DIMENSION(:, :, :), POINTER :: e_0
TYPE(cp_3d_r_p_type), DIMENSION(2) :: e_ndrho, e_rho, ndrho, rho
REAL(kind=dp), CONTIGUOUS, DIMENSION(:, :, :), &
POINTER :: e_0
TYPE(cp_3d_r_cp_type), DIMENSION(2) :: e_ndrho, e_rho, ndrho, rho
TYPE(xc_derivative_type), POINTER :: deriv
NULLIFY (e_0)

View file

@ -145,7 +145,8 @@ CONTAINS
INTEGER :: n
LOGICAL :: calc(0:4)
REAL(KIND=dp), ALLOCATABLE, DIMENSION(:) :: rs
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: e_0, e_r, e_rr, e_rrr
REAL(KIND=dp), CONTIGUOUS, DIMENSION(:, :, :), &
POINTER :: e_0, e_r, e_rr, e_rrr
TYPE(xc_derivative_type), POINTER :: deriv
calc = .FALSE.
@ -207,10 +208,11 @@ CONTAINS
INTEGER :: i, j, k
LOGICAL :: calc(0:4)
REAL(KIND=dp) :: rhoa, rhob, rs
REAL(KIND=dp), DIMENSION(4) :: fx
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: e_0, e_ra, e_rara, e_rarara, e_rararb, &
REAL(KIND=dp), CONTIGUOUS, DIMENSION(:, :, :), &
POINTER :: e_0, e_ra, e_rara, e_rarara, e_rararb, &
e_rarb, e_rarbrb, e_rb, e_rbrb, &
e_rbrbrb
REAL(KIND=dp), DIMENSION(4) :: fx
TYPE(xc_derivative_type), POINTER :: deriv
calc = .FALSE.

View file

@ -291,9 +291,9 @@ CONTAINS
INTEGER :: handle, npoints, param
INTEGER, DIMENSION(2, 3) :: bo
REAL(kind=dp) :: epsilon_rho, scale_ec, scale_ex
REAL(kind=dp), DIMENSION(:, :, :), POINTER :: dummy, e_0, e_ndrho, e_ndrho_ndrho, &
e_ndrho_ndrho_ndrho, e_ndrho_ndrho_rho, e_ndrho_rho, e_ndrho_rho_rho, e_rho, e_rho_rho, &
e_rho_rho_rho, norm_drho, rho
REAL(kind=dp), CONTIGUOUS, DIMENSION(:, :, :), POINTER :: dummy, e_0, e_ndrho, &
e_ndrho_ndrho, e_ndrho_ndrho_ndrho, e_ndrho_ndrho_rho, e_ndrho_rho, e_ndrho_rho_rho, &
e_rho, e_rho_rho, e_rho_rho_rho, norm_drho, rho
TYPE(xc_derivative_type), POINTER :: deriv
CALL timeset(routineN, handle)
@ -1337,9 +1337,9 @@ CONTAINS
INTEGER :: handle, npoints, param
INTEGER, DIMENSION(2, 3) :: bo
REAL(kind=dp) :: epsilon_rho, scale_ec, scale_ex
REAL(kind=dp), DIMENSION(:, :, :), POINTER :: dummy, e_0, e_ndr, e_ndr_ndr, e_ndr_ra, &
e_ndr_rb, e_ndra, e_ndra_ndra, e_ndra_ra, e_ndrb, e_ndrb_ndrb, e_ndrb_rb, e_ra, e_ra_ra, &
e_ra_rb, e_rb, e_rb_rb, norm_drho, norm_drhoa, norm_drhob, rhoa, rhob
REAL(kind=dp), CONTIGUOUS, DIMENSION(:, :, :), POINTER :: dummy, e_0, e_ndr, e_ndr_ndr, &
e_ndr_ra, e_ndr_rb, e_ndra, e_ndra_ndra, e_ndra_ra, e_ndrb, e_ndrb_ndrb, e_ndrb_rb, e_ra, &
e_ra_ra, e_ra_rb, e_rb, e_rb_rb, norm_drho, norm_drhoa, norm_drhob, rhoa, rhob
TYPE(xc_derivative_type), POINTER :: deriv
CALL timeset(routineN, handle)

View file

@ -129,7 +129,7 @@ CONTAINS
INTEGER, DIMENSION(2, 3) :: bo
REAL(KIND=dp) :: drho_cutoff, rho_cutoff
REAL(KIND=dp), ALLOCATABLE, DIMENSION(:) :: rs
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: e_0, e_ndrho, e_ndrho_ndrho, &
REAL(KIND=dp), CONTIGUOUS, DIMENSION(:, :, :), POINTER :: e_0, e_ndrho, e_ndrho_ndrho, &
e_ndrho_ndrho_ndrho, e_rho, e_rho_ndrho, e_rho_ndrho_ndrho, e_rho_rho, e_rho_rho_ndrho, &
e_rho_rho_rho, grho, rho
TYPE(xc_derivative_type), POINTER :: deriv

View file

@ -150,8 +150,8 @@ CONTAINS
INTEGER :: npoints, timer_handle
INTEGER, DIMENSION(2, 3) :: bo
REAL(KIND=dp) :: rho_cutoff
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: dummy, e_0, e_rho, e_rho_rho, &
e_rho_rho_rho, rho
REAL(KIND=dp), CONTIGUOUS, DIMENSION(:, :, :), POINTER :: dummy, e_0, e_rho, e_rho_rho, &
e_rho_rho_rho, rho
TYPE(xc_derivative_type), POINTER :: deriv
CALL timeset(routineN, timer_handle)
@ -280,8 +280,8 @@ CONTAINS
INTEGER :: npoints, timer_handle
INTEGER, DIMENSION(2, 3) :: bo
REAL(KIND=dp) :: rho_cutoff
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: a, b, dummy, e_0, ea, eaa, eaaa, eaab, &
eab, eabb, eb, ebb, ebbb
REAL(KIND=dp), CONTIGUOUS, DIMENSION(:, :, :), POINTER :: a, b, dummy, e_0, ea, eaa, eaaa, eaab, &
eab, eabb, eb, ebb, ebbb
TYPE(xc_derivative_type), POINTER :: deriv
CALL timeset(routineN, timer_handle)

View file

@ -146,7 +146,8 @@ CONTAINS
INTEGER :: npoints, timer_handle
INTEGER, DIMENSION(2, 3) :: bo
REAL(KIND=dp) :: rho_cutoff, sc
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: dummy, e_0, e_rho, e_rho_rho, &
REAL(KIND=dp), CONTIGUOUS, DIMENSION(:, :, :), &
POINTER :: dummy, e_0, e_rho, e_rho_rho, &
e_rho_rho_rho, rho
TYPE(xc_derivative_type), POINTER :: deriv
@ -276,7 +277,8 @@ CONTAINS
INTEGER :: npoints, timer_handle
INTEGER, DIMENSION(2, 3) :: bo
REAL(KIND=dp) :: rho_cutoff, sc
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: a, b, dummy, e_0, ea, eaa, eaaa, eaab, &
REAL(KIND=dp), CONTIGUOUS, DIMENSION(:, :, :), &
POINTER :: a, b, dummy, e_0, ea, eaa, eaaa, eaab, &
eab, eabb, ebb, ebbb
TYPE(xc_derivative_type), POINTER :: deriv

View file

@ -12,7 +12,7 @@
!> \author fawzi
! **************************************************************************************************
MODULE xc_rho_set_types
USE cp_array_utils, ONLY: cp_3d_r_p_type
USE cp_array_utils, ONLY: cp_3d_r_cp_type
USE kinds, ONLY: dp
USE pw_grid_types, ONLY: pw_grid_type
USE pw_methods, ONLY: pw_copy, &
@ -88,18 +88,18 @@ MODULE xc_rho_set_types
REAL(kind=dp) :: rho_cutoff, drho_cutoff, tau_cutoff
TYPE(xc_rho_cflags_type) :: owns, has
! for spin restricted systems
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: rho
TYPE(cp_3d_r_p_type), DIMENSION(3) :: drho
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: norm_drho
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: rho_1_3
REAL(kind=dp), DIMENSION(:, :, :), POINTER :: tau
REAL(KIND=dp), DIMENSION(:, :, :), CONTIGUOUS, POINTER :: rho
TYPE(cp_3d_r_cp_type), DIMENSION(3) :: drho
REAL(KIND=dp), DIMENSION(:, :, :), CONTIGUOUS, POINTER :: norm_drho
REAL(KIND=dp), DIMENSION(:, :, :), CONTIGUOUS, POINTER :: rho_1_3
REAL(kind=dp), DIMENSION(:, :, :), CONTIGUOUS, POINTER :: tau
! for UNrestricted systems
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: rhoa, rhob
TYPE(cp_3d_r_p_type), DIMENSION(3) :: drhoa, drhob
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: norm_drhoa, norm_drhob
REAL(kind=dp), DIMENSION(:, :, :), POINTER :: rhoa_1_3, rhob_1_3
REAL(kind=dp), DIMENSION(:, :, :), POINTER :: tau_a, tau_b
REAL(kind=dp), DIMENSION(:, :, :), POINTER :: laplace_rho, laplace_rhoa, laplace_rhob
REAL(KIND=dp), DIMENSION(:, :, :), CONTIGUOUS, POINTER :: rhoa, rhob
TYPE(cp_3d_r_cp_type), DIMENSION(3) :: drhoa, drhob
REAL(KIND=dp), DIMENSION(:, :, :), CONTIGUOUS, POINTER :: norm_drhoa, norm_drhob
REAL(kind=dp), DIMENSION(:, :, :), CONTIGUOUS, POINTER :: rhoa_1_3, rhob_1_3
REAL(kind=dp), DIMENSION(:, :, :), CONTIGUOUS, POINTER :: tau_a, tau_b
REAL(kind=dp), DIMENSION(:, :, :), CONTIGUOUS, POINTER :: laplace_rho, laplace_rhoa, laplace_rhob
END TYPE xc_rho_set_type
CONTAINS
@ -278,13 +278,13 @@ CONTAINS
LOGICAL, INTENT(in), OPTIONAL :: can_return_null
REAL(KIND=dp), DIMENSION(:, :, :), OPTIONAL, &
POINTER :: rho
TYPE(cp_3d_r_p_type), DIMENSION(3), OPTIONAL :: drho
TYPE(cp_3d_r_cp_type), DIMENSION(3), OPTIONAL :: drho
REAL(KIND=dp), DIMENSION(:, :, :), OPTIONAL, &
POINTER :: norm_drho, rhoa, rhob, norm_drhoa, &
norm_drhob, rho_1_3, rhoa_1_3, &
rhob_1_3, laplace_rho, laplace_rhoa, &
laplace_rhob
TYPE(cp_3d_r_p_type), DIMENSION(3), OPTIONAL :: drhoa, drhob
TYPE(cp_3d_r_cp_type), DIMENSION(3), OPTIONAL :: drhoa, drhob
REAL(kind=dp), INTENT(out), OPTIONAL :: rho_cutoff, drho_cutoff, tau_cutoff
REAL(KIND=dp), DIMENSION(:, :, :), OPTIONAL, &
POINTER :: tau, tau_a, tau_b
@ -460,7 +460,7 @@ CONTAINS
SUBROUTINE xc_rho_set_recover_pw_low(rho_pw, rho, pw_grid, pw_pool, rhoa, rhob)
TYPE(pw_type), POINTER :: rho_pw
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: rho
REAL(KIND=dp), DIMENSION(:, :, :), POINTER, CONTIGUOUS :: rho
TYPE(pw_grid_type), POINTER, INTENT(IN) :: pw_grid
TYPE(pw_pool_type), POINTER, INTENT(IN) :: pw_pool
REAL(KIND=dp), DIMENSION(:, :, :), POINTER, OPTIONAL :: rhoa, rhob

View file

@ -14,7 +14,7 @@
!> \author JGH (18.02.2002)
! **************************************************************************************************
MODULE xc_tfw
USE cp_array_utils, ONLY: cp_3d_r_p_type
USE cp_array_utils, ONLY: cp_3d_r_cp_type
USE kinds, ONLY: dp
USE xc_derivative_desc, ONLY: deriv_norm_drho,&
deriv_norm_drhoa,&
@ -141,8 +141,9 @@ CONTAINS
INTEGER, DIMENSION(2, 3) :: bo
REAL(KIND=dp) :: epsilon_rho
REAL(KIND=dp), ALLOCATABLE, DIMENSION(:) :: s
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: e_0, e_ndrho, e_ndrho_ndrho, e_rho, &
e_rho_ndrho, e_rho_ndrho_ndrho, e_rho_rho, e_rho_rho_ndrho, e_rho_rho_rho, grho, r13, rho
REAL(KIND=dp), CONTIGUOUS, DIMENSION(:, :, :), POINTER :: e_0, e_ndrho, e_ndrho_ndrho, &
e_rho, e_rho_ndrho, e_rho_ndrho_ndrho, e_rho_rho, e_rho_rho_ndrho, e_rho_rho_rho, grho, &
r13, rho
TYPE(xc_derivative_type), POINTER :: deriv
CALL timeset(routineN, handle)
@ -253,11 +254,12 @@ CONTAINS
INTEGER, DIMENSION(2, 3) :: bo
REAL(KIND=dp) :: epsilon_rho
REAL(KIND=dp), ALLOCATABLE, DIMENSION(:) :: s
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: e_0, e_ndrho, e_ndrho_ndrho, e_rho, &
REAL(KIND=dp), CONTIGUOUS, DIMENSION(:, :, :), &
POINTER :: e_0, e_ndrho, e_ndrho_ndrho, e_rho, &
e_rho_ndrho, e_rho_ndrho_ndrho, &
e_rho_rho, e_rho_rho_ndrho, &
e_rho_rho_rho
TYPE(cp_3d_r_p_type), DIMENSION(2) :: norm_drho, rho, rho_1_3
TYPE(cp_3d_r_cp_type), DIMENSION(2) :: norm_drho, rho, rho_1_3
TYPE(xc_derivative_type), POINTER :: deriv
CALL timeset(routineN, handle)

View file

@ -16,7 +16,7 @@
!> \author JGH (18.02.2002)
! **************************************************************************************************
MODULE xc_thomas_fermi
USE cp_array_utils, ONLY: cp_3d_r_p_type
USE cp_array_utils, ONLY: cp_3d_r_cp_type
USE kinds, ONLY: dp
USE xc_derivative_desc, ONLY: deriv_rho,&
deriv_rhoa,&
@ -128,7 +128,8 @@ CONTAINS
INTEGER :: handle, npoints
INTEGER, DIMENSION(2, 3) :: bo
REAL(KIND=dp) :: epsilon_rho
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: e_0, e_rho, e_rho_rho, e_rho_rho_rho, &
REAL(KIND=dp), CONTIGUOUS, DIMENSION(:, :, :), &
POINTER :: e_0, e_rho, e_rho_rho, e_rho_rho_rho, &
r13, rho
TYPE(xc_derivative_type), POINTER :: deriv
@ -190,8 +191,9 @@ CONTAINS
INTEGER :: handle, i, ispin, npoints
INTEGER, DIMENSION(2, 3) :: bo
REAL(KIND=dp) :: epsilon_rho
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: e_0, e_rho, e_rho_rho, e_rho_rho_rho
TYPE(cp_3d_r_p_type), DIMENSION(2) :: rho, rho_1_3
REAL(KIND=dp), CONTIGUOUS, DIMENSION(:, :, :), &
POINTER :: e_0, e_rho, e_rho_rho, e_rho_rho_rho
TYPE(cp_3d_r_cp_type), DIMENSION(2) :: rho, rho_1_3
TYPE(xc_derivative_type), POINTER :: deriv
CALL timeset(routineN, handle)

View file

@ -117,7 +117,8 @@ CONTAINS
INTEGER, DIMENSION(2, 3) :: bo
REAL(kind=dp) :: epsilon_rho, epsilon_tau, scale_ec, &
scale_ex
REAL(kind=dp), DIMENSION(:, :, :), POINTER :: dummy, e_0, e_ndrho, e_rho, e_tau, &
REAL(kind=dp), CONTIGUOUS, DIMENSION(:, :, :), &
POINTER :: dummy, e_0, e_ndrho, e_rho, e_tau, &
norm_drho, rho, tau
TYPE(cp_logger_type), POINTER :: logger
TYPE(xc_derivative_type), POINTER :: deriv

View file

@ -175,7 +175,8 @@ CONTAINS
INTEGER, DIMENSION(2, 3) :: bo
REAL(KIND=dp) :: epsilon_rho, sc
REAL(KIND=dp), ALLOCATABLE, DIMENSION(:) :: x
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: e_0, e_rho, e_rho_rho, e_rho_rho_rho, rho
REAL(KIND=dp), CONTIGUOUS, DIMENSION(:, :, :), &
POINTER :: e_0, e_rho, e_rho_rho, e_rho_rho_rho, rho
TYPE(xc_derivative_type), POINTER :: deriv
CALL timeset(routineN, handle)
@ -531,7 +532,8 @@ CONTAINS
INTEGER :: handle, npoints, TYPE
INTEGER, DIMENSION(2, 3) :: bo
REAL(KIND=dp) :: epsilon_rho, sc
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: dummy, e_0, e_a, e_aa, e_aaa, e_aab, &
REAL(KIND=dp), CONTIGUOUS, DIMENSION(:, :, :), &
POINTER :: dummy, e_0, e_a, e_aa, e_aaa, e_aab, &
e_ab, e_abb, e_b, e_bb, e_bbb, rhoa, &
rhob
TYPE(xc_derivative_type), POINTER :: deriv

View file

@ -17,7 +17,7 @@
!> \author JGH (17.02.2002)
! **************************************************************************************************
MODULE xc_xalpha
USE cp_array_utils, ONLY: cp_3d_r_p_type
USE cp_array_utils, ONLY: cp_3d_r_cp_type
USE input_section_types, ONLY: section_vals_type,&
section_vals_val_get
USE kinds, ONLY: dp
@ -160,7 +160,8 @@ CONTAINS
INTEGER :: handle, npoints
INTEGER, DIMENSION(2, 3) :: bo
REAL(KIND=dp) :: epsilon_rho, sx
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: e_0, e_rho, e_rho_rho, e_rho_rho_rho, &
REAL(KIND=dp), CONTIGUOUS, DIMENSION(:, :, :), &
POINTER :: e_0, e_rho, e_rho_rho, e_rho_rho_rho, &
r13, rho
TYPE(xc_derivative_type), POINTER :: deriv
@ -230,8 +231,9 @@ CONTAINS
INTEGER :: handle, i, ispin, npoints
INTEGER, DIMENSION(2, 3) :: bo
REAL(KIND=dp) :: epsilon_rho, sx
REAL(KIND=dp), DIMENSION(:, :, :), POINTER :: e_0, e_rho, e_rho_rho, e_rho_rho_rho
TYPE(cp_3d_r_p_type), DIMENSION(2) :: rho, rho_1_3
REAL(KIND=dp), CONTIGUOUS, DIMENSION(:, :, :), &
POINTER :: e_0, e_rho, e_rho_rho, e_rho_rho_rho
TYPE(cp_3d_r_cp_type), DIMENSION(2) :: rho, rho_1_3
TYPE(xc_derivative_type), POINTER :: deriv
CALL timeset(routineN, handle)

View file

@ -14,7 +14,7 @@
MODULE xc_xbecke88
USE bibliography, ONLY: Becke1988,&
cite_reference
USE cp_array_utils, ONLY: cp_3d_r_p_type
USE cp_array_utils, ONLY: cp_3d_r_cp_type
USE input_section_types, ONLY: section_vals_type,&
section_vals_val_get
USE kinds, ONLY: dp
@ -131,9 +131,9 @@ CONTAINS
INTEGER :: handle, npoints
INTEGER, DIMENSION(2, 3) :: bo
REAL(kind=dp) :: epsilon_rho, sx
REAL(kind=dp), DIMENSION(:, :, :), POINTER :: dummy, e_0, e_ndrho, e_ndrho_ndrho, &
e_ndrho_ndrho_ndrho, e_ndrho_ndrho_rho, e_ndrho_rho, e_ndrho_rho_rho, e_rho, e_rho_rho, &
e_rho_rho_rho, norm_drho, rho, rho_1_3
REAL(kind=dp), CONTIGUOUS, DIMENSION(:, :, :), POINTER :: dummy, e_0, e_ndrho, &
e_ndrho_ndrho, e_ndrho_ndrho_ndrho, e_ndrho_ndrho_rho, e_ndrho_rho, e_ndrho_rho_rho, &
e_rho, e_rho_rho, e_rho_rho_rho, norm_drho, rho, rho_1_3
TYPE(xc_derivative_type), POINTER :: deriv
CALL timeset(routineN, handle)
@ -644,8 +644,9 @@ CONTAINS
INTEGER :: handle, i, ispin, npoints
INTEGER, DIMENSION(2, 3) :: bo
REAL(kind=dp) :: epsilon_rho, sx
REAL(kind=dp), DIMENSION(:, :, :), POINTER :: dummy, e_0
TYPE(cp_3d_r_p_type), DIMENSION(2) :: e_ndrho, e_ndrho_ndrho, e_ndrho_ndrho_ndrho, &
REAL(kind=dp), CONTIGUOUS, DIMENSION(:, :, :), &
POINTER :: dummy, e_0
TYPE(cp_3d_r_cp_type), DIMENSION(2) :: e_ndrho, e_ndrho_ndrho, e_ndrho_ndrho_ndrho, &
e_ndrho_ndrho_rho, e_ndrho_rho, e_ndrho_rho_rho, e_rho, e_rho_rho, e_rho_rho_rho, &
norm_drho, rho, rho_1_3
TYPE(xc_derivative_type), POINTER :: deriv

View file

@ -14,7 +14,7 @@
MODULE xc_xbecke88_long_range
USE bibliography, ONLY: Becke1988,&
cite_reference
USE cp_array_utils, ONLY: cp_3d_r_p_type
USE cp_array_utils, ONLY: cp_3d_r_cp_type
USE input_section_types, ONLY: section_vals_type,&
section_vals_val_get
USE kinds, ONLY: dp
@ -130,9 +130,9 @@ CONTAINS
INTEGER :: handle, npoints
INTEGER, DIMENSION(2, 3) :: bo
REAL(kind=dp) :: epsilon_rho, omega, sx
REAL(kind=dp), DIMENSION(:, :, :), POINTER :: dummy, e_0, e_ndrho, e_ndrho_ndrho, &
e_ndrho_ndrho_ndrho, e_ndrho_ndrho_rho, e_ndrho_rho, e_ndrho_rho_rho, e_rho, e_rho_rho, &
e_rho_rho_rho, norm_drho, rho
REAL(kind=dp), CONTIGUOUS, DIMENSION(:, :, :), POINTER :: dummy, e_0, e_ndrho, &
e_ndrho_ndrho, e_ndrho_ndrho_ndrho, e_ndrho_ndrho_rho, e_ndrho_rho, e_ndrho_rho_rho, &
e_rho, e_rho_rho, e_rho_rho_rho, norm_drho, rho
TYPE(xc_derivative_type), POINTER :: deriv
CALL timeset(routineN, handle)
@ -845,8 +845,9 @@ CONTAINS
INTEGER :: handle, i, ispin, npoints
INTEGER, DIMENSION(2, 3) :: bo
REAL(kind=dp) :: epsilon_rho, omega, sx
REAL(kind=dp), DIMENSION(:, :, :), POINTER :: dummy, e_0
TYPE(cp_3d_r_p_type), DIMENSION(2) :: e_ndrho, e_ndrho_ndrho, e_ndrho_ndrho_ndrho, &
REAL(kind=dp), CONTIGUOUS, DIMENSION(:, :, :), &
POINTER :: dummy, e_0
TYPE(cp_3d_r_cp_type), DIMENSION(2) :: e_ndrho, e_ndrho_ndrho, e_ndrho_ndrho_ndrho, &
e_ndrho_ndrho_rho, e_ndrho_rho, e_ndrho_rho_rho, e_rho, e_rho_rho, e_rho_rho_rho, &
norm_drho, rho
TYPE(xc_derivative_type), POINTER :: deriv

View file

@ -20,7 +20,7 @@
MODULE xc_xbecke88_lr_adiabatic
USE bibliography, ONLY: Becke1988,&
cite_reference
USE cp_array_utils, ONLY: cp_3d_r_p_type
USE cp_array_utils, ONLY: cp_3d_r_cp_type
USE input_section_types, ONLY: section_vals_type,&
section_vals_val_get
USE kinds, ONLY: dp
@ -137,9 +137,9 @@ CONTAINS
INTEGER :: handle, npoints
INTEGER, DIMENSION(2, 3) :: bo
REAL(kind=dp) :: epsilon_rho, lambda, omega, sx
REAL(kind=dp), DIMENSION(:, :, :), POINTER :: dummy, e_0, e_ndrho, e_ndrho_ndrho, &
e_ndrho_ndrho_ndrho, e_ndrho_ndrho_rho, e_ndrho_rho, e_ndrho_rho_rho, e_rho, e_rho_rho, &
e_rho_rho_rho, norm_drho, rho
REAL(kind=dp), CONTIGUOUS, DIMENSION(:, :, :), POINTER :: dummy, e_0, e_ndrho, &
e_ndrho_ndrho, e_ndrho_ndrho_ndrho, e_ndrho_ndrho_rho, e_ndrho_rho, e_ndrho_rho_rho, &
e_rho, e_rho_rho, e_rho_rho_rho, norm_drho, rho
TYPE(xc_derivative_type), POINTER :: deriv
CALL timeset(routineN, handle)
@ -2857,8 +2857,9 @@ CONTAINS
INTEGER :: handle, i, ispin, npoints
INTEGER, DIMENSION(2, 3) :: bo
REAL(kind=dp) :: epsilon_rho, lambda, omega, sx
REAL(kind=dp), DIMENSION(:, :, :), POINTER :: dummy, e_0
TYPE(cp_3d_r_p_type), DIMENSION(2) :: e_ndrho, e_ndrho_ndrho, e_ndrho_ndrho_ndrho, &
REAL(kind=dp), CONTIGUOUS, DIMENSION(:, :, :), &
POINTER :: dummy, e_0
TYPE(cp_3d_r_cp_type), DIMENSION(2) :: e_ndrho, e_ndrho_ndrho, e_ndrho_ndrho_ndrho, &
e_ndrho_ndrho_rho, e_ndrho_rho, e_ndrho_rho_rho, e_rho, e_rho_rho, e_rho_rho_rho, &
norm_drho, rho
TYPE(xc_derivative_type), POINTER :: deriv

View file

@ -174,7 +174,8 @@ CONTAINS
INTEGER, DIMENSION(2, 3) :: bo
REAL(dp) :: gamma, R, sx
REAL(kind=dp) :: epsilon_rho
REAL(kind=dp), DIMENSION(:, :, :), POINTER :: dummy, e_0, e_laplace_rho, e_ndrho, &
REAL(kind=dp), CONTIGUOUS, DIMENSION(:, :, :), &
POINTER :: dummy, e_0, e_laplace_rho, e_ndrho, &
e_rho, e_tau, laplace_rho, norm_drho, &
rho, tau
TYPE(xc_derivative_type), POINTER :: deriv
@ -370,9 +371,9 @@ CONTAINS
INTEGER, DIMENSION(2, 3) :: bo
REAL(dp) :: gamma, R, sx
REAL(kind=dp) :: epsilon_rho
REAL(kind=dp), DIMENSION(:, :, :), POINTER :: dummy, e_0, e_laplace_rhoa, e_laplace_rhob, &
e_ndrhoa, e_ndrhob, e_rhoa, e_rhob, e_tau_a, e_tau_b, laplace_rhoa, laplace_rhob, &
norm_drhoa, norm_drhob, rhoa, rhob, tau_a, tau_b
REAL(kind=dp), CONTIGUOUS, DIMENSION(:, :, :), POINTER :: dummy, e_0, e_laplace_rhoa, &
e_laplace_rhob, e_ndrhoa, e_ndrhob, e_rhoa, e_rhob, e_tau_a, e_tau_b, laplace_rhoa, &
laplace_rhob, norm_drhoa, norm_drhob, rhoa, rhob, tau_a, tau_b
TYPE(xc_derivative_type), POINTER :: deriv
CALL timeset(routineN, handle)

View file

@ -16,7 +16,7 @@ MODULE xc_xbeef
USE bibliography, ONLY: Wellendorff2012,&
cite_reference
USE cp_array_utils, ONLY: cp_3d_r_p_type
USE cp_array_utils, ONLY: cp_3d_r_cp_type
USE input_section_types, ONLY: section_vals_type,&
section_vals_val_get
USE kinds, ONLY: dp
@ -144,7 +144,8 @@ CONTAINS
INTEGER :: handle, npoints
INTEGER, DIMENSION(2, 3) :: bo
REAL(kind=dp) :: epsilon_rho, sx
REAL(kind=dp), DIMENSION(:, :, :), POINTER :: dummy, e_0, e_ndrho, e_rho, norm_drho, &
REAL(kind=dp), CONTIGUOUS, DIMENSION(:, :, :), &
POINTER :: dummy, e_0, e_ndrho, e_rho, norm_drho, &
rho, rho_1_3
TYPE(xc_derivative_type), POINTER :: deriv
@ -317,8 +318,9 @@ CONTAINS
INTEGER :: handle, i, ispin, npoints
INTEGER, DIMENSION(2, 3) :: bo
REAL(kind=dp) :: epsilon_rho, sx
REAL(kind=dp), DIMENSION(:, :, :), POINTER :: dummy, e_0
TYPE(cp_3d_r_p_type), DIMENSION(2) :: e_ndrho, e_rho, norm_drho, rho, rho_1_3
REAL(kind=dp), CONTIGUOUS, DIMENSION(:, :, :), &
POINTER :: dummy, e_0
TYPE(cp_3d_r_cp_type), DIMENSION(2) :: e_ndrho, e_rho, norm_drho, rho, rho_1_3
TYPE(xc_derivative_type), POINTER :: deriv
CALL timeset(routineN, handle)

View file

@ -188,7 +188,8 @@ CONTAINS
INTEGER, DIMENSION(2, 3) :: bo
REAL(dp) :: gamma, R, sx
REAL(kind=dp) :: epsilon_rho
REAL(kind=dp), DIMENSION(:, :, :), POINTER :: dummy, e_0, e_laplace_rho, e_ndrho, &
REAL(kind=dp), CONTIGUOUS, DIMENSION(:, :, :), &
POINTER :: dummy, e_0, e_laplace_rho, e_ndrho, &
e_rho, e_tau, laplace_rho, norm_drho, &
rho, tau
TYPE(xc_derivative_type), POINTER :: deriv
@ -444,9 +445,9 @@ CONTAINS
INTEGER, DIMENSION(2, 3) :: bo
REAL(dp) :: gamma, R, sx
REAL(kind=dp) :: epsilon_rho
REAL(kind=dp), DIMENSION(:, :, :), POINTER :: dummy, e_0, e_laplace_rhoa, e_laplace_rhob, &
e_ndrhoa, e_ndrhob, e_rhoa, e_rhob, e_tau_a, e_tau_b, laplace_rhoa, laplace_rhob, &
norm_drhoa, norm_drhob, rhoa, rhob, tau_a, tau_b
REAL(kind=dp), CONTIGUOUS, DIMENSION(:, :, :), POINTER :: dummy, e_0, e_laplace_rhoa, &
e_laplace_rhob, e_ndrhoa, e_ndrhob, e_rhoa, e_rhob, e_tau_a, e_tau_b, laplace_rhoa, &
laplace_rhob, norm_drhoa, norm_drhob, rhoa, rhob, tau_a, tau_b
TYPE(xc_derivative_type), POINTER :: deriv
CALL timeset(routineN, handle)

View file

@ -135,7 +135,8 @@ CONTAINS
INTEGER :: handle, npoints
INTEGER, DIMENSION(2, 3) :: bo
REAL(kind=dp) :: epsilon_rho, R, sx
REAL(kind=dp), DIMENSION(:, :, :), POINTER :: dummy, e_0, e_rho, rho
REAL(kind=dp), CONTIGUOUS, DIMENSION(:, :, :), &
POINTER :: dummy, e_0, e_rho, rho
TYPE(xc_derivative_type), POINTER :: deriv
CALL timeset(routineN, handle)
@ -315,7 +316,8 @@ CONTAINS
INTEGER :: handle, npoints
INTEGER, DIMENSION(2, 3) :: bo
REAL(kind=dp) :: epsilon_rho, R, sx
REAL(kind=dp), DIMENSION(:, :, :), POINTER :: dummy, e_0, e_rhoa, e_rhob, rhoa, rhob
REAL(kind=dp), CONTIGUOUS, DIMENSION(:, :, :), &
POINTER :: dummy, e_0, e_rhoa, e_rhob, rhoa, rhob
TYPE(xc_derivative_type), POINTER :: deriv
CALL timeset(routineN, handle)

View file

@ -161,7 +161,8 @@ CONTAINS
INTEGER :: handle, npoints
INTEGER, DIMENSION(2, 3) :: bo
REAL(kind=dp) :: epsilon_rho, R, sx
REAL(kind=dp), DIMENSION(:, :, :), POINTER :: dummy, e_0, e_ndrho, e_rho, norm_drho, &
REAL(kind=dp), CONTIGUOUS, DIMENSION(:, :, :), &
POINTER :: dummy, e_0, e_ndrho, e_rho, norm_drho, &
rho
TYPE(xc_derivative_type), POINTER :: deriv
@ -310,7 +311,8 @@ CONTAINS
INTEGER :: handle, npoints
INTEGER, DIMENSION(2, 3) :: bo
REAL(kind=dp) :: epsilon_rho, R, sx
REAL(kind=dp), DIMENSION(:, :, :), POINTER :: dummy, e_0, e_ndrhoa, e_ndrhob, e_rhoa, &
REAL(kind=dp), CONTIGUOUS, DIMENSION(:, :, :), &
POINTER :: dummy, e_0, e_ndrhoa, e_ndrhob, e_rhoa, &
e_rhob, norm_drhoa, norm_drhob, rhoa, &
rhob
TYPE(xc_derivative_type), POINTER :: deriv

View file

@ -159,7 +159,8 @@ CONTAINS
INTEGER, DIMENSION(2, 3) :: bo
REAL(kind=dp) :: epsilon_norm_drho, epsilon_rho, omega, &
sx, sx0
REAL(kind=dp), DIMENSION(:, :, :), POINTER :: dummy, e_0, e_ndrho, e_ndrho_ndrho, &
REAL(kind=dp), CONTIGUOUS, DIMENSION(:, :, :), &
POINTER :: dummy, e_0, e_ndrho, e_ndrho_ndrho, &
e_ndrho_rho, e_rho, e_rho_rho, &
norm_drho, rho
TYPE(xc_derivative_type), POINTER :: deriv
@ -5263,9 +5264,9 @@ CONTAINS
INTEGER, DIMENSION(2, 3) :: bo
REAL(kind=dp) :: epsilon_norm_drho, epsilon_rho, omega, &
sx, sx0
REAL(kind=dp), DIMENSION(:, :, :), POINTER :: dummy, e_0, e_ndrhoa, e_ndrhoa_ndrhoa, &
e_ndrhoa_rhoa, e_ndrhob, e_ndrhob_ndrhob, e_ndrhob_rhob, e_rhoa, e_rhoa_rhoa, e_rhob, &
e_rhob_rhob, norm_drhoa, norm_drhob, rhoa, rhob
REAL(kind=dp), CONTIGUOUS, DIMENSION(:, :, :), POINTER :: dummy, e_0, e_ndrhoa, &
e_ndrhoa_ndrhoa, e_ndrhoa_rhoa, e_ndrhob, e_ndrhob_ndrhob, e_ndrhob_rhob, e_rhoa, &
e_rhoa_rhoa, e_rhob, e_rhob_rhob, norm_drhoa, norm_drhob, rhoa, rhob
TYPE(xc_derivative_type), POINTER :: deriv
CALL timeset(routineN, handle)