26 dbcsr_type_no_symmetry, dbcsr_type_symmetric
46#include "./base/base_uses.f90"
50 CHARACTER(len=*),
PARAMETER,
PRIVATE :: moduleN =
'cp_dbcsr_output'
77 first_row, last_row, first_col, last_col, output_unit, omit_headers)
80 INTEGER,
INTENT(IN) :: before, after
83 INTEGER,
INTENT(IN),
OPTIONAL :: first_row, last_row, first_col, last_col
84 INTEGER,
INTENT(IN) :: output_unit
85 LOGICAL,
INTENT(IN),
OPTIONAL :: omit_headers
87 CHARACTER(LEN=60) :: matrix_name
88 INTEGER :: col1, col2, ncol_global, nrow_global, &
90 LOGICAL :: my_omit_headers
91 REAL(kind=
dp),
DIMENSION(:, :),
POINTER :: matrix
94 IF (.NOT.
ASSOCIATED(blacs_matrix%matrix_struct))
RETURN
95 CALL cp_fm_get_info(blacs_matrix, name=matrix_name, nrow_global=nrow_global, &
96 ncol_global=ncol_global)
98 ALLOCATE (matrix(nrow_global, ncol_global))
102 CALL get_qs_env(qs_env=qs_env, qs_kind_set=qs_kind_set)
105 IF (
PRESENT(first_row))
THEN
106 row1 = max(1, first_row)
111 IF (
PRESENT(last_row))
THEN
112 row2 = min(nsgf, last_row)
117 IF (
PRESENT(first_col))
THEN
118 col1 = max(1, first_col)
123 IF (
PRESENT(last_col))
THEN
124 col2 = min(nsgf, last_col)
129 IF (
PRESENT(omit_headers))
THEN
130 my_omit_headers = omit_headers
132 my_omit_headers = .false.
135 CALL write_matrix_sym(matrix, matrix_name, before, after, qs_env, para_env, &
136 row1, row2, col1, col2, output_unit, omit_headers=my_omit_headers)
139 IF (
ASSOCIATED(matrix))
THEN
161 first_row, last_row, first_col, last_col, scale, &
162 output_unit, omit_headers)
165 INTEGER,
INTENT(IN) :: before, after
168 INTEGER,
INTENT(IN),
OPTIONAL :: first_row, last_row, first_col, last_col
169 REAL(
dp),
INTENT(IN),
OPTIONAL :: scale
170 INTEGER,
INTENT(IN) :: output_unit
171 LOGICAL,
INTENT(IN),
OPTIONAL :: omit_headers
173 CHARACTER(LEN=default_string_length) :: matrix_name
174 INTEGER :: col1, col2, dim_col, dim_row, row1, row2
175 LOGICAL :: my_omit_headers, print_sym
176 REAL(kind=
dp),
DIMENSION(:, :),
POINTER :: matrix
177 TYPE(
qs_kind_type),
DIMENSION(:),
POINTER :: qs_kind_set
181 CALL copy_repl_dbcsr_to_repl_fm(sparse_matrix, matrix)
183 CALL para_env%sum(matrix)
186 CASE (dbcsr_type_symmetric)
189 CASE (dbcsr_type_antisymmetric)
192 CASE (dbcsr_type_no_symmetry)
199 CALL get_qs_env(qs_env=qs_env, qs_kind_set=qs_kind_set)
200 dim_row =
SIZE(matrix, 1)
201 dim_col =
SIZE(matrix, 2)
203 IF (
PRESENT(first_row))
THEN
204 row1 = max(1, first_row)
209 IF (
PRESENT(last_row))
THEN
210 row2 = min(dim_row, last_row)
215 IF (
PRESENT(first_col))
THEN
216 col1 = max(1, first_col)
221 IF (
PRESENT(last_col))
THEN
222 col2 = min(dim_col, last_col)
227 IF (
PRESENT(scale))
THEN
228 matrix = matrix*scale
231 IF (
PRESENT(omit_headers))
THEN
232 my_omit_headers = omit_headers
234 my_omit_headers = .false.
239 CALL write_matrix_sym(matrix, matrix_name, before, after, qs_env, para_env, &
240 row1, row2, col1, col2, output_unit, my_omit_headers)
242 CALL write_matrix_gen(matrix, matrix_name, before, after, para_env, &
243 row1, row2, col1, col2, output_unit, my_omit_headers)
246 IF (
ASSOCIATED(matrix))
THEN
257 SUBROUTINE copy_repl_dbcsr_to_repl_fm(sparse_matrix, fm)
260 REAL(kind=
dp),
DIMENSION(:, :),
POINTER :: fm
262 CHARACTER(len=*),
PARAMETER :: routinen =
'copy_repl_dbcsr_to_repl_fm'
264 INTEGER :: col, handle, i, j, nblkcols_total, &
265 nblkrows_total, nc, nr, row
266 INTEGER,
ALLOCATABLE,
DIMENSION(:) :: c_offset, r_offset
267 INTEGER,
DIMENSION(:),
POINTER :: col_blk_size, row_blk_size
268 REAL(kind=
dp),
DIMENSION(:, :),
POINTER :: block
271 CALL timeset(routinen, handle)
273 IF (
ASSOCIATED(fm))
DEALLOCATE (fm)
276 col_blk_size=col_blk_size, &
277 row_blk_size=row_blk_size, &
278 nblkrows_total=nblkrows_total, &
279 nblkcols_total=nblkcols_total)
282 ALLOCATE (r_offset(nblkrows_total), c_offset(nblkcols_total))
285 DO row = 2, nblkrows_total
286 r_offset(row) = r_offset(row - 1) + row_blk_size(row - 1)
288 nr = sum(row_blk_size)
290 DO col = 2, nblkcols_total
291 c_offset(col) = c_offset(col - 1) + col_blk_size(col - 1)
293 nc = sum(col_blk_size)
296 ALLOCATE (fm(nr, nc))
303 DO j = 1,
SIZE(block, 2)
304 DO i = 1,
SIZE(block, 1)
305 fm(r_offset(row) + i - 1, c_offset(col) + j - 1) = block(i, j)
311 DEALLOCATE (r_offset, c_offset)
313 CALL timestop(handle)
315 END SUBROUTINE copy_repl_dbcsr_to_repl_fm
333 SUBROUTINE write_matrix_sym(matrix, matrix_name, before, after, qs_env, para_env, &
334 first_row, last_row, first_col, last_col, output_unit, omit_headers)
336 REAL(kind=
dp),
DIMENSION(:, :),
POINTER :: matrix
337 CHARACTER(LEN=*),
INTENT(IN) :: matrix_name
338 INTEGER,
INTENT(IN) :: before, after
341 INTEGER,
INTENT(IN) :: first_row, last_row, first_col, &
342 last_col, output_unit
343 LOGICAL,
INTENT(IN) :: omit_headers
345 CHARACTER(LEN=2) :: element_symbol
346 CHARACTER(LEN=25) :: fmtstr1
347 CHARACTER(LEN=35) :: fmtstr2
348 CHARACTER(LEN=6),
DIMENSION(:),
POINTER :: sgf_symbol
349 INTEGER :: from, iatom, icol, ikind, irow, iset, &
350 isgf, ishell, iso, jcol, l, left, &
351 natom, ncol, ndigits, nset, nsgf, &
353 INTEGER,
ALLOCATABLE,
DIMENSION(:) :: first_sgf, last_sgf
354 INTEGER,
DIMENSION(:),
POINTER :: nshell
355 INTEGER,
DIMENSION(:, :),
POINTER :: lshell
359 TYPE(
qs_kind_type),
DIMENSION(:),
POINTER :: qs_kind_set
361 IF (output_unit > 0)
THEN
365 qs_kind_set=qs_kind_set, &
366 atomic_kind_set=atomic_kind_set, &
367 particle_set=particle_set)
369 natom =
SIZE(particle_set)
373 ALLOCATE (first_sgf(natom))
374 ALLOCATE (last_sgf(natom))
376 first_sgf=first_sgf, &
380 fmtstr1 =
"(/,T2,23X, ( X,I5, X))"
381 IF (omit_headers)
THEN
382 fmtstr2 =
"(T2, (1X,F . ))"
384 fmtstr2 =
"(T2,2I5,2X,A2,1X,A8, (1X,F . ))"
388 WRITE (unit=output_unit, fmt=
"(/,/,T2,A)") trim(matrix_name)
393 width = before + ndigits + 3
396 right = max((ndigits - 2), 1)
397 left = width - right - 5
399 WRITE (unit=fmtstr1(11:12), fmt=
"(I2)") ncol
400 WRITE (unit=fmtstr1(14:15), fmt=
"(I2)") left
401 WRITE (unit=fmtstr1(21:22), fmt=
"(I2)") right
403 IF (omit_headers)
THEN
404 WRITE (unit=fmtstr2(6:7), fmt=
"(I2)") ncol
405 WRITE (unit=fmtstr2(13:14), fmt=
"(I2)") width - 1
406 WRITE (unit=fmtstr2(16:17), fmt=
"(I2)") ndigits
408 WRITE (unit=fmtstr2(22:23), fmt=
"(I2)") ncol
409 WRITE (unit=fmtstr2(29:30), fmt=
"(I2)") width - 1
410 WRITE (unit=fmtstr2(32:33), fmt=
"(I2)") ndigits
414 DO icol = first_col, last_col, ncol
416 to = min((from + ncol - 1), last_col)
417 IF (.NOT. omit_headers)
THEN
418 WRITE (unit=output_unit, fmt=fmtstr1) (jcol, jcol=from, to)
422 NULLIFY (orb_basis_set)
424 kind_number=ikind, element_symbol=element_symbol)
425 CALL get_qs_kind(qs_kind_set(ikind), basis_set=orb_basis_set)
426 IF (
ASSOCIATED(orb_basis_set))
THEN
428 nset=nset, nshell=nshell, l=lshell, sgf_symbol=sgf_symbol)
431 DO ishell = 1, nshell(iset)
432 l = lshell(ishell, iset)
434 IF ((irow >= first_row) .AND. (irow <= last_row))
THEN
435 IF (omit_headers)
THEN
436 WRITE (unit=output_unit, fmt=fmtstr2) &
437 (matrix(irow, jcol), jcol=from, to)
439 WRITE (unit=output_unit, fmt=fmtstr2) &
440 irow, iatom, element_symbol, sgf_symbol(isgf), &
441 (matrix(irow, jcol), jcol=from, to)
449 IF ((irow >= first_row) .AND. (irow <= last_row))
THEN
450 WRITE (unit=output_unit, fmt=
"(A)")
453 DO iso = first_sgf(iatom), last_sgf(iatom)
454 IF ((irow >= first_row) .AND. (irow <= last_row))
THEN
455 IF (omit_headers)
THEN
456 WRITE (unit=output_unit, fmt=fmtstr2) &
457 (matrix(irow, jcol), jcol=from, to)
459 WRITE (unit=output_unit, fmt=fmtstr2) &
460 irow, iatom, element_symbol,
" ", &
461 (matrix(irow, jcol), jcol=from, to)
466 IF ((irow >= first_row) .AND. (irow <= last_row))
THEN
467 WRITE (unit=output_unit, fmt=
"(A)")
473 WRITE (unit=output_unit, fmt=
"(/)")
474 DEALLOCATE (first_sgf)
475 DEALLOCATE (last_sgf)
479 IF (output_unit > 0)
CALL m_flush(output_unit)
481 END SUBROUTINE write_matrix_sym
498 SUBROUTINE write_matrix_gen(matrix, matrix_name, before, after, para_env, &
499 first_row, last_row, first_col, last_col, output_unit, omit_headers)
501 REAL(kind=
dp),
DIMENSION(:, :),
POINTER :: matrix
502 CHARACTER(LEN=*),
INTENT(IN) :: matrix_name
503 INTEGER,
INTENT(IN) :: before, after
505 INTEGER,
INTENT(IN) :: first_row, last_row, first_col, &
506 last_col, output_unit
507 LOGICAL,
INTENT(IN) :: omit_headers
509 CHARACTER(LEN=25) :: fmtstr1
510 CHARACTER(LEN=35) :: fmtstr2
511 INTEGER :: from, icol, irow, jcol, left, ncol, &
512 ndigits, right, to, width
514 IF (output_unit > 0)
THEN
518 fmtstr1 =
"(/,T2,23X, ( X,I5, X))"
519 IF (omit_headers)
THEN
520 fmtstr2 =
"(T2, (1X,F . ))"
522 fmtstr2 =
"(T2, I5, 18X, (1X,F . ))"
526 WRITE (unit=output_unit, fmt=
"(/,/,T2,A)") trim(matrix_name)
531 width = before + ndigits + 3
534 right = max((ndigits - 2), 1)
535 left = width - right - 5
537 WRITE (unit=fmtstr1(11:12), fmt=
"(I2)") ncol
538 WRITE (unit=fmtstr1(14:15), fmt=
"(I2)") left
539 WRITE (unit=fmtstr1(21:22), fmt=
"(I2)") right
541 IF (omit_headers)
THEN
542 WRITE (unit=fmtstr2(6:7), fmt=
"(I2)") ncol
543 WRITE (unit=fmtstr2(13:14), fmt=
"(I2)") width - 1
544 WRITE (unit=fmtstr2(16:17), fmt=
"(I2)") ndigits
546 WRITE (unit=fmtstr2(22:23), fmt=
"(I2)") ncol
547 WRITE (unit=fmtstr2(29:30), fmt=
"(I2)") width - 1
548 WRITE (unit=fmtstr2(32:33), fmt=
"(I2)") ndigits
552 DO icol = first_col, last_col, ncol
554 to = min((from + ncol - 1), last_col)
555 IF (.NOT. omit_headers)
THEN
556 WRITE (unit=output_unit, fmt=fmtstr1) (jcol, jcol=from, to)
559 DO irow = first_row, last_row
560 IF (omit_headers)
THEN
561 WRITE (unit=output_unit, fmt=fmtstr2) &
562 irow, (matrix(irow, jcol), jcol=from, to)
564 WRITE (unit=output_unit, fmt=fmtstr2) &
565 (matrix(irow, jcol), jcol=from, to)
570 WRITE (unit=output_unit, fmt=
"(/)")
574 IF (output_unit > 0)
CALL m_flush(output_unit)
576 END SUBROUTINE write_matrix_gen
588 INTEGER,
INTENT(IN) :: output_unit
591 CHARACTER(LEN=*),
PARAMETER :: routinen =
'cp_dbcsr_write_matrix_dist'
592 LOGICAL,
PARAMETER :: full_output = .false.
594 CHARACTER :: matrix_type
595 CHARACTER(LEN=default_string_length) :: matrix_name
596 INTEGER :: handle, ipe, mype, natom, nblock_max, &
597 nelement_max, npe, nrow, tmp(2)
598 INTEGER(KIND=int_8) :: nblock_sum, nblock_tot, nelement_sum
599 INTEGER,
ALLOCATABLE,
DIMENSION(:) :: nblock, nelement
601 REAL(kind=
dp) :: occupation
607 CALL timeset(routinen, handle)
609 ionode = para_env%is_source()
610 mype = para_env%mepos + 1
611 npe = para_env%num_pe
614 ALLOCATE (nblock(npe))
617 ALLOCATE (nelement(npe))
625 matrix_type=matrix_type, &
626 nblkrows_total=natom, &
627 nfullrows_total=nrow)
629 IF (full_output)
THEN
631 CALL para_env%sum(nblock)
632 CALL para_env%sum(nelement)
634 nblock_sum = sum(int(nblock, kind=
int_8))
635 nelement_sum = sum(int(nelement, kind=
int_8))
637 nblock_sum = nblock(mype)
638 nblock_max = nblock(mype)
639 nelement_sum = nelement(mype)
640 nelement_max = nelement(mype)
641 CALL para_env%sum(nblock_sum)
642 CALL para_env%sum(nelement_sum)
643 tmp = (/nblock_max, nelement_max/)
644 CALL para_env%max(tmp)
645 nblock_max = tmp(1); nelement_max = tmp(2)
648 IF (matrix_type == dbcsr_type_symmetric .OR. &
649 matrix_type == dbcsr_type_antisymmetric)
THEN
650 nblock_tot = int(natom, kind=
int_8)*int(natom + 1, kind=
int_8)/2
652 nblock_tot = int(natom, kind=
int_8)**2
656 IF (nblock_tot .NE. 0) occupation = 100.0_dp*real(nblock_sum,
dp)/real(nblock_tot,
dp)
659 WRITE (unit=output_unit, fmt=
"(/,/,T2,A)") &
660 "DISTRIBUTION OF THE "//trim(matrix_name)
661 IF (full_output)
THEN
662 WRITE (unit=output_unit, fmt=
"(/,T3,A,/,/,(I9,T27,I10,T55,I10))") &
663 "Process Number of matrix blocks Number of matrix elements", &
664 (ipe - 1, nblock(ipe), nelement(ipe), ipe=1, npe)
665 WRITE (unit=output_unit, fmt=
"(/,T7,A3,T27,I10,T55,I10)") &
666 "Sum", nblock_sum, nelement_sum
667 WRITE (unit=output_unit, fmt=
"(/,T7,A3,T27,I10,A,F5.1,A,T55,I10,A,F5.1,A)") &
668 " of", nblock_tot,
" (", occupation,
" % occupation)"
670 WRITE (unit=output_unit, fmt=
"(T15,A,T68,I13)")
"Number of non-zero blocks:", nblock_sum
671 WRITE (unit=output_unit, fmt=
"(T15,A,T75,F6.2)")
"Percentage non-zero blocks:", occupation
672 WRITE (unit=output_unit, fmt=
"(T15,A,T68,I13)")
"Average number of blocks per CPU:", &
673 (nblock_sum + npe - 1)/npe
674 WRITE (unit=output_unit, fmt=
"(T15,A,T68,I13)")
"Maximum number of blocks per CPU:", nblock_max
675 WRITE (unit=output_unit, fmt=
"(T15,A,T68,I13)")
"Average number of matrix elements per CPU:", &
676 (nelement_sum + npe - 1)/npe
677 WRITE (unit=output_unit, fmt=
"(T15,A,T68,I13)")
"Maximum number of matrix elements per CPU:", &
685 DEALLOCATE (nelement)
687 CALL timestop(handle)
Define the atomic kind types and their sub types.
subroutine, public get_atomic_kind(atomic_kind, fist_potential, element_symbol, name, mass, kind_number, natom, atom_list, rcov, rvdw, z, qeff, apol, cpol, mm_radius, shell, shell_active, damping)
Get attributes of an atomic kind.
subroutine, public get_gto_basis_set(gto_basis_set, name, aliases, norm_type, kind_radius, ncgf, nset, nsgf, cgf_symbol, sgf_symbol, norm_cgf, set_radius, lmax, lmin, lx, ly, lz, m, ncgf_set, npgf, nsgf_set, nshell, cphi, pgf_radius, sphi, scon, zet, first_cgf, first_sgf, l, last_cgf, last_sgf, n, gcc, maxco, maxl, maxpgf, maxsgf_set, maxshell, maxso, nco_sum, npgf_sum, nshell_sum, maxder, short_kind_radius, npgf_seg_sum)
...
integer function, public dbcsr_get_data_size(matrix)
...
subroutine, public dbcsr_iterator_next_block(iterator, row, column, block, block_number_argument_has_been_removed, row_size, col_size, row_offset, col_offset)
...
character function, public dbcsr_get_matrix_type(matrix)
...
logical function, public dbcsr_iterator_blocks_left(iterator)
...
subroutine, public dbcsr_iterator_stop(iterator)
...
subroutine, public dbcsr_get_info(matrix, nblkrows_total, nblkcols_total, nfullrows_total, nfullcols_total, nblkrows_local, nblkcols_local, nfullrows_local, nfullcols_local, my_prow, my_pcol, local_rows, local_cols, proc_row_dist, proc_col_dist, row_blk_size, col_blk_size, row_blk_offset, col_blk_offset, distribution, name, matrix_type, group)
...
subroutine, public dbcsr_iterator_start(iterator, matrix, shared, dynamic, dynamic_byrows)
...
integer function, public dbcsr_get_num_blocks(matrix)
...
subroutine, public write_fm_with_basis_info(blacs_matrix, before, after, qs_env, para_env, first_row, last_row, first_col, last_col, output_unit, omit_headers)
Print a spherical matrix of blacs type.
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)
...
represent a full matrix distributed on many processors
subroutine, public cp_fm_get_info(matrix, name, nrow_global, ncol_global, nrow_block, ncol_block, nrow_local, ncol_local, row_indices, col_indices, local_data, context, nrow_locals, ncol_locals, matrix_struct, para_env)
returns all kind of information about the full matrix
subroutine, public cp_fm_get_submatrix(fm, target_m, start_row, start_col, n_rows, n_cols, transpose)
gets a submatrix of a full matrix op(target_m)(1:n_rows,1:n_cols) =fm(start_row:start_row+n_rows,...
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
Defines the basic variable types.
integer, parameter, public int_8
integer, parameter, public dp
integer, parameter, public default_string_length
Machine interface based on Fortran 2003 and POSIX.
subroutine, public m_flush(lunit)
flushes units if the &GLOBAL flag is set accordingly
Collection of simple mathematical functions and subroutines.
subroutine, public symmetrize_matrix(a, option)
Symmetrize the matrix a.
Interface to the message passing library MPI.
Provides Cartesian and spherical orbital pointers and indices.
integer, dimension(:), allocatable, public nso
Define methods related to particle_type.
subroutine, public get_particle_set(particle_set, qs_kind_set, first_sgf, last_sgf, nsgf, nmao, basis)
Get the components of a particle set.
Define the data structure for the particle information.
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, 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, ecoul_1c, rho0_s_rs, rho0_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)
Get 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, 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, 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, init_u_ramping_each_scf, reltmat, ghost, floating, name, element_symbol, pao_basis_size, pao_model_file, pao_potentials, pao_descriptors, nelec)
Get attributes of an atomic kind.
subroutine, public get_qs_kind_set(qs_kind_set, all_potential_present, tnadd_potential_present, gth_potential_present, sgp_potential_present, paw_atom_present, dft_plus_u_atom_present, maxcgf, maxsgf, maxco, maxco_proj, maxgtops, maxlgto, maxlprj, maxnset, maxsgf_set, ncgf, npgf, nset, nsgf, nshell, maxpol, maxlppl, maxlppnl, maxppnl, nelectron, maxder, max_ngrid_rad, max_sph_harm, maxg_iso_not0, lmax_rho0, basis_rcut, basis_type, total_zeff_corr, npgf_seg)
Get attributes of an atomic kind set.
Provides all information about an atomic kind.
type of a logger, at the moment it contains just a print level starting at which level it should be l...
stores all the informations relevant to an mpi environment
Provides all information about a quickstep kind.