88 dbcsr_type_antisymmetric
130#include "./base/base_uses.f90"
136 CHARACTER(len=*),
PARAMETER,
PRIVATE :: moduleN =
'qs_core_hamiltonian'
154 LOGICAL,
INTENT(IN) :: calculate_forces
156 CHARACTER(LEN=*),
PARAMETER :: routinen =
'build_core_hamiltonian_matrix'
158 INTEGER :: handle, img, iw, nder, nders, nimages, &
160 LOGICAL :: h_is_complex, norml1, norml2, ofdft, &
161 use_arnoldi, use_virial
162 REAL(kind=
dp) :: eps_filter, eps_fit
163 REAL(kind=
dp),
DIMENSION(2) :: condnum
168 TYPE(
dbcsr_p_type),
DIMENSION(:, :),
POINTER :: matrix_h, matrix_p, matrix_s, matrix_t, &
173 POINTER :: sab_orb, sap_oce
177 TYPE(
qs_kind_type),
DIMENSION(:),
POINTER :: qs_kind_set
182 IF (calculate_forces)
THEN
183 CALL timeset(routinen//
"_forces", handle)
185 CALL timeset(routinen, handle)
191 NULLIFY (dft_control)
192 CALL get_qs_env(qs_env=qs_env, dft_control=dft_control)
195 ofdft = dft_control%qs_control%ofgpw
197 nimages = dft_control%nimages
199 cpassert(nimages == 1)
203 IF (calculate_forces)
THEN
207 "DFT%PRINT%AO_MATRICES/DERIVATIVES") /= 0)
THEN
215 "DFT%PRINT%AO_MATRICES/OVERLAP") /= 0 .AND. &
217 "DFT%PRINT%AO_MATRICES/DERIVATIVES"),
cp_p_file)))
THEN
223 IF (
ASSOCIATED(dft_control%rtp_control))
THEN
224 IF (dft_control%rtp_control%apply_delta_pulse .AND. &
225 dft_control%rtp_control%periodic)
THEN
230 IF (dft_control%tddfpt2_control%enabled)
THEN
232 IF (dft_control%do_admm)
THEN
234 CALL cp_abort(__location__, &
235 "Only purification method NONE is possible with TDDFT at the moment")
240 eps_filter = dft_control%qs_control%eps_filter_matrix
244 NULLIFY (matrix_s, matrix_t)
245 CALL get_qs_env(qs_env=qs_env, kinetic_kp=matrix_t, matrix_s_kp=matrix_s)
247 CALL get_qs_env(qs_env=qs_env, sab_orb=sab_orb)
248 NULLIFY (rho, force, matrix_p, matrix_w)
249 IF (calculate_forces)
THEN
250 CALL get_qs_env(qs_env=qs_env, force=force, matrix_w_kp=matrix_w)
259 IF (
SIZE(matrix_p, 1) == 2)
THEN
261 CALL dbcsr_add(matrix_p(1, img)%matrix, matrix_p(2, img)%matrix, &
262 alpha_scalar=1.0_dp, beta_scalar=1.0_dp)
263 CALL dbcsr_add(matrix_p(2, img)%matrix, matrix_p(1, img)%matrix, &
264 alpha_scalar=-2.0_dp, beta_scalar=1.0_dp)
265 CALL dbcsr_add(matrix_w(1, img)%matrix, matrix_w(2, img)%matrix, &
266 alpha_scalar=1.0_dp, beta_scalar=1.0_dp)
270 NULLIFY (matrix_p, matrix_w)
275 matrix_name=
"OVERLAP MATRIX", &
276 basis_type_a=
"ORB", &
277 basis_type_b=
"ORB", &
278 sab_nl=sab_orb, calculate_forces=calculate_forces, &
281 IF (calculate_forces)
THEN
286 IF (
SIZE(matrix_p, 1) == 2)
THEN
288 CALL dbcsr_add(matrix_p(1, img)%matrix, matrix_p(2, img)%matrix, &
289 alpha_scalar=0.5_dp, beta_scalar=0.5_dp)
290 CALL dbcsr_add(matrix_p(2, img)%matrix, matrix_p(1, img)%matrix, &
291 alpha_scalar=-1.0_dp, beta_scalar=1.0_dp)
299 matrix_name=
"KINETIC ENERGY MATRIX", &
302 calculate_forces=calculate_forces, &
303 eps_filter=eps_filter)
306 CALL get_ks_env(ks_env, complex_ks=h_is_complex)
307 CALL qs_matrix_h_allocate(qs_env, matrix_s(1, 1)%matrix, is_complex=h_is_complex)
312 IF (.NOT. ofdft)
THEN
314 CALL dbcsr_copy(matrix_h(1, img)%matrix, matrix_t(1, img)%matrix, &
315 keep_sparsity=.true., name=
"CORE HAMILTONIAN MATRIX")
319 NULLIFY (qs_kind_set, atomic_kind_set, particle_set)
320 CALL get_qs_env(qs_env=qs_env, qs_kind_set=qs_kind_set, atomic_kind_set=atomic_kind_set, &
321 particle_set=particle_set)
324 CALL core_matrices(qs_env, matrix_h, matrix_p, calculate_forces, nder)
331 CALL get_qs_env(qs_env=qs_env, sap_oce=sap_oce)
333 IF (dft_control%qs_control%gapw .OR. dft_control%qs_control%gapw_xc)
THEN
336 nkind =
SIZE(atomic_kind_set)
338 eps_fit = dft_control%qs_control%gapw_control%eps_fit
339 IF (
ASSOCIATED(sap_oce)) &
340 CALL build_oce_matrices(oce%intac, calculate_forces, nder, qs_kind_set, particle_set, &
345 IF (dft_control%qs_control%do_kg)
THEN
347 CALL get_qs_env(qs_env=qs_env, kg_env=kg_env, virial=virial, dbcsr_dist=dbcsr_dist)
348 use_virial = virial%pv_availability .AND. (.NOT. virial%pv_numer)
349 CALL build_tnadd_mat(kg_env, matrix_p, force, virial, calculate_forces, use_virial, &
350 qs_kind_set, atomic_kind_set, particle_set, sab_orb, dbcsr_dist)
356 CALL set_ks_env(ks_env, matrix_s_kp=matrix_s, kinetic_kp=matrix_t, matrix_h_kp=matrix_h)
362 IF (.NOT. calculate_forces)
THEN
364 "DFT%PRINT%OVERLAP_CONDITION") .NE. 0)
THEN
368 CALL section_vals_val_get(qs_env%input,
"DFT%PRINT%OVERLAP_CONDITION%DIAGONALIZATION", l_val=norml2)
369 CALL section_vals_val_get(qs_env%input,
"DFT%PRINT%OVERLAP_CONDITION%ARNOLDI", l_val=use_arnoldi)
370 CALL get_qs_env(qs_env=qs_env, blacs_env=blacs_env)
371 CALL overlap_condnum(matrix_s, condnum, iw, norml1, norml2, use_arnoldi, blacs_env)
375 CALL timestop(handle)
387 LOGICAL,
INTENT(IN) :: calculate_forces
389 CHARACTER(LEN=*),
PARAMETER :: routinen =
'dump_info_core_hamiltonian'
391 INTEGER :: after, handle, i, ic, iw, output_unit
392 LOGICAL :: omit_headers
395 TYPE(
dbcsr_p_type),
DIMENSION(:, :),
POINTER :: matrixkp_h, matrixkp_s, matrixkp_t
398 CALL timeset(routinen, handle)
400 NULLIFY (logger, matrix_v, para_env)
406 IF (.NOT. calculate_forces)
THEN
408 qs_env%input,
"PRINT%DISTRIBUTION"),
cp_p_file))
THEN
410 extension=
".distribution")
411 CALL get_qs_env(qs_env, matrix_s_kp=matrixkp_s)
417 CALL section_vals_val_get(qs_env%input,
"DFT%PRINT%AO_MATRICES%OMIT_HEADERS", l_val=omit_headers)
420 qs_env%input,
"DFT%PRINT%AO_MATRICES/OVERLAP"),
cp_p_file))
THEN
424 after = min(max(after, 1), 16)
425 CALL get_qs_env(qs_env, matrix_s_kp=matrixkp_s)
426 IF (
ASSOCIATED(matrixkp_s))
THEN
427 DO ic = 1,
SIZE(matrixkp_s, 2)
429 output_unit=iw, omit_headers=omit_headers)
432 "DFT%PRINT%AO_MATRICES/DERIVATIVES"),
cp_p_file))
THEN
433 DO ic = 1,
SIZE(matrixkp_s, 2)
434 DO i = 2,
SIZE(matrixkp_s, 1)
436 output_unit=iw, omit_headers=omit_headers)
442 "DFT%PRINT%AO_MATRICES/OVERLAP")
447 qs_env%input,
"DFT%PRINT%AO_MATRICES/KINETIC_ENERGY"),
cp_p_file))
THEN
451 after = min(max(after, 1), 16)
452 CALL get_qs_env(qs_env, kinetic_kp=matrixkp_t)
453 IF (
ASSOCIATED(matrixkp_t))
THEN
454 DO ic = 1,
SIZE(matrixkp_t, 2)
456 output_unit=iw, omit_headers=omit_headers)
460 "DFT%PRINT%AO_MATRICES/KINETIC_ENERGY")
465 qs_env%input,
"DFT%PRINT%AO_MATRICES/POTENTIAL_ENERGY"),
cp_p_file))
THEN
469 after = min(max(after, 1), 16)
470 CALL get_qs_env(qs_env, matrix_h_kp=matrixkp_h, kinetic_kp=matrixkp_t)
471 IF (
ASSOCIATED(matrixkp_h))
THEN
472 IF (
SIZE(matrixkp_h, 2) == 1)
THEN
474 ALLOCATE (matrix_v(1)%matrix)
475 CALL dbcsr_copy(matrix_v(1)%matrix, matrixkp_h(1, 1)%matrix, name=
"POTENTIAL ENERGY MATRIX")
476 CALL dbcsr_add(matrix_v(1)%matrix, matrixkp_t(1, 1)%matrix, &
477 alpha_scalar=1.0_dp, beta_scalar=-1.0_dp)
479 para_env, output_unit=iw, omit_headers=omit_headers)
482 cpwarn(
"Printing of potential energy matrix not implemented for k-points")
486 "DFT%PRINT%AO_MATRICES/POTENTIAL_ENERGY")
491 qs_env%input,
"DFT%PRINT%AO_MATRICES/CORE_HAMILTONIAN"),
cp_p_file))
THEN
495 after = min(max(after, 1), 16)
496 CALL get_qs_env(qs_env, matrix_h_kp=matrixkp_h)
497 IF (
ASSOCIATED(matrixkp_h))
THEN
498 DO ic = 1,
SIZE(matrixkp_h, 2)
500 output_unit=iw, omit_headers=omit_headers)
504 "DFT%PRINT%AO_MATRICES/CORE_HAMILTONIAN")
507 CALL timestop(handle)
517 SUBROUTINE qs_matrix_h_allocate(qs_env, template, is_complex)
520 LOGICAL,
INTENT(in) :: is_complex
522 CHARACTER(LEN=default_string_length) :: headline
523 INTEGER :: img, nimages
524 TYPE(
dbcsr_p_type),
DIMENSION(:, :),
POINTER :: matrix_h, matrix_h_im
530 NULLIFY (matrix_h, matrix_h_im, sab_orb, dft_control, ks_env)
532 matrix_h_kp=matrix_h, &
533 matrix_h_im_kp=matrix_h_im, &
535 dft_control=dft_control, &
538 nimages = dft_control%nimages
540 headline =
"CORE HAMILTONIAN MATRIX"
542 ALLOCATE (matrix_h(1, img)%matrix)
543 CALL dbcsr_create(matrix_h(1, img)%matrix, name=trim(headline), template=template)
545 CALL dbcsr_set(matrix_h(1, img)%matrix, 0.0_dp)
550 headline =
"IMAGINARY PART OF CORE HAMILTONIAN MATRIX"
553 ALLOCATE (matrix_h_im(1, img)%matrix)
554 CALL dbcsr_create(matrix_h_im(1, img)%matrix, name=trim(headline), template=template, &
555 matrix_type=dbcsr_type_antisymmetric)
557 CALL dbcsr_set(matrix_h_im(1, img)%matrix, 0.0_dp)
559 CALL set_ks_env(ks_env, matrix_h_im_kp=matrix_h_im)
562 END SUBROUTINE qs_matrix_h_allocate
571 CHARACTER(LEN=default_string_length) :: headline
572 INTEGER :: image, nimages
573 TYPE(
dbcsr_p_type),
DIMENSION(:, :),
POINTER :: matrix_h, matrix_h_im
580 NULLIFY (matrix_h_im, matrix_h, dft_control, template, sab_orb, ks_env)
583 matrix_h_im_kp=matrix_h_im, &
584 matrix_h_kp=matrix_h, &
585 dft_control=dft_control, &
589 nimages = dft_control%nimages
591 cpassert(nimages .EQ.
SIZE(matrix_h, 2))
595 DO image = 1, nimages
596 headline =
"IMAGINARY CORE HAMILTONIAN MATRIX"
597 ALLOCATE (matrix_h_im(1, image)%matrix)
598 template => matrix_h(1, image)%matrix
599 CALL dbcsr_create(matrix=matrix_h_im(1, image)%matrix, template=template, &
600 name=trim(headline), matrix_type=dbcsr_type_antisymmetric)
602 CALL dbcsr_set(matrix_h_im(1, image)%matrix, 0.0_dp)
604 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)
...
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 kinetic_energy_matrix(qs_env, matrixkp_t, matrix_t, matrix_p, 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 core_matrices(qs_env, matrix_h, matrix_p, calculate_forces, nder, ec_env, dcdr_env, ec_env_matrices, basis_type, debug_forces, debug_stress, atcore)
...
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, 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, 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, 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, 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 set_ks_env(ks_env, v_hartree_rspace, s_mstruct_changed, rho_changed, 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_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, 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, 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_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, 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)
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.