mirror of
https://github.com/cp2k/cp2k.git
synced 2026-07-21 06:25:15 -04:00
Some small updates and fixes (#2683)
This commit is contained in:
parent
ecf4ca11ce
commit
c9dfd2aeb4
15 changed files with 6270 additions and 43 deletions
6075
data/BASIS_MINBAS
Normal file
6075
data/BASIS_MINBAS
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -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")
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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=(/" ", " ", " "/), &
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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")
|
||||
|
|
|
|||
|
|
@ -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]"
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
82
tests/QS/regtest-dcdft-force/dipole.inp
Normal file
82
tests/QS/regtest-dcdft-force/dipole.inp
Normal 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
|
||||
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
82
tests/QS/regtest-ec/harris.inp
Normal file
82
tests/QS/regtest-ec/harris.inp
Normal 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
|
||||
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue