134 SUBROUTINE update_pmax_mat(pmax_set, map_atom_to_kind_atom, set_offset, atomic_block_offset, &
135 pmax_atom, full_density_alpha, full_density_beta, natom, &
136 kind_of, basis_parameter, &
137 nkind, is_assoc_atomic_block)
139 TYPE(
hfx_p_kind),
DIMENSION(:),
POINTER :: pmax_set
140 INTEGER,
DIMENSION(:),
POINTER :: map_atom_to_kind_atom
141 INTEGER,
DIMENSION(:, :, :, :),
POINTER :: set_offset
142 INTEGER,
DIMENSION(:, :),
POINTER :: atomic_block_offset
143 REAL(
dp),
DIMENSION(:, :),
POINTER :: pmax_atom, full_density_alpha, &
145 INTEGER,
INTENT(IN) :: natom
146 INTEGER :: kind_of(*)
149 INTEGER,
DIMENSION(:, :) :: is_assoc_atomic_block
151 CHARACTER(LEN=*),
PARAMETER :: routinen =
'update_pmax_mat'
153 INTEGER :: act_atomic_block_offset, act_set_offset, handle, i, img, jatom, jkind, jset, &
154 katom, kind_kind_idx, kkind, kset, mb, mc, nimg, nsetb, nsetc
155 INTEGER,
DIMENSION(:),
POINTER :: nsgfb, nsgfc
158 CALL timeset(routinen, handle)
160 DO i = 1,
SIZE(pmax_set)
161 pmax_set(i)%p_kind = 0.0_dp
166 nimg =
SIZE(full_density_alpha, 2)
169 jkind = kind_of(jatom)
170 nsetb = basis_parameter(jkind)%nset
171 nsgfb => basis_parameter(jkind)%nsgf
174 IF (.NOT. is_assoc_atomic_block(jatom, katom) >= 1) cycle
175 kkind = kind_of(katom)
176 IF (kkind < jkind) cycle
177 nsetc = basis_parameter(kkind)%nset
178 nsgfc => basis_parameter(kkind)%nsgf
179 act_atomic_block_offset = atomic_block_offset(katom, jatom)
182 IF (katom >= jatom)
THEN
184 act_set_offset = set_offset(kset, jset, kkind, jkind)
186 i = act_set_offset + act_atomic_block_offset - 1
187 DO mc = 1, nsgfc(kset)
188 DO mb = 1, nsgfb(jset)
189 pmax_tmp = max(pmax_tmp, abs(full_density_alpha(i, img)))
190 IF (
ASSOCIATED(full_density_beta))
THEN
191 pmax_tmp = max(pmax_tmp, abs(full_density_beta(i, img)))
197 IF (pmax_tmp == 0.0_dp)
THEN
200 pmax_tmp = log10(pmax_tmp)
202 kind_kind_idx = int(get_1d_idx(jkind, kkind, int(nkind,
int_8)))
203 pmax_set(kind_kind_idx)%p_kind(jset, &
205 map_atom_to_kind_atom(jatom), &
206 map_atom_to_kind_atom(katom)) = pmax_tmp
209 act_set_offset = set_offset(jset, kset, jkind, kkind)
211 DO mc = 1, nsgfc(kset)
212 i = act_set_offset + act_atomic_block_offset - 1 + mc - 1
213 DO mb = 1, nsgfb(jset)
214 pmax_tmp = max(pmax_tmp, abs(full_density_alpha(i, img)))
215 IF (
ASSOCIATED(full_density_beta))
THEN
216 pmax_tmp = max(pmax_tmp, abs(full_density_beta(i, img)))
222 IF (pmax_tmp == 0.0_dp)
THEN
225 pmax_tmp = log10(pmax_tmp)
227 kind_kind_idx = int(get_1d_idx(jkind, kkind, int(nkind,
int_8)))
228 pmax_set(kind_kind_idx)%p_kind(jset, &
230 map_atom_to_kind_atom(jatom), &
231 map_atom_to_kind_atom(katom)) = pmax_tmp
239 jkind = kind_of(jatom)
240 nsetb = basis_parameter(jkind)%nset
242 IF (.NOT. is_assoc_atomic_block(jatom, katom) >= 1) cycle
243 kkind = kind_of(katom)
244 IF (kkind < jkind) cycle
245 nsetc = basis_parameter(kkind)%nset
249 kind_kind_idx = int(get_1d_idx(jkind, kkind, int(nkind,
int_8)))
250 pmax_tmp = max(pmax_set(kind_kind_idx)%p_kind(jset, &
252 map_atom_to_kind_atom(jatom), &
253 map_atom_to_kind_atom(katom)), pmax_tmp)
256 pmax_atom(jatom, katom) = pmax_tmp
257 pmax_atom(katom, jatom) = pmax_tmp
261 CALL timestop(handle)
301 coeffs_set, coeffs_kind, coeffs_pgf, radii_pgf, &
302 max_set, max_pgf, n_threads, i_thread, &
309 DIMENSION(:, :, :, :),
POINTER :: coeffs_set
311 POINTER :: coeffs_kind
313 DIMENSION(:, :, :, :, :, :),
POINTER :: coeffs_pgf, radii_pgf
314 INTEGER,
INTENT(IN) :: max_set, max_pgf, n_threads, i_thread
315 REAL(
dp),
DIMENSION(:),
POINTER :: p_work
317 CHARACTER(LEN=*),
PARAMETER :: routinen =
'calc_screening_functions'
319 INTEGER :: handle, i, ikind, ipgf, iset, jkind, &
320 jpgf, jset, la, lb, ncoa, ncob, nkind, &
321 nseta, nsetb, sgfa, sgfb
322 INTEGER,
DIMENSION(:),
POINTER :: la_max, la_min, lb_max, lb_min, npgfa, &
324 INTEGER,
DIMENSION(:, :),
POINTER :: first_sgfa, first_sgfb
325 REAL(
dp) :: kind_radius_a, kind_radius_b, max_contraction_a, max_contraction_b, max_val, &
326 max_val_temp, r1, ra(3), radius, rb(3), x(2)
327 REAL(
dp),
DIMENSION(:),
POINTER :: set_radius_a, set_radius_b
328 REAL(
dp),
DIMENSION(:, :),
POINTER :: rpgfa, rpgfb, sphi_a, sphi_b, zeta, zetb
329 REAL(
dp),
SAVE :: data(2, 0:100)
333 TYPE(
qs_kind_type),
DIMENSION(:),
POINTER :: qs_kind_set
337 CALL timeset(routinen, handle)
341 qs_kind_set=qs_kind_set)
343 nkind =
SIZE(qs_kind_set, 1)
346 ALLOCATE (coeffs_pgf(max_pgf, max_pgf, max_set, max_set, nkind, nkind))
354 coeffs_pgf(jpgf, ipgf, jset, iset, jkind, ikind)%x(:) = 0.0_dp
367 NULLIFY (qs_kind, orb_basis)
368 qs_kind => qs_kind_set(ikind)
369 CALL get_qs_kind(qs_kind=qs_kind, basis_set=orb_basis)
370 NULLIFY (la_max, la_min, npgfa, zeta)
372 la_max => basis_parameter(ikind)%lmax
373 la_min => basis_parameter(ikind)%lmin
374 npgfa => basis_parameter(ikind)%npgf
375 nseta = basis_parameter(ikind)%nset
376 zeta => basis_parameter(ikind)%zet
377 set_radius_a => basis_parameter(ikind)%set_radius
378 first_sgfa => basis_parameter(ikind)%first_sgf
379 sphi_a => basis_parameter(ikind)%sphi
380 nsgfa => basis_parameter(ikind)%nsgf
381 rpgfa => basis_parameter(ikind)%pgf_radius
384 NULLIFY (qs_kind, orb_basis)
385 qs_kind => qs_kind_set(jkind)
386 CALL get_qs_kind(qs_kind=qs_kind, basis_set=orb_basis)
387 NULLIFY (lb_max, lb_min, npgfb, zetb)
389 lb_max => basis_parameter(jkind)%lmax
390 lb_min => basis_parameter(jkind)%lmin
391 npgfb => basis_parameter(jkind)%npgf
392 nsetb = basis_parameter(jkind)%nset
393 zetb => basis_parameter(jkind)%zet
394 set_radius_b => basis_parameter(jkind)%set_radius
395 first_sgfb => basis_parameter(jkind)%first_sgf
396 sphi_b => basis_parameter(jkind)%sphi
397 nsgfb => basis_parameter(jkind)%nsgf
398 rpgfb => basis_parameter(jkind)%pgf_radius
401 ncoa = npgfa(iset)*
ncoset(la_max(iset))
402 sgfa = first_sgfa(1, iset)
403 max_contraction_a = maxval((/(sum(abs(sphi_a(1:ncoa, i))), i=sgfa, sgfa + nsgfa(iset) - 1)/))
405 ncob = npgfb(jset)*
ncoset(lb_max(jset))
406 sgfb = first_sgfb(1, jset)
407 max_contraction_b = maxval((/(sum(abs(sphi_b(1:ncob, i))), i=sgfb, sgfb + nsgfb(jset) - 1)/))
408 radius = set_radius_a(iset) + set_radius_b(jset)
409 DO ipgf = 1, npgfa(iset)
410 DO jpgf = 1, npgfb(jset)
411 radius = rpgfa(ipgf, iset) + rpgfb(jpgf, jset)
412 DO i = i_thread, 100, n_threads
413 rb(1) = 0.0_dp + real(i,
dp)*0.01_dp*radius
415 r1 = max(0.0_dp, radii_pgf(jpgf, ipgf, jset, iset, jkind, ikind)%x(1)*rb(1)**2 + &
416 radii_pgf(jpgf, ipgf, jset, iset, jkind, ikind)%x(2))
417 DO la = la_min(iset), la_max(iset)
418 DO lb = lb_min(jset), lb_max(jset)
420 max_val_temp = 0.0_dp
422 zeta(ipgf, iset), zetb(jpgf, jset), zeta(ipgf, iset), zetb(jpgf, jset), &
424 max_val_temp, potential_parameter, r1, r1, p_work)
425 max_val = max(max_val, max_val_temp)
428 max_val = sqrt(max_val)
429 max_val = max_val*max_contraction_a*max_contraction_b
431 IF (max_val == 0.0_dp)
THEN
434 DATA(2, i) = log10((max_val))
440 coeffs_pgf(jpgf, ipgf, jset, iset, jkind, ikind)%x = x
452 ALLOCATE (coeffs_set(max_set, max_set, nkind, nkind))
458 coeffs_set(jset, iset, jkind, ikind)%x(:) = 0.0_dp
468 NULLIFY (qs_kind, orb_basis)
469 qs_kind => qs_kind_set(ikind)
470 CALL get_qs_kind(qs_kind=qs_kind, basis_set=orb_basis)
471 NULLIFY (la_max, la_min, npgfa, zeta)
482 la_max => basis_parameter(ikind)%lmax
483 la_min => basis_parameter(ikind)%lmin
484 npgfa => basis_parameter(ikind)%npgf
485 nseta = basis_parameter(ikind)%nset
486 zeta => basis_parameter(ikind)%zet
487 set_radius_a => basis_parameter(ikind)%set_radius
488 first_sgfa => basis_parameter(ikind)%first_sgf
489 sphi_a => basis_parameter(ikind)%sphi
490 nsgfa => basis_parameter(ikind)%nsgf
493 NULLIFY (qs_kind, orb_basis)
494 qs_kind => qs_kind_set(jkind)
495 CALL get_qs_kind(qs_kind=qs_kind, basis_set=orb_basis)
496 NULLIFY (lb_max, lb_min, npgfb, zetb)
498 lb_max => basis_parameter(jkind)%lmax
499 lb_min => basis_parameter(jkind)%lmin
500 npgfb => basis_parameter(jkind)%npgf
501 nsetb = basis_parameter(jkind)%nset
502 zetb => basis_parameter(jkind)%zet
503 set_radius_b => basis_parameter(jkind)%set_radius
504 first_sgfb => basis_parameter(jkind)%first_sgf
505 sphi_b => basis_parameter(jkind)%sphi
506 nsgfb => basis_parameter(jkind)%nsgf
509 ncoa = npgfa(iset)*
ncoset(la_max(iset))
510 sgfa = first_sgfa(1, iset)
511 max_contraction_a = maxval((/(sum(abs(sphi_a(1:ncoa, i))), i=sgfa, sgfa + nsgfa(iset) - 1)/))
513 ncob = npgfb(jset)*
ncoset(lb_max(jset))
514 sgfb = first_sgfb(1, jset)
515 max_contraction_b = maxval((/(sum(abs(sphi_b(1:ncob, i))), i=sgfb, sgfb + nsgfb(jset) - 1)/))
516 radius = set_radius_a(iset) + set_radius_b(jset)
517 tmp_r_1 => radii_pgf(:, :, jset, iset, jkind, ikind)
518 DO i = i_thread, 100, n_threads
519 rb(1) = 0.0_dp + real(i,
dp)*0.01_dp*radius
521 CALL screen4(lib, ra, rb, &
522 zeta(:, iset), zetb(:, jset), &
523 la_min(iset), la_max(iset), lb_min(jset), lb_max(jset), &
524 npgfa(iset), npgfb(jset), &
525 max_val, potential_parameter, tmp_r_1, rb(1)**2, p_work)
526 max_val = sqrt(max_val)
527 max_val = max_val*max_contraction_a*max_contraction_b
529 IF (max_val == 0.0_dp)
THEN
532 DATA(2, i) = log10((max_val))
538 coeffs_set(jset, iset, jkind, ikind)%x = x
549 ALLOCATE (coeffs_kind(nkind, nkind))
553 coeffs_kind(jkind, ikind)%x(:) = 0.0_dp
560 NULLIFY (qs_kind, orb_basis)
561 qs_kind => qs_kind_set(ikind)
562 CALL get_qs_kind(qs_kind=qs_kind, basis_set=orb_basis)
563 NULLIFY (la_max, la_min, npgfa, zeta)
565 la_max => basis_parameter(ikind)%lmax
566 la_min => basis_parameter(ikind)%lmin
567 npgfa => basis_parameter(ikind)%npgf
568 nseta = basis_parameter(ikind)%nset
569 zeta => basis_parameter(ikind)%zet
570 kind_radius_a = basis_parameter(ikind)%kind_radius
571 first_sgfa => basis_parameter(ikind)%first_sgf
572 sphi_a => basis_parameter(ikind)%sphi
573 nsgfa => basis_parameter(ikind)%nsgf
576 NULLIFY (qs_kind, orb_basis)
577 qs_kind => qs_kind_set(jkind)
578 CALL get_qs_kind(qs_kind=qs_kind, basis_set=orb_basis)
579 NULLIFY (lb_max, lb_min, npgfb, zetb)
581 lb_max => basis_parameter(jkind)%lmax
582 lb_min => basis_parameter(jkind)%lmin
583 npgfb => basis_parameter(jkind)%npgf
584 nsetb = basis_parameter(jkind)%nset
585 zetb => basis_parameter(jkind)%zet
586 kind_radius_b = basis_parameter(jkind)%kind_radius
587 first_sgfb => basis_parameter(jkind)%first_sgf
588 sphi_b => basis_parameter(jkind)%sphi
589 nsgfb => basis_parameter(jkind)%nsgf
591 radius = kind_radius_a + kind_radius_b
593 ncoa = npgfa(iset)*
ncoset(la_max(iset))
594 sgfa = first_sgfa(1, iset)
595 max_contraction_a = maxval((/(sum(abs(sphi_a(1:ncoa, i))), i=sgfa, sgfa + nsgfa(iset) - 1)/))
597 ncob = npgfb(jset)*
ncoset(lb_max(jset))
598 sgfb = first_sgfb(1, jset)
599 max_contraction_b = maxval((/(sum(abs(sphi_b(1:ncob, i))), i=sgfb, sgfb + nsgfb(jset) - 1)/))
600 DO i = i_thread, 100, n_threads
601 rb(1) = 0.0_dp + real(i,
dp)*0.01_dp*radius
603 tmp_r_1 => radii_pgf(:, :, jset, iset, jkind, ikind)
604 CALL screen4(lib, ra, rb, &
605 zeta(:, iset), zetb(:, jset), &
606 la_min(iset), la_max(iset), lb_min(jset), lb_max(jset), &
607 npgfa(iset), npgfb(jset), &
608 max_val, potential_parameter, tmp_r_1, rb(1)**2, p_work)
610 max_val = sqrt(max_val)
611 max_val = max_val*max_contraction_a*max_contraction_b
612 IF (max_val == 0.0_dp)
THEN
615 DATA(2, i) = max(log10(max_val),
DATA(2, i))
623 coeffs_kind(jkind, ikind)%x = x
630 CALL timestop(handle)
658 radii_pgf, max_set, max_pgf, eps_schwarz, &
664 DIMENSION(:, :, :, :, :, :),
POINTER :: radii_pgf
665 INTEGER,
INTENT(IN) :: max_set, max_pgf
666 REAL(
dp) :: eps_schwarz
667 INTEGER,
INTENT(IN) :: n_threads, i_thread
669 CHARACTER(LEN=*),
PARAMETER :: routinen =
'calc_pair_dist_radii'
671 INTEGER :: handle, i, ikind, ipgf, iset, jkind, &
672 jpgf, jset, la, lb, ncoa, ncob, nkind, &
673 nseta, nsetb, sgfa, sgfb
674 INTEGER,
DIMENSION(:),
POINTER :: la_max, la_min, lb_max, lb_min, npgfa, &
676 INTEGER,
DIMENSION(:, :),
POINTER :: first_sgfa, first_sgfb
677 REAL(
dp) :: cutoff, ff, max_contraction_a, max_contraction_b, prefactor, r1, r_max, ra(3), &
678 rab(3), rab2, radius, rap(3), rb(3), rp(3), x(2), zetp
679 REAL(
dp),
DIMENSION(:, :),
POINTER :: rpgfa, rpgfb, sphi_a, sphi_b, zeta, zetb
680 REAL(
dp),
SAVE :: data(2, 0:100)
682 TYPE(
qs_kind_type),
DIMENSION(:),
POINTER :: qs_kind_set
686 CALL timeset(routinen, handle)
689 qs_kind_set=qs_kind_set)
691 nkind =
SIZE(qs_kind_set, 1)
695 ALLOCATE (radii_pgf(max_pgf, max_pgf, max_set, max_set, nkind, nkind))
702 radii_pgf(jpgf, ipgf, jset, iset, jkind, ikind)%x(:) = 0.0_dp
715 NULLIFY (qs_kind, orb_basis)
716 qs_kind => qs_kind_set(ikind)
717 CALL get_qs_kind(qs_kind=qs_kind, basis_set=orb_basis)
718 NULLIFY (la_max, la_min, npgfa, zeta)
720 la_max => basis_parameter(ikind)%lmax
721 la_min => basis_parameter(ikind)%lmin
722 npgfa => basis_parameter(ikind)%npgf
723 nseta = basis_parameter(ikind)%nset
724 zeta => basis_parameter(ikind)%zet
725 first_sgfa => basis_parameter(ikind)%first_sgf
726 sphi_a => basis_parameter(ikind)%sphi
727 nsgfa => basis_parameter(ikind)%nsgf
728 rpgfa => basis_parameter(ikind)%pgf_radius
731 NULLIFY (qs_kind, orb_basis)
732 qs_kind => qs_kind_set(jkind)
733 CALL get_qs_kind(qs_kind=qs_kind, basis_set=orb_basis)
734 NULLIFY (lb_max, lb_min, npgfb, zetb)
736 lb_max => basis_parameter(jkind)%lmax
737 lb_min => basis_parameter(jkind)%lmin
738 npgfb => basis_parameter(jkind)%npgf
739 nsetb = basis_parameter(jkind)%nset
740 zetb => basis_parameter(jkind)%zet
741 first_sgfb => basis_parameter(jkind)%first_sgf
742 sphi_b => basis_parameter(jkind)%sphi
743 nsgfb => basis_parameter(jkind)%nsgf
744 rpgfb => basis_parameter(jkind)%pgf_radius
747 ncoa = npgfa(iset)*
ncoset(la_max(iset))
748 sgfa = first_sgfa(1, iset)
749 max_contraction_a = maxval((/(sum(abs(sphi_a(1:ncoa, i))), i=sgfa, sgfa + nsgfa(iset) - 1)/))
751 ncob = npgfb(jset)*
ncoset(lb_max(jset))
752 sgfb = first_sgfb(1, jset)
753 max_contraction_b = maxval((/(sum(abs(sphi_b(1:ncob, i))), i=sgfb, sgfb + nsgfb(jset) - 1)/))
754 DO ipgf = 1, npgfa(iset)
755 DO jpgf = 1, npgfb(jset)
756 radius = rpgfa(ipgf, iset) + rpgfb(jpgf, jset)
757 DO i = i_thread, 100, n_threads
758 rb(1) = 0.0_dp + 0.01_dp*radius*i
760 DO la = la_min(iset), la_max(iset)
761 DO lb = lb_min(jset), lb_max(jset)
762 zetp = zeta(ipgf, iset) + zetb(jpgf, jset)
763 ff = zetb(jpgf, jset)/zetp
767 prefactor = exp(-zeta(ipgf, iset)*ff*rab2)
769 rp(:) = ra(:) + rap(:)
770 rb(:) = ra(:) + rab(:)
773 la, la, lb, lb, ra=ra, rb=rb, rp=rp, &
774 zetp=zetp, eps=eps_schwarz, prefactor=prefactor, cutoff=cutoff, epsabs=1.0e-12_dp)
775 r_max = max(r_max, r1)
785 CALL optimize_it(
DATA, x, 0.0_dp)
786 radii_pgf(jpgf, ipgf, jset, iset, jkind, ikind)%x = x
796 CALL timestop(handle)
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.
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.