88 dbcsr_type_antisymmetric
132#include "./base/base_uses.f90"
138 CHARACTER(len=*),
PARAMETER,
PRIVATE :: moduleN =
'qs_core_hamiltonian'
156 LOGICAL,
INTENT(IN) :: calculate_forces
158 CHARACTER(LEN=*),
PARAMETER :: routinen =
'build_core_hamiltonian_matrix'
160 INTEGER :: handle, ikind, img, iw, nder, nders, &
162 LOGICAL :: dft_plus_u_atom, h_is_complex, norml1, &
164 tensorial_plus_u_forces, use_arnoldi, &
166 REAL(kind=
dp) :: eps_filter, eps_fit
167 REAL(kind=
dp),
DIMENSION(2) :: condnum
172 TYPE(
dbcsr_p_type),
DIMENSION(:, :),
POINTER :: matrix_h, matrix_p, matrix_s, matrix_t, &
177 POINTER :: sab_orb, sap_oce
181 TYPE(
qs_kind_type),
DIMENSION(:),
POINTER :: qs_kind_set
186 IF (calculate_forces)
THEN
187 CALL timeset(routinen//
"_forces", handle)
189 CALL timeset(routinen, handle)
195 NULLIFY (dft_control)
196 CALL get_qs_env(qs_env=qs_env, dft_control=dft_control)
198 NULLIFY (qs_kind_set)
199 CALL get_qs_env(qs_env=qs_env, qs_kind_set=qs_kind_set)
202 ofdft = dft_control%qs_control%ofgpw
204 nimages = dft_control%nimages
206 cpassert(nimages == 1)
210 IF (calculate_forces)
THEN
214 "DFT%PRINT%AO_MATRICES/DERIVATIVES") /= 0)
THEN
222 "DFT%PRINT%AO_MATRICES/OVERLAP") /= 0 .AND. &
224 "DFT%PRINT%AO_MATRICES/DERIVATIVES"),
cp_p_file)))
THEN
230 IF (
ASSOCIATED(dft_control%rtp_control))
THEN
231 IF (dft_control%rtp_control%apply_delta_pulse .AND. &
232 dft_control%rtp_control%periodic)
THEN
237 tensorial_plus_u_forces = .false.
239 IF (
ASSOCIATED(qs_kind_set))
THEN
240 DO ikind = 1,
SIZE(qs_kind_set)
242 dft_plus_u_atom=dft_plus_u_atom)
243 IF (dft_plus_u_atom)
THEN
244 tensorial_plus_u_forces = .true.
250 IF (tensorial_plus_u_forces)
THEN
254 IF (dft_control%tddfpt2_control%enabled)
THEN
256 IF (dft_control%do_admm)
THEN
258 CALL cp_abort(__location__, &
259 "Only purification method NONE is possible with TDDFT at the moment")
265 eps_filter = dft_control%qs_control%eps_filter_matrix
269 NULLIFY (matrix_s, matrix_t)
270 CALL get_qs_env(qs_env=qs_env, kinetic_kp=matrix_t, matrix_s_kp=matrix_s)
272 CALL get_qs_env(qs_env=qs_env, sab_orb=sab_orb)
273 NULLIFY (rho, force, matrix_p, matrix_w)
274 IF (calculate_forces)
THEN
275 CALL get_qs_env(qs_env=qs_env, force=force, matrix_w_kp=matrix_w)
284 IF (
SIZE(matrix_p, 1) == 2)
THEN
286 CALL dbcsr_add(matrix_p(1, img)%matrix, matrix_p(2, img)%matrix, &
287 alpha_scalar=1.0_dp, beta_scalar=1.0_dp)
288 CALL dbcsr_add(matrix_p(2, img)%matrix, matrix_p(1, img)%matrix, &
289 alpha_scalar=-2.0_dp, beta_scalar=1.0_dp)
290 CALL dbcsr_add(matrix_w(1, img)%matrix, matrix_w(2, img)%matrix, &
291 alpha_scalar=1.0_dp, beta_scalar=1.0_dp)
295 NULLIFY (matrix_p, matrix_w)
300 matrix_name=
"OVERLAP MATRIX", &
301 basis_type_a=
"ORB", &
302 basis_type_b=
"ORB", &
303 sab_nl=sab_orb, calculate_forces=calculate_forces, &
306 IF (calculate_forces)
THEN
311 IF (
SIZE(matrix_p, 1) == 2)
THEN
313 CALL dbcsr_add(matrix_p(1, img)%matrix, matrix_p(2, img)%matrix, &
314 alpha_scalar=0.5_dp, beta_scalar=0.5_dp)
315 CALL dbcsr_add(matrix_p(2, img)%matrix, matrix_p(1, img)%matrix, &
316 alpha_scalar=-1.0_dp, beta_scalar=1.0_dp)
324 matrix_name=
"KINETIC ENERGY MATRIX", &
327 calculate_forces=calculate_forces, &
328 eps_filter=eps_filter)
331 CALL get_ks_env(ks_env, complex_ks=h_is_complex)
332 CALL qs_matrix_h_allocate(qs_env, matrix_s(1, 1)%matrix, is_complex=h_is_complex)
337 IF (.NOT. ofdft)
THEN
339 CALL dbcsr_copy(matrix_h(1, img)%matrix, matrix_t(1, img)%matrix, &
340 keep_sparsity=.true., name=
"CORE HAMILTONIAN MATRIX")
344 NULLIFY (qs_kind_set, atomic_kind_set, particle_set)
345 CALL get_qs_env(qs_env=qs_env, qs_kind_set=qs_kind_set, atomic_kind_set=atomic_kind_set, &
346 particle_set=particle_set)
349 CALL core_matrices(qs_env, matrix_h, matrix_p, calculate_forces, nder)
356 CALL get_qs_env(qs_env=qs_env, sap_oce=sap_oce)
358 IF (dft_control%qs_control%gapw .OR. dft_control%qs_control%gapw_xc)
THEN
361 nkind =
SIZE(atomic_kind_set)
363 eps_fit = dft_control%qs_control%gapw_control%eps_fit
364 IF (
ASSOCIATED(sap_oce))
THEN
365 CALL build_oce_matrices(oce%intac, calculate_forces, nder, qs_kind_set, particle_set, &
371 IF (dft_control%qs_control%do_kg)
THEN
373 CALL get_qs_env(qs_env=qs_env, kg_env=kg_env, virial=virial, dbcsr_dist=dbcsr_dist)
374 use_virial = virial%pv_availability .AND. (.NOT. virial%pv_numer)
375 CALL build_tnadd_mat(kg_env, matrix_p, force, virial, calculate_forces, use_virial, &
376 qs_kind_set, atomic_kind_set, particle_set, sab_orb, dbcsr_dist)
382 CALL set_ks_env(ks_env, matrix_s_kp=matrix_s, kinetic_kp=matrix_t, matrix_h_kp=matrix_h)
388 IF (.NOT. calculate_forces)
THEN
390 "DFT%PRINT%OVERLAP_CONDITION") /= 0)
THEN
394 CALL section_vals_val_get(qs_env%input,
"DFT%PRINT%OVERLAP_CONDITION%DIAGONALIZATION", l_val=norml2)
395 CALL section_vals_val_get(qs_env%input,
"DFT%PRINT%OVERLAP_CONDITION%ARNOLDI", l_val=use_arnoldi)
396 CALL get_qs_env(qs_env=qs_env, blacs_env=blacs_env)
397 CALL overlap_condnum(matrix_s, condnum, iw, norml1, norml2, use_arnoldi, blacs_env)
401 CALL timestop(handle)
413 LOGICAL,
INTENT(IN) :: calculate_forces
415 CHARACTER(LEN=*),
PARAMETER :: routinen =
'dump_info_core_hamiltonian'
417 INTEGER :: after, handle, i, ic, iw, output_unit
418 LOGICAL :: omit_headers
421 TYPE(
dbcsr_p_type),
DIMENSION(:, :),
POINTER :: matrixkp_h, matrixkp_s, matrixkp_t
424 CALL timeset(routinen, handle)
426 NULLIFY (logger, matrix_v, para_env)
432 IF (.NOT. calculate_forces)
THEN
434 qs_env%input,
"PRINT%DISTRIBUTION"),
cp_p_file))
THEN
436 extension=
".distribution")
437 CALL get_qs_env(qs_env, matrix_s_kp=matrixkp_s)
443 CALL section_vals_val_get(qs_env%input,
"DFT%PRINT%AO_MATRICES%OMIT_HEADERS", l_val=omit_headers)
446 qs_env%input,
"DFT%PRINT%AO_MATRICES/OVERLAP"),
cp_p_file))
THEN
450 after = min(max(after, 1), 16)
451 CALL get_qs_env(qs_env, matrix_s_kp=matrixkp_s)
452 IF (
ASSOCIATED(matrixkp_s))
THEN
453 DO ic = 1,
SIZE(matrixkp_s, 2)
455 output_unit=iw, omit_headers=omit_headers)
458 "DFT%PRINT%AO_MATRICES/DERIVATIVES"),
cp_p_file))
THEN
459 DO ic = 1,
SIZE(matrixkp_s, 2)
460 DO i = 2,
SIZE(matrixkp_s, 1)
462 output_unit=iw, omit_headers=omit_headers)
468 "DFT%PRINT%AO_MATRICES/OVERLAP")
473 qs_env%input,
"DFT%PRINT%AO_MATRICES/KINETIC_ENERGY"),
cp_p_file))
THEN
477 after = min(max(after, 1), 16)
478 CALL get_qs_env(qs_env, kinetic_kp=matrixkp_t)
479 IF (
ASSOCIATED(matrixkp_t))
THEN
480 DO ic = 1,
SIZE(matrixkp_t, 2)
482 output_unit=iw, omit_headers=omit_headers)
486 "DFT%PRINT%AO_MATRICES/KINETIC_ENERGY")
491 qs_env%input,
"DFT%PRINT%AO_MATRICES/POTENTIAL_ENERGY"),
cp_p_file))
THEN
495 after = min(max(after, 1), 16)
496 CALL get_qs_env(qs_env, matrix_h_kp=matrixkp_h, kinetic_kp=matrixkp_t)
497 IF (
ASSOCIATED(matrixkp_h))
THEN
498 IF (
SIZE(matrixkp_h, 2) == 1)
THEN
500 ALLOCATE (matrix_v(1)%matrix)
501 CALL dbcsr_copy(matrix_v(1)%matrix, matrixkp_h(1, 1)%matrix, name=
"POTENTIAL ENERGY MATRIX")
502 CALL dbcsr_add(matrix_v(1)%matrix, matrixkp_t(1, 1)%matrix, &
503 alpha_scalar=1.0_dp, beta_scalar=-1.0_dp)
505 para_env, output_unit=iw, omit_headers=omit_headers)
508 cpwarn(
"Printing of potential energy matrix not implemented for k-points")
512 "DFT%PRINT%AO_MATRICES/POTENTIAL_ENERGY")
517 qs_env%input,
"DFT%PRINT%AO_MATRICES/CORE_HAMILTONIAN"),
cp_p_file))
THEN
521 after = min(max(after, 1), 16)
522 CALL get_qs_env(qs_env, matrix_h_kp=matrixkp_h)
523 IF (
ASSOCIATED(matrixkp_h))
THEN
524 DO ic = 1,
SIZE(matrixkp_h, 2)
526 output_unit=iw, omit_headers=omit_headers)
530 "DFT%PRINT%AO_MATRICES/CORE_HAMILTONIAN")
533 CALL timestop(handle)
543 SUBROUTINE qs_matrix_h_allocate(qs_env, template, is_complex)
546 LOGICAL,
INTENT(in) :: is_complex
548 CHARACTER(LEN=default_string_length) :: headline
549 INTEGER :: img, nimages
550 TYPE(
dbcsr_p_type),
DIMENSION(:, :),
POINTER :: matrix_h, matrix_h_im
556 NULLIFY (matrix_h, matrix_h_im, sab_orb, dft_control, ks_env)
558 matrix_h_kp=matrix_h, &
559 matrix_h_im_kp=matrix_h_im, &
561 dft_control=dft_control, &
564 nimages = dft_control%nimages
566 headline =
"CORE HAMILTONIAN MATRIX"
568 ALLOCATE (matrix_h(1, img)%matrix)
569 CALL dbcsr_create(matrix_h(1, img)%matrix, name=trim(headline), template=template)
571 CALL dbcsr_set(matrix_h(1, img)%matrix, 0.0_dp)
576 headline =
"IMAGINARY PART OF CORE HAMILTONIAN MATRIX"
579 ALLOCATE (matrix_h_im(1, img)%matrix)
580 CALL dbcsr_create(matrix_h_im(1, img)%matrix, name=trim(headline), template=template, &
581 matrix_type=dbcsr_type_antisymmetric)
583 CALL dbcsr_set(matrix_h_im(1, img)%matrix, 0.0_dp)
585 CALL set_ks_env(ks_env, matrix_h_im_kp=matrix_h_im)
588 END SUBROUTINE qs_matrix_h_allocate
597 CHARACTER(LEN=default_string_length) :: headline
598 INTEGER :: image, nimages
599 TYPE(
dbcsr_p_type),
DIMENSION(:, :),
POINTER :: matrix_h, matrix_h_im
606 NULLIFY (matrix_h_im, matrix_h, dft_control, template, sab_orb, ks_env)
609 matrix_h_im_kp=matrix_h_im, &
610 matrix_h_kp=matrix_h, &
611 dft_control=dft_control, &
615 nimages = dft_control%nimages
617 cpassert(nimages ==
SIZE(matrix_h, 2))
621 DO image = 1, nimages
622 headline =
"IMAGINARY CORE HAMILTONIAN MATRIX"
623 ALLOCATE (matrix_h_im(1, image)%matrix)
624 template => matrix_h(1, image)%matrix
625 CALL dbcsr_create(matrix=matrix_h_im(1, image)%matrix, template=template, &
626 name=trim(headline), matrix_type=dbcsr_type_antisymmetric)
628 CALL dbcsr_set(matrix_h_im(1, image)%matrix, 0.0_dp)
630 CALL set_ks_env(ks_env, matrix_h_im_kp=matrix_h_im)
Define the atomic kind types and their sub types.
methods related to the blacs parallel environment
Defines control structures, which contain the parameters and the settings for the DFT-based calculati...
subroutine, public dbcsr_copy(matrix_b, matrix_a, name, keep_sparsity, keep_imaginary)
...
subroutine, public dbcsr_set(matrix, alpha)
...
subroutine, public dbcsr_add(matrix_a, matrix_b, alpha_scalar, beta_scalar)
...
Routines that link DBCSR and CP2K concepts together.
subroutine, public cp_dbcsr_alloc_block_from_nbl(matrix, sab_orb, desymmetrize)
allocate the blocks of a dbcsr based on the neighbor list
DBCSR operations in CP2K.
subroutine, public cp_dbcsr_write_matrix_dist(matrix, output_unit, para_env)
Print the distribution of a sparse matrix.
subroutine, public cp_dbcsr_write_sparse_matrix(sparse_matrix, before, after, qs_env, para_env, first_row, last_row, first_col, last_col, scale, output_unit, omit_headers, cartesian_basis)
...
various routines to log and control the output. The idea is that decisions about where to log should ...
type(cp_logger_type) function, pointer, public cp_get_default_logger()
returns the default logger
routines to handle the output, The idea is to remove the decision of wheter to output and what to out...
integer function, public cp_print_key_unit_nr(logger, basis_section, print_key_path, extension, middle_name, local, log_filename, ignore_should_output, file_form, file_position, file_action, file_status, do_backup, on_file, is_new_file, mpi_io, fout)
...
subroutine, public cp_print_key_finished_output(unit_nr, logger, basis_section, print_key_path, local, ignore_should_output, on_file, mpi_io)
should be called after you finish working with a unit obtained with cp_print_key_unit_nr,...
integer, parameter, public cp_p_file
integer function, public cp_print_key_should_output(iteration_info, basis_section, print_key_path, used_print_key, first_time)
returns what should be done with the given property if btest(res,cp_p_store) then the property should...
Types needed for a Kim-Gordon-like partitioning into molecular subunits.
Calculation of the local potential contribution of the nonadditive kinetic energy <a|V(local)|b> = <a...
subroutine, public build_tnadd_mat(kg_env, matrix_p, force, virial, calculate_forces, use_virial, qs_kind_set, atomic_kind_set, particle_set, sab_orb, dbcsr_dist)
...
Defines the basic variable types.
integer, parameter, public dp
integer, parameter, public default_string_length
Interface to the message passing library MPI.
Define the data structure for the particle information.
A collection of functions used by CNEO-DFT (see J. Chem. Theory Comput. 2025, 21, 16,...
subroutine, public cneo_core_matrices(qs_env, calculate_forces, nder)
...
Calculation of overlap matrix condition numbers.
subroutine, public overlap_condnum(matrixkp_s, condnum, iunit, norml1, norml2, use_arnoldi, blacs_env)
Calculation of the overlap matrix Condition Number.
Calculation of the core Hamiltonian integral matrix <a|H|b> over Cartesian Gaussian-type functions.
subroutine, public build_core_hamiltonian_matrix(qs_env, calculate_forces)
Cosntruction of the QS Core Hamiltonian Matrix.
subroutine, public dump_info_core_hamiltonian(qs_env, calculate_forces)
Possibly prints matrices after the construction of the Core Hamiltonian Matrix.
subroutine, public qs_matrix_h_allocate_imag_from_real(qs_env)
(Re-)allocates matrix_h_im from matrix_h
Calculation of the core Hamiltonian integral matrix <a|H|b> over Cartesian Gaussian-type functions.
subroutine, public core_matrices(qs_env, matrix_h, matrix_p, calculate_forces, nder, ec_env, dcdr_env, ec_env_matrices, ext_kpoints, basis_type, debug_forces, debug_stress, atcore)
...
subroutine, public kinetic_energy_matrix(qs_env, matrixkp_t, matrix_t, matrix_p, ext_kpoints, matrix_name, calculate_forces, nderivative, sab_orb, eps_filter, basis_type, debug_forces, debug_stress)
Calculate kinetic energy matrix and possible relativistic correction.
subroutine, public get_qs_env(qs_env, atomic_kind_set, qs_kind_set, cell, super_cell, cell_ref, use_ref_cell, kpoints, dft_control, mos, sab_orb, sab_all, qmmm, qmmm_periodic, mimic, sac_ae, sac_ppl, sac_lri, sap_ppnl, sab_vdw, sab_scp, sap_oce, sab_lrc, sab_se, sab_xtbe, sab_tbe, sab_core, sab_xb, sab_xtb_pp, sab_xtb_nonbond, sab_almo, sab_kp, sab_kp_nosym, sab_cneo, particle_set, energy, force, matrix_h, matrix_h_im, matrix_ks, matrix_ks_im, matrix_vxc, run_rtp, rtp, matrix_h_kp, matrix_h_im_kp, matrix_ks_kp, matrix_ks_im_kp, matrix_vxc_kp, kinetic_kp, matrix_s_kp, matrix_w_kp, matrix_s_ri_aux_kp, matrix_s, matrix_s_ri_aux, matrix_w, matrix_p_mp2, matrix_p_mp2_admm, matrix_vhxc, rho, rho_xc, pw_env, ewald_env, ewald_pw, active_space, mpools, input, para_env, blacs_env, scf_control, rel_control, kinetic, qs_charges, vppl, xcint_weights, rho_core, rho_nlcc, rho_nlcc_g, ks_env, ks_qmmm_env, wf_history, scf_env, local_particles, local_molecules, distribution_2d, dbcsr_dist, molecule_kind_set, molecule_set, subsys, cp_subsys, oce, local_rho_set, rho_atom_set, task_list, task_list_soft, rho0_atom_set, rho0_mpole, rhoz_set, rhoz_cneo_set, ecoul_1c, rho0_s_rs, rho0_s_gs, rhoz_cneo_s_rs, rhoz_cneo_s_gs, do_kpoints, has_unit_metric, requires_mo_derivs, mo_derivs, mo_loc_history, nkind, natom, nelectron_total, nelectron_spin, efield, neighbor_list_id, linres_control, xas_env, virial, cp_ddapc_env, cp_ddapc_ewald, outer_scf_history, outer_scf_ihistory, x_data, et_coupling, dftb_potential, results, se_taper, se_store_int_env, se_nddo_mpole, se_nonbond_env, admm_env, lri_env, lri_density, exstate_env, ec_env, harris_env, dispersion_env, gcp_env, vee, rho_external, external_vxc, mask, mp2_env, bs_env, kg_env, wanniercentres, atprop, ls_scf_env, do_transport, transport_env, v_hartree_rspace, s_mstruct_changed, rho_changed, potential_changed, forces_up_to_date, mscfg_env, almo_scf_env, gradient_history, variable_history, embed_pot, spin_embed_pot, polar_env, mos_last_converged, eeq, rhs, do_rixs, tb_tblite)
Get the QUICKSTEP environment.
subroutine, public set_qs_env(qs_env, super_cell, mos, qmmm, qmmm_periodic, mimic, ewald_env, ewald_pw, mpools, rho_external, external_vxc, mask, scf_control, rel_control, qs_charges, ks_env, ks_qmmm_env, wf_history, scf_env, active_space, input, oce, rho_atom_set, rho0_atom_set, rho0_mpole, run_rtp, rtp, rhoz_set, rhoz_tot, ecoul_1c, has_unit_metric, requires_mo_derivs, mo_derivs, mo_loc_history, efield, rhoz_cneo_set, linres_control, xas_env, cp_ddapc_env, cp_ddapc_ewald, outer_scf_history, outer_scf_ihistory, x_data, et_coupling, dftb_potential, se_taper, se_store_int_env, se_nddo_mpole, se_nonbond_env, admm_env, ls_scf_env, do_transport, transport_env, lri_env, lri_density, exstate_env, ec_env, dispersion_env, harris_env, gcp_env, mp2_env, bs_env, kg_env, force, kpoints, wanniercentres, almo_scf_env, gradient_history, variable_history, embed_pot, spin_embed_pot, polar_env, mos_last_converged, eeq, rhs, do_rixs, tb_tblite)
Set the QUICKSTEP environment.
Define the quickstep kind type and their sub types.
subroutine, public get_qs_kind(qs_kind, basis_set, basis_type, ncgf, nsgf, all_potential, tnadd_potential, gth_potential, sgp_potential, upf_potential, cneo_potential, se_parameter, dftb_parameter, xtb_parameter, dftb3_param, zatom, zeff, elec_conf, mao, lmax_dftb, alpha_core_charge, ccore_charge, core_charge, core_charge_radius, paw_proj_set, paw_atom, hard_radius, hard0_radius, max_rad_local, covalent_radius, vdw_radius, gpw_type_forced, harmonics, max_iso_not0, max_s_harm, grid_atom, ngrid_ang, ngrid_rad, lmax_rho0, dft_plus_u_atom, l_of_dft_plus_u, n_of_dft_plus_u, u_minus_j, hund_j, u_of_dft_plus_u, j_of_dft_plus_u, alpha_of_dft_plus_u, beta_of_dft_plus_u, j0_of_dft_plus_u, occupation_of_dft_plus_u, dispersion, bs_occupation, magnetization, no_optimize, addel, laddel, naddel, orbitals, max_scf, eps_scf, smear, u_ramping, u_minus_j_target, eps_u_ramping, proj_shell_charge, lr_atom, do_mtlr, u_j_loop, ao_coef, init_u_ramping_each_scf, reltmat, ghost, monovalent, floating, name, element_symbol, pao_basis_size, pao_model_file, pao_potentials, pao_descriptors, nelec)
Get attributes of an atomic kind.
subroutine, public set_ks_env(ks_env, v_hartree_rspace, s_mstruct_changed, rho_changed, exc_accint, potential_changed, forces_up_to_date, complex_ks, matrix_h, matrix_h_im, matrix_ks, matrix_ks_im, matrix_vxc, kinetic, matrix_s, matrix_s_ri_aux, matrix_w, matrix_p_mp2, matrix_p_mp2_admm, matrix_vhxc, matrix_h_kp, matrix_h_im_kp, matrix_ks_kp, matrix_vxc_kp, kinetic_kp, matrix_s_kp, matrix_w_kp, matrix_s_ri_aux_kp, matrix_ks_im_kp, vppl, xcint_weights, rho_core, rho_nlcc, rho_nlcc_g, vee, neighbor_list_id, kpoints, sab_orb, sab_all, sac_ae, sac_ppl, sac_lri, sap_ppnl, sap_oce, sab_lrc, sab_se, sab_xtbe, sab_tbe, sab_core, sab_xb, sab_xtb_pp, sab_xtb_nonbond, sab_vdw, sab_scp, sab_almo, sab_kp, sab_kp_nosym, sab_cneo, task_list, task_list_soft, subsys, dft_control, dbcsr_dist, distribution_2d, pw_env, para_env, blacs_env)
...
subroutine, public get_ks_env(ks_env, v_hartree_rspace, s_mstruct_changed, rho_changed, exc_accint, potential_changed, forces_up_to_date, complex_ks, matrix_h, matrix_h_im, matrix_ks, matrix_ks_im, matrix_vxc, kinetic, matrix_s, matrix_s_ri_aux, matrix_w, matrix_p_mp2, matrix_p_mp2_admm, matrix_vhxc, matrix_h_kp, matrix_h_im_kp, matrix_ks_kp, matrix_vxc_kp, kinetic_kp, matrix_s_kp, matrix_w_kp, matrix_s_ri_aux_kp, matrix_ks_im_kp, rho, rho_xc, vppl, xcint_weights, rho_core, rho_nlcc, rho_nlcc_g, vee, neighbor_list_id, sab_orb, sab_all, sac_ae, sac_ppl, sac_lri, sap_ppnl, sap_oce, sab_lrc, sab_se, sab_xtbe, sab_tbe, sab_core, sab_xb, sab_xtb_pp, sab_xtb_nonbond, sab_vdw, sab_scp, sab_almo, sab_kp, sab_kp_nosym, sab_cneo, task_list, task_list_soft, kpoints, do_kpoints, atomic_kind_set, qs_kind_set, cell, cell_ref, use_ref_cell, particle_set, energy, force, local_particles, local_molecules, molecule_kind_set, molecule_set, subsys, cp_subsys, virial, results, atprop, nkind, natom, dft_control, dbcsr_dist, distribution_2d, pw_env, para_env, blacs_env, nelectron_total, nelectron_spin)
...
Define the neighbor list data types and the corresponding functionality.
Routines for the construction of the coefficients for the expansion of the atomic densities rho1_hard...
subroutine, public build_oce_matrices(intac, calculate_forces, nder, qs_kind_set, particle_set, sap_oce, eps_fit)
Set up the sparse matrix for the coefficients of one center expansions This routine uses the same log...
subroutine, public allocate_oce_set(oce_set, nkind)
Allocate and initialize the matrix set of oce coefficients.
subroutine, public create_oce_set(oce_set)
...
Calculation of overlap matrix, its derivatives and forces.
subroutine, public build_overlap_matrix(ks_env, matrix_s, matrixkp_s, matrix_name, nderivative, basis_type_a, basis_type_b, sab_nl, calculate_forces, matrix_p, matrixkp_p, ext_kpoints)
Calculation of the overlap matrix over Cartesian Gaussian functions.
superstucture that hold various representations of the density and keeps track of which ones are vali...
subroutine, public qs_rho_get(rho_struct, rho_ao, rho_ao_im, rho_ao_kp, rho_ao_im_kp, rho_r, drho_r, rho_g, drho_g, tau_r, tau_g, rho_r_valid, drho_r_valid, rho_g_valid, drho_g_valid, tau_r_valid, tau_g_valid, tot_rho_r, tot_rho_g, rho_r_sccs, soft_valid, complex_rho_ao)
returns info about the density described by this object. If some representation is not available an e...
Provides all information about an atomic kind.
represent a blacs multidimensional parallel environment (for the mpi corrispective see cp_paratypes/m...
type of a logger, at the moment it contains just a print level starting at which level it should be l...
Contains all the info needed for KG runs...
stores all the informations relevant to an mpi environment
Provides all information about a quickstep kind.
calculation environment to calculate the ks matrix, holds all the needed vars. assumes that the core ...
keeps the density in various representations, keeping track of which ones are valid.