Some small updates and fixes (#2683)

This commit is contained in:
Juerg Hutter 2023-03-14 17:42:11 +01:00 committed by GitHub
parent ecf4ca11ce
commit c9dfd2aeb4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
15 changed files with 6270 additions and 43 deletions

6075
data/BASIS_MINBAS Normal file

File diff suppressed because it is too large Load diff

View file

@ -43,7 +43,8 @@ MODULE basis_set_container_types
aux_fit_soft_basis = 114, &
ri_hfx_basis = 115, &
p_lri_aux_basis = 116, &
aux_opt_basis = 117
aux_opt_basis = 117, &
min_basis = 118
! **************************************************************************************************
TYPE basis_set_container_type
PRIVATE
@ -97,6 +98,8 @@ CONTAINS
basis_type_nr = orbital_basis
CASE ("AUX")
basis_type_nr = auxiliary_basis
CASE ("MIN")
basis_type_nr = min_basis
CASE ("RI_AUX")
basis_type_nr = ri_aux_basis
CASE ("RI_HXC")

View file

@ -24,13 +24,10 @@ MODULE ec_efield_local
USE cp_control_types, ONLY: dft_control_type
USE dbcsr_api, ONLY: dbcsr_add,&
dbcsr_copy,&
dbcsr_dot,&
dbcsr_get_block_p,&
dbcsr_p_type,&
dbcsr_set
USE ec_env_types, ONLY: energy_correction_type
USE input_constants, ONLY: ec_functional_dc,&
ec_functional_harris
USE kinds, ONLY: dp
USE message_passing, ONLY: mp_para_env_type
USE orbital_pointers, ONLY: ncoset
@ -51,8 +48,6 @@ MODULE ec_efield_local
USE qs_period_efield_types, ONLY: efield_berry_type,&
init_efield_matrices,&
set_efield_matrices
USE qs_rho_types, ONLY: qs_rho_get,&
qs_rho_type
#include "./base/base_uses.f90"
IMPLICIT NONE
@ -165,7 +160,7 @@ CONTAINS
npgfb, nsgfa, nsgfb
INTEGER, DIMENSION(:, :), POINTER :: first_sgfa, first_sgfb
LOGICAL :: found, trans
REAL(dp) :: charge, dab, ener_field, fdir, tmp
REAL(dp) :: charge, dab, fdir
REAL(dp), DIMENSION(3) :: ci, fieldpol, ra, rab, rac, rbc, ria
REAL(dp), DIMENSION(3, 3) :: forcea, forceb
REAL(dp), DIMENSION(:, :), POINTER :: p_block_a, p_block_b, pblock, pmat, work
@ -173,7 +168,7 @@ CONTAINS
REAL(KIND=dp), DIMENSION(:, :), POINTER :: rpgfa, rpgfb, sphi_a, sphi_b, zeta, zetb
TYPE(atomic_kind_type), DIMENSION(:), POINTER :: atomic_kind_set
TYPE(cell_type), POINTER :: cell
TYPE(dbcsr_p_type), DIMENSION(:), POINTER :: dipmat, matrix_ks, matrix_p
TYPE(dbcsr_p_type), DIMENSION(:), POINTER :: dipmat, matrix_ks
TYPE(dft_control_type), POINTER :: dft_control
TYPE(efield_berry_type), POINTER :: efield
TYPE(gto_basis_set_p_type), DIMENSION(:), POINTER :: basis_set_list
@ -188,9 +183,6 @@ CONTAINS
TYPE(qs_force_type), DIMENSION(:), POINTER :: force
TYPE(qs_kind_type), DIMENSION(:), POINTER :: qs_kind_set
TYPE(qs_kind_type), POINTER :: qs_kind
TYPE(qs_rho_type), POINTER :: rho
!
CALL timeset(routineN, handle)
@ -237,27 +229,6 @@ CONTAINS
alpha_scalar=1.0_dp, beta_scalar=fieldpol(idir))
END DO
END DO
! Handling of electronic efield energy contribution
! Harris functional: Part of band structure energy T[P_out*F_KS]
! DC-DFT : needs to be added here
SELECT CASE (ec_env%energy_functional)
CASE (ec_functional_harris)
CASE (ec_functional_dc)
! Energy
NULLIFY (rho, matrix_p)
CALL get_qs_env(qs_env=qs_env, rho=rho)
CALL qs_rho_get(rho, rho_ao=matrix_p)
DO ispin = 1, SIZE(matrix_p)
DO idir = 1, 3
CALL dbcsr_dot(matrix_p(ispin)%matrix, dipmat(idir)%matrix, tmp)
ener_field = ener_field + fieldpol(idir)*tmp
END DO
END DO
ec_env%efield_elec = ener_field
CASE DEFAULT
CPABORT("unknown energy correction")
END SELECT
END IF
! forces from the efield contribution

