mirror of
https://github.com/cp2k/cp2k.git
synced 2026-07-28 22:25:32 -04:00
Dipole moments (non periodic) for Harris functionals (#1720)
* Harris Functional bug fix for dipole moments and regtests * Update regtest (speed)
This commit is contained in:
parent
14356eb374
commit
e840aa2a81
11 changed files with 70 additions and 30 deletions
|
|
@ -221,7 +221,6 @@ CONTAINS
|
|||
|
||||
IF (ec_env%should_update) THEN
|
||||
ec_env%efield_nuclear = -SUM(ci(:)*fieldpol(:))
|
||||
|
||||
! Update KS matrix
|
||||
matrix_ks => ec_env%matrix_h(:, 1)
|
||||
dipmat => efield%dipmat
|
||||
|
|
@ -304,11 +303,11 @@ CONTAINS
|
|||
! density matrix
|
||||
NULLIFY (p_block_a)
|
||||
CALL dbcsr_get_block_p(ec_env%matrix_p(1, 1)%matrix, irow, icol, p_block_a, found)
|
||||
!deb IF (.NOT. found) CYCLE
|
||||
IF (.NOT. found) CYCLE
|
||||
IF (SIZE(ec_env%matrix_p, 1) > 1) THEN
|
||||
NULLIFY (p_block_b)
|
||||
CALL dbcsr_get_block_p(ec_env%matrix_p(2, 1)%matrix, irow, icol, p_block_b, found)
|
||||
!deb CPASSERT(found)
|
||||
CPASSERT(found)
|
||||
END IF
|
||||
forcea = 0.0_dp
|
||||
forceb = 0.0_dp
|
||||
|
|
|
|||
|
|
@ -51,6 +51,9 @@ MODULE energy_corrections
|
|||
cp_print_key_should_output,&
|
||||
cp_print_key_unit_nr
|
||||
USE cp_para_types, ONLY: cp_para_env_type
|
||||
USE cp_result_methods, ONLY: cp_results_erase,&
|
||||
put_results
|
||||
USE cp_result_types, ONLY: cp_result_type
|
||||
USE dbcsr_api, ONLY: &
|
||||
dbcsr_add, dbcsr_copy, dbcsr_create, dbcsr_desymmetrize, dbcsr_distribution_type, &
|
||||
dbcsr_dot, dbcsr_filter, dbcsr_get_info, dbcsr_init_p, dbcsr_multiply, dbcsr_p_type, &
|
||||
|
|
@ -1982,6 +1985,7 @@ CONTAINS
|
|||
|
||||
CHARACTER(LEN=8), DIMENSION(3) :: rlab
|
||||
CHARACTER(LEN=default_path_length) :: filename
|
||||
CHARACTER(LEN=default_string_length) :: description
|
||||
INTEGER :: akind, handle, i, ia, iatom, idir, &
|
||||
ikind, iounit, ispin, maxmom, nspins, &
|
||||
reference, unit_nr
|
||||
|
|
@ -1993,6 +1997,7 @@ CONTAINS
|
|||
TYPE(cell_type), POINTER :: cell
|
||||
TYPE(cp_logger_type), POINTER :: logger
|
||||
TYPE(cp_para_env_type), POINTER :: para_env
|
||||
TYPE(cp_result_type), POINTER :: results
|
||||
TYPE(dbcsr_p_type), DIMENSION(:), POINTER :: matrix_s, moments
|
||||
TYPE(distribution_1d_type), POINTER :: local_particles
|
||||
TYPE(particle_type), DIMENSION(:), POINTER :: particle_set
|
||||
|
|
@ -2104,8 +2109,8 @@ CONTAINS
|
|||
END DO
|
||||
CALL dbcsr_deallocate_matrix_set(moments)
|
||||
!
|
||||
tdip = -(rdip + pdip + cdip)
|
||||
IF (unit_nr > 0) THEN
|
||||
tdip = -(rdip + pdip + cdip)
|
||||
WRITE (unit_nr, "(T3,A)") "Dipoles are based on the traditional operator."
|
||||
dd = SQRT(SUM(tdip(1:3)**2))*debye
|
||||
WRITE (unit_nr, "(T3,A)") "Dipole moment [Debye]"
|
||||
|
|
@ -2117,6 +2122,10 @@ CONTAINS
|
|||
|
||||
CALL cp_print_key_finished_output(unit_nr=unit_nr, logger=logger, &
|
||||
basis_section=qs_env%input, print_key_path="DFT%PRINT%MOMENTS")
|
||||
CALL get_qs_env(qs_env=qs_env, results=results)
|
||||
description = "[DIPOLE]"
|
||||
CALL cp_results_erase(results=results, description=description)
|
||||
CALL put_results(results=results, description=description, values=tdip(1:3))
|
||||
END IF
|
||||
|
||||
CALL timestop(handle)
|
||||
|
|
|
|||
|
|
@ -21,17 +21,17 @@ h2o_dip22.inp 86 1e-08
|
|||
h2o_dip23.inp 86 1e-08 0.292668779126E+00
|
||||
h2o_dip24.inp 86 1e-04 0.143426397582E+00
|
||||
h2o_dip25.inp 86 1e-08 0.149038318612E+00
|
||||
#h2o_dip26.inp 86 1e-05 0.000000000000E+00 EC - PADE - PADE HARRIS Basis
|
||||
#h2o_dip27.inp 86 1e-05 0.000000000000E+00 *EC - PADE - PADE HARRIS Basis
|
||||
#h2o_dip28.inp 86 1e-05 0.000000000000E+00 *EC - PADE - PADE HARRIS Basis
|
||||
#h2o_dip29.inp 86 1e-05 0.000000000000E+00 *EC - PADE - PADE HARRIS Basis
|
||||
#h2o_dip30.inp 86 1e-05 0.000000000000E+00 *EC - PADE - PADE HARRIS Basis
|
||||
#h2o_dip31.inp 86 1e-05 0.000000000000E+00 *EC - PADE - PADE HARRIS Basis
|
||||
#h2o_dip32.inp 86 1e-05 0.000000000000E+00 *EC - PADE - PADE HARRIS Basis
|
||||
#h2o_dip33.inp 86 1e-05 0.000000000000E+00 *EC - PADE - PADE HARRIS Basis
|
||||
#h2o_dip34.inp 86 1e-05 0.000000000000E+00 *EC - PADE - PADE HARRIS Basis
|
||||
h2o_dip26.inp 86 1e-05 0.857182943913E+00
|
||||
h2o_dip27.inp 86 1e-05 0.853584233090E+00
|
||||
h2o_dip28.inp 86 1e-05 0.844810630096E+00
|
||||
#h2o_dip29.inp 86 1e-05 0.000000000000E+00 *EC - PBE0 - PADE HARRIS Basis
|
||||
#h2o_dip30.inp 86 1e-05 0.000000000000E+00 *EC - PADE - PBE HARRIS Basis
|
||||
#h2o_dip31.inp 86 1e-05 0.000000000000E+00 *EC - HF - PADE HARRIS Basis
|
||||
h2o_dip32.inp 86 1e-05 0.748223258169E+00
|
||||
#h2o_dip33.inp 86 1e-05 0.000000000000E+00 *EC - PBE0 - PBE HARRIS Basis
|
||||
#h2o_dip34.inp 86 1e-05 0.000000000000E+00 *EC - PBE0/ADMM - PBE HARRIS Basis
|
||||
h2o_dip35.inp 86 1e-05 0.159623722231E+00
|
||||
h2o_dip36.inp 86 1e-05 0.159624169779E+00
|
||||
h2o_dip37.inp 86 1e-05 0.145842142590E+00
|
||||
#h2o_dip38.inp 86 1e-05 0.000000000000E+00 ADMM/DEFAULT
|
||||
h2o_dip38.inp 86 1e-05 -0.156087402361E+00
|
||||
#EOF
|
||||
|
|
|
|||
|
|
@ -7,6 +7,9 @@
|
|||
&END QS
|
||||
&EFIELD
|
||||
&END
|
||||
&MGRID
|
||||
CUTOFF 200
|
||||
&END MGRID
|
||||
&ENERGY_CORRECTION
|
||||
ENERGY_FUNCTIONAL HARRIS
|
||||
HARRIS_BASIS ORBITAL
|
||||
|
|
@ -25,10 +28,10 @@
|
|||
&END
|
||||
&OUTER_SCF
|
||||
MAX_SCF 10
|
||||
EPS_SCF 1.0E-8
|
||||
EPS_SCF 1.0E-7
|
||||
&END
|
||||
MAX_SCF 10
|
||||
EPS_SCF 1.0E-8
|
||||
EPS_SCF 1.0E-7
|
||||
&END SCF
|
||||
&XC
|
||||
&XC_FUNCTIONAL PBE
|
||||
|
|
@ -43,7 +46,7 @@
|
|||
&END DFT
|
||||
&SUBSYS
|
||||
&CELL
|
||||
ABC [angstrom] 6.0 6.0 6.0
|
||||
ABC [angstrom] 5.0 5.0 5.0
|
||||
PERIODIC NONE
|
||||
&END
|
||||
&COORD
|
||||
|
|
|
|||
|
|
@ -16,6 +16,12 @@
|
|||
&END
|
||||
&END
|
||||
&END XC
|
||||
&RESPONSE_SOLVER
|
||||
METHOD MO_SOLVER
|
||||
PRECONDITIONER FULL_SINGLE_INVERSE
|
||||
EPS 1.E-5
|
||||
EPS_FILTER 1.E-6
|
||||
&END
|
||||
&END ENERGY_CORRECTION
|
||||
&SCF
|
||||
SCF_GUESS ATOMIC
|
||||
|
|
@ -58,13 +64,11 @@
|
|||
&KIND H
|
||||
BASIS_SET DZVP-GTH-PADE
|
||||
BASIS_SET HARRIS DZVP-GTH-PADE
|
||||
BASIS_SET AUX_FIT FIT3
|
||||
POTENTIAL GTH-PADE-q1
|
||||
&END KIND
|
||||
&KIND O
|
||||
BASIS_SET DZVP-GTH-PADE
|
||||
BASIS_SET HARRIS DZVP-GTH-PADE
|
||||
BASIS_SET AUX_FIT FIT3
|
||||
POTENTIAL GTH-PADE-q6
|
||||
&END KIND
|
||||
&END SUBSYS
|
||||
|
|
|
|||
|
|
@ -16,6 +16,12 @@
|
|||
&END
|
||||
&END
|
||||
&END XC
|
||||
&RESPONSE_SOLVER
|
||||
METHOD MO_SOLVER
|
||||
PRECONDITIONER FULL_SINGLE_INVERSE
|
||||
EPS 1.E-5
|
||||
EPS_FILTER 1.E-6
|
||||
&END
|
||||
&END ENERGY_CORRECTION
|
||||
&SCF
|
||||
SCF_GUESS ATOMIC
|
||||
|
|
@ -58,13 +64,11 @@
|
|||
&KIND H
|
||||
BASIS_SET DZVP-GTH-PADE
|
||||
BASIS_SET HARRIS DZVP-GTH-PADE
|
||||
BASIS_SET AUX_FIT FIT3
|
||||
POTENTIAL GTH-PADE-q1
|
||||
&END KIND
|
||||
&KIND O
|
||||
BASIS_SET DZVP-GTH-PADE
|
||||
BASIS_SET HARRIS DZVP-GTH-PADE
|
||||
BASIS_SET AUX_FIT FIT3
|
||||
POTENTIAL GTH-PADE-q6
|
||||
&END KIND
|
||||
&END SUBSYS
|
||||
|
|
|
|||
|
|
@ -16,6 +16,12 @@
|
|||
&END
|
||||
&END
|
||||
&END XC
|
||||
&RESPONSE_SOLVER
|
||||
METHOD MO_SOLVER
|
||||
PRECONDITIONER FULL_SINGLE_INVERSE
|
||||
EPS 1.E-5
|
||||
EPS_FILTER 1.E-6
|
||||
&END
|
||||
&END ENERGY_CORRECTION
|
||||
&SCF
|
||||
SCF_GUESS ATOMIC
|
||||
|
|
@ -63,13 +69,11 @@
|
|||
&KIND H
|
||||
BASIS_SET DZV-GTH-PADE
|
||||
BASIS_SET HARRIS DZVP-GTH-PADE
|
||||
BASIS_SET AUX_FIT FIT3
|
||||
POTENTIAL GTH-PADE-q1
|
||||
&END KIND
|
||||
&KIND O
|
||||
BASIS_SET DZVP-GTH-PADE
|
||||
BASIS_SET HARRIS DZVP-GTH-PADE
|
||||
BASIS_SET AUX_FIT FIT3
|
||||
POTENTIAL GTH-PADE-q6
|
||||
&END KIND
|
||||
&END SUBSYS
|
||||
|
|
|
|||
|
|
@ -7,6 +7,9 @@
|
|||
&END QS
|
||||
&EFIELD
|
||||
&END
|
||||
&MGRID
|
||||
CUTOFF 200
|
||||
&END MGRID
|
||||
&ENERGY_CORRECTION
|
||||
ENERGY_FUNCTIONAL HARRIS
|
||||
HARRIS_BASIS HARRIS
|
||||
|
|
@ -25,10 +28,10 @@
|
|||
&END
|
||||
&OUTER_SCF
|
||||
MAX_SCF 10
|
||||
EPS_SCF 1.0E-8
|
||||
EPS_SCF 1.0E-7
|
||||
&END
|
||||
MAX_SCF 10
|
||||
EPS_SCF 1.0E-8
|
||||
EPS_SCF 1.0E-7
|
||||
&END SCF
|
||||
&XC
|
||||
&XC_FUNCTIONAL PBE
|
||||
|
|
@ -43,7 +46,7 @@
|
|||
&END DFT
|
||||
&SUBSYS
|
||||
&CELL
|
||||
ABC [angstrom] 6.0 6.0 6.0
|
||||
ABC [angstrom] 5.0 5.0 5.0
|
||||
PERIODIC NONE
|
||||
&END
|
||||
&COORD
|
||||
|
|
|
|||
|
|
@ -16,6 +16,12 @@
|
|||
&END
|
||||
&END
|
||||
&END XC
|
||||
&RESPONSE_SOLVER
|
||||
METHOD MO_SOLVER
|
||||
PRECONDITIONER FULL_SINGLE_INVERSE
|
||||
EPS 1.E-5
|
||||
EPS_FILTER 1.E-6
|
||||
&END
|
||||
&END ENERGY_CORRECTION
|
||||
&SCF
|
||||
SCF_GUESS ATOMIC
|
||||
|
|
@ -58,13 +64,11 @@
|
|||
&KIND H
|
||||
BASIS_SET DZVP-GTH-PADE
|
||||
BASIS_SET HARRIS DZVP-GTH-PADE
|
||||
BASIS_SET AUX_FIT FIT3
|
||||
POTENTIAL GTH-PADE-q1
|
||||
&END KIND
|
||||
&KIND O
|
||||
BASIS_SET DZVP-GTH-PADE
|
||||
BASIS_SET HARRIS DZVP-GTH-PADE
|
||||
BASIS_SET AUX_FIT FIT3
|
||||
POTENTIAL GTH-PADE-q6
|
||||
&END KIND
|
||||
&END SUBSYS
|
||||
|
|
|
|||
|
|
@ -24,6 +24,12 @@
|
|||
&END
|
||||
&END
|
||||
&END XC
|
||||
&RESPONSE_SOLVER
|
||||
METHOD MO_SOLVER
|
||||
PRECONDITIONER FULL_SINGLE_INVERSE
|
||||
EPS 1.E-5
|
||||
EPS_FILTER 1.E-6
|
||||
&END
|
||||
&END ENERGY_CORRECTION
|
||||
&SCF
|
||||
SCF_GUESS ATOMIC
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
&PROPERTIES
|
||||
&TDDFPT
|
||||
KERNEL FULL
|
||||
ADMM_KERNEL_CORRECTION_SYMMETRIC
|
||||
NSTATES 1
|
||||
MAX_ITER 50
|
||||
CONVERGENCE [eV] 1.0e-7
|
||||
|
|
@ -12,6 +13,9 @@
|
|||
BASIS_SET_FILE_NAME BASIS_SET
|
||||
BASIS_SET_FILE_NAME BASIS_ADMM
|
||||
POTENTIAL_FILE_NAME GTH_POTENTIALS
|
||||
&MGRID
|
||||
CUTOFF 200
|
||||
&END MGRID
|
||||
&QS
|
||||
METHOD GPW
|
||||
&END QS
|
||||
|
|
@ -34,10 +38,10 @@
|
|||
&END
|
||||
&OUTER_SCF
|
||||
MAX_SCF 10
|
||||
EPS_SCF 1.0E-7
|
||||
EPS_SCF 1.0E-6
|
||||
&END
|
||||
MAX_SCF 10
|
||||
EPS_SCF 1.0E-7
|
||||
EPS_SCF 1.0E-6
|
||||
&END SCF
|
||||
&XC
|
||||
&XC_FUNCTIONAL PBE0
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue