79 numerical,
oe_gllb,
oe_lb,
oe_none,
oe_saop,
oe_sic,
orb_dx2,
orb_dxy,
orb_dy2,
orb_dyz, &
167#include "./base/base_uses.f90"
172 CHARACTER(len=*),
PARAMETER,
PRIVATE :: moduleN =
'input_cp2k_print_dft'
187 TYPE(
section_type),
POINTER :: print_key, sub_print_key, subsection
189 cpassert(.NOT.
ASSOCIATED(section))
191 description=
"Section of possible print options in DFT code.", &
192 n_keywords=0, n_subsections=1, repeats=.false.)
194 NULLIFY (print_key, keyword, subsection)
197 description=
"Controls the printing of the banner of the MM program", &
203 description=
"Controls the printing of a file with all basis sets used.", &
209 description=
"Controls the printing of the kinetic energy", &
215 description=
"Print all derivatives after the DFT calculation", &
219 description=
"Specify the number of digits used to print derivatives", &
228 description=
"Controls the printing of the neighbor lists", &
232 description=
"Activates the printing of the orbital "// &
233 "orbital neighbor lists, "// &
234 "i.e. the overlap neighbor lists", &
235 default_l_val=.false., &
236 lone_keyword_l_val=.true.)
241 name=
"sab_aux_fit", &
242 description=
"Activates the printing of the orbital "// &
243 "orbital neighbor lists wavefunction fitting basis, "// &
244 "i.e. the overlap neighbor lists", &
245 default_l_val=.false., &
246 lone_keyword_l_val=.true.)
251 name=
"sab_aux_fit_vs_orb", &
252 description=
"Activates the printing of the orbital "// &
253 "orbital mixed neighbor lists of wavefunction fitting basis, "// &
254 "and the orbital basis, i.e. the overlap neighbor lists", &
255 default_l_val=.false., &
256 lone_keyword_l_val=.true.)
262 description=
"Activates the printing of the vdW SCP "// &
264 default_l_val=.false., &
265 lone_keyword_l_val=.true.)
271 description=
"Activates the printing of the vdW "// &
272 "neighbor lists (from DFT, DFTB, SE), "// &
273 "i.e. the dispersion neighbor lists", &
274 default_l_val=.false., &
275 lone_keyword_l_val=.true.)
281 description=
"Activates the printing of the "// &
282 "neighbor lists used for coordination numbers in vdW DFT-D3", &
283 default_l_val=.false., &
284 lone_keyword_l_val=.true.)
290 description=
"Activates the printing of the orbital "// &
291 "nuclear attraction neighbor lists (erfc potential)", &
292 default_l_val=.false., &
293 lone_keyword_l_val=.true.)
299 description=
"Activates the printing of the orbital "// &
300 "GTH-PPL neighbor lists (local part of the "// &
301 "Goedecker-Teter-Hutter pseudo potentials)", &
302 default_l_val=.false., &
303 lone_keyword_l_val=.true.)
309 description=
"Activates the printing of the orbital "// &
310 "GTH-PPNL neighbor lists (non-local part of the "// &
311 "Goedecker-Teter-Hutter pseudo potentials)", &
312 default_l_val=.false., &
313 lone_keyword_l_val=.true.)
319 description=
"Activates the printing of the orbital "// &
320 "PAW-projector neighbor lists (only GAPW)", &
321 default_l_val=.false., &
322 lone_keyword_l_val=.true.)
328 description=
"Activates the printing of the two-center "// &
329 "neighbor lists for Coulomb type interactions in NDDO ", &
330 default_l_val=.false., &
331 lone_keyword_l_val=.true.)
337 description=
"Activates the printing of the long-range SE correction "// &
338 "neighbor lists (only when doing long-range SE with integral scheme KDSO and KDSO-d)", &
339 default_l_val=.false., lone_keyword_l_val=.true.)
345 description=
"Activates the printing of the DFTB Ewald "// &
347 default_l_val=.false., &
348 lone_keyword_l_val=.true.)
354 description=
"Activates the printing of the xTB sr-Coulomb "// &
356 default_l_val=.false., &
357 lone_keyword_l_val=.true.)
363 description=
"Activates the printing of core interaction "// &
365 default_l_val=.false., &
366 lone_keyword_l_val=.true.)
372 description=
"Activates the printing of XB interaction from (xTB) "// &
374 default_l_val=.false., &
375 lone_keyword_l_val=.true.)
380 name=
"sab_xtb_nonbond", &
381 description=
"Activates the printing of nonbonded interaction from (xTB) "// &
383 default_l_val=.false., &
384 lone_keyword_l_val=.true.)
390 description=
"Activates the printing of RI orbital-orbital "// &
392 default_l_val=.false., &
393 lone_keyword_l_val=.true.)
399 description=
"Activates the printing of RI basis-projector interaction "// &
401 default_l_val=.false., &
402 lone_keyword_l_val=.true.)
410 description=
"Activates the printing of the subcells used for the "// &
411 "generation of neighbor lists.", unit_str=
"angstrom", &
417 description=
"Controls the printing of the ao (i.e. contracted gaussian) matrices (debug).", &
420 description=
"Print only the matrix data, not the row and column headers", &
421 default_l_val=.false., lone_keyword_l_val=.true.)
425 description=
"Specify the number of digits used to print the AO matrices", &
429 CALL keyword_create(keyword, __location__, name=
"CORE_HAMILTONIAN", &
430 description=
"If the printkey is activated controls the printing of the hamiltonian matrix", &
431 default_l_val=.false., lone_keyword_l_val=.true.)
435 description=
"If the printkey is activated controls the printing of the density (P) matrix", &
436 default_l_val=.false., lone_keyword_l_val=.true.)
440 CALL keyword_create(keyword, __location__, name=
"KINETIC_ENERGY", &
441 description=
"If the printkey is activated controls the printing of the kinetic energy matrix", &
442 default_l_val=.false., lone_keyword_l_val=.true.)
445 CALL keyword_create(keyword, __location__, name=
"KOHN_SHAM_MATRIX", &
446 description=
"If the printkey is activated controls the printing of the kohn-sham matrix", &
447 default_l_val=.false., lone_keyword_l_val=.true.)
451 keyword, __location__, name=
"MATRIX_VXC", &
452 description=
"If the printkey is activated compute and print the matrix of the exchange and correlation potential. "// &
453 "Only the GGA part for GPW is printed", &
454 default_l_val=.false., lone_keyword_l_val=.true.)
458 description=
"If the printkey is activated controls the printing of the orthogonalization matrix", &
459 default_l_val=.false., lone_keyword_l_val=.true.)
463 description=
"If the printkey is activated controls the printing of the overlap matrix", &
464 default_l_val=.false., lone_keyword_l_val=.true.)
467 CALL keyword_create(keyword, __location__, name=
"COMMUTATOR_HR", &
468 description=
"Controls the printing of the [H,r] commutator matrix", &
469 default_l_val=.false., lone_keyword_l_val=.true.)
473 CALL keyword_create(keyword, __location__, name=
"FERMI_CONTACT", &
474 description=
"If the printkey is activated controls the printing of the Fermi contact matrix", &
475 default_l_val=.false., lone_keyword_l_val=.true.)
479 keyword, __location__, name=
"PSO", &
480 description=
"If the printkey is activated controls the printing of the paramagnetic spin-orbit matrices", &
481 default_l_val=.false., lone_keyword_l_val=.true.)
485 keyword, __location__, name=
"EFG", &
486 description=
"If the printkey is activated controls the printing of the electric field gradient matrices", &
487 default_l_val=.false., lone_keyword_l_val=.true.)
490 CALL keyword_create(keyword, __location__, name=
"POTENTIAL_ENERGY", &
491 description=
"If the printkey is activated controls the printing of the potential energy matrix", &
492 default_l_val=.false., lone_keyword_l_val=.true.)
496 description=
"If the printkey is activated controls the printing of the OCE HARD matrix", &
497 default_l_val=.false., lone_keyword_l_val=.true.)
501 description=
"If the printkey is activated controls the printing of the OCE SOFT matrix", &
502 default_l_val=.false., lone_keyword_l_val=.true.)
506 description=
"If the printkey is activated controls the printing of the w matrix", &
507 default_l_val=.false., lone_keyword_l_val=.true.)
510 CALL keyword_create(keyword, __location__, name=
"W_MATRIX_AUX_FIT", &
511 description=
"If the printkey is activated controls the printing of the w matrix", &
512 default_l_val=.false., lone_keyword_l_val=.true.)
516 description=
"If the printkey is activated controls the printing "// &
517 "of derivatives (for the matrixes that support this)", &
518 default_l_val=.false., lone_keyword_l_val=.true.)
525 print_key, __location__,
"MO", &
526 description=
"Controls the printing of the molecular orbital (MO) information. The requested MO information "// &
527 "is printed for all occupied MOs by default. Use the MO_INDEX_RANGE keyword to restrict the number "// &
528 "of the MOs or to print the MO information for unoccupied MOs. With diagonalization, additional MOs "// &
529 "have to be made available for printout using the ADDED_MOS keyword in the SCF section. With OT, "// &
530 "it is sufficient to specify the desired MO_INDEX_RANGE. The OT eigensolver can be controlled with "// &
531 "the EPS_LUMO and MAX_ITER_LUMO keywords in the SCF section.", &
534 description=
"Print the MOs in the Cartesian basis instead of the default spherical basis.", &
535 default_l_val=.false., lone_keyword_l_val=.true.)
539 variants=
s2a(
"EIGENVALUES",
"EIGVALS"), &
540 description=
"Print the MO energies (eigenvalues).", &
541 default_l_val=.false., lone_keyword_l_val=.true.)
545 variants=
s2a(
"EIGENVECTORS",
"EIGVECS"), &
546 description=
"Print the MO coefficients (eigenvectors).", &
547 default_l_val=.false., lone_keyword_l_val=.true.)
550 CALL keyword_create(keyword, __location__, name=
"OCCUPATION_NUMBERS", &
551 variants=
s2a(
"OCCNUMS"), &
552 description=
"Print the MO occupation numbers.", &
553 default_l_val=.false., lone_keyword_l_val=.true.)
556 CALL keyword_create(keyword, __location__, name=
"OCCUPATION_NUMBERS_STATS", &
557 variants=
s2a(
"OCCNUMSTATS"), &
558 description=
"Print some stats (max number of occupied MOs, etc.) of the MO occupation numbers."// &
559 " First logical toggles stats printing, first real is the occupied threshold.", &
560 type_of_var=
char_t, n_var=-1, &
561 default_c_vals=[
".FALSE.",
"1.0E-6 "], &
562 lone_keyword_c_vals=[
".TRUE."], &
563 usage=
"OCCUPATION_NUMBERS_STATS {Logical} [{Real}]")
567 description=
"Specify the number of digits used to print the MO information.", &
572 name=
"MO_INDEX_RANGE", &
573 variants=
s2a(
"MO_RANGE",
"RANGE"), &
574 description=
"Print only the requested subset of MOs. The indices of the first and "// &
575 "the last MO have to be specified to define the range.", &
579 default_i_vals=(/0, 0/), &
580 usage=
"MO_INDEX_RANGE 10 15")
587 description=
"Write the molecular orbitals in Molden file format, for visualisation.", &
590 description=
"Specifies the number of significant digits retained. 3 is OK for visualization.", &
591 usage=
"NDIGITS {int}", &
596 description=
"Representation of Gaussian-type orbitals", &
598 enum_c_vals=
s2a(
"CARTESIAN",
"SPHERICAL"), &
600 "Cartesian Gaussian orbitals. Use with caution", &
601 "Spherical Gaussian orbitals. Incompatible with VMD"), &
608 CALL create_mo_cubes_section(print_key)
612 CALL create_stm_section(print_key)
616 CALL create_wfn_mix_section(subsection)
621 description=
"Write a TREXIO file to disk.", &
622 n_keywords=1, n_subsections=0, repeats=.false.)
624 description=
"Body of Filename for the trexio file.", &
625 usage=
"FILENAME {name}", default_c_val=
"TREXIO", &
630 description=
"Store the MOs in the Cartesian basis instead of the default spherical basis.", &
631 default_l_val=.false., lone_keyword_l_val=.true.)
638 description=
"Controls the printing of some gapw related information (debug).", &
639 n_keywords=0, n_subsections=1, repeats=.false.)
641 description=
"If the printkey is activated controls if information on"// &
642 " the projectors is printed.", &
647 description=
"If the printkey is activated controls if information on rho0 is printed.", &
655 description=
"Controls the printing of dft control parameters.", &
661 description=
"Controls the printing of kpoint information.", &
667 CALL create_bandstructure_section(subsection)
672 description=
"Controls the checking and printing of an estimate "// &
673 "of the overlap matrix condition number", &
676 description=
"Calculate an estimate of the 1-norm condition number", &
677 default_l_val=.true., lone_keyword_l_val=.true.)
680 CALL keyword_create(keyword, __location__, name=
"DIAGONALIZATION", &
681 description=
"Calculate the 1- and 2-norm condition numbers using diagonalization", &
682 default_l_val=.false., lone_keyword_l_val=.true.)
686 description=
"Calculate the 2-norm condition number using the Arnoldi code (may not be reliable)", &
687 default_l_val=.false., lone_keyword_l_val=.true.)
694 description=
"Controls the printing of cube files with "// &
695 "the electronic density and, for LSD calculations, the spin density.", &
698 description=
"The stride (X,Y,Z) used to write the cube file "// &
699 "(larger values result in smaller cube files). You can provide 3 numbers (for X,Y,Z) or"// &
700 " 1 number valid for all components.", &
701 usage=
"STRIDE 2 2 2", n_var=-1, default_i_vals=(/2, 2, 2/), type_of_var=
integer_t)
705 CALL keyword_create(keyword, __location__, name=
"DENSITY_INCLUDE", &
706 description=
"Which parts of the density to include. In GAPW the electronic density "// &
707 "is divided into a hard and a soft component, and the default (TOTAL_HARD_APPROX) "// &
708 "is to approximate the hard density as a spherical gaussian and to print the smooth "// &
709 "density accurately. This avoids potential artefacts originating from the hard density. "// &
710 "If the TOTAL_DENSITY keyword is used the hard density will be computed more accurately "// &
711 "but may introduce non-physical features. The SOFT_DENSITY keyword will lead to only the "// &
712 "soft density being printed. In GPW these options have no effect and the cube file will "// &
713 "only contain the valence electron density.", &
714 usage=
"DENSITY_INCLUDE TOTAL_HARD_APPROX", &
715 enum_c_vals=
s2a(
"TOTAL_HARD_APPROX",
"TOTAL_DENSITY",
"SOFT_DENSITY"), &
716 enum_desc=
s2a(
"Print (hard+soft) density where the hard components shape is approximated", &
717 "Print (hard+soft) density. Only has an effect "// &
718 "if PAW atoms are present. NOTE: The total "// &
719 "in real space might exhibit unphysical features "// &
720 "like spikes due to the finite and thus "// &
721 "truncated g vector", &
722 "Print only the soft density"), &
731 description=
"append the cube files when they already exist", &
732 default_l_val=.false., lone_keyword_l_val=.true.)
736 CALL keyword_create(keyword, __location__, name=
"XRD_INTERFACE", &
737 description=
"It activates the print out of exponents and coefficients for the"// &
738 " Gaussian expansion of the core densities, based on atom calculations for each kind."// &
739 " The resulting core dansities are needed to compute the form factors."// &
740 " If GAPW the local densities are also given in terms of a Gaussian expansion,"// &
741 " by fitting the difference between local-fhard and local-soft density for each atom."// &
742 " In this case the keyword SOFT_DENSITY is enabled.", &
743 default_l_val=.false., lone_keyword_l_val=.true.)
748 description=
"Number of Gaussian functions used in the expansion of atomic (core) density", &
749 usage=
"NGAUSS 10", n_var=1, default_i_val=12, type_of_var=
integer_t)
757 description=
"Controls printing of cube files with "// &
758 "the total density (electrons+atomic core). Note that "// &
759 "the value of the total density is positive where the "// &
760 "electron density dominates and negative where the core is. "// &
761 "When GPW is enabled this will simply print the combined density "// &
762 "of the valence electrons and charge-balanced core. In GAPW the "// &
763 "electronic density (hard+soft plus a correction term) is printed "// &
764 "together with the charge-balanced core density to produce a complete "// &
765 "representation of the total density.", &
768 description=
"The stride (X,Y,Z) used to write the cube file "// &
769 "(larger values result in smaller cube files). You can provide 3 numbers (for X,Y,Z) or"// &
770 " 1 number valid for all components.", &
771 usage=
"STRIDE 2 2 2", n_var=-1, default_i_vals=(/2, 2, 2/), type_of_var=
integer_t)
776 description=
"append the cube files when they already exist", &
777 default_l_val=.false., lone_keyword_l_val=.true.)
785 description=
"Controls the printing of a cube file with eletrostatic"// &
786 " potential generated by the total density (electrons+ions). It is"// &
787 " valid only for QS with GPW formalism."// &
788 " Note that by convention the potential has opposite sign than the expected physical one.", &
791 description=
"The stride (X,Y,Z) used to write the cube file "// &
792 "(larger values result in smaller cube files). You can provide 3 numbers (for X,Y,Z) or"// &
793 " 1 number valid for all components.", &
794 usage=
"STRIDE 2 2 2", n_var=-1, default_i_vals=(/2, 2, 2/), type_of_var=
integer_t)
798 description=
"append the cube files when they already exist", &
799 default_l_val=.false., lone_keyword_l_val=.true.)
807 description=
"Controls the printing of a cube file with external"// &
808 " potential from the DFT%EXTERNAL_POTENTIAL section only.", &
811 description=
"The stride (X,Y,Z) used to write the cube file "// &
812 "(larger values result in smaller cube files). You can provide 3 numbers (for X,Y,Z) or"// &
813 " 1 number valid for all components.", &
814 usage=
"STRIDE 2 2 2", n_var=-1, default_i_vals=(/2, 2, 2/), type_of_var=
integer_t)
818 description=
"append the cube files when they already exist", &
819 default_l_val=.false., lone_keyword_l_val=.true.)
828 description=
"Controls the output of the electron density to the losslessly"// &
829 " compressed BQB file format, see [Brehm2018]"// &
830 " (via LibBQB see <https://brehm-research.de/bqb>)."// &
831 " Currently does not work with changing cell vector (NpT ensemble).", &
836 description=
"Skips the first step of a MD run (avoids duplicate step if restarted).", &
837 usage=
"SKIP_FIRST T", default_l_val=.false., lone_keyword_l_val=.true.)
841 CALL keyword_create(keyword, __location__, name=
"STORE_STEP_NUMBER", &
842 description=
"Stores the step number and simulation time in the comment line of each BQB"// &
843 " frame. Switch it off for binary compatibility with original CP2k CUBE files.", &
844 usage=
"STORE_STEP_NUMBER F", default_l_val=.true., lone_keyword_l_val=.true.)
849 description=
"Performs an on-the-fly decompression of each compressed BQB frame to check"// &
850 " whether the volumetric data exactly matches, and aborts the run if not so.", &
851 usage=
"CHECK T", default_l_val=.false., lone_keyword_l_val=.true.)
856 description=
"Specify this keyword to overwrite the output BQB file if"// &
857 " it already exists. By default, the data is appended to an existing file.", &
858 usage=
"OVERWRITE T", default_l_val=.false., lone_keyword_l_val=.true.)
863 description=
"Controls how many previous steps are taken into account for extrapolation in"// &
864 " compression. Use a value of 1 to compress the frames independently.", &
865 usage=
"HISTORY 10", n_var=1, default_i_val=10, type_of_var=
integer_t)
869 CALL keyword_create(keyword, __location__, name=
"PARAMETER_KEY", &
870 description=
"Allows to supply previously optimized compression parameters via a"// &
871 " parameter key (alphanumeric character sequence starting with 'at')."// &
872 " Just leave away the 'at' sign here, because CP2k will otherwise"// &
873 " assume it is a variable name in the input", &
874 usage=
"PARAMETER_KEY <KEY>", n_var=1, default_c_val=
"", type_of_var=
char_t)
879 description=
"Controls the time spent to optimize the parameters for compression efficiency.", &
880 usage=
"OPTIMIZE {OFF,QUICK,NORMAL,PATIENT,EXHAUSTIVE}", repeats=.false., n_var=1, &
882 enum_c_vals=
s2a(
"OFF",
"QUICK",
"NORMAL",
"PATIENT",
"EXHAUSTIVE"), &
883 enum_desc=
s2a(
"No optimization (use defaults)",
"Quick optimization", &
884 "Standard optimization",
"Precise optimization",
"Exhaustive optimization"), &
898 CALL create_implicit_psolver_section(subsection)
904 description=
"Controls the printing of a cube file with xc"// &
905 " potential generated by the ZMP method (for the moment). It is"// &
906 " valid only for QS with GPW formalism .", &
909 description=
"The stride (X,Y,Z) used to write the cube file "// &
910 "(larger values result in smaller cube files). You can provide 3 numbers (for X,Y,Z) or"// &
911 " 1 number valid for all components.", &
912 usage=
"STRIDE 2 2 2", n_var=-1, default_i_vals=(/2, 2, 2/), type_of_var=
integer_t)
916 description=
"append the cube files when they already exist", &
917 default_l_val=.false., lone_keyword_l_val=.true.)
925 description=
"Controls the printing of cube files with electric"// &
926 " field generated by the total density (electrons+ions). It is"// &
927 " valid only for QS with GPW formalism.", &
930 description=
"The stride (X,Y,Z) used to write the cube file "// &
931 "(larger values result in smaller cube files). You can provide 3 numbers (for X,Y,Z) or"// &
932 " 1 number valid for all components.", &
933 usage=
"STRIDE 2 2 2", n_var=-1, default_i_vals=(/2, 2, 2/), type_of_var=
integer_t)
937 description=
"append the cube files when they already exist", &
938 default_l_val=.false., lone_keyword_l_val=.true.)
946 description=
"Controls printing of cube files with"// &
947 " the electron localization function (ELF). Note that"// &
948 " the value of ELF is defined between 0 and 1: Pauli kinetic energy density normalized"// &
949 " by the kinetic energy density of a uniform el. gas of same density.", &
952 description=
"The stride (X,Y,Z) used to write the cube file "// &
953 "(larger values result in smaller cube files). You can provide 3 numbers (for X,Y,Z) or"// &
954 " 1 number valid for all components.", &
955 usage=
"STRIDE 2 2 2", n_var=-1, default_i_vals=(/2, 2, 2/), type_of_var=
integer_t)
959 description=
"append the cube files when they already exist", &
960 default_l_val=.false., lone_keyword_l_val=.true.)
964 CALL keyword_create(keyword, __location__, name=
"density_cutoff", &
966 usage=
"density_cutoff 0.0001", &
970 default_r_val=1.0e-10_dp)
978 description=
"Controls the printing of cube files with the local"// &
979 " energy. It is valid only for QS with GPW/GAPW formalism."// &
980 " Meta and hybrid functionals are not possible.", &
983 description=
"The stride (X,Y,Z) used to write the cube file "// &
984 "(larger values result in smaller cube files). You can provide 3 numbers (for X,Y,Z) or"// &
985 " 1 number valid for all components.", &
986 usage=
"STRIDE 2 2 2", n_var=-1, default_i_vals=(/2, 2, 2/), type_of_var=
integer_t)
990 description=
"append the cube files when they already exist", &
991 default_l_val=.false., lone_keyword_l_val=.true.)
999 description=
"Controls the printing of cube files with the local"// &
1000 " stress. It is valid only for QS with GPW/GAPW formalism."// &
1001 " Meta and hybrid functionals are not possible.", &
1004 description=
"The stride (X,Y,Z) used to write the cube file "// &
1005 "(larger values result in smaller cube files). You can provide 3 numbers (for X,Y,Z) or"// &
1006 " 1 number valid for all components.", &
1007 usage=
"STRIDE 2 2 2", n_var=-1, default_i_vals=(/2, 2, 2/), type_of_var=
integer_t)
1011 description=
"append the cube files when they already exist", &
1012 default_l_val=.false., lone_keyword_l_val=.true.)
1019 CALL create_dos_section(print_key)
1027 CALL create_wannier_section(print_key)
1034 keyword, __location__, &
1035 name=
"MAX_MOMENT", &
1036 description=
"Maximum moment to be calculated. Values higher than 1 not implemented under periodic boundaries.", &
1037 usage=
"MAX_MOMENT {integer}", &
1046 description=
"Calculate also magnetic moments, only implemented without periodic boundaries", &
1047 usage=
"MAGNETIC yes", &
1050 default_l_val=.false., &
1051 lone_keyword_l_val=.true.)
1056 description=
"Calculate expectation values of the el. multipole moments in their velocity "// &
1057 "representation during RTP. Implemented up to el. quadrupole moment.", &
1058 usage=
"VEL_REPRS yes", &
1061 default_l_val=.false., &
1062 lone_keyword_l_val=.true.)
1067 description=
"Include non local commutator for velocity representations. "// &
1068 "Necessary for origin independent results.", &
1069 usage=
"COM_NL yes", &
1072 default_l_val=.false., &
1073 lone_keyword_l_val=.true.)
1077 name=
"SECOND_REFERENCE_POINT", &
1078 description=
"Use second reference point", &
1079 usage=
"SECOND_REFERENCE_POINT .TRUE.", &
1082 default_l_val=.false., &
1083 lone_keyword_l_val=.true.)
1087 variants=
s2a(
"REF_2"), &
1088 description=
"Define a second reference point for the calculation of the electrostatic moment.", &
1089 usage=
"REFERENCE_2 COM", &
1090 enum_c_vals=
s2a(
"COM",
"COAC",
"USER_DEFINED",
"ZERO"), &
1091 enum_desc=
s2a(
"Use Center of Mass", &
1092 "Use Center of Atomic Charges", &
1093 "Use User Defined Point (Keyword:REF_POINT)", &
1094 "Use Origin of Coordinate System"), &
1102 CALL keyword_create(keyword, __location__, name=
"REFERENCE_POINT_2", &
1103 variants=
s2a(
"REF_POINT_2"), &
1104 description=
"Fixed second reference point for the calculations of the electrostatic moment.", &
1105 usage=
"REFERENCE_POINT_2 x y z", &
1107 n_var=3, default_r_vals=(/0._dp, 0._dp, 0._dp/), &
1117 description=
"Controls the printing of the Mulliken (spin) population analysis", &
1119 common_iter_levels=1)
1121 keyword, __location__, &
1123 description=
"Print the gross orbital populations (GOP) in addition to the gross atomic populations (GAP) "// &
1124 "and net charges", &
1125 usage=
"PRINT_GOP yes", &
1128 default_l_val=.false., &
1129 lone_keyword_l_val=.true.)
1133 keyword, __location__, &
1135 description=
"Print all information including the full net AO and overlap population matrix", &
1136 usage=
"PRINT_ALL yes", &
1139 default_l_val=.false., &
1140 lone_keyword_l_val=.true.)
1148 description=
"Controls the printing of the Lowdin (spin) population analysis", &
1150 common_iter_levels=1)
1152 keyword, __location__, &
1154 description=
"Print the orbital populations in addition to the atomic populations and net charges", &
1155 usage=
"PRINT_GOP yes", &
1158 default_l_val=.false., &
1159 lone_keyword_l_val=.true.)
1163 keyword, __location__, &
1165 description=
"Print all information including the full symmetrically orthogonalised density matrix", &
1166 usage=
"PRINT_ALL yes", &
1169 default_l_val=.false., &
1170 lone_keyword_l_val=.true.)
1178 description=
"Controls the printing of the Hirshfeld (spin) population analysis", &
1180 common_iter_levels=1)
1181 CALL keyword_create(keyword, __location__, name=
"SELF_CONSISTENT", &
1182 description=
"Calculate charges from the Hirscheld-I (self_consistent) method."// &
1183 " This scales only the full shape function, not the added charge as in the original scheme.", &
1184 usage=
"SELF_CONSISTENT yes", repeats=.false., n_var=1, &
1185 default_l_val=.false., lone_keyword_l_val=.true.)
1188 CALL keyword_create(keyword, __location__, name=
"SHAPE_FUNCTION", &
1189 description=
"Type of shape function used for Hirshfeld partitioning.", &
1190 usage=
"SHAPE_FUNCTION {Gaussian,Density}", repeats=.false., n_var=1, &
1192 enum_c_vals=
s2a(
"GAUSSIAN",
"DENSITY"), &
1193 enum_desc=
s2a(
"Single Gaussian with Colvalent radius", &
1194 "Atomic density expanded in multiple Gaussians"), &
1198 CALL keyword_create(keyword, __location__, name=
"REFERENCE_CHARGE", &
1199 description=
"Charge of atomic partitioning function for Hirshfeld method.", &
1200 usage=
"REFERENCE_CHARGE {Atomic,Mulliken}", repeats=.false., n_var=1, &
1202 enum_c_vals=
s2a(
"ATOMIC",
"MULLIKEN"), &
1203 enum_desc=
s2a(
"Use atomic core charges",
"Calculate Mulliken charges"), &
1208 description=
"Use user defined radii to generate Gaussians."// &
1209 " These radii are defined by the keyword ATOMIC_RADII", &
1210 usage=
"USER_RADIUS yes", repeats=.false., n_var=1, &
1211 default_l_val=.false., lone_keyword_l_val=.true.)
1214 CALL keyword_create(keyword, __location__, name=
"ATOMIC_RADII", &
1215 description=
"Defines custom radii to setup the spherical Gaussians.", &
1216 usage=
"ATOMIC_RADII {real} {real} {real}", repeats=.false., &
1217 unit_str=
"angstrom", &
1218 type_of_var=
real_t, n_var=-1)
1226 description=
"Controls the printing of the EEQ charges", &
1228 common_iter_levels=1, &
1235 description=
"Controls the printing of the MAO (modified atomic orbital) analysis", &
1237 common_iter_levels=1, &
1240 description=
"Threshold for matrix elements in MAO determination.", &
1241 usage=
"EPS_FILTER reps", repeats=.false., n_var=1, &
1242 default_r_val=1.e-8_dp, type_of_var=
real_t)
1245 CALL keyword_create(keyword, __location__, name=
"REFERENCE_BASIS", &
1246 description=
"Basis set used to construct MAO's.", &
1247 usage=
"REFERENCE_BASIS {ORBITAL,PRIMITIVE,EXTERNAL}", repeats=.false., n_var=1, &
1249 enum_c_vals=
s2a(
"ORBITAL",
"PRIMITIVE",
"EXTERNAL"), &
1250 enum_desc=
s2a(
"Use standard orbital basis set",
"Construct basis from primitives of the orbital basis", &
1251 "Read external basis (MAO)"), &
1256 description=
"Print out MAO reference basis.", &
1257 usage=
"PRINT_BASIS {logical}", repeats=.false., n_var=1, &
1258 default_l_val=.false., lone_keyword_l_val=.true., type_of_var=
logical_t)
1262 description=
"Threshold for gradient in MAO optimization.", &
1263 usage=
"EPS_GRAD reps", repeats=.false., n_var=1, &
1264 default_r_val=1.e-4_dp, type_of_var=
real_t)
1267 CALL keyword_create(keyword, __location__, name=
"EPS_FUNCTION", &
1268 description=
"Threshold for electron defect in MAO optimization.", &
1269 usage=
"EPS_FUNCTION feps", repeats=.false., n_var=1, &
1270 default_r_val=1.e-3_dp, type_of_var=
real_t)
1274 description=
"Maximum allowed iterations for MAO optimization.", &
1275 usage=
"MAX_ITER iter", repeats=.false., n_var=1, &
1280 description=
"Neglect 3 atom terms in MAO analysis.", &
1281 usage=
"NEGLECT_ABC {logical}", repeats=.false., n_var=1, &
1282 default_l_val=.true., lone_keyword_l_val=.true., type_of_var=
logical_t)
1285 CALL keyword_create(keyword, __location__, name=
"AB_THRESHOLD", &
1286 description=
"Threshold for printing of AB shared electron numbers.", &
1287 usage=
"AB_THRESHOLD thr", repeats=.false., n_var=1, &
1288 default_r_val=1.e-2_dp, type_of_var=
real_t)
1291 CALL keyword_create(keyword, __location__, name=
"ABC_THRESHOLD", &
1292 description=
"Threshold for printing of ABC shared electron numbers.", &
1293 usage=
"ABC_THRESHOLD thr", repeats=.false., n_var=1, &
1294 default_r_val=1.e-5_dp, type_of_var=
real_t)
1297 CALL keyword_create(keyword, __location__, name=
"ANALYZE_UNASSIGNED_CHARGE", &
1298 description=
"Calculate atomic contributions to the unassigned charge.", &
1299 usage=
"ANALYZE_UNASSIGNED_CHARGE {logical}", repeats=.false., n_var=1, &
1300 default_l_val=.false., lone_keyword_l_val=.true., type_of_var=
logical_t)
1308 description=
"Controls the printing of the minimal localized basis analysis", &
1310 common_iter_levels=1, &
1313 description=
"Threshold for matrix elements in basis determination.", &
1314 usage=
"EPS_FILTER reps", repeats=.false., n_var=1, &
1315 default_r_val=1.e-8_dp, type_of_var=
real_t)
1318 CALL keyword_create(keyword, __location__, name=
"FULL_ORTHOGONALIZATION", &
1319 description=
"Orthogonalize the localized minimal basis.", &
1320 usage=
"FULL_ORTHOGONALIZATION {logical}", repeats=.false., n_var=1, &
1321 default_l_val=.false., lone_keyword_l_val=.true., type_of_var=
logical_t)
1325 description=
"Calculate Mayer Bond Orders.", &
1326 usage=
"BOND_ORDER {logical}", repeats=.false., n_var=1, &
1327 default_l_val=.false., lone_keyword_l_val=.true., type_of_var=
logical_t)
1331 NULLIFY (sub_print_key)
1333 description=
"Write the minimal basis on Cube files.", &
1336 description=
"The stride (X,Y,Z) used to write the cube file "// &
1337 "(larger values result in smaller cube files). You can provide 3 numbers (for X,Y,Z) or"// &
1338 " 1 number valid for all components.", &
1339 usage=
"STRIDE 2 2 2", n_var=-1, default_i_vals=(/2, 2, 2/), type_of_var=
integer_t)
1343 description=
"Indexes of the atoms minimal basis to be printed as cube files "// &
1344 "This keyword can be repeated several times "// &
1345 "(useful if you have to specify many indexes).", &
1346 usage=
"ATOM_LIST 1 2", &
1347 n_var=-1, type_of_var=
integer_t, repeats=.true.)
1353 NULLIFY (sub_print_key)
1355 description=
"Write the minimal basis in Molden file format, for visualisation.", &
1358 description=
"Specifies the number of significant digits retained. 3 is OK for visualization.", &
1359 usage=
"NDIGITS {int}", &
1364 description=
"Representation of Gaussian-type orbitals", &
1366 enum_c_vals=
s2a(
"CARTESIAN",
"SPHERICAL"), &
1368 "Cartesian Gaussian orbitals. Use with caution", &
1369 "Spherical Gaussian orbitals. Incompatible with VMD"), &
1381 description=
"Controls energy decomposition analysis", &
1383 common_iter_levels=1, &
1385 CALL keyword_create(keyword, __location__, name=
"REFERENCE_ORB_CANONICAL", &
1386 description=
"Use reference orbitals in canonical form.", &
1387 usage=
"REFERENCE_ORB_CANONICAL {logical}", repeats=.false., n_var=1, &
1388 default_l_val=.true., lone_keyword_l_val=.true., type_of_var=
logical_t)
1391 CALL keyword_create(keyword, __location__, name=
"SKIP_LOCALIZATION", &
1392 description=
"Don't localize the MOs.", &
1393 usage=
"SKIP_LOCALIZATION {logical}", repeats=.false., n_var=1, &
1394 default_l_val=.false., lone_keyword_l_val=.true., type_of_var=
logical_t)
1397 CALL keyword_create(keyword, __location__, name=
"DETAILED_ENERGY", &
1398 description=
"Calculate detailed atomic decomposition energies.", &
1399 usage=
"DETAILED_ENERGY {logical}", repeats=.false., n_var=1, &
1400 default_l_val=.false., lone_keyword_l_val=.true., type_of_var=
logical_t)
1403 CALL keyword_create(keyword, __location__, name=
"EWALD_ALPHA_PARAMETER", &
1404 description=
"Calculate Energy Decomposition for a specific alpha value. "// &
1405 "alpha = 1/(2*rc**2), see GTH pseudopotentials.", &
1406 usage=
"EWALD_ALPHA_PARAMETER alpha", repeats=.false., n_var=1, &
1407 default_r_val=0.0_dp, type_of_var=
real_t)
1416 description=
"Controls the printing of the IAO (intrinsic atomic orbital) analysis", &
1418 common_iter_levels=1, &
1421 description=
"Threshold for matrix inversion eigenvalues.", &
1422 usage=
"EPS_SVD reps", repeats=.false., n_var=1, &
1423 default_r_val=0.0_dp, type_of_var=
real_t)
1427 description=
"Threshold in occupation for vectors included.", &
1428 usage=
"EPS_OCC reps", repeats=.false., n_var=1, &
1429 default_r_val=0.0_dp, type_of_var=
real_t)
1432 CALL keyword_create(keyword, __location__, name=
"ATOMIC_CHARGES", &
1433 description=
"Calculate atomic charges from IAO.", &
1434 usage=
"ATOMIC_CHARGES {logical}", repeats=.false., n_var=1, &
1435 default_l_val=.true., lone_keyword_l_val=.true., type_of_var=
logical_t)
1439 NULLIFY (sub_print_key)
1441 description=
"Write the IAO basis in Molden file format, for visualisation.", &
1444 description=
"Specifies the number of significant digits retained. 3 is OK for visualization.", &
1445 usage=
"NDIGITS {int}", &
1450 description=
"Representation of Gaussian-type orbitals", &
1452 enum_c_vals=
s2a(
"CARTESIAN",
"SPHERICAL"), &
1454 "Cartesian Gaussian orbitals. Use with caution", &
1455 "Spherical Gaussian orbitals. Incompatible with VMD"), &
1462 NULLIFY (sub_print_key)
1464 description=
"Controls the printing of the IAO basis "// &
1465 "as *.cube files.", &
1469 description=
"The stride (X,Y,Z) used to write the cube file "// &
1470 "(larger values result in smaller cube files). You can provide 3 numbers (for X,Y,Z) or"// &
1471 " 1 number valid for all components.", &
1472 usage=
"STRIDE 2 2 2", n_var=-1, default_i_vals=(/2, 2, 2/), type_of_var=
integer_t)
1476 description=
"append the cube files when they already exist", &
1477 default_l_val=.false., lone_keyword_l_val=.true.)
1481 description=
"Indices of the atoms to be included in basis CUBE file printing. ", &
1482 usage=
"ATOM_LIST {integer} {integer} .. {integer} ", &
1483 n_var=-1, type_of_var=
integer_t, repeats=.true.)
1489 NULLIFY (sub_print_key)
1491 description=
"Calculates single center expansion of IAOs ", &
1495 description=
"Maximum l quantum number used in the expansion.", &
1496 usage=
"LMAX 2", n_var=1, default_i_val=3, type_of_var=
integer_t)
1500 description=
"Max number of basis functions used in the expansion."// &
1501 " Default is determined by the orbital basis set.", &
1502 usage=
"NBAS 10", n_var=1, default_i_val=-1, type_of_var=
integer_t)
1506 description=
"Append the OCE basis files when it already exists", &
1507 default_l_val=.false., lone_keyword_l_val=.true.)
1513 NULLIFY (sub_print_key)
1515 description=
"Calculate intrinsic bond orbitals using "// &
1516 "localized MOs in IAO basis.", &
1520 CALL keyword_create(keyword, __location__, name=
"LOCALIZATION_OPERATOR", &
1521 description=
"Operator to be optimized for orbital localization", &
1522 enum_c_vals=
s2a(
"PIPEK_MEZEY",
"PIPEK_MEZEY_4",
"L1NORM"), &
1524 enum_desc=
s2a(
"Use Pipek-Mezey operator (order 2)", &
1525 "Use Pipek-Mezey operator (order 4)", &
1530 CALL keyword_create(keyword, __location__, name=
"ENERGY_LOCALIZATION_FUNCTION", &
1531 description=
"Function for energy localization: f(e_i), e_i orbital energy", &
1532 enum_c_vals=
s2a(
"NONE",
"ENERGY",
"OCCUPATION"), &
1534 enum_desc=
s2a(
"Don't use energy localization.", &
1535 "Use orbital energies for localization.", &
1536 "Use occupation numbers for localization."), &
1540 CALL keyword_create(keyword, __location__, name=
"ENERGY_LOCALIZATION_WEIGHT", &
1541 description=
"Weight given to energy localization, using f(e_i) function", &
1542 usage=
"ENERGY_LOCALIZATION_WEIGHT 0.1", n_var=1, &
1543 default_r_val=0.0_dp, type_of_var=
real_t)
1548 NULLIFY (subsection)
1550 description=
"Calculation and printing of centers and spreads "// &
1551 "of localized orbitals.", &
1554 CALL keyword_create(keyword, __location__, name=
"POSITION_OPERATOR_BERRY", &
1555 description=
"Use Berry phase position operator.", &
1556 usage=
"POSITION_OPERATOR_BERRY T", n_var=1, &
1557 default_l_val=.true., lone_keyword_l_val=.true.)
1563 NULLIFY (subsection)
1565 description=
"Write the IBO orbitals in Molden file format, for visualisation.", &
1568 description=
"Specifies the number of significant digits retained. 3 is OK for visualization.", &
1569 usage=
"NDIGITS {int}", &
1574 description=
"Representation of Gaussian-type orbitals", &
1576 enum_c_vals=
s2a(
"CARTESIAN",
"SPHERICAL"), &
1578 "Cartesian Gaussian orbitals. Use with caution", &
1579 "Spherical Gaussian orbitals. Incompatible with VMD"), &
1586 NULLIFY (subsection)
1588 description=
"Controls the printing of the IBO orbitals "// &
1589 "as *.cube files.", &
1593 description=
"The stride (X,Y,Z) used to write the cube file "// &
1594 "(larger values result in smaller cube files). You can provide 3 numbers (for X,Y,Z) or"// &
1595 " 1 number valid for all components.", &
1596 usage=
"STRIDE 2 2 2", n_var=-1, default_i_vals=(/2, 2, 2/), type_of_var=
integer_t)
1600 description=
"append the cube files when they already exist", &
1601 default_l_val=.false., lone_keyword_l_val=.true.)
1605 description=
"Indices of the orbitals to be included in IBO CUBE file printing. ", &
1606 usage=
"STATE_LIST {integer} {integer} .. {integer} ", &
1607 n_var=-1, type_of_var=
integer_t, repeats=.true.)
1621 description=
"Controls the printing of the DOS from the density matrix. "// &
1622 "This allows the calculation of the DOS even in density matrix based "// &
1623 "REAL_TIME_PROPAGATION and LS_SCF. "// &
1624 "However, it requires a cubically scaling diagonalization of the Hamiltonian. "// &
1625 "Hartree-Fock NYI, values will be wrong. "// &
1626 "Careful, the orbitals in rtp/emd are not actually eigenstates of the Hamiltonian. "// &
1627 "Assumes absence of spin polarization (so far).", &
1629 each_iter_names=
s2a(
"MD"), each_iter_values=(/100/), &
1632 description=
"The number of energy windows.", &
1633 usage=
"N_WINDOWS 200", &
1638 description=
"Filtering threshold for sparse matrix operations.", &
1639 usage=
"EPS_FILTER 1.0E-6", &
1640 default_r_val=1.0e-14_dp)
1643 CALL keyword_create(keyword, __location__, name=
"RESTRICT_RANGE", &
1644 description=
"Restricts the energy windows to states close to the fermi level", &
1645 usage=
"RESTRICT_RANGE .TRUE.", &
1646 default_l_val=.false., lone_keyword_l_val=.true.)
1650 description=
"If the RESTRICT_RANGE keyword is set, then all energy widnows will"// &
1651 " be placed in an interval from from the fermi level minus to the fermi level plus this keyword", &
1653 default_r_val=1.0_dp)
1657 description=
"Print the energy windows to cube files", &
1658 usage=
"PRINT_CUBES .TRUE.", &
1659 default_l_val=.false., lone_keyword_l_val=.true.)
1663 description=
"The stride (X,Y,Z) used to write the energy windows cube files (if enabled) "// &
1664 "(larger values result in smaller cube files). You can provide 3 numbers (for X,Y,Z) or"// &
1665 " 1 number valid for all components.", &
1666 usage=
"STRIDE 2 2 2", n_var=-1, default_i_vals=(/2, 2, 2/), type_of_var=
integer_t)
1674 description=
"Write the KS matrix in CSR format into a file.", &
1677 description=
"Threshold on the absolute value of the elements to be printed out. "// &
1678 "In CP2K all the elements in a (atomic) matrix block are considered non-zero, "// &
1679 "if the block contains at least one non-zero element.", &
1680 usage=
"THRESHOLD {real}", &
1682 default_r_val=0.0_dp)
1685 CALL keyword_create(keyword, __location__, name=
"Upper_triangular", &
1686 description=
"Print only the upper triangular part of the matrix. ", &
1687 usage=
"UPPER_TRIANGULAR {logical}", &
1689 default_l_val=.false., &
1690 lone_keyword_l_val=.true.)
1694 description=
"Whether or not to generate the file in a binary format. ", &
1695 usage=
"BINARY {logical}", &
1697 default_l_val=.false., &
1698 lone_keyword_l_val=.true.)
1702 description=
"Print the KS matrix in real-space instead of k-space.. ", &
1703 usage=
"REAL_SPACE {logical}", &
1705 default_l_val=.false., &
1706 lone_keyword_l_val=.true.)
1714 description=
"Write the overlap matrix in CSR format into a file.", &
1717 description=
"Threshold on the absolute value of the elements to be printed out. "// &
1718 "In CP2K all the elements in a (atomic) matrix block are considered non-zero, "// &
1719 "if the block contains at least one non-zero element.", &
1720 usage=
"THRESHOLD {real}", &
1722 default_r_val=0.0_dp)
1725 CALL keyword_create(keyword, __location__, name=
"Upper_triangular", &
1726 description=
"Print only the upper triangular part of the matrix. ", &
1727 usage=
"UPPER_TRIANGULAR {logical}", &
1729 default_l_val=.false., &
1730 lone_keyword_l_val=.true.)
1734 description=
"Whether or not to generate the file in a binary format. ", &
1735 usage=
"BINARY {logical}", &
1737 default_l_val=.false., &
1738 lone_keyword_l_val=.true.)
1742 description=
"Print the overlap matrix in real-space instead of k-space.. ", &
1743 usage=
"REAL_SPACE {logical}", &
1745 default_l_val=.false., &
1746 lone_keyword_l_val=.true.)
1754 description=
"Writes an (upper-triangular) adjacency matrix indicating the "// &
1755 "interaction between atoms (according to overlapping basis functions). The "// &
1756 "columns are: iatom, jatom, ikind, jkind; where iatom and jatom are the atom "// &
1757 "indices (based on the coordinate file), ikind and jkind are the atomic kinds "// &
1758 "(indeces as shown in the ATOMIC KIND INFORMATION section of a CP2K output). ", &
1765 print_key, __location__, name=
"XRAY_DIFFRACTION_SPECTRUM", &
1766 description=
"Calculate and print the coherent X-ray "// &
1767 "diffraction spectrum", &
1772 keyword, __location__, &
1774 variants=(/
"Q_MAXIMUM"/), &
1775 description=
"Maximum Q value calculated for the spectrum", &
1776 usage=
"Q_MAX {real}", &
1781 unit_str=
"angstrom^-1"), &
1782 unit_str=
"angstrom^-1")
1789 description=
"Calculate and print the electric field gradients "// &
1790 "at atomic positions", &
1792 filename=
"__STD_OUT__")
1795 name=
"INTERPOLATION", &
1796 description=
"Use interpolation method from real space grid", &
1797 usage=
"INTERPOLATION {logical}", &
1800 default_l_val=.false., lone_keyword_l_val=.true.)
1805 name=
"GSPACE_SMOOTHING", &
1806 description=
"Use a G-space smoothing function", &
1807 usage=
"GSPACE_SMOOTHING cutoff {real}, width {real}", &
1809 n_var=2, default_r_vals=(/-1._dp, -1._dp/), &
1816 description=
"Print additional debug output", &
1817 usage=
"DEBUG {logical}", &
1820 default_l_val=.false., lone_keyword_l_val=.true.)
1832 description=
"Print the two quantities needed in the basis molopt generation:"// &
1833 " total energy and condition number of the overlap matrix (S matrix)", &
1835 filename=
"__STD_OUT__")
1840 description=
"Calculate and print the EPR hyperfine coupling tensor"// &
1841 " at atomic positions", &
1843 filename=
"__STD_OUT__")
1846 name=
"INTERACTION_RADIUS", &
1847 description=
"Radius of interaction for EPR hyperfine tensor calculation", &
1848 usage=
"INTERACTION_RADIUS radius {real}", &
1850 n_var=1, default_r_val=10._dp, &
1859 description=
"Optimize the exponents of the LRI basis set", &
1861 filename=
"OPTIMIZED_LRI_BASIS")
1866 print_key, __location__, name=
"PLUS_U", &
1867 description=
"Controls the printing for the DFT+U methods", &
1869 filename=
"__STD_OUT__", &
1870 each_iter_names=
s2a(
"QS_SCF"), &
1871 each_iter_values=(/0/), &
1877 print_key, __location__, name=
"CHARGEMOL", &
1878 description=
"Write .wfx input file for Chargemol", &
1880 filename=
"CHARGEMOL", &
1882 CALL keyword_create(keyword, __location__, name=
"BACKUP_COPIES", &
1883 description=
"Specifies the maximum number of backup copies.", &
1884 usage=
"BACKUP_COPIES {int}", &
1889 description=
"Write information about cell periodicity.", &
1890 usage=
"PERIODIC {LOGICAL}", &
1891 default_l_val=.false., lone_keyword_l_val=.true.)
1898 print_key, __location__, name=
"SCCS", &
1899 description=
"Controls the printing for the SCCS models", &
1901 filename=
"__STD_OUT__", &
1902 each_iter_names=
s2a(
"QS_SCF"), &
1903 each_iter_values=(/0/), &
1906 NULLIFY (sub_print_key)
1909 sub_print_key, __location__, name=
"DENSITY_GRADIENT", &
1910 description=
"Controls the printing of the cube files with "// &
1911 "the norm of the density gradient |∇ρ| "// &
1912 "used by the SCCS model.", &
1915 each_iter_names=
s2a(
"QS_SCF"), &
1916 each_iter_values=(/0/))
1918 description=
"The stride (X,Y,Z) used to write the cube file "// &
1919 "(larger values result in smaller cube files). You can provide 3 "// &
1920 "numbers (for X,Y,Z) or 1 number valid for all components.", &
1922 default_i_vals=(/2, 2, 2/), &
1928 description=
"Append the cube files when they already exist", &
1929 default_l_val=.false., &
1930 lone_keyword_l_val=.true., &
1938 sub_print_key, __location__, name=
"DIELECTRIC_FUNCTION", &
1939 description=
"Controls the printing of the cube files with "// &
1940 "the dielectric function used by the SCCS model. "// &
1941 "This function determines the cavity formed by a solute in "// &
1942 "a solvent and thus it can be used for the visualisaton of the cavity.", &
1945 each_iter_names=
s2a(
"QS_SCF"), &
1946 each_iter_values=(/0/), &
1949 description=
"The stride (X,Y,Z) used to write the cube file "// &
1950 "(larger values result in smaller cube files). You can provide 3 "// &
1951 "numbers (for X,Y,Z) or 1 number valid for all components.", &
1953 default_i_vals=(/2, 2, 2/), &
1959 description=
"Append the cube files when they already exist", &
1960 default_l_val=.false., &
1961 lone_keyword_l_val=.true., &
1969 sub_print_key, __location__, name=
"TOTAL_CHARGE_DENSITY", &
1970 description=
"Controls the printing of the cube files with the "// &
1971 "total charge density $\rho^\text{tot}$ used by the SCCS model.", &
1974 each_iter_names=
s2a(
"QS_SCF"), &
1975 each_iter_values=(/0/), &
1978 description=
"The stride (X,Y,Z) used to write the cube file "// &
1979 "(larger values result in smaller cube files). You can provide 3 "// &
1980 "numbers (for X,Y,Z) or 1 number valid for all components.", &
1982 default_i_vals=(/2, 2, 2/), &
1988 description=
"Append the cube files when they already exist", &
1989 default_l_val=.false., &
1990 lone_keyword_l_val=.true., &
1998 sub_print_key, __location__, name=
"POLARISATION_CHARGE_DENSITY", &
1999 description=
"Controls the printing of the cube files with the "// &
2000 "polarisation charge density $\rho^\text{pol}$ used by the SCCS model with the "// &
2001 "total charge density $\rho^\text{tot} = \rho^\text{sol} + \rho^\text{pol}", &
2004 each_iter_names=
s2a(
"QS_SCF"), &
2005 each_iter_values=(/0/), &
2008 description=
"The stride (X,Y,Z) used to write the cube file "// &
2009 "(larger values result in smaller cube files). You can provide 3 "// &
2010 "numbers (for X,Y,Z) or 1 number valid for all components.", &
2012 default_i_vals=(/2, 2, 2/), &
2018 description=
"Append the cube files when they already exist", &
2019 default_l_val=.false., &
2020 lone_keyword_l_val=.true., &
2028 sub_print_key, __location__, name=
"POLARISATION_POTENTIAL", &
2029 description=
"Controls the printing of the cube files with the "// &
2030 "polarisation potential $\phi^\text{pol}$ used by the SCCS model with the "// &
2031 "total potential $\phi^\text{tot} = \phi^\text{sol} + \phi^\text{pol}$", &
2034 each_iter_names=
s2a(
"QS_SCF"), &
2035 each_iter_values=(/0/), &
2038 description=
"The stride (X,Y,Z) used to write the cube file "// &
2039 "(larger values result in smaller cube files). You can provide 3 "// &
2040 "numbers (for X,Y,Z) or 1 number valid for all components.", &
2042 default_i_vals=(/2, 2, 2/), &
2048 description=
"Append the cube files when they already exist", &
2049 default_l_val=.false., &
2050 lone_keyword_l_val=.true., &
2067 SUBROUTINE create_bandstructure_section(section)
2073 cpassert(.NOT.
ASSOCIATED(section))
2074 CALL section_create(section, __location__, name=
"BAND_STRUCTURE", &
2075 description=
"Specifies the k-points used in band structure calculation.", &
2076 n_keywords=0, n_subsections=0, repeats=.false.)
2080 description=
"File name used for band structure", &
2081 usage=
"FILE_NAME <filename>", default_c_val=
"", &
2082 type_of_var=
char_t, n_var=1)
2087 variants=(/
"ADDED_BANDS"/), &
2088 description=
"Number of MOs/Bands added to the Band Structure calculation.", &
2093 NULLIFY (subsection)
2098 END SUBROUTINE create_bandstructure_section
2104 SUBROUTINE create_mo_cubes_section(print_key)
2112 description=
"Controls the printing of the molecular orbitals (MOs) as cube files."// &
2113 " It can be used during a Real Time calculation to print the MOs."// &
2114 " In this case, the density corresponding to the time dependent MO is printed"// &
2115 " instead of the wave-function.", &
2118 description=
"The stride (X,Y,Z) used to write the cube file "// &
2119 "(larger values result in smaller cube files). You can provide 3 numbers (for X,Y,Z) or"// &
2120 " 1 number valid for all components.", &
2121 usage=
"STRIDE 2 2 2", n_var=-1, default_i_vals=(/2, 2, 2/), type_of_var=
integer_t)
2126 description=
"If the MO cube file should be written. If false, the eigenvalues are still computed."// &
2127 " Can also be useful in combination with STM calculations", &
2128 default_l_val=.true., lone_keyword_l_val=.true.)
2133 description=
"If the printkey is activated controls the number of lumos"// &
2134 " that are printed and dumped as a cube (-1=all)", &
2139 keyword, __location__, name=
"nhomo", &
2140 description=
"If the printkey is activated controls the number of homos that dumped as a cube (-1=all),"// &
2141 " eigenvalues are always all dumped", &
2147 keyword, __location__, name=
"homo_list", &
2148 description=
"If the printkey is activated controls the index of homos dumped as a cube,"// &
2149 " eigenvalues are always all dumped. It overrides nhomo.", &
2150 usage=
"HOMO_LIST {integer} {integer} .. {integer} ", type_of_var=
integer_t, &
2151 n_var=-1, repeats=.true.)
2156 description=
"append the cube files when they already exist", &
2157 default_l_val=.false., lone_keyword_l_val=.true.)
2161 END SUBROUTINE create_mo_cubes_section
2167 SUBROUTINE create_dos_section(print_key)
2176 description=
"Print Density of States (DOS) (only available states from SCF)", &
2180 description=
"Append the DOS obtained at different iterations to the output file. "// &
2181 "By default the file is overwritten", &
2182 usage=
"APPEND", default_l_val=.false., &
2183 lone_keyword_l_val=.true.)
2188 description=
"Histogramm energy spacing.", &
2189 usage=
"DELTA_E 0.0005", type_of_var=
real_t, default_r_val=0.001_dp)
2194 description=
"Specify the number of digits used to print density and occupation", &
2199 END SUBROUTINE create_dos_section
2212 NULLIFY (subsection)
2216 description=
"Print out the DOS projected per kind and angular momentum ", &
2219 description=
"Print out PDOS distinguishing all angular momentum components.", &
2220 usage=
"COMPONENTS", default_l_val=.false., &
2221 lone_keyword_l_val=.true.)
2225 description=
"Append the PDOS obtained at different iterations to the PDOS output file. "// &
2226 "By default the file is overwritten", &
2227 usage=
"APPEND", default_l_val=.false., &
2228 lone_keyword_l_val=.true.)
2232 keyword, __location__, name=
"NLUMO", &
2233 description=
"Number of virtual orbitals to be added to the MO set (-1=all)."//
newline// &
2234 "CAUTION: Setting this value to be higher than the "// &
2235 "number of states present may cause a Cholesky error."//
newline// &
2236 "This keyword only applies to MO sets, not to XAS_TDP states.", &
2237 usage=
"NLUMO integer", default_i_val=0)
2240 CALL keyword_create(keyword, __location__, name=
"OUT_EACH_STATE", &
2241 variants=(/
"OUT_EACH_MO"/), &
2242 description=
"Output on the status of the calculation every OUT_EACH_MO states. If -1 no output", &
2243 usage=
"OUT_EACH_STATE integer", default_i_val=-1)
2248 description=
"Controls the printing of local PDOS, projected on subsets"// &
2249 " of atoms given through lists", &
2250 n_keywords=4, n_subsections=0, repeats=.true.)
2252 description=
"Print out PDOS distinguishing all angular momentum components.", &
2253 usage=
"COMPONENTS", default_l_val=.false., &
2254 lone_keyword_l_val=.true.)
2259 description=
"Specifies a list of indexes of atoms where to project the DOS ", &
2260 usage=
"LIST {integer} {integer} .. {integer} ", type_of_var=
integer_t, &
2261 n_var=-1, repeats=.true.)
2269 description=
"Controls the printing of local PDOS, projected on 3D volume in real space,"// &
2270 " the volume is defined in terms of position with respect to atoms in the lists", &
2271 n_keywords=4, n_subsections=0, repeats=.true.)
2274 description=
"Specifies a list of indexes of atoms used to define the real space volume ", &
2275 usage=
"LIST {integer} {integer} .. {integer} ", type_of_var=
integer_t, &
2276 n_var=-1, repeats=.true.)
2281 description=
"range of positions in Cartesian direction x: all grid points within "// &
2282 "this range from at least one atom of the list are considered", &
2283 usage=
"XRANGE -10.0 10.0", unit_str=
"angstrom", n_var=2, type_of_var=
real_t)
2287 description=
"range of positions in Cartesian direction y: all grid points within "// &
2288 "this range from at least one atom of the list are considered", &
2289 usage=
"YRANGE -10.0 10.0", unit_str=
"angstrom", n_var=2, type_of_var=
real_t)
2293 description=
"range of positions in Cartesian direction z: all grid points within "// &
2294 "this range from at least one atom of the list are considered", &
2295 usage=
"ZRANGE -10.0 10.0", unit_str=
"angstrom", n_var=2, type_of_var=
real_t)
2300 description=
"Only project states with the energy values in the given interval. "// &
2301 "Default is all states.", &
2302 usage=
"ERANGE -1.0 1.0", unit_str=
"hartree", n_var=2, type_of_var=
real_t)
2315 SUBROUTINE create_wannier_section(print_key)
2324 description=
"Interface to Wannier90 code. (EXPERIMENTAL)", &
2328 description=
"The seedname for the Wannier90 calculation (body of filenames).", &
2329 usage=
"SEED_NAME filename", default_c_val=
"wannier90", &
2330 n_var=1, type_of_var=
char_t)
2335 description=
"The dimensions of the Monkhorst-Pack k-point grid. ", &
2336 usage=
"MP_GRID 6 6 6", n_var=-1, default_i_vals=(/10, 10, 10/), type_of_var=
integer_t)
2341 variants=(/
"ADDED_BANDS"/), &
2342 description=
"Number of MOs/Bands added to the Band Structure calculation.", &
2347 CALL keyword_create(keyword, __location__, name=
"EXCLUDE_BANDS", &
2348 description=
"List of Bands excluded in the Wannier calculation.", &
2349 usage=
"EXCLUDE_BANDS b1 b2 ...", n_var=-1, repeats=.true., &
2354 CALL keyword_create(keyword, __location__, name=
"WANNIER_FUNCTIONS", &
2355 description=
"Number of Wannier functions to be calculated. ", &
2356 usage=
"WANNIER_FUNCTIONS 6", n_var=1, default_i_val=0, &
2361 END SUBROUTINE create_wannier_section
2367 SUBROUTINE create_stm_section(print_key)
2375 description=
"Controls the printing of cubes for the generation of STM images.", &
2378 description=
"The stride (X,Y,Z) used to write the cube file "// &
2379 "(larger values result in smaller cube files). You can provide 3 numbers (for X,Y,Z) or"// &
2380 " 1 number valid for all components.", &
2381 usage=
"STRIDE 2 2 2", n_var=-1, default_i_vals=(/2, 2, 2/), type_of_var=
integer_t)
2386 description=
"If the printkey is activated controls the number of additional lumos"// &
2387 " that are computed to be able to reproduce STM images obtained"// &
2388 " from positive bias (imaging unoccupied states)", &
2394 description=
"Bias energy for scanning tunneling microscopy (STM) image generation. "// &
2395 "Orbital densities are summed according to the bias energy. "// &
2396 "For negative values, states in the range ]EF+bias,EF] are summed, "// &
2397 "While positive values sum states in the range [EF,EF+bias[. "// &
2398 "If positive biases are used, sufficiently many unoccupied stated "// &
2399 "(see ADDED_MOS and NLUMO ) should be computed.", &
2400 n_var=-1, type_of_var=
real_t, default_r_vals=(/0.0_dp/), unit_str=
'eV')
2405 description=
"Tip orbital symmetry in Tersoff-Hamann approximation to compute STM images", &
2407 default_i_val=
orb_s, &
2408 usage=
"TH_TORB s dz2", &
2409 enum_c_vals=
s2a(
"S",
"PX",
"PY",
"PZ",
"DXY",
"DYZ",
"DZX",
"DX2",
"DY2",
"DZ2"), &
2410 enum_i_vals=(/
orb_s,
orb_px,
orb_py,
orb_pz,
orb_dxy,
orb_dyz,
orb_dzx,
orb_dx2,
orb_dy2,
orb_dz2/), &
2411 enum_desc=
s2a(
"s orbital",
"px orbital",
"py orbital",
"pz orbital", &
2412 "dxy orbital",
"dyz orbital",
"dzx orbital",
"x^2 orbital",
"y^2 orbital",
"z^2 orbital"))
2417 description=
"By default the reference energy is the Fermi energy. In order to compare"// &
2418 " with STS experiments, where specific energy ranges are addressed, here"// &
2419 " one can set a different reference energy."// &
2420 " The energy range is anyway controlled by the BIAS", &
2421 type_of_var=
real_t, default_r_val=0.0_dp, unit_str=
'eV')
2426 description=
"append the cube files when they already exist", &
2427 default_l_val=.false., lone_keyword_l_val=.true.)
2431 END SUBROUTINE create_stm_section
2437 SUBROUTINE create_wfn_mix_section(section)
2444 NULLIFY (subsection)
2447 cpassert(.NOT.
ASSOCIATED(section))
2450 description=
"A section that allows manipulation of the MO coeffs, "// &
2451 "e.g. for changing a ground state into an excited state. "// &
2452 "Starting from a copy of the original MOs, changes can be made "// &
2453 "by adding linear combinations of HOMO/LUMO of the original MOs to the result MOs. "// &
2454 "This method is called after an SCF optimization or before an RTP run if "// &
2455 "INITIAL_WFN=RESTART_WFN. Note that if called after an SCF optimization, a restart file "// &
2456 "with the mixed MOs is saved. This is not the case for an RTP with "// &
2457 "INITIAL_WFN=RESTART_WFN.", &
2458 n_keywords=1, n_subsections=0, repeats=.false.)
2460 CALL keyword_create(keyword, __location__, name=
"OVERWRITE_MOS", &
2461 description=
"If set to True, the active molecular orbitals in memory will be replaced by the mixed wfn "// &
2462 "at the end of the wfn mixing procedure. For instance, you can then use this new set of MOs to perform "// &
2463 "RTP or EMD directly. Note that in the case of an RTP run with INITIAL_WFN=RESTART_WFN, the OVERWRITE_MOS "// &
2464 "keyword is not used.", &
2465 default_l_val=.false., lone_keyword_l_val=.true.)
2470 description=
"Update a result MO with with a linear combination of original MOs."// &
2471 " This section can be repeated to build arbitrary linear combinations using repeatedly y=a*y+b*x. "// &
2472 "RESULT is (y), RESULT_SCALE is (a), ORIG is (x), ORIG_SCALE is (b)", &
2473 n_keywords=1, n_subsections=0, repeats=.true.)
2475 CALL keyword_create(keyword, __location__, name=
"RESULT_MO_INDEX", &
2476 description=
"Index of the MO (y) to be modified. Counting down in energy: "// &
2477 "set to 1 for the highest MO, to 3 for the highest MO-2.", &
2478 usage=
"RESULT_MO_INDEX 1", type_of_var=
integer_t, default_i_val=0)
2482 CALL keyword_create(keyword, __location__, name=
"RESULT_MARKED_STATE", &
2483 description=
"Specifies the MO according to "// &
2484 "the marks set in MOLECULAR_STATES. The value corresponds to the repetition "// &
2485 "of MARK_STATES in MOLECULAR_STATES", &
2486 usage=
"RESULT_MARKED_STATE 1", type_of_var=
integer_t, default_i_val=0)
2490 CALL keyword_create(keyword, __location__, name=
"REVERSE_MO_INDEX", &
2491 description=
"Reverses the index order of the OCCUPIED and EXTERNAL MOs. With this keyword "// &
2492 "ORIG_MO_INDEX/RESULT_MO_INDEX 1 point to the lowest energy MO (instead of the highest) "// &
2493 "and counts up in energy. The VIRTUAL MOs indexing is unchanged.", &
2494 default_l_val=.false., lone_keyword_l_val=.true.)
2498 CALL keyword_create(keyword, __location__, name=
"RESULT_SPIN_INDEX", &
2499 description=
"Spin of the MO (y) to be modified.", &
2500 enum_c_vals=
s2a(
"Alpha",
"Beta"), &
2501 enum_i_vals=(/1, 2/), &
2503 enum_desc=
s2a(
"Majority spin",
"Minority spin"))
2507 CALL keyword_create(keyword, __location__, name=
"RESULT_SCALE", &
2508 description=
"Scaling factor of the result variable (a).", &
2509 usage=
"RESULT_SCALE 0.0", type_of_var=
real_t)
2513 CALL keyword_create(keyword, __location__, name=
"ORIG_MO_INDEX", &
2514 description=
"Index of the original MO (x). "// &
2515 "If ORIG_TYPE is OCCUPIED, it counts down in energy: set to 1 to point to "// &
2516 "the highest MO and to 3 for the highest MO-2. "// &
2517 "If ORIG_TYPE is VIRTUAL, it counts up in energy: set to 1 to point to "// &
2518 "the lowest virtual MO and to 3 for the lowest MO+2. "// &
2519 "If ORIG_TYPE is EXTERNAL, it counts down in energy for the external "// &
2520 "set of MOs: set to 1 to point to the highest MO and to 3 for the highest MO-2. "// &
2521 "Do not set to zero or negative values.", &
2522 usage=
"ORIG_MO_INDEX 1", type_of_var=
integer_t, default_i_val=0)
2526 CALL keyword_create(keyword, __location__, name=
"ORIG_MARKED_STATE", &
2527 description=
"Specifies the MO according to "// &
2528 "the marks set in MOLECULAR_STATES. The value corresponds to the repetition "// &
2529 "of MARK_STATES in MOLECULAR_STATES", &
2530 usage=
"ORIG_MARKED_STATE 1", type_of_var=
integer_t, default_i_val=0)
2534 CALL keyword_create(keyword, __location__, name=
"ORIG_SPIN_INDEX", &
2535 description=
"Spin of the MO (x) to be modified.", &
2536 enum_c_vals=
s2a(
"Alpha",
"Beta"), &
2537 enum_i_vals=(/1, 2/), &
2539 enum_desc=
s2a(
"Majority spin",
"Minority spin"))
2544 description=
"Scaling factor of the original variable (b).", &
2545 usage=
"ORIG_SCALE 0.0", type_of_var=
real_t)
2550 description=
"Type of the original MO. Note that if ADDED_MOS was used in the "// &
2551 "SCF construction of the MO matrix, these extra MOs are also treated as OCCUPIED. ", &
2552 enum_c_vals=
s2a(
"OCCUPIED",
"VIRTUAL",
'EXTERNAL'), &
2553 usage=
"ORIG_TYPE OCCUPIED", &
2555 enum_desc=
s2a(
"The original MO is the result of the SCF procedure. This can also contain "// &
2556 "unoccupied MOs if the SCF%ADDED_MOS keyword was used.", &
2557 "The original MO is taken from the result of additional MOs calculated a "// &
2558 "posteriori of the SCF by request of the user. E.g. by specifying print%mo_cubes%nlumo. ", &
2559 "The orginal MO is from an external .wfn file. Use the keyword "// &
2560 "ORIG_EXT_FILE_NAME to define its name."), &
2565 CALL keyword_create(keyword, __location__, name=
"ORIG_EXT_FILE_NAME", &
2566 description=
"Name of the wavefunction file to read the original MO from. "// &
2567 "For instance, a restart wfn file from SCF calculation or an excited state from XAS_TDP calculation. "// &
2568 "If no file is specified, the run will crash. "// &
2569 "Currently, a RTP restart file (.rtpwfn) cannot be used as reference. "// &
2570 "Currently, this file SHALL have the basis set, number of MO and the same number of spin as the one "// &
2571 "from the SCF cycle.", &
2572 usage=
"ORIG_EXT_FILE_NAME <FILENAME>", &
2573 default_lc_val=
"EMPTY")
2580 END SUBROUTINE create_wfn_mix_section
2589 SUBROUTINE create_implicit_psolver_section(section)
2595 cpassert(.NOT.
ASSOCIATED(section))
2596 CALL section_create(section, __location__, name=
"IMPLICIT_PSOLVER", &
2597 description=
"Controls printing of cube files for data from the implicit "// &
2598 "(generalized) Poisson solver.", &
2600 n_keywords=0, n_subsections=3, repeats=.false.)
2602 NULLIFY (keyword, print_key)
2606 description=
"Controls the printing of a cube file with dielectric constant from "// &
2607 "the implicit (generalized) Poisson solver.", &
2611 description=
"The stride (X,Y,Z) used to write the cube file "// &
2612 "(larger values result in smaller cube files). You can provide 3 numbers (for X,Y,Z) or"// &
2613 " 1 number valid for all components.", &
2614 usage=
"STRIDE 2 2 2", n_var=-1, default_i_vals=(/2, 2, 2/), type_of_var=
integer_t)
2618 description=
"append the cube files when they already exist", &
2619 default_l_val=.false., lone_keyword_l_val=.true.)
2628 print_key, __location__,
"DIRICHLET_BC_CUBE", &
2629 description=
"Controls the printing of cube files with unit step functions (constraints)"// &
2630 " representing Dirichlet-type (boundary) regions defined in the implicit (generalized) Poisson"// &
2631 " solver section. The regions remain unchanged throughout the calculations. If the Dirichlet"// &
2632 " regions are relatively large and/or the number of partitions is quite high, in order to save memory,"// &
2633 " generate the cube files in early steps and perform the rest of the calculations with this keyword"// &
2638 description=
"Print tiles that tessellate the Dirichlet regions into cube files. If TRUE, "// &
2639 "generates cube files as many as the total number of tiles.", &
2640 usage=
"TILE_CUBES <logical>", &
2641 default_l_val=.false., lone_keyword_l_val=.true.)
2645 description=
"The stride (X,Y,Z) used to write the cube file "// &
2646 "(larger values result in smaller cube files). You can provide 3 numbers (for X,Y,Z) or"// &
2647 " 1 number valid for all components.", &
2648 usage=
"STRIDE 2 2 2", n_var=-1, default_i_vals=(/2, 2, 2/), type_of_var=
integer_t)
2652 description=
"append the cube files when they already exist", &
2653 default_l_val=.false., lone_keyword_l_val=.true.)
2662 description=
"Controls the printing of cube files with penalty charges induced to "// &
2663 "Dirichlet regions by Lagrange multipliers (implicit Poisson solver).", &
2667 description=
"The stride (X,Y,Z) used to write the cube file "// &
2668 "(larger values result in smaller cube files). You can provide 3 numbers (for X,Y,Z) or"// &
2669 " 1 number valid for all components.", &
2670 usage=
"STRIDE 2 2 2", n_var=-1, default_i_vals=(/2, 2, 2/), type_of_var=
integer_t)
2674 description=
"append the cube files when they already exist", &
2675 default_l_val=.false., lone_keyword_l_val=.true.)
2682 END SUBROUTINE create_implicit_psolver_section
2695 cpassert(.NOT.
ASSOCIATED(section))
2696 CALL section_create(section, __location__, name=
"interpolator", &
2697 description=
"controls the interpolation for the G-space term", &
2698 n_keywords=5, n_subsections=0, repeats=.false.)
2700 NULLIFY (keyword, print_key)
2702 CALL keyword_create(keyword, __location__, name=
"aint_precond", &
2703 description=
"the approximate inverse to use to get the starting point"// &
2704 " for the linear solver of the spline3 methods", &
2705 usage=
"aint_precond copy", &
2707 enum_c_vals=
s2a(
"copy",
"spl3_nopbc_aint1",
"spl3_nopbc_precond1", &
2708 "spl3_nopbc_aint2",
"spl3_nopbc_precond2",
"spl3_nopbc_precond3"), &
2715 description=
"The preconditioner used"// &
2716 " for the linear solver of the spline3 methods", &
2717 usage=
"precond copy", &
2719 enum_c_vals=
s2a(
"copy",
"spl3_nopbc_aint1",
"spl3_nopbc_precond1", &
2720 "spl3_nopbc_aint2",
"spl3_nopbc_precond2",
"spl3_nopbc_precond3"), &
2727 description=
"accuracy on the solution for spline3 the interpolators", &
2728 usage=
"eps_x 1.e-15", default_r_val=1.e-10_dp)
2733 description=
"accuracy on the residual for spline3 the interpolators", &
2734 usage=
"eps_r 1.e-15", default_r_val=1.e-10_dp)
2739 variants=(/
'maxiter'/), &
2740 description=
"the maximum number of iterations", &
2741 usage=
"max_iter 200", default_i_val=100)
2747 description=
"if convergence information about the linear solver"// &
2748 " of the spline methods should be printed", &
2750 each_iter_values=(/10/), filename=
"__STD_OUT__", &
integer, parameter, public basis_sort_zet
integer, parameter, public basis_sort_default
collects all references to literature in CP2K as new algorithms / method are included from literature...
integer, save, public vandevondele2005b
integer, save, public blochl1995
integer, save, public guidon2010
integer, save, public vandevondele2003
integer, save, public bengtsson1999
integer, save, public kunert2003
integer, save, public iannuzzi2007
integer, save, public yin2017
integer, save, public stewart2007
integer, save, public holmberg2017
integer, save, public vandevondele2006
integer, save, public golze2017b
integer, save, public caldeweyher2020
integer, save, public krack2002
integer, save, public vandevondele2005a
integer, save, public caldeweyher2019
integer, save, public kuhne2007
integer, save, public golze2017a
integer, save, public schiffmann2015
integer, save, public lippert1999
integer, save, public eriksen2020
integer, save, public dewar1977
integer, save, public avezac2005
integer, save, public vanvoorhis2015
integer, save, public repasky2002
integer, save, public weber2008
integer, save, public andreussi2012
integer, save, public iannuzzi2006
integer, save, public iannuzzi2005
integer, save, public rocha2006
integer, save, public lippert1997
integer, save, public holmberg2018
integer, save, public fattebert2002
integer, save, public andermatt2016
integer, save, public merlot2014
integer, save, public thiel1992
integer, save, public pracht2019
integer, save, public ehrhardt1985
integer, save, public becke1988b
integer, save, public perdew1981
integer, save, public knizia2013
integer, save, public shigeta2001
integer, save, public stewart1982
integer, save, public schenter2008
integer, save, public lu2004
integer, save, public dudarev1997
integer, save, public heinzmann1976
integer, save, public brelaz1979
integer, save, public krack2000
integer, save, public dewar1985
integer, save, public banihashemian2016
integer, save, public stewart1989
integer, save, public brehm2018
integer, save, public kolafa2004
integer, save, public dudarev1998
routines to handle the output, The idea is to remove the decision of wheter to output and what to out...
integer, parameter, public debug_print_level
integer, parameter, public low_print_level
integer, parameter, public medium_print_level
integer, parameter, public high_print_level
integer, parameter, public add_last_numeric
integer, parameter, public silent_print_level
subroutine, public cp_print_key_section_create(print_key_section, location, name, description, print_level, each_iter_names, each_iter_values, add_last, filename, common_iter_levels, citations, unit_str)
creates a print_key section
utils to manipulate splines on the regular grid of a pw
integer, parameter, public pw_interp
integer, parameter, public spline3_nopbc_interp
integer, parameter, public spline3_pbc_interp
real(kind=dp) function, public cp_unit_to_cp2k(value, unit_str, defaults, power)
converts to the internal cp2k units to the given unit
Defines the basic variable types.
integer, parameter, public dp
This module defines the grid data type and some basic operations on it.
integer, parameter, public do_pw_grid_blocked_false
integer, parameter, public do_pw_grid_blocked_true
integer, parameter, public do_pw_grid_blocked_free
different utils that are useful to manipulate splines on the regular grid of a pw
integer, parameter, public precond_spl3_3
integer, parameter, public precond_spl3_aint
integer, parameter, public no_precond
integer, parameter, public precond_spl3_2
integer, parameter, public precond_spl3_aint2
integer, parameter, public precond_spl3_1
module that contains the definitions of the scf types
subroutine, public create_mixing_section(section, ls_scf)
Create CP2K input section for the mixing of the density matrix to be used only with diagonalization m...
manage control variables for the maximum overlap method
subroutine, public create_mom_section(section)
Create CP2K input section for variable occupancy using the Maximum Overlap Method....
Utilities for string manipulations.
character(len=1), parameter, public newline