ADDED_MOS for EC with MO response solver, some regtests for TDDFPT GAP… (#2673)

This commit is contained in:
Juerg Hutter 2023-03-10 14:25:02 +01:00 committed by GitHub
parent 0716bbde8c
commit cf9aaa3c27
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 423 additions and 10 deletions

View file

@ -36,7 +36,6 @@ MODULE response_solver
cp_fm_struct_release,&
cp_fm_struct_type
USE cp_fm_types, ONLY: cp_fm_create,&
cp_fm_get_info,&
cp_fm_init_random,&
cp_fm_release,&
cp_fm_set_all,&
@ -179,14 +178,14 @@ CONTAINS
CHARACTER(LEN=*), PARAMETER :: routineN = 'response_calculation'
INTEGER :: handle, homo, ispin, nao, nao_aux, nmo, &
nspins, solver_method, unit_nr
nocc, nspins, solver_method, unit_nr
LOGICAL :: should_stop
REAL(KIND=dp) :: focc
TYPE(admm_type), POINTER :: admm_env
TYPE(cp_blacs_env_type), POINTER :: blacs_env
TYPE(cp_fm_struct_type), POINTER :: fm_struct
TYPE(cp_fm_type) :: sv
TYPE(cp_fm_type), ALLOCATABLE, DIMENSION(:) :: cpmos
TYPE(cp_fm_type), ALLOCATABLE, DIMENSION(:) :: cpmos, mo_occ
TYPE(cp_fm_type), POINTER :: mo_coeff
TYPE(cp_logger_type), POINTER :: logger
TYPE(dbcsr_p_type), DIMENSION(:), POINTER :: matrix_s, matrix_s_aux, rho_ao
@ -347,23 +346,31 @@ CONTAINS
! Sign is changed in linres_solver!
! Projector Q applied in linres_solver!
CALL get_qs_env(qs_env, mos=mos)
ALLOCATE (cpmos(nspins))
ALLOCATE (cpmos(nspins), mo_occ(nspins))
DO ispin = 1, nspins
CALL get_mo_set(mo_set=mos(ispin), mo_coeff=mo_coeff)
CALL cp_fm_get_info(mo_coeff, matrix_struct=fm_struct)
CALL get_mo_set(mo_set=mos(ispin), mo_coeff=mo_coeff, homo=nocc)
NULLIFY (fm_struct)
CALL cp_fm_struct_create(fm_struct, ncol_global=nocc, &
template_fmstruct=mo_coeff%matrix_struct)
CALL cp_fm_create(cpmos(ispin), fm_struct)
CALL cp_fm_set_all(cpmos(ispin), 0.0_dp)
CALL cp_fm_create(mo_occ(ispin), fm_struct)
CALL cp_fm_to_fm(mo_coeff, mo_occ(ispin), nocc)
CALL cp_fm_struct_release(fm_struct)
END DO
focc = 2.0_dp
IF (nspins == 1) focc = 4.0_dp
DO ispin = 1, nspins
CALL get_mo_set(mo_set=mos(ispin), mo_coeff=mo_coeff, nmo=nmo)
CALL cp_fm_set_all(cpmos(ispin), 0.0_dp)
CALL cp_dbcsr_sm_fm_multiply(ec_env%matrix_hz(ispin)%matrix, mo_coeff, &
cpmos(ispin), nmo, &
CALL get_mo_set(mo_set=mos(ispin), mo_coeff=mo_coeff, homo=nocc)
CALL cp_dbcsr_sm_fm_multiply(ec_env%matrix_hz(ispin)%matrix, mo_occ(ispin), &
cpmos(ispin), nocc, &
alpha=focc, beta=0.0_dp)
END DO
DO ispin = 1, nspins
CALL cp_fm_release(mo_occ(ispin))
END DO
DEALLOCATE (mo_occ)
CALL response_equation_new(qs_env, p_env, cpmos, unit_nr)

View file

@ -12,10 +12,14 @@ h2o_dip42.inp 0
h2o_dip43.inp 0
ch2o_dip44.inp 0
ch2o_dip45.inp 0
ch2o_dip46.inp 0
ch2o_dip47.inp 0
h2o_xc_dip40.inp 0
h2o_xc_dip41.inp 0
h2o_xc_dip42.inp 0
h2o_xc_dip43.inp 0
ch2o_xc_dip44.inp 0
ch2o_xc_dip45.inp 0
ch2o_xc_dip46.inp 0
ch2o_xc_dip47.inp 0
#EOF

View file

@ -0,0 +1,100 @@
&FORCE_EVAL
METHOD Quickstep
&PROPERTIES
&TDDFPT
KERNEL FULL
NSTATES 1
MAX_ITER 50
CONVERGENCE [eV] 1.0e-7
&END TDDFPT
&END PROPERTIES
&DFT
BASIS_SET_FILE_NAME BASIS_SET
POTENTIAL_FILE_NAME GTH_POTENTIALS
&MGRID
CUTOFF 250
&END MGRID
&QS
METHOD GAPW
EPS_DEFAULT 1.E-14
&END QS
&EFIELD
&END
&EXCITED_STATES T
STATE 1
DEBUG_FORCES T
&END EXCITED_STATES
&SCF
SCF_GUESS ATOMIC
&OT
PRECONDITIONER FULL_SINGLE_INVERSE
MINIMIZER DIIS
STEPSIZE 0.1
&END
&OUTER_SCF
MAX_SCF 20
EPS_SCF 1.0E-7
&END
MAX_SCF 20
EPS_SCF 1.0E-7
&END SCF
&XC
&XC_FUNCTIONAL PBE0
&END XC_FUNCTIONAL
&END XC
&PRINT
&MOMENTS ON
PERIODIC .FALSE.
REFERENCE COM
&END
&END
&POISSON
PERIODIC NONE
POISSON_SOLVER MT
&END
&END DFT
&SUBSYS
&CELL
ABC [angstrom] 4.0 4.0 4.0
PERIODIC NONE
&END
&COORD
O 0.000000 0.000000 0.895642
C 0.000000 0.000000 -0.307326
H 0.000000 0.947608 -0.895642
H 0.000000 -0.947608 -0.895562
&END COORD
&TOPOLOGY
&CENTER_COORDINATES
&END
&END
&KIND H
BASIS_SET DZVP-GTH-PADE
POTENTIAL GTH-PADE-q1
&END KIND
&KIND C
BASIS_SET DZVP-GTH-PADE
POTENTIAL GTH-PADE-q4
&END KIND
&KIND O
BASIS_SET DZVP-GTH-PADE
POTENTIAL GTH-PADE-q6
&END KIND
&END SUBSYS
&END FORCE_EVAL
&GLOBAL
PRINT_LEVEL LOW
PROJECT td_dipole
RUN_TYPE DEBUG
&END GLOBAL
&DEBUG
DEBUG_FORCES .FALSE.
DEBUG_STRESS_TENSOR .FALSE.
DEBUG_DIPOLE .TRUE.
CHECK_DIPOLE_DIRS Z
DEBUG_POLARIZABILITY .FALSE.
DE 0.001
&END

View file

@ -0,0 +1,101 @@
&FORCE_EVAL
METHOD Quickstep
&PROPERTIES
&TDDFPT
KERNEL FULL
ADMM_KERNEL_CORRECTION_SYMMETRIC
NSTATES 1
MAX_ITER 50
CONVERGENCE [eV] 1.0e-7
&END TDDFPT
&END PROPERTIES
&DFT
BASIS_SET_FILE_NAME BASIS_SET
BASIS_SET_FILE_NAME BASIS_ADMM
POTENTIAL_FILE_NAME GTH_POTENTIALS
&MGRID
CUTOFF 200
&END MGRID
&QS
METHOD GAPW
&END QS
&AUXILIARY_DENSITY_MATRIX_METHOD
ADMM_PURIFICATION_METHOD NONE
EXCH_CORRECTION_FUNC NONE
EXCH_SCALING_MODEL NONE
METHOD BASIS_PROJECTION
&END
&EFIELD
&END
&EXCITED_STATES T
STATE 1
&END EXCITED_STATES
&SCF
SCF_GUESS ATOMIC
&OT
PRECONDITIONER FULL_SINGLE_INVERSE
MINIMIZER DIIS
&END
&OUTER_SCF
MAX_SCF 10
EPS_SCF 1.0E-6
&END
MAX_SCF 10
EPS_SCF 1.0E-6
&END SCF
&XC
&XC_FUNCTIONAL PBE0
&END XC_FUNCTIONAL
&END XC
&PRINT
&MOMENTS ON
PERIODIC .FALSE.
REFERENCE COM
&END
&END
&POISSON
PERIODIC NONE
POISSON_SOLVER MT
&END
&END DFT
&SUBSYS
&CELL
ABC [angstrom] 4.0 4.0 4.0
PERIODIC NONE
&END
&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
BASIS_SET AUX_FIT FIT3
POTENTIAL GTH-PADE-q1
&END KIND
&KIND O
BASIS_SET DZVP-GTH-PADE
BASIS_SET AUX_FIT FIT3
POTENTIAL GTH-PADE-q6
&END KIND
&END SUBSYS
&END FORCE_EVAL
&GLOBAL
PRINT_LEVEL LOW
PROJECT td_dipole
RUN_TYPE DEBUG
&END GLOBAL
&DEBUG
DEBUG_FORCES .FALSE.
DEBUG_STRESS_TENSOR .FALSE.
DEBUG_DIPOLE .TRUE.
CHECK_DIPOLE_DIRS Z
DEBUG_POLARIZABILITY .FALSE.
DE 0.001
&END

View file

@ -0,0 +1,100 @@
&FORCE_EVAL
METHOD Quickstep
&PROPERTIES
&TDDFPT
KERNEL FULL
NSTATES 1
MAX_ITER 50
CONVERGENCE [eV] 1.0e-7
&END TDDFPT
&END PROPERTIES
&DFT
BASIS_SET_FILE_NAME BASIS_SET
POTENTIAL_FILE_NAME GTH_POTENTIALS
&MGRID
CUTOFF 250
&END MGRID
&QS
METHOD GAPW_XC
EPS_DEFAULT 1.E-14
&END QS
&EFIELD
&END
&EXCITED_STATES T
STATE 1
DEBUG_FORCES T
&END EXCITED_STATES
&SCF
SCF_GUESS ATOMIC
&OT
PRECONDITIONER FULL_SINGLE_INVERSE
MINIMIZER DIIS
STEPSIZE 0.1
&END
&OUTER_SCF
MAX_SCF 20
EPS_SCF 1.0E-7
&END
MAX_SCF 20
EPS_SCF 1.0E-7
&END SCF
&XC
&XC_FUNCTIONAL PBE0
&END XC_FUNCTIONAL
&END XC
&PRINT
&MOMENTS ON
PERIODIC .FALSE.
REFERENCE COM
&END
&END
&POISSON
PERIODIC NONE
POISSON_SOLVER MT
&END
&END DFT
&SUBSYS
&CELL
ABC [angstrom] 4.0 4.0 4.0
PERIODIC NONE
&END
&COORD
O 0.000000 0.000000 0.895642
C 0.000000 0.000000 -0.307326
H 0.000000 0.947608 -0.895642
H 0.000000 -0.947608 -0.895562
&END COORD
&TOPOLOGY
&CENTER_COORDINATES
&END
&END
&KIND H
BASIS_SET DZVP-GTH-PADE
POTENTIAL GTH-PADE-q1
&END KIND
&KIND C
BASIS_SET DZVP-GTH-PADE
POTENTIAL GTH-PADE-q4
&END KIND
&KIND O
BASIS_SET DZVP-GTH-PADE
POTENTIAL GTH-PADE-q6
&END KIND
&END SUBSYS
&END FORCE_EVAL
&GLOBAL
PRINT_LEVEL LOW
PROJECT td_dipole
RUN_TYPE DEBUG
&END GLOBAL
&DEBUG
DEBUG_FORCES .FALSE.
DEBUG_STRESS_TENSOR .FALSE.
DEBUG_DIPOLE .TRUE.
CHECK_DIPOLE_DIRS Z
DEBUG_POLARIZABILITY .FALSE.
DE 0.001
&END

View file

@ -0,0 +1,101 @@
&FORCE_EVAL
METHOD Quickstep
&PROPERTIES
&TDDFPT
KERNEL FULL
ADMM_KERNEL_CORRECTION_SYMMETRIC
NSTATES 1
MAX_ITER 50
CONVERGENCE [eV] 1.0e-7
&END TDDFPT
&END PROPERTIES
&DFT
BASIS_SET_FILE_NAME BASIS_SET
BASIS_SET_FILE_NAME BASIS_ADMM
POTENTIAL_FILE_NAME GTH_POTENTIALS
&MGRID
CUTOFF 200
&END MGRID
&QS
METHOD GAPW_XC
&END QS
&AUXILIARY_DENSITY_MATRIX_METHOD
ADMM_PURIFICATION_METHOD NONE
EXCH_CORRECTION_FUNC NONE
EXCH_SCALING_MODEL NONE
METHOD BASIS_PROJECTION
&END
&EFIELD
&END
&EXCITED_STATES T
STATE 1
&END EXCITED_STATES
&SCF
SCF_GUESS ATOMIC
&OT
PRECONDITIONER FULL_SINGLE_INVERSE
MINIMIZER DIIS
&END
&OUTER_SCF
MAX_SCF 10
EPS_SCF 1.0E-6
&END
MAX_SCF 10
EPS_SCF 1.0E-6
&END SCF
&XC
&XC_FUNCTIONAL PBE0
&END XC_FUNCTIONAL
&END XC
&PRINT
&MOMENTS ON
PERIODIC .FALSE.
REFERENCE COM
&END
&END
&POISSON
PERIODIC NONE
POISSON_SOLVER MT
&END
&END DFT
&SUBSYS
&CELL
ABC [angstrom] 4.0 4.0 4.0
PERIODIC NONE
&END
&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
BASIS_SET AUX_FIT FIT3
POTENTIAL GTH-PADE-q1
&END KIND
&KIND O
BASIS_SET DZVP-GTH-PADE
BASIS_SET AUX_FIT FIT3
POTENTIAL GTH-PADE-q6
&END KIND
&END SUBSYS
&END FORCE_EVAL
&GLOBAL
PRINT_LEVEL LOW
PROJECT td_dipole
RUN_TYPE DEBUG
&END GLOBAL
&DEBUG
DEBUG_FORCES .FALSE.
DEBUG_STRESS_TENSOR .FALSE.
DEBUG_DIPOLE .TRUE.
CHECK_DIPOLE_DIRS Z
DEBUG_POLARIZABILITY .FALSE.
DE 0.001
&END