View file

@ -2587,8 +2587,8 @@ CONTAINS
! Core hamiltonian energy
CALL calculate_ptrace(ec_env%matrix_h, ec_env%matrix_p, ec_env%ecore, SIZE(ec_env%matrix_p, 1))
ec_env%etotal = ec_env%ecore + ec_env%ehartree + ec_env%exc + ec_env%edispersion &
+ ec_env%efield_elec + ec_env%efield_nuclear
ec_env%ecore = ec_env%ecore + ec_env%efield_nuclear
ec_env%etotal = ec_env%ecore + ec_env%ehartree + ec_env%exc + ec_env%edispersion
IF (unit_nr > 0) THEN
WRITE (unit_nr, '(T3,A,T56,F25.15)') "Ecore ", ec_env%ecore
WRITE (unit_nr, '(T3,A,T56,F25.15)') "Ehartree ", ec_env%ehartree

View file

@ -1043,7 +1043,7 @@ CONTAINS
CALL keyword_create(keyword, __LOCATION__, name="BASIS_SET", &
description="The primary Gaussian basis set (NONE implies no basis used, meaningful with GHOST). "// &
"Defaults are set for TYPE {ORB} and FORM {GTO}. Possible values for TYPE are "// &
"{ORB, AUX, RI_AUX, LRI, ...}. Possible values for "// &
"{ORB, AUX, MIN, RI_AUX, LRI, ...}. Possible values for "// &
"FORM are {GTO, STO}. Where STO results in a GTO expansion of a Slater type basis."// &
"If a value for FORM is given, also TYPE has to be set explicitly.", &
usage="BASIS_SET [type] [form] DZVP", type_of_var=char_t, default_c_vals=(/" ", " ", " "/), &

View file

@ -96,8 +96,8 @@ CONTAINS
TYPE(all_potential_type), POINTER :: all_potential
TYPE(gth_potential_type), POINTER :: gth_potential
TYPE(gto_basis_set_type), POINTER :: aux_basis_set, aux_fit_basis_set, aux_gw_basis, &
aux_opt_basis_set, gapw_1c_basis, harris_basis, lri_basis, mao_basis, orb_basis_set, &
p_lri_basis, ri_aux_basis_set, ri_basis, ri_xas_basis, soft_basis
aux_opt_basis_set, gapw_1c_basis, harris_basis, lri_basis, mao_basis, min_basis_set, &
orb_basis_set, p_lri_basis, ri_aux_basis_set, ri_basis, ri_xas_basis, soft_basis
TYPE(paw_proj_set_type), POINTER :: paw_proj_set
TYPE(sgp_potential_type), POINTER :: sgp_potential
@ -106,7 +106,7 @@ CONTAINS
NULLIFY (all_potential, gth_potential, sgp_potential)
NULLIFY (aux_basis_set, aux_fit_basis_set, aux_gw_basis, &
harris_basis, lri_basis, mao_basis, orb_basis_set, p_lri_basis, ri_aux_basis_set, &
ri_basis, ri_xas_basis, soft_basis, gapw_1c_basis, aux_opt_basis_set)
ri_basis, ri_xas_basis, soft_basis, gapw_1c_basis, aux_opt_basis_set, min_basis_set)
NULLIFY (nprj_ppnl, nprj)
NULLIFY (alpha_ppnl, cexp_ppl, cprj_ppnl, zet)
@ -117,6 +117,7 @@ CONTAINS
CALL get_qs_kind(qs_kind_set(ikind), basis_set=orb_basis_set, basis_type="ORB")
CALL get_qs_kind(qs_kind_set(ikind), basis_set=aux_basis_set, basis_type="AUX")
CALL get_qs_kind(qs_kind_set(ikind), basis_set=min_basis_set, basis_type="MIN")
CALL get_qs_kind(qs_kind_set(ikind), basis_set=aux_fit_basis_set, basis_type="AUX_FIT")
CALL get_qs_kind(qs_kind_set(ikind), basis_set=aux_opt_basis_set, basis_type="AUX_OPT")
CALL get_qs_kind(qs_kind_set(ikind), basis_set=lri_basis, basis_type="LRI_AUX")
@ -301,6 +302,11 @@ CONTAINS
CALL init_interaction_radii_orb_basis(aux_opt_basis_set, qs_control%eps_pgf_orb)
END IF
! Calculate the minimal basis function radii
IF (ASSOCIATED(min_basis_set)) THEN
CALL init_interaction_radii_orb_basis(min_basis_set, qs_control%eps_pgf_orb)
END IF
! Calculate the aux orbital basis function radii
IF (ASSOCIATED(aux_basis_set)) THEN
CALL init_interaction_radii_orb_basis(aux_basis_set, qs_control%eps_pgf_orb)

