Skip to content

Commit

Permalink
Ajust regtests and coding conventions (#1673)
Browse files Browse the repository at this point in the history
* Initial guess xTB

* xTB: undo changes

* Adjust regtests and conventions
  • Loading branch information
juerghutter committed Oct 12, 2021
1 parent 6ba77da commit 81a1f6d
Show file tree
Hide file tree
Showing 13 changed files with 65 additions and 46 deletions.
14 changes: 12 additions & 2 deletions src/qs_density_matrices.F
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ MODULE qs_density_matrices
USE cp_fm_basic_linalg, ONLY: cp_fm_column_scale,&
cp_fm_scale_and_add,&
cp_fm_symm,&
cp_fm_transpose,&
cp_fm_upper_to_full
USE cp_fm_struct, ONLY: cp_fm_struct_create,&
cp_fm_struct_release,&
Expand All @@ -30,6 +31,9 @@ MODULE qs_density_matrices
cp_fm_to_fm,&
cp_fm_type
USE cp_gemm_interface, ONLY: cp_gemm
USE cp_log_handling, ONLY: cp_get_default_logger,&
cp_logger_get_default_unit_nr,&
cp_logger_type
USE cp_para_types, ONLY: cp_para_env_type
USE dbcsr_api, ONLY: dbcsr_copy,&
dbcsr_multiply,&
Expand Down Expand Up @@ -217,12 +221,13 @@ SUBROUTINE calculate_w_matrix_ot(mo_set, mo_deriv, w_matrix, s_matrix)
LOGICAL, PARAMETER :: check_gradient = .FALSE., &
do_symm = .FALSE.

INTEGER :: handle, ncol_block, ncol_global, &
INTEGER :: handle, iounit, ncol_block, ncol_global, &
nrow_block, nrow_global
REAL(KIND=dp), DIMENSION(:), POINTER :: occupation_numbers, scaling_factor
TYPE(cp_fm_struct_type), POINTER :: fm_struct_tmp
TYPE(cp_fm_type), POINTER :: gradient, h_block, h_block_t, &
weighted_vectors
TYPE(cp_logger_type), POINTER :: logger

CALL timeset(routineN, handle)
NULLIFY (weighted_vectors, h_block, fm_struct_tmp)
Expand Down Expand Up @@ -281,7 +286,12 @@ SUBROUTINE calculate_w_matrix_ot(mo_set, mo_deriv, w_matrix, s_matrix)
CALL cp_fm_column_scale(weighted_vectors, scaling_factor)
DEALLOCATE (scaling_factor)

WRITE (*, *) " maxabs difference ", MAXVAL(ABS(weighted_vectors%local_data - 2.0_dp*gradient%local_data))
logger => cp_get_default_logger()
IF (logger%para_env%ionode) THEN
iounit = cp_logger_get_default_unit_nr(logger, local=.TRUE.)
WRITE (iounit, *) " maxabs difference ", &
MAXVAL(ABS(weighted_vectors%local_data - 2.0_dp*gradient%local_data))
ENDIF
CALL cp_fm_release(gradient)
ENDIF

Expand Down
20 changes: 13 additions & 7 deletions src/qs_initial_guess.F
Original file line number Diff line number Diff line change
Expand Up @@ -1387,7 +1387,7 @@ SUBROUTINE calculate_mopac_dm(pmat, matrix_s, has_unit_metric, &
econf(0:maxl) = edftb(0:maxl)
ELSEIF (dft_control%qs_control%xtb) THEN
CALL get_qs_kind(qs_kind_set(ikind), xtb_parameter=xtb_kind)
CALL get_xtb_atom_param(xtb_kind, natorb=nsgf, nao=naox, lao=laox, occupation=occupation)
CALL get_xtb_atom_param(xtb_kind, z=z, natorb=nsgf, nao=naox, lao=laox, occupation=occupation)
ELSEIF (has_pot) THEN
CALL get_atomic_kind(atomic_kind_set(ikind), z=z)
CALL get_qs_kind(qs_kind_set(ikind), nsgf=nsgf, elec_conf=elec_conf, zeff=zeff)
Expand Down Expand Up @@ -1434,12 +1434,18 @@ SUBROUTINE calculate_mopac_dm(pmat, matrix_s, has_unit_metric, &
DO iatom = 1, natom
atom_a = atom_list(iatom)
isgfa = first_sgf(atom_a)
DO isgf = 1, nsgf
na = naox(isgf)
la = laox(isgf)
occ = REAL(occupation(na), dp)/REAL(2*la + 1, dp)
pdiag(isgfa + isgf - 1) = occ
END DO
IF (z == 1 .AND. nsgf == 2) THEN
! Hydrogen 2s basis
pdiag(isgfa) = 1.0_dp
pdiag(isgfa + 1) = 0.0_dp
ELSE
DO isgf = 1, nsgf
na = naox(isgf)
la = laox(isgf)
occ = REAL(occupation(la + 1), dp)/REAL(2*la + 1, dp)
pdiag(isgfa + isgf - 1) = occ
END DO
END IF
END DO
ELSEIF (dft_control%qs_control%semi_empirical) THEN
yy = REAL(dft_control%charge, KIND=dp)/REAL(nao, KIND=dp)
Expand Down
8 changes: 0 additions & 8 deletions src/qs_linres_kernel.F
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,6 @@ SUBROUTINE apply_op_2_dft(qs_env, p_env, c0, v, Av)
TYPE(cp_fm_p_type), DIMENSION(:), POINTER :: c0, v, Av

CHARACTER(len=*), PARAMETER :: routineN = 'apply_op_2_dft'
REAL(KIND=dp), PARAMETER :: h = 0.001_dp

INTEGER :: handle, ikind, ispin, ncol, nkind, ns, &
nspins
Expand Down Expand Up @@ -341,8 +340,6 @@ SUBROUTINE apply_op_2_dft(qs_env, p_env, c0, v, Av)
END DO
DEALLOCATE (v_xc)

!=========================================================================================================================

! ADMM Correction
IF (dft_control%do_admm) THEN
IF (dft_control%admm_control%aux_exch_func /= do_admm_aux_exch_func_none) THEN
Expand Down Expand Up @@ -507,11 +504,7 @@ SUBROUTINE apply_op_2_dft(qs_env, p_env, c0, v, Av)
IF (qs_env%kg_env%tnadd_method == kg_tnadd_embed) THEN

CALL qs_rho_get(rho1, rho_ao=rho1_ao)
!MERGE IF (nspins == 2) THEN
alpha = 1.0_dp
! ELSE
! alpha = 2.0_dp
!MERGE END IF

ekin_mol = 0.0_dp
CALL get_qs_env(qs_env, kg_env=kg_env)
Expand All @@ -521,7 +514,6 @@ SUBROUTINE apply_op_2_dft(qs_env, p_env, c0, v, Av)
calc_force=.FALSE., &
do_kernel=.TRUE., &
pmat_ext=rho1_ao)
!MERGE alpha=alpha)
END IF
END IF

Expand Down
22 changes: 11 additions & 11 deletions src/xtb_parameters.F
Original file line number Diff line number Diff line change
Expand Up @@ -143,19 +143,19 @@ MODULE xtb_parameters
! Charge Limits (Mulliken)
REAL(KIND=dp), DIMENSION(0:nelem), &
PARAMETER, PRIVATE :: clmt = (/0.00_dp, & ! 0
1.00_dp, 0.50_dp, & ! 2
1.00_dp, 2.00_dp, 3.00_dp, 4.00_dp, 3.00_dp, 2.00_dp, 1.00_dp, 0.50_dp, & ! 10
1.00_dp, 2.00_dp, 3.00_dp, 4.00_dp, 3.00_dp, 2.00_dp, 1.00_dp, 0.50_dp, & ! 18
1.00_dp, 2.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, &
3.00_dp, 3.00_dp, 3.00_dp, 2.00_dp, 2.03_dp, 2.00_dp, 2.00_dp, 2.00_dp, 1.00_dp, 0.50_dp, & ! 36
1.00_dp, 2.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, &
3.00_dp, 3.00_dp, 3.00_dp, 2.00_dp, 2.00_dp, 2.00_dp, 2.00_dp, 2.00_dp, 1.00_dp, 0.50_dp, & ! 54
1.00_dp, 2.00_dp, 3.00_dp, &
1.05_dp, 1.25_dp, & ! 2
1.05_dp, 2.05_dp, 3.00_dp, 4.00_dp, 3.00_dp, 2.00_dp, 1.25_dp, 1.00_dp, & ! 10
1.05_dp, 2.05_dp, 3.00_dp, 4.00_dp, 3.00_dp, 2.00_dp, 1.25_dp, 1.00_dp, & ! 18
1.05_dp, 2.05_dp, 3.50_dp, 3.50_dp, 3.50_dp, 3.50_dp, 3.50_dp, 3.50_dp, &
3.50_dp, 3.50_dp, 3.50_dp, 2.50_dp, 2.50_dp, 3.50_dp, 3.50_dp, 3.50_dp, 1.25_dp, 1.00_dp, & ! 36
1.05_dp, 2.05_dp, 3.50_dp, 3.50_dp, 3.50_dp, 3.50_dp, 3.50_dp, 3.50_dp, &
3.50_dp, 3.50_dp, 3.50_dp, 2.50_dp, 2.50_dp, 3.50_dp, 3.50_dp, 3.50_dp, 1.25_dp, 1.00_dp, & ! 54
1.05_dp, 2.05_dp, 3.00_dp, &
3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, &
3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, & ! Lanthanides
3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, &
2.00_dp, 2.00_dp, 2.00_dp, 2.00_dp, 2.00_dp, 1.00_dp, 0.50_dp, & ! 86
1.00_dp, 2.00_dp, 3.00_dp, &
3.50_dp, 3.50_dp, 3.50_dp, 3.50_dp, 3.50_dp, 3.50_dp, 3.50_dp, 3.50_dp, &
2.50_dp, 2.50_dp, 3.50_dp, 3.50_dp, 3.50_dp, 1.25_dp, 1.00_dp, & ! 86
1.05_dp, 2.05_dp, 3.00_dp, &
3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, &
3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, 3.00_dp, & ! Actinides
3.00_dp, 3.00_dp, 3.00_dp/)
Expand Down
2 changes: 1 addition & 1 deletion tests/QS/regtest-debug-5/TEST_FILES
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ h2o_dip20.inp 86 1e-08
h2o_dip21.inp 86 1e-08 0.176823912039E+00
h2o_dip22.inp 86 1e-08 0.135209164224E+00
h2o_dip23.inp 86 1e-08 0.292668779126E+00
h2o_dip24.inp 86 5e-05 -0.143426397582E+00
h2o_dip24.inp 86 5e-05 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
Expand Down
4 changes: 2 additions & 2 deletions tests/QS/regtest-debug-5/h2o_dip24.inp
Original file line number Diff line number Diff line change
Expand Up @@ -80,8 +80,8 @@
&GLOBAL
PRINT_LEVEL LOW
PROJECT dipole
## RUN_TYPE ENERGY_FORCE
RUN_TYPE DEBUG
RUN_TYPE ENERGY_FORCE
## RUN_TYPE DEBUG
&END GLOBAL
&DEBUG
DEBUG_FORCES .FALSE.
Expand Down
2 changes: 1 addition & 1 deletion tests/QS/regtest-ec-force/TEST_FILES
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ N2_t03.inp 1 5e-12
N2_t04.inp 1 1e-12 -19.91950764923067
N2_t05.inp 1 5e-11 -19.45601327358312
N2_t06.inp 1 1e-11 -19.89228099201857
N2_t07.inp 1 1e-12 -19.44508292698253
N2_t07.inp 1 1e-11 -19.44508292698253
N2_t08.inp 1 5e-11 -19.54242231073764
N2_t08b.inp 1 5e-11 -19.54242225427242
N2_t09.inp 1 1e-12 -19.52266035514095
Expand Down
2 changes: 1 addition & 1 deletion tests/QS/regtest-stda-force-2/TEST_FILES
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,5 @@ h2o_f09.inp 1 1.0E-11
h2o_f10.inp 1 5.0E-11 -16.66860074430131
h2o_f10b.inp 1 1.0E-11 -17.00363264930931
h2o_f10c.inp 1 1.0E-11 -17.11290579606160
h2o_f11.inp 1 5.0E-11 -17.24250934359922
h2o_f11.inp 1 5.0E-11 -17.23630837940500
#EOF
8 changes: 4 additions & 4 deletions tests/QS/regtest-stda-force-2/h2o_f11.inp
Original file line number Diff line number Diff line change
Expand Up @@ -28,17 +28,17 @@
&END
&OUTER_SCF
MAX_SCF 10
EPS_SCF 1.0E-6
EPS_SCF 1.0E-7
&END
MAX_SCF 50
EPS_SCF 1.0E-6
EPS_SCF 1.0E-7
&END SCF
&XC
&XC_FUNCTIONAL PBE
&END XC_FUNCTIONAL
&END XC
&MGRID
CUTOFF 200
CUTOFF 280
REL_CUTOFF 40
&END
&POISSON
Expand All @@ -48,7 +48,7 @@
&END DFT
&SUBSYS
&CELL
ABC [angstrom] 5.0 5.0 5.0
ABC [angstrom] 4.5 4.5 4.5
PERIODIC NONE
&END
&COORD
Expand Down
19 changes: 15 additions & 4 deletions tests/QS/regtest-stda/CH2O_s1.inp
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
&END sTDA
NSTATES 5
MAX_ITER 50
CONVERGENCE [eV] 1.0e-7
CONVERGENCE [eV] 1.0e-8
&END TDDFPT
&END PROPERTIES
&PRINT
Expand All @@ -24,16 +24,26 @@
BASIS_SET_FILE_NAME GTH_BASIS_SETS
POTENTIAL_FILE_NAME POTENTIAL
&MGRID
CUTOFF 200
CUTOFF 280
REL_CUTOFF 60
&END MGRID
&QS
&END QS
&EXCITED_STATES T
STATE 1
&END EXCITED_STATES
&SCF
MAX_SCF 50
MAX_SCF 10
EPS_SCF 1.E-7
SCF_GUESS ATOMIC
&OT
MINIMIZER DIIS
PRECONDITIONER FULL_ALL
&END OT
&OUTER_SCF
MAX_SCF 5
EPS_SCF 1.E-7
&END
&END SCF
&XC
&XC_FUNCTIONAL PBE
Expand All @@ -42,7 +52,8 @@
&END DFT
&SUBSYS
&CELL
ABC 6.0 6.0 6.0
ABC 5.0 5.0 5.0
PERIODIC NONE
&END CELL
&TOPOLOGY
&CENTER_COORDINATES
Expand Down
4 changes: 2 additions & 2 deletions tests/QS/regtest-stda/TEST_FILES
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@
# e.g. 0 means do not compare anything, running is enough
# 1 compares the last total energy in the file
# for details see cp2k/tools/do_regtest
CH2O_none.inp 72 1.0E-07 0.00245398
CH2O_s1.inp 72 1.0E-07 0.00745033
CH2O_none.inp 72 1.0E-06 0.00245398
CH2O_s1.inp 72 1.0E-06 0.00464871
#EOF
4 changes: 2 additions & 2 deletions tests/QS/regtest-tddfpt-force-3/TEST_FILES
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ h2o_f22.inp 1 5.0E-11
h2o_f23.inp 1 1.0E-11 -16.71305460110763
h2o_f24.inp 1 1.0E-11 -17.20661694192800
#h2o_f25.inp 1 1.0E-12 0.000000E+00 Triplet GGA ?
h2o_f26.inp 1 1.0E-12 -16.75274791420235
h2o_f27.inp 1 1.0E-12 -16.75153365714026
h2o_f26.inp 1 1.0E-11 -16.75274791420235
h2o_f27.inp 1 1.0E-11 -16.75153365714026
h2o_f28.inp 1 5.0E-11 -16.73227374381129
h2o_f29.inp 1 1.0E-11 -17.20831564980310
h2o_f30.inp 1 1.0E-11 -17.20236904224571
Expand Down
2 changes: 1 addition & 1 deletion tests/xTB/regtest-5/TEST_FILES
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
AdeThyvdW.inp 1 1.0E-12 -58.89501875071196
ice.inp 1 1.0E-10 -46.31849039679943
ice2.inp 1 1.0E-10 -46.30633640965694
Ru_geo.inp 1 1.0E-10 -7.01246011345805
Ru_geo.inp 1 1.0E-10 -7.01246011516801
ef_stress1.inp 0
ef_stress2.inp 0
ef_stress3.inp 0
Expand Down

0 comments on commit 81a1f6d

Please sign in to comment.