View file

@ -2868,6 +2868,8 @@ CONTAINS
do_print = .FALSE.
CASE ("AUX")
bstring = "Auxiliary Basis Set"
CASE ("MIN")
bstring = "Minimal Basis Set"
CASE ("RI_AUX")
bstring = "RI Auxiliary Basis Set"
CASE ("AUX_FIT")
@ -3076,6 +3078,8 @@ CONTAINS
bstring = "GAPW Soft Basis Set"
CASE ("AUX")
bstring = "Auxiliary Basis Set"
CASE ("MIN")
bstring = "Minimal Basis Set"
CASE ("RI_AUX")
bstring = "RI Auxiliary Basis Set"
CASE ("AUX_FIT")

View file

@ -2695,7 +2695,7 @@ CONTAINS
END IF
dd = SQRT(SUM(rmom(2:4, 3)**2))*debye
WRITE (unit_number, "(T3,A)") "Dipole moment [Debye]"
WRITE (unit_number, "(T5,3(A,A,E16.8,1X),T64,A,T71,F14.8)") &
WRITE (unit_number, "(T5,3(A,A,E15.7,1X),T60,A,T68,F13.7)") &
(TRIM(rlab(i)), "=", rmom(i, 3)*debye, i=2, 4), "Total=", dd
CASE (2)
WRITE (unit_number, "(T3,A)") "Quadrupole moment [Debye*Angstrom]"

View file

@ -38,4 +38,6 @@ N2_t16.inp 11 1e-12
N2_t17.inp 11 2e-11 -19.917073388683157
# LDA - PBE | ADDED_MOS AO solver
N2_t18.inp 11 2e-11 -19.917073435881086
#
dipole.inp 0
#EOF

View file

@ -0,0 +1,82 @@
&FORCE_EVAL
METHOD Quickstep
&DFT
BASIS_SET_FILE_NAME BASIS_SET
POTENTIAL_FILE_NAME GTH_POTENTIALS
&MGRID
CUTOFF 300
&END MGRID
&QS
METHOD GPW
EPS_DEFAULT 1.E-12
&END QS
&EFIELD
&END
&ENERGY_CORRECTION
ENERGY_FUNCTIONAL DCDFT
HARRIS_BASIS ORBITAL
&RESPONSE_SOLVER
METHOD MO_SOLVER
PRECONDITIONER FULL_SINGLE_INVERSE
&END
&XC
&XC_FUNCTIONAL PBE
&END
&END XC
&PRINT
&MOMENTS ON
PERIODIC .FALSE.
REFERENCE COM
&END
&END
&END ENERGY_CORRECTION
&SCF
EPS_SCF 1.0E-7
SCF_GUESS ATOMIC
&END
&XC
&XC_FUNCTIONAL PADE
&END
&END XC
&POISSON
PERIODIC NONE
POISSON_SOLVER MT
&END
&END DFT
&SUBSYS
&CELL
PERIODIC NONE
ABC 5.0 5.0 5.0
&END CELL
&COORD
O 0.000000 0.000000 -0.065587
H 0.000000 -0.757136 0.520545
H 0.000000 0.757136 0.520545
&END COORD
&TOPOLOGY
&CENTER_COORDINATES
&END
&END
&KIND H
BASIS_SET DZVP-GTH-PADE
POTENTIAL GTH-PADE-q1
&END KIND
&KIND O
BASIS_SET DZVP-GTH-PADE
POTENTIAL GTH-PADE-q6
&END KIND
&END SUBSYS
&END FORCE_EVAL
&GLOBAL
PROJECT dcdft
RUN_TYPE DEBUG
PRINT_LEVEL LOW
&END GLOBAL
&DEBUG
DEBUG_FORCES .FALSE.
DEBUG_STRESS_TENSOR .FALSE.
DEBUG_DIPOLE .TRUE.
DEBUG_POLARIZABILITY .FALSE.
CHECK_DIPOLE_DIRS Z
&END

View file

@ -7,7 +7,7 @@ H2_curvy-3.inp 11 2e-13 -
H2O-chebyshev-01.inp 11 1e-14 -32.574187281046839
H2O-ewindow-01.inp 11 2e-13 -17.178459065026125
H2O-dft-ecube.inp 11 1e-13 -51.496123149381503
H2O-dipole.inp 39 1.0E-14 0.48621122999999999
H2O-dipole.inp 39 1.0E-14 0.4862112
H2O-restart-write.inp 11 1e-13 -51.496123149381503
H2O-restart-read.inp 11 3e-13 -51.496123418414186
H2O-restart-read-curvy.inp 11 2e-13 -51.496124073690879

View file

@ -59,4 +59,6 @@ H2O_KSH_AO_numdiag.inp 31 1e-05
#
N2_ec-hfx.inp 11 1e-10 -19.8158435718
N2_ec-hfx-admm.inp 11 1e-10 -19.8434174973
#
harris.inp 0
#EOF

View file

@ -0,0 +1,82 @@
&FORCE_EVAL
METHOD Quickstep
&DFT
BASIS_SET_FILE_NAME BASIS_SET
POTENTIAL_FILE_NAME GTH_POTENTIALS
&MGRID
CUTOFF 300
&END MGRID
&QS
METHOD GPW
EPS_DEFAULT 1.E-12
&END QS
&EFIELD
&END
&ENERGY_CORRECTION
ENERGY_FUNCTIONAL HARRIS
HARRIS_BASIS ORBITAL
&RESPONSE_SOLVER
METHOD MO_SOLVER
PRECONDITIONER FULL_SINGLE_INVERSE
&END
&XC
&XC_FUNCTIONAL PBE
&END
&END XC
&PRINT
&MOMENTS ON
PERIODIC .FALSE.
REFERENCE COM
&END
&END
&END ENERGY_CORRECTION
&SCF
EPS_SCF 1.0E-7
SCF_GUESS ATOMIC
&END
&XC
&XC_FUNCTIONAL PADE
&END
&END XC
&POISSON
PERIODIC NONE
POISSON_SOLVER MT
&END
&END DFT
&SUBSYS
&CELL
PERIODIC NONE
ABC 5.0 5.0 5.0
&END CELL
&COORD
O 0.000000 0.000000 -0.065587
H 0.000000 -0.757136 0.520545
H 0.000000 0.757136 0.520545
&END COORD
&TOPOLOGY
&CENTER_COORDINATES
&END
&END
&KIND H
BASIS_SET DZVP-GTH-PADE
POTENTIAL GTH-PADE-q1
&END KIND
&KIND O
BASIS_SET DZVP-GTH-PADE
POTENTIAL GTH-PADE-q6
&END KIND
&END SUBSYS
&END FORCE_EVAL
&GLOBAL
PROJECT harris
RUN_TYPE DEBUG
PRINT_LEVEL LOW
&END GLOBAL
&DEBUG
DEBUG_FORCES .FALSE.
DEBUG_STRESS_TENSOR .FALSE.
DEBUG_DIPOLE .TRUE.
DEBUG_POLARIZABILITY .FALSE.
CHECK_DIPOLE_DIRS Z
&END

View file

@ -30,8 +30,8 @@ H2.inp 1 2e-14
# printing of structure data
H2O-geoopt.inp 1 8e-14 -17.15265559026891
H2O-fixed.inp 1 4e-14 -17.15247383327702
h2o_dip_berry.inp 17 1.0E-14 2.91646301
h2o_dip_iso.inp 17 1.0E-14 2.88539751
h2o_dip_berry.inp 17 1.0E-14 2.9164630
h2o_dip_iso.inp 17 1.0E-14 2.8853975
#pre-processor
H2-inpp.inp 0
# vdW correction

View file

@ -1,5 +1,5 @@
# bugs in berry phase dipole
bug_ai_moments.inp 39 1.0E-14 0.28391764
bug_ai_moments.inp 39 1.0E-08 0.2839176
#
si8_broy_stm.inp 1 2e-13 -30.92831595126399
si8_broy_wc.inp 23 2e-06 1902.3469570831001