79 numerical,
oe_gllb,
oe_lb,
oe_none,
oe_saop,
oe_sic,
orb_dx2,
orb_dxy,
orb_dy2,
orb_dyz, &
166#include "./base/base_uses.f90"
171 CHARACTER(len=*),
PARAMETER,
PRIVATE :: moduleN =
'input_cp2k_print_dft'
186 TYPE(
section_type),
POINTER :: print_key, sub_print_key, subsection
188 cpassert(.NOT.
ASSOCIATED(section))
190 description=
"Section of possible print options in DFT code.", &
191 n_keywords=0, n_subsections=1, repeats=.false.)
193 NULLIFY (print_key, keyword, subsection)
196 description=
"Controls the printing of the banner of the MM program", &
202 description=
"Controls the printing of a file with all basis sets used.", &
208 description=
"Controls the printing of the kinetic energy", &
214 description=
"Print all derivatives after the DFT calculation", &
218 description=
"Specify the number of digits used to print derivatives", &
227 description=
"Controls the printing of the neighbor lists", &
231 description=
"Activates the printing of the orbital "// &
232 "orbital neighbor lists, "// &
233 "i.e. the overlap neighbor lists", &
234 default_l_val=.false., &
235 lone_keyword_l_val=.true.)
240 name=
"sab_aux_fit", &
241 description=
"Activates the printing of the orbital "// &
242 "orbital neighbor lists wavefunction fitting basis, "// &
243 "i.e. the overlap neighbor lists", &
244 default_l_val=.false., &
245 lone_keyword_l_val=.true.)
250 name=
"sab_aux_fit_vs_orb", &
251 description=
"Activates the printing of the orbital "// &
252 "orbital mixed neighbor lists of wavefunction fitting basis, "// &
253 "and the orbital basis, i.e. the overlap neighbor lists", &
254 default_l_val=.false., &
255 lone_keyword_l_val=.true.)
261 description=
"Activates the printing of the vdW SCP "// &
263 default_l_val=.false., &
264 lone_keyword_l_val=.true.)
270 description=
"Activates the printing of the vdW "// &
271 "neighbor lists (from DFT, DFTB, SE), "// &
272 "i.e. the dispersion neighbor lists", &
273 default_l_val=.false., &
274 lone_keyword_l_val=.true.)
280 description=
"Activates the printing of the "// &
281 "neighbor lists used for coordination numbers in vdW DFT-D3", &
282 default_l_val=.false., &
283 lone_keyword_l_val=.true.)
289 description=
"Activates the printing of the orbital "// &
290 "nuclear attraction neighbor lists (erfc potential)", &
291 default_l_val=.false., &
292 lone_keyword_l_val=.true.)
298 description=
"Activates the printing of the orbital "// &
299 "GTH-PPL neighbor lists (local part of the "// &
300 "Goedecker-Teter-Hutter pseudo potentials)", &
301 default_l_val=.false., &
302 lone_keyword_l_val=.true.)
308 description=
"Activates the printing of the orbital "// &
309 "GTH-PPNL neighbor lists (non-local part of the "// &
310 "Goedecker-Teter-Hutter pseudo potentials)", &
311 default_l_val=.false., &
312 lone_keyword_l_val=.true.)
318 description=
"Activates the printing of the orbital "// &
319 "PAW-projector neighbor lists (only GAPW)", &
320 default_l_val=.false., &
321 lone_keyword_l_val=.true.)
327 description=
"Activates the printing of the two-center "// &
328 "neighbor lists for Coulomb type interactions in NDDO ", &
329 default_l_val=.false., &
330 lone_keyword_l_val=.true.)
336 description=
"Activates the printing of the long-range SE correction "// &
337 "neighbor lists (only when doing long-range SE with integral scheme KDSO and KDSO-d)", &
338 default_l_val=.false., lone_keyword_l_val=.true.)
344 description=
"Activates the printing of the DFTB Ewald "// &
346 default_l_val=.false., &
347 lone_keyword_l_val=.true.)
353 description=
"Activates the printing of the xTB sr-Coulomb "// &
355 default_l_val=.false., &
356 lone_keyword_l_val=.true.)
362 description=
"Activates the printing of core interaction "// &
364 default_l_val=.false., &
365 lone_keyword_l_val=.true.)
371 description=
"Activates the printing of XB interaction from (xTB) "// &
373 default_l_val=.false., &
374 lone_keyword_l_val=.true.)
379 name=
"sab_xtb_nonbond", &
380 description=
"Activates the printing of nonbonded interaction from (xTB) "// &
382 default_l_val=.false., &
383 lone_keyword_l_val=.true.)
389 description=
"Activates the printing of RI orbital-orbital "// &
391 default_l_val=.false., &
392 lone_keyword_l_val=.true.)
398 description=
"Activates the printing of RI basis-projector interaction "// &
400 default_l_val=.false., &
401 lone_keyword_l_val=.true.)
409 description=
"Activates the printing of the subcells used for the "// &
410 "generation of neighbor lists.", unit_str=
"angstrom", &
416 description=
"Controls the printing of the ao (i.e. contracted gaussian) matrices (debug).", &
419 description=
"Print only the matrix data, not the row and column headers", &
420 default_l_val=.false., lone_keyword_l_val=.true.)
424 description=
"Specify the number of digits used to print the AO matrices", &
428 CALL keyword_create(keyword, __location__, name=
"CORE_HAMILTONIAN", &
429 description=
"If the printkey is activated controls the printing of the hamiltonian matrix", &
430 default_l_val=.false., lone_keyword_l_val=.true.)
434 description=
"If the printkey is activated controls the printing of the density (P) matrix", &
435 default_l_val=.false., lone_keyword_l_val=.true.)
439 CALL keyword_create(keyword, __location__, name=
"KINETIC_ENERGY", &
440 description=
"If the printkey is activated controls the printing of the kinetic energy matrix", &
441 default_l_val=.false., lone_keyword_l_val=.true.)
444 CALL keyword_create(keyword, __location__, name=
"KOHN_SHAM_MATRIX", &
445 description=
"If the printkey is activated controls the printing of the kohn-sham matrix", &
446 default_l_val=.false., lone_keyword_l_val=.true.)
450 keyword, __location__, name=
"MATRIX_VXC", &
451 description=
"If the printkey is activated compute and print the matrix of the exchange and correlation potential. "// &
452 "Only the GGA part for GPW is printed", &
453 default_l_val=.false., lone_keyword_l_val=.true.)
457 description=
"If the printkey is activated controls the printing of the orthogonalization matrix", &
458 default_l_val=.false., lone_keyword_l_val=.true.)
462 description=
"If the printkey is activated controls the printing of the overlap matrix", &
463 default_l_val=.false., lone_keyword_l_val=.true.)
466 CALL keyword_create(keyword, __location__, name=
"COMMUTATOR_HR", &
467 description=
"Controls the printing of the [H,r] commutator matrix", &
468 default_l_val=.false., lone_keyword_l_val=.true.)
472 CALL keyword_create(keyword, __location__, name=
"FERMI_CONTACT", &
473 description=
"If the printkey is activated controls the printing of the Fermi contact matrix", &
474 default_l_val=.false., lone_keyword_l_val=.true.)
478 keyword, __location__, name=
"PSO", &
479 description=
"If the printkey is activated controls the printing of the paramagnetic spin-orbit matrices", &
480 default_l_val=.false., lone_keyword_l_val=.true.)
484 keyword, __location__, name=
"EFG", &
485 description=
"If the printkey is activated controls the printing of the electric field gradient matrices", &
486 default_l_val=.false., lone_keyword_l_val=.true.)
489 CALL keyword_create(keyword, __location__, name=
"POTENTIAL_ENERGY", &
490 description=
"If the printkey is activated controls the printing of the potential energy matrix", &
491 default_l_val=.false., lone_keyword_l_val=.true.)
495 description=
"If the printkey is activated controls the printing of the OCE HARD matrix", &
496 default_l_val=.false., lone_keyword_l_val=.true.)
500 description=
"If the printkey is activated controls the printing of the OCE SOFT matrix", &
501 default_l_val=.false., lone_keyword_l_val=.true.)
505 description=
"If the printkey is activated controls the printing of the w matrix", &
506 default_l_val=.false., lone_keyword_l_val=.true.)
509 CALL keyword_create(keyword, __location__, name=
"W_MATRIX_AUX_FIT", &
510 description=
"If the printkey is activated controls the printing of the w matrix", &
511 default_l_val=.false., lone_keyword_l_val=.true.)
515 description=
"If the printkey is activated controls the printing "// &
516 "of derivatives (for the matrixes that support this)", &
517 default_l_val=.false., lone_keyword_l_val=.true.)
524 print_key, __location__,
"MO", &
525 description=
"Controls the printing of the molecular orbital (MO) information. The requested MO information "// &
526 "is printed for all occupied MOs by default. Use the MO_INDEX_RANGE keyword to restrict the number "// &
527 "of the MOs or to print the MO information for unoccupied MOs. With diagonalization, additional MOs "// &
528 "have to be made available for printout using the ADDED_MOS keyword in the SCF section. With OT, "// &
529 "it is sufficient to specify the desired MO_INDEX_RANGE. The OT eigensolver can be controlled with "// &
530 "the EPS_LUMO and MAX_ITER_LUMO keywords in the SCF section.", &
533 description=
"Print the MOs in the Cartesian basis instead of the default spherical basis.", &
534 default_l_val=.false., lone_keyword_l_val=.true.)
538 variants=
s2a(
"EIGENVALUES",
"EIGVALS"), &
539 description=
"Print the MO energies (eigenvalues).", &
540 default_l_val=.false., lone_keyword_l_val=.true.)
544 variants=
s2a(
"EIGENVECTORS",
"EIGVECS"), &
545 description=
"Print the MO coefficients (eigenvectors).", &
546 default_l_val=.false., lone_keyword_l_val=.true.)
549 CALL keyword_create(keyword, __location__, name=
"OCCUPATION_NUMBERS", &
550 variants=
s2a(
"OCCNUMS"), &
551 description=
"Print the MO occupation numbers.", &
552 default_l_val=.false., lone_keyword_l_val=.true.)
555 CALL keyword_create(keyword, __location__, name=
"OCCUPATION_NUMBERS_STATS", &
556 variants=
s2a(
"OCCNUMSTATS"), &
557 description=
"Print some stats (max number of occupied MOs, etc.) of the MO occupation numbers."// &
558 " First logical toggles stats printing, first real is the occupied threshold.", &
559 type_of_var=
char_t, n_var=-1, &
560 default_c_vals=[
".FALSE.",
"1.0E-6 "], &
561 lone_keyword_c_vals=[
".TRUE."], &
562 usage=
"OCCUPATION_NUMBERS_STATS {Logical} [{Real}]")
566 description=
"Specify the number of digits used to print the MO information.", &
571 name=
"MO_INDEX_RANGE", &
572 variants=
s2a(
"MO_RANGE",
"RANGE"), &
573 description=
"Print only the requested subset of MOs. The indices of the first and "// &
574 "the last MO have to be specified to define the range.", &
578 default_i_vals=(/0, 0/), &
579 usage=
"MO_INDEX_RANGE 10 15")
586 description=
"Write the molecular orbitals in Molden file format, for visualisation.", &
589 description=
"Specifies the number of significant digits retained. 3 is OK for visualization.", &
590 usage=
"NDIGITS {int}", &
595 description=
"Representation of Gaussian-type orbitals", &
597 enum_c_vals=
s2a(
"CARTESIAN",
"SPHERICAL"), &
599 "Cartesian Gaussian orbitals. Use with caution", &
600 "Spherical Gaussian orbitals. Incompatible with VMD"), &
607 CALL create_mo_cubes_section(print_key)
611 CALL create_stm_section(print_key)
615 CALL create_wfn_mix_section(subsection)
620 description=
"Write a TREXIO file to disk.", &
621 n_keywords=1, n_subsections=0, repeats=.false.)
623 description=
"Body of Filename for the trexio file.", &
624 usage=
"FILENAME {name}", default_c_val=
"TREXIO", &
629 description=
"Store the MOs in the Cartesian basis instead of the default spherical basis.", &
630 default_l_val=.false., lone_keyword_l_val=.true.)
637 description=
"Controls the printing of some gapw related information (debug).", &
638 n_keywords=0, n_subsections=1, repeats=.false.)
640 description=
"If the printkey is activated controls if information on"// &
641 " the projectors is printed.", &
646 description=
"If the printkey is activated controls if information on rho0 is printed.", &
654 description=
"Controls the printing of dft control parameters.", &
660 description=
"Controls the printing of kpoint information.", &
666 CALL create_bandstructure_section(subsection)
671 description=
"Controls the checking and printing of an estimate "// &
672 "of the overlap matrix condition number", &
675 description=
"Calculate an estimate of the 1-norm condition number", &
676 default_l_val=.true., lone_keyword_l_val=.true.)
679 CALL keyword_create(keyword, __location__, name=
"DIAGONALIZATION", &
680 description=
"Calculate the 1- and 2-norm condition numbers using diagonalization", &
681 default_l_val=.false., lone_keyword_l_val=.true.)
685 description=
"Calculate the 2-norm condition number using the Arnoldi code (may not be reliable)", &
686 default_l_val=.false., lone_keyword_l_val=.true.)
693 description=
"Controls the printing of cube files with "// &
694 "the electronic density and, for LSD calculations, the spin density.", &
697 description=
"The stride (X,Y,Z) used to write the cube file "// &
698 "(larger values result in smaller cube files). You can provide 3 numbers (for X,Y,Z) or"// &
699 " 1 number valid for all components.", &
700 usage=
"STRIDE 2 2 2", n_var=-1, default_i_vals=(/2, 2, 2/), type_of_var=
integer_t)
704 CALL keyword_create(keyword, __location__, name=
"DENSITY_INCLUDE", &
705 description=
"Which parts of the density to include. In GAPW the electronic density "// &
706 "is divided into a hard and a soft component, and the default (TOTAL_HARD_APPROX) "// &
707 "is to approximate the hard density as a spherical gaussian and to print the smooth "// &
708 "density accurately. This avoids potential artefacts originating from the hard density. "// &
709 "If the TOTAL_DENSITY keyword is used the hard density will be computed more accurately "// &
710 "but may introduce non-physical features. The SOFT_DENSITY keyword will lead to only the "// &
711 "soft density being printed. In GPW these options have no effect and the cube file will "// &
712 "only contain the valence electron density.", &
713 usage=
"DENSITY_INCLUDE TOTAL_HARD_APPROX", &
714 enum_c_vals=
s2a(
"TOTAL_HARD_APPROX",
"TOTAL_DENSITY",
"SOFT_DENSITY"), &
715 enum_desc=
s2a(
"Print (hard+soft) density where the hard components shape is approximated", &
716 "Print (hard+soft) density. Only has an effect "// &
717 "if PAW atoms are present. NOTE: The total "// &
718 "in real space might exhibit unphysical features "// &
719 "like spikes due to the finite and thus "// &
720 "truncated g vector", &
721 "Print only the soft density"), &
730 description=
"append the cube files when they already exist", &
731 default_l_val=.false., lone_keyword_l_val=.true.)
735 CALL keyword_create(keyword, __location__, name=
"XRD_INTERFACE", &
736 description=
"It activates the print out of exponents and coefficients for the"// &
737 " Gaussian expansion of the core densities, based on atom calculations for each kind."// &
738 " The resulting core dansities are needed to compute the form factors."// &
739 " If GAPW the local densities are also given in terms of a Gaussian expansion,"// &
740 " by fitting the difference between local-fhard and local-soft density for each atom."// &
741 " In this case the keyword SOFT_DENSITY is enabled.", &
742 default_l_val=.false., lone_keyword_l_val=.true.)
747 description=
"Number of Gaussian functions used in the expansion of atomic (core) density", &
748 usage=
"NGAUSS 10", n_var=1, default_i_val=12, type_of_var=
integer_t)
756 description=
"Controls printing of cube files with "// &
757 "the total density (electrons+atomic core). Note that "// &
758 "the value of the total density is positive where the "// &
759 "electron density dominates and negative where the core is. "// &
760 "When GPW is enabled this will simply print the combined density "// &
761 "of the valence electrons and charge-balanced core. In GAPW the "// &
762 "electronic density (hard+soft plus a correction term) is printed "// &
763 "together with the charge-balanced core density to produce a complete "// &
764 "representation of the total density.", &
767 description=
"The stride (X,Y,Z) used to write the cube file "// &
768 "(larger values result in smaller cube files). You can provide 3 numbers (for X,Y,Z) or"// &
769 " 1 number valid for all components.", &
770 usage=
"STRIDE 2 2 2", n_var=-1, default_i_vals=(/2, 2, 2/), type_of_var=
integer_t)
775 description=
"append the cube files when they already exist", &
776 default_l_val=.false., lone_keyword_l_val=.true.)
784 description=
"Controls the printing of a cube file with eletrostatic"// &
785 " potential generated by the total density (electrons+ions). It is"// &
786 " valid only for QS with GPW formalism."// &
787 " Note that by convention the potential has opposite sign than the expected physical one.", &
790 description=
"The stride (X,Y,Z) used to write the cube file "// &
791 "(larger values result in smaller cube files). You can provide 3 numbers (for X,Y,Z) or"// &
792 " 1 number valid for all components.", &
793 usage=
"STRIDE 2 2 2", n_var=-1, default_i_vals=(/2, 2, 2/), type_of_var=
integer_t)
797 description=
"append the cube files when they already exist", &
798 default_l_val=.false., lone_keyword_l_val=.true.)
806 description=
"Controls the printing of a cube file with external"// &
807 " potential from the DFT%EXTERNAL_POTENTIAL section only.", &
810 description=
"The stride (X,Y,Z) used to write the cube file "// &
811 "(larger values result in smaller cube files). You can provide 3 numbers (for X,Y,Z) or"// &
812 " 1 number valid for all components.", &
813 usage=
"STRIDE 2 2 2", n_var=-1, default_i_vals=(/2, 2, 2/), type_of_var=
integer_t)
817 description=
"append the cube files when they already exist", &
818 default_l_val=.false., lone_keyword_l_val=.true.)
827 description=
"Controls the output of the electron density to the losslessly"// &
828 " compressed BQB file format, see [Brehm2018]"// &
829 " (via LibBQB see <https://brehm-research.de/bqb>)."// &
830 " Currently does not work with changing cell vector (NpT ensemble).", &
835 description=
"Skips the first step of a MD run (avoids duplicate step if restarted).", &
836 usage=
"SKIP_FIRST T", default_l_val=.false., lone_keyword_l_val=.true.)
840 CALL keyword_create(keyword, __location__, name=
"STORE_STEP_NUMBER", &
841 description=
"Stores the step number and simulation time in the comment line of each BQB"// &
842 " frame. Switch it off for binary compatibility with original CP2k CUBE files.", &
843 usage=
"STORE_STEP_NUMBER F", default_l_val=.true., lone_keyword_l_val=.true.)
848 description=
"Performs an on-the-fly decompression of each compressed BQB frame to check"// &
849 " whether the volumetric data exactly matches, and aborts the run if not so.", &
850 usage=
"CHECK T", default_l_val=.false., lone_keyword_l_val=.true.)
855 description=
"Specify this keyword to overwrite the output BQB file if"// &
856 " it already exists. By default, the data is appended to an existing file.", &
857 usage=
"OVERWRITE T", default_l_val=.false., lone_keyword_l_val=.true.)
862 description=
"Controls how many previous steps are taken into account for extrapolation in"// &
863 " compression. Use a value of 1 to compress the frames independently.", &
864 usage=
"HISTORY 10", n_var=1, default_i_val=10, type_of_var=
integer_t)
868 CALL keyword_create(keyword, __location__, name=
"PARAMETER_KEY", &
869 description=
"Allows to supply previously optimized compression parameters via a"// &
870 " parameter key (alphanumeric character sequence starting with 'at')."// &
871 " Just leave away the 'at' sign here, because CP2k will otherwise"// &
872 " assume it is a variable name in the input", &
873 usage=
"PARAMETER_KEY <KEY>", n_var=1, default_c_val=
"", type_of_var=
char_t)
878 description=
"Controls the time spent to optimize the parameters for compression efficiency.", &
879 usage=
"OPTIMIZE {OFF,QUICK,NORMAL,PATIENT,EXHAUSTIVE}", repeats=.false., n_var=1, &
881 enum_c_vals=
s2a(
"OFF",
"QUICK",
"NORMAL",
"PATIENT",
"EXHAUSTIVE"), &
882 enum_desc=
s2a(
"No optimization (use defaults)",
"Quick optimization", &
883 "Standard optimization",
"Precise optimization",
"Exhaustive optimization"), &
897 CALL create_implicit_psolver_section(subsection)
903 description=
"Controls the printing of a cube file with xc"// &
904 " potential generated by the ZMP method (for the moment). It is"// &
905 " valid only for QS with GPW formalism .", &
908 description=
"The stride (X,Y,Z) used to write the cube file "// &
909 "(larger values result in smaller cube files). You can provide 3 numbers (for X,Y,Z) or"// &
910 " 1 number valid for all components.", &
911 usage=
"STRIDE 2 2 2", n_var=-1, default_i_vals=(/2, 2, 2/), type_of_var=
integer_t)
915 description=
"append the cube files when they already exist", &
916 default_l_val=.false., lone_keyword_l_val=.true.)
924 description=
"Controls the printing of cube files with electric"// &
925 " field generated by the total density (electrons+ions). It is"// &
926 " valid only for QS with GPW formalism.", &
929 description=
"The stride (X,Y,Z) used to write the cube file "// &
930 "(larger values result in smaller cube files). You can provide 3 numbers (for X,Y,Z) or"// &
931 " 1 number valid for all components.", &
932 usage=
"STRIDE 2 2 2", n_var=-1, default_i_vals=(/2, 2, 2/), type_of_var=
integer_t)
936 description=
"append the cube files when they already exist", &
937 default_l_val=.false., lone_keyword_l_val=.true.)
945 description=
"Controls printing of cube files with"// &
946 " the electron localization function (ELF). Note that"// &
947 " the value of ELF is defined between 0 and 1: Pauli kinetic energy density normalized"// &
948 " by the kinetic energy density of a uniform el. gas of same density.", &
951 description=
"The stride (X,Y,Z) used to write the cube file "// &
952 "(larger values result in smaller cube files). You can provide 3 numbers (for X,Y,Z) or"// &
953 " 1 number valid for all components.", &
954 usage=
"STRIDE 2 2 2", n_var=-1, default_i_vals=(/2, 2, 2/), type_of_var=
integer_t)
958 description=
"append the cube files when they already exist", &
959 default_l_val=.false., lone_keyword_l_val=.true.)
963 CALL keyword_create(keyword, __location__, name=
"density_cutoff", &
965 usage=
"density_cutoff 0.0001", &
969 default_r_val=1.0e-10_dp)
977 description=
"Controls the printing of cube files with the local"// &
978 " energy. It is valid only for QS with GPW/GAPW formalism."// &
979 " Meta and hybrid functionals are not possible.", &
982 description=
"The stride (X,Y,Z) used to write the cube file "// &
983 "(larger values result in smaller cube files). You can provide 3 numbers (for X,Y,Z) or"// &
984 " 1 number valid for all components.", &
985 usage=
"STRIDE 2 2 2", n_var=-1, default_i_vals=(/2, 2, 2/), type_of_var=
integer_t)
989 description=
"append the cube files when they already exist", &
990 default_l_val=.false., lone_keyword_l_val=.true.)
998 description=
"Controls the printing of cube files with the local"// &
999 " stress. It is valid only for QS with GPW/GAPW formalism."// &
1000 " Meta and hybrid functionals are not possible.", &
1003 description=
"The stride (X,Y,Z) used to write the cube file "// &
1004 "(larger values result in smaller cube files). You can provide 3 numbers (for X,Y,Z) or"// &
1005 " 1 number valid for all components.", &
1006 usage=
"STRIDE 2 2 2", n_var=-1, default_i_vals=(/2, 2, 2/), type_of_var=
integer_t)
1010 description=
"append the cube files when they already exist", &
1011 default_l_val=.false., lone_keyword_l_val=.true.)
1018 CALL create_dos_section(print_key)
1026 CALL create_wannier_section(print_key)
1033 keyword, __location__, &
1034 name=
"MAX_MOMENT", &
1035 description=
"Maximum moment to be calculated. Values higher than 1 not implemented under periodic boundaries.", &
1036 usage=
"MAX_MOMENT {integer}", &
1045 description=
"Calculate also magnetic moments, only implemented without periodic boundaries", &
1046 usage=
"MAGNETIC yes", &
1049 default_l_val=.false., &
1050 lone_keyword_l_val=.true.)
1055 description=
"Calculate expectation values of the el. multipole moments in their velocity "// &
1056 "representation during RTP. Implemented up to el. quadrupole moment.", &
1057 usage=
"VEL_REPRS yes", &
1060 default_l_val=.false., &
1061 lone_keyword_l_val=.true.)
1066 description=
"Include non local commutator for velocity representations. "// &
1067 "Necessary for origin independent results.", &
1068 usage=
"COM_NL yes", &
1071 default_l_val=.false., &
1072 lone_keyword_l_val=.true.)
1076 name=
"SECOND_REFERENCE_POINT", &
1077 description=
"Use second reference point", &
1078 usage=
"SECOND_REFERENCE_POINT .TRUE.", &
1081 default_l_val=.false., &
1082 lone_keyword_l_val=.true.)
1086 variants=
s2a(
"REF_2"), &
1087 description=
"Define a second reference point for the calculation of the electrostatic moment.", &
1088 usage=
"REFERENCE_2 COM", &
1089 enum_c_vals=
s2a(
"COM",
"COAC",
"USER_DEFINED",
"ZERO"), &
1090 enum_desc=
s2a(
"Use Center of Mass", &
1091 "Use Center of Atomic Charges", &
1092 "Use User Defined Point (Keyword:REF_POINT)", &
1093 "Use Origin of Coordinate System"), &
1101 CALL keyword_create(keyword, __location__, name=
"REFERENCE_POINT_2", &
1102 variants=
s2a(
"REF_POINT_2"), &
1103 description=
"Fixed second reference point for the calculations of the electrostatic moment.", &
1104 usage=
"REFERENCE_POINT_2 x y z", &
1106 n_var=3, default_r_vals=(/0._dp, 0._dp, 0._dp/), &
1116 description=
"Controls the printing of the Mulliken (spin) population analysis", &
1118 common_iter_levels=1)
1120 keyword, __location__, &
1122 description=
"Print the gross orbital populations (GOP) in addition to the gross atomic populations (GAP) "// &
1123 "and net charges", &
1124 usage=
"PRINT_GOP yes", &
1127 default_l_val=.false., &
1128 lone_keyword_l_val=.true.)
1132 keyword, __location__, &
1134 description=
"Print all information including the full net AO and overlap population matrix", &
1135 usage=
"PRINT_ALL yes", &
1138 default_l_val=.false., &
1139 lone_keyword_l_val=.true.)
1147 description=
"Controls the printing of the Lowdin (spin) population analysis", &
1149 common_iter_levels=1)
1151 keyword, __location__, &
1153 description=
"Print the orbital populations in addition to the atomic populations and net charges", &
1154 usage=
"PRINT_GOP yes", &
1157 default_l_val=.false., &
1158 lone_keyword_l_val=.true.)
1162 keyword, __location__, &
1164 description=
"Print all information including the full symmetrically orthogonalised density matrix", &
1165 usage=
"PRINT_ALL yes", &
1168 default_l_val=.false., &
1169 lone_keyword_l_val=.true.)
1177 description=
"Controls the printing of the Hirshfeld (spin) population analysis", &
1179 common_iter_levels=1)
1180 CALL keyword_create(keyword, __location__, name=
"SELF_CONSISTENT", &
1181 description=
"Calculate charges from the Hirscheld-I (self_consistent) method."// &
1182 " This scales only the full shape function, not the added charge as in the original scheme.", &
1183 usage=
"SELF_CONSISTENT yes", repeats=.false., n_var=1, &
1184 default_l_val=.false., lone_keyword_l_val=.true.)
1187 CALL keyword_create(keyword, __location__, name=
"SHAPE_FUNCTION", &
1188 description=
"Type of shape function used for Hirshfeld partitioning.", &
1189 usage=
"SHAPE_FUNCTION {Gaussian,Density}", repeats=.false., n_var=1, &
1191 enum_c_vals=
s2a(
"GAUSSIAN",
"DENSITY"), &
1192 enum_desc=
s2a(
"Single Gaussian with Colvalent radius", &
1193 "Atomic density expanded in multiple Gaussians"), &
1197 CALL keyword_create(keyword, __location__, name=
"REFERENCE_CHARGE", &
1198 description=
"Charge of atomic partitioning function for Hirshfeld method.", &
1199 usage=
"REFERENCE_CHARGE {Atomic,Mulliken}", repeats=.false., n_var=1, &
1201 enum_c_vals=
s2a(
"ATOMIC",
"MULLIKEN"), &
1202 enum_desc=
s2a(
"Use atomic core charges",
"Calculate Mulliken charges"), &
1207 description=
"Use user defined radii to generate Gaussians."// &
1208 " These radii are defined by the keyword ATOMIC_RADII", &
1209 usage=
"USER_RADIUS yes", repeats=.false., n_var=1, &
1210 default_l_val=.false., lone_keyword_l_val=.true.)
1213 CALL keyword_create(keyword, __location__, name=
"ATOMIC_RADII", &
1214 description=
"Defines custom radii to setup the spherical Gaussians.", &
1215 usage=
"ATOMIC_RADII {real} {real} {real}", repeats=.false., &
1216 unit_str=
"angstrom", &
1217 type_of_var=
real_t, n_var=-1)
1225 description=
"Controls the printing of the EEQ charges", &
1227 common_iter_levels=1, &
1234 description=
"Controls the printing of the MAO (modified atomic orbital) analysis", &
1236 common_iter_levels=1, &
1239 description=
"Threshold for matrix elements in MAO determination.", &
1240 usage=
"EPS_FILTER reps", repeats=.false., n_var=1, &
1241 default_r_val=1.e-8_dp, type_of_var=
real_t)
1244 CALL keyword_create(keyword, __location__, name=
"REFERENCE_BASIS", &
1245 description=
"Basis set used to construct MAO's.", &
1246 usage=
"REFERENCE_BASIS {ORBITAL,PRIMITIVE,EXTERNAL}", repeats=.false., n_var=1, &
1248 enum_c_vals=
s2a(
"ORBITAL",
"PRIMITIVE",
"EXTERNAL"), &
1249 enum_desc=
s2a(
"Use standard orbital basis set",
"Construct basis from primitives of the orbital basis", &
1250 "Read external basis (MAO)"), &
1255 description=
"Print out MAO reference basis.", &
1256 usage=
"PRINT_BASIS {logical}", repeats=.false., n_var=1, &
1257 default_l_val=.false., lone_keyword_l_val=.true., type_of_var=
logical_t)
1261 description=
"Threshold for gradient in MAO optimization.", &
1262 usage=
"EPS_GRAD reps", repeats=.false., n_var=1, &
1263 default_r_val=1.e-4_dp, type_of_var=
real_t)
1266 CALL keyword_create(keyword, __location__, name=
"EPS_FUNCTION", &
1267 description=
"Threshold for electron defect in MAO optimization.", &
1268 usage=
"EPS_FUNCTION feps", repeats=.false., n_var=1, &
1269 default_r_val=1.e-3_dp, type_of_var=
real_t)
1273 description=
"Maximum allowed iterations for MAO optimization.", &
1274 usage=
"MAX_ITER iter", repeats=.false., n_var=1, &
1279 description=
"Neglect 3 atom terms in MAO analysis.", &
1280 usage=
"NEGLECT_ABC {logical}", repeats=.false., n_var=1, &
1281 default_l_val=.true., lone_keyword_l_val=.true., type_of_var=
logical_t)
1284 CALL keyword_create(keyword, __location__, name=
"AB_THRESHOLD", &
1285 description=
"Threshold for printing of AB shared electron numbers.", &
1286 usage=
"AB_THRESHOLD thr", repeats=.false., n_var=1, &
1287 default_r_val=1.e-2_dp, type_of_var=
real_t)
1290 CALL keyword_create(keyword, __location__, name=
"ABC_THRESHOLD", &
1291 description=
"Threshold for printing of ABC shared electron numbers.", &
1292 usage=
"ABC_THRESHOLD thr", repeats=.false., n_var=1, &
1293 default_r_val=1.e-5_dp, type_of_var=
real_t)
1296 CALL keyword_create(keyword, __location__, name=
"ANALYZE_UNASSIGNED_CHARGE", &
1297 description=
"Calculate atomic contributions to the unassigned charge.", &
1298 usage=
"ANALYZE_UNASSIGNED_CHARGE {logical}", repeats=.false., n_var=1, &
1299 default_l_val=.false., lone_keyword_l_val=.true., type_of_var=
logical_t)
1307 description=
"Controls the printing of the minimal localized basis analysis", &
1309 common_iter_levels=1, &
1312 description=
"Threshold for matrix elements in basis determination.", &
1313 usage=
"EPS_FILTER reps", repeats=.false., n_var=1, &
1314 default_r_val=1.e-8_dp, type_of_var=
real_t)
1317 CALL keyword_create(keyword, __location__, name=
"FULL_ORTHOGONALIZATION", &
1318 description=
"Orthogonalize the localized minimal basis.", &
1319 usage=
"FULL_ORTHOGONALIZATION {logical}", repeats=.false., n_var=1, &
1320 default_l_val=.false., lone_keyword_l_val=.true., type_of_var=
logical_t)
1324 description=
"Calculate Mayer Bond Orders.", &
1325 usage=
"BOND_ORDER {logical}", repeats=.false., n_var=1, &
1326 default_l_val=.false., lone_keyword_l_val=.true., type_of_var=
logical_t)
1330 NULLIFY (sub_print_key)
1332 description=
"Write the minimal basis on Cube files.", &
1335 description=
"The stride (X,Y,Z) used to write the cube file "// &
1336 "(larger values result in smaller cube files). You can provide 3 numbers (for X,Y,Z) or"// &
1337 " 1 number valid for all components.", &
1338 usage=
"STRIDE 2 2 2", n_var=-1, default_i_vals=(/2, 2, 2/), type_of_var=
integer_t)
1342 description=
"Indexes of the atoms minimal basis to be printed as cube files "// &
1343 "This keyword can be repeated several times "// &
1344 "(useful if you have to specify many indexes).", &
1345 usage=
"ATOM_LIST 1 2", &
1346 n_var=-1, type_of_var=
integer_t, repeats=.true.)
1352 NULLIFY (sub_print_key)
1354 description=
"Write the minimal basis in Molden file format, for visualisation.", &
1357 description=
"Specifies the number of significant digits retained. 3 is OK for visualization.", &
1358 usage=
"NDIGITS {int}", &
1363 description=
"Representation of Gaussian-type orbitals", &
1365 enum_c_vals=
s2a(
"CARTESIAN",
"SPHERICAL"), &
1367 "Cartesian Gaussian orbitals. Use with caution", &
1368 "Spherical Gaussian orbitals. Incompatible with VMD"), &
1380 description=
"Controls energy decomposition analysis", &
1382 common_iter_levels=1, &
1384 CALL keyword_create(keyword, __location__, name=
"REFERENCE_ORB_CANONICAL", &
1385 description=
"Use reference orbitals in canonical form.", &
1386 usage=
"REFERENCE_ORB_CANONICAL {logical}", repeats=.false., n_var=1, &
1387 default_l_val=.true., lone_keyword_l_val=.true., type_of_var=
logical_t)
1390 CALL keyword_create(keyword, __location__, name=
"SKIP_LOCALIZATION", &
1391 description=
"Don't localize the MOs.", &
1392 usage=
"SKIP_LOCALIZATION {logical}", repeats=.false., n_var=1, &
1393 default_l_val=.false., lone_keyword_l_val=.true., type_of_var=
logical_t)
1396 CALL keyword_create(keyword, __location__, name=
"DETAILED_ENERGY", &
1397 description=
"Calculate detailed atomic decomposition energies.", &
1398 usage=
"DETAILED_ENERGY {logical}", repeats=.false., n_var=1, &
1399 default_l_val=.false., lone_keyword_l_val=.true., type_of_var=
logical_t)
1402 CALL keyword_create(keyword, __location__, name=
"EWALD_ALPHA_PARAMETER", &
1403 description=
"Calculate Energy Decomposition for a specific alpha value. "// &
1404 "alpha = 1/(2*rc**2), see GTH pseudopotentials.", &
1405 usage=
"EWALD_ALPHA_PARAMETER alpha", repeats=.false., n_var=1, &
1406 default_r_val=0.0_dp, type_of_var=
real_t)
1415 description=
"Controls the printing of the IAO (intrinsic atomic orbital) analysis", &
1417 common_iter_levels=1, &
1420 description=
"Threshold for matrix inversion eigenvalues.", &
1421 usage=
"EPS_SVD reps", repeats=.false., n_var=1, &
1422 default_r_val=0.0_dp, type_of_var=
real_t)
1426 description=
"Threshold in occupation for vectors included.", &
1427 usage=
"EPS_OCC reps", repeats=.false., n_var=1, &
1428 default_r_val=0.0_dp, type_of_var=
real_t)
1431 CALL keyword_create(keyword, __location__, name=
"ATOMIC_CHARGES", &
1432 description=
"Calculate atomic charges from IAO.", &
1433 usage=
"ATOMIC_CHARGES {logical}", repeats=.false., n_var=1, &
1434 default_l_val=.true., lone_keyword_l_val=.true., type_of_var=
logical_t)
1438 NULLIFY (sub_print_key)
1440 description=
"Write the IAO basis in Molden file format, for visualisation.", &
1443 description=
"Specifies the number of significant digits retained. 3 is OK for visualization.", &
1444 usage=
"NDIGITS {int}", &
1449 description=
"Representation of Gaussian-type orbitals", &
1451 enum_c_vals=
s2a(
"CARTESIAN",
"SPHERICAL"), &
1453 "Cartesian Gaussian orbitals. Use with caution", &
1454 "Spherical Gaussian orbitals. Incompatible with VMD"), &
1461 NULLIFY (sub_print_key)
1463 description=
"Controls the printing of the IAO basis "// &
1464 "as *.cube files.", &
1468 description=
"The stride (X,Y,Z) used to write the cube file "// &
1469 "(larger values result in smaller cube files). You can provide 3 numbers (for X,Y,Z) or"// &
1470 " 1 number valid for all components.", &
1471 usage=
"STRIDE 2 2 2", n_var=-1, default_i_vals=(/2, 2, 2/), type_of_var=
integer_t)
1475 description=
"append the cube files when they already exist", &
1476 default_l_val=.false., lone_keyword_l_val=.true.)
1480 description=
"Indices of the atoms to be included in basis CUBE file printing. ", &
1481 usage=
"ATOM_LIST {integer} {integer} .. {integer} ", &
1482 n_var=-1, type_of_var=
integer_t, repeats=.true.)
1488 NULLIFY (sub_print_key)
1490 description=
"Calculates single center expansion of IAOs ", &
1494 description=
"Maximum l quantum number used in the expansion.", &
1495 usage=
"LMAX 2", n_var=1, default_i_val=3, type_of_var=
integer_t)
1499 description=
"Max number of basis functions used in the expansion."// &
1500 " Default is determined by the orbital basis set.", &
1501 usage=
"NBAS 10", n_var=1, default_i_val=-1, type_of_var=
integer_t)
1505 description=
"Append the OCE basis files when it already exists", &
1506 default_l_val=.false., lone_keyword_l_val=.true.)
1512 NULLIFY (sub_print_key)
1514 description=
"Calculate intrinsic bond orbitals using "// &
1515 "localized MOs in IAO basis.", &
1519 CALL keyword_create(keyword, __location__, name=
"LOCALIZATION_OPERATOR", &
1520 description=
"Operator to be optimized for orbital localization", &
1521 enum_c_vals=
s2a(
"PIPEK_MEZEY",
"PIPEK_MEZEY_4",
"L1NORM"), &
1523 enum_desc=
s2a(
"Use Pipek-Mezey operator (order 2)", &
1524 "Use Pipek-Mezey operator (order 4)", &
1529 CALL keyword_create(keyword, __location__, name=
"ENERGY_LOCALIZATION_FUNCTION", &
1530 description=
"Function for energy localization: f(e_i), e_i orbital energy", &
1531 enum_c_vals=
s2a(
"NONE",
"ENERGY",
"OCCUPATION"), &
1533 enum_desc=
s2a(
"Don't use energy localization.", &
1534 "Use orbital energies for localization.", &
1535 "Use occupation numbers for localization."), &
1539 CALL keyword_create(keyword, __location__, name=
"ENERGY_LOCALIZATION_WEIGHT", &
1540 description=
"Weight given to energy localization, using f(e_i) function", &
1541 usage=
"ENERGY_LOCALIZATION_WEIGHT 0.1", n_var=1, &
1542 default_r_val=0.0_dp, type_of_var=
real_t)
1547 NULLIFY (subsection)
1549 description=
"Calculation and printing of centers and spreads "// &
1550 "of localized orbitals.", &
1553 CALL keyword_create(keyword, __location__, name=
"POSITION_OPERATOR_BERRY", &
1554 description=
"Use Berry phase position operator.", &
1555 usage=
"POSITION_OPERATOR_BERRY T", n_var=1, &
1556 default_l_val=.true., lone_keyword_l_val=.true.)
1562 NULLIFY (subsection)
1564 description=
"Write the IBO orbitals in Molden file format, for visualisation.", &
1567 description=
"Specifies the number of significant digits retained. 3 is OK for visualization.", &
1568 usage=
"NDIGITS {int}", &
1573 description=
"Representation of Gaussian-type orbitals", &
1575 enum_c_vals=
s2a(
"CARTESIAN",
"SPHERICAL"), &
1577 "Cartesian Gaussian orbitals. Use with caution", &
1578 "Spherical Gaussian orbitals. Incompatible with VMD"), &
1585 NULLIFY (subsection)
1587 description=
"Controls the printing of the IBO orbitals "// &
1588 "as *.cube files.", &
1592 description=
"The stride (X,Y,Z) used to write the cube file "// &
1593 "(larger values result in smaller cube files). You can provide 3 numbers (for X,Y,Z) or"// &
1594 " 1 number valid for all components.", &
1595 usage=
"STRIDE 2 2 2", n_var=-1, default_i_vals=(/2, 2, 2/), type_of_var=
integer_t)
1599 description=
"append the cube files when they already exist", &
1600 default_l_val=.false., lone_keyword_l_val=.true.)
1604 description=
"Indices of the orbitals to be included in IBO CUBE file printing. ", &
1605 usage=
"STATE_LIST {integer} {integer} .. {integer} ", &
1606 n_var=-1, type_of_var=
integer_t, repeats=.true.)
1620 description=
"Controls the printing of the DOS from the density matrix. "// &
1621 "This allows the calculation of the DOS even in density matrix based "// &
1622 "REAL_TIME_PROPAGATION and LS_SCF. "// &
1623 "However, it requires a cubically scaling diagonalization of the Hamiltonian. "// &
1624 "Hartree-Fock NYI, values will be wrong. "// &
1625 "Careful, the orbitals in rtp/emd are not actually eigenstates of the Hamiltonian. "// &
1626 "Assumes absence of spin polarization (so far).", &
1628 each_iter_names=
s2a(
"MD"), each_iter_values=(/100/), &
1631 description=
"The number of energy windows.", &
1632 usage=
"N_WINDOWS 200", &
1637 description=
"Filtering threshold for sparse matrix operations.", &
1638 usage=
"EPS_FILTER 1.0E-6", &
1639 default_r_val=1.0e-14_dp)
1642 CALL keyword_create(keyword, __location__, name=
"RESTRICT_RANGE", &
1643 description=
"Restricts the energy windows to states close to the fermi level", &
1644 usage=
"RESTRICT_RANGE .TRUE.", &
1645 default_l_val=.false., lone_keyword_l_val=.true.)
1649 description=
"If the RESTRICT_RANGE keyword is set, then all energy widnows will"// &
1650 " be placed in an interval from from the fermi level minus to the fermi level plus this keyword", &
1652 default_r_val=1.0_dp)
1656 description=
"Print the energy windows to cube files", &
1657 usage=
"PRINT_CUBES .TRUE.", &
1658 default_l_val=.false., lone_keyword_l_val=.true.)
1662 description=
"The stride (X,Y,Z) used to write the energy windows cube files (if enabled) "// &
1663 "(larger values result in smaller cube files). You can provide 3 numbers (for X,Y,Z) or"// &
1664 " 1 number valid for all components.", &
1665 usage=
"STRIDE 2 2 2", n_var=-1, default_i_vals=(/2, 2, 2/), type_of_var=
integer_t)
1673 description=
"Write the KS matrix in CSR format into a file.", &
1676 description=
"Threshold on the absolute value of the elements to be printed out. "// &
1677 "In CP2K all the elements in a (atomic) matrix block are considered non-zero, "// &
1678 "if the block contains at least one non-zero element.", &
1679 usage=
"THRESHOLD {real}", &
1681 default_r_val=0.0_dp)
1684 CALL keyword_create(keyword, __location__, name=
"Upper_triangular", &
1685 description=
"Print only the upper triangular part of the matrix. ", &
1686 usage=
"UPPER_TRIANGULAR {logical}", &
1688 default_l_val=.false., &
1689 lone_keyword_l_val=.true.)
1693 description=
"Whether or not to generate the file in a binary format. ", &
1694 usage=
"BINARY {logical}", &
1696 default_l_val=.false., &
1697 lone_keyword_l_val=.true.)
1701 description=
"Print the KS matrix in real-space instead of k-space.. ", &
1702 usage=
"REAL_SPACE {logical}", &
1704 default_l_val=.false., &
1705 lone_keyword_l_val=.true.)
1713 description=
"Write the overlap matrix in CSR format into a file.", &
1716 description=
"Threshold on the absolute value of the elements to be printed out. "// &
1717 "In CP2K all the elements in a (atomic) matrix block are considered non-zero, "// &
1718 "if the block contains at least one non-zero element.", &
1719 usage=
"THRESHOLD {real}", &
1721 default_r_val=0.0_dp)
1724 CALL keyword_create(keyword, __location__, name=
"Upper_triangular", &
1725 description=
"Print only the upper triangular part of the matrix. ", &
1726 usage=
"UPPER_TRIANGULAR {logical}", &
1728 default_l_val=.false., &
1729 lone_keyword_l_val=.true.)
1733 description=
"Whether or not to generate the file in a binary format. ", &
1734 usage=
"BINARY {logical}", &
1736 default_l_val=.false., &
1737 lone_keyword_l_val=.true.)
1741 description=
"Print the overlap matrix in real-space instead of k-space.. ", &
1742 usage=
"REAL_SPACE {logical}", &
1744 default_l_val=.false., &
1745 lone_keyword_l_val=.true.)
1753 description=
"Writes an (upper-triangular) adjacency matrix indicating the "// &
1754 "interaction between atoms (according to overlapping basis functions). The "// &
1755 "columns are: iatom, jatom, ikind, jkind; where iatom and jatom are the atom "// &
1756 "indices (based on the coordinate file), ikind and jkind are the atomic kinds "// &
1757 "(indeces as shown in the ATOMIC KIND INFORMATION section of a CP2K output). ", &
1764 print_key, __location__, name=
"XRAY_DIFFRACTION_SPECTRUM", &
1765 description=
"Calculate and print the coherent X-ray "// &
1766 "diffraction spectrum", &
1771 keyword, __location__, &
1773 variants=(/
"Q_MAXIMUM"/), &
1774 description=
"Maximum Q value calculated for the spectrum", &
1775 usage=
"Q_MAX {real}", &
1780 unit_str=
"angstrom^-1"), &
1781 unit_str=
"angstrom^-1")
1788 description=
"Calculate and print the electric field gradients "// &
1789 "at atomic positions", &
1791 filename=
"__STD_OUT__")
1794 name=
"INTERPOLATION", &
1795 description=
"Use interpolation method from real space grid", &
1796 usage=
"INTERPOLATION {logical}", &
1799 default_l_val=.false., lone_keyword_l_val=.true.)
1804 name=
"GSPACE_SMOOTHING", &
1805 description=
"Use a G-space smoothing function", &
1806 usage=
"GSPACE_SMOOTHING cutoff {real}, width {real}", &
1808 n_var=2, default_r_vals=(/-1._dp, -1._dp/), &
1815 description=
"Print additional debug output", &
1816 usage=
"DEBUG {logical}", &
1819 default_l_val=.false., lone_keyword_l_val=.true.)
1831 description=
"Print the two quantities needed in the basis molopt generation:"// &
1832 " total energy and condition number of the overlap matrix (S matrix)", &
1834 filename=
"__STD_OUT__")
1839 description=
"Calculate and print the EPR hyperfine coupling tensor"// &
1840 " at atomic positions", &
1842 filename=
"__STD_OUT__")
1845 name=
"INTERACTION_RADIUS", &
1846 description=
"Radius of interaction for EPR hyperfine tensor calculation", &
1847 usage=
"INTERACTION_RADIUS radius {real}", &
1849 n_var=1, default_r_val=10._dp, &
1858 description=
"Optimize the exponents of the LRI basis set", &
1860 filename=
"OPTIMIZED_LRI_BASIS")
1865 print_key, __location__, name=
"PLUS_U", &
1866 description=
"Controls the printing for the DFT+U methods", &
1868 filename=
"__STD_OUT__", &
1869 each_iter_names=
s2a(
"QS_SCF"), &
1870 each_iter_values=(/0/), &
1876 print_key, __location__, name=
"CHARGEMOL", &
1877 description=
"Write .wfx input file for Chargemol", &
1879 filename=
"CHARGEMOL", &
1881 CALL keyword_create(keyword, __location__, name=
"BACKUP_COPIES", &
1882 description=
"Specifies the maximum number of backup copies.", &
1883 usage=
"BACKUP_COPIES {int}", &
1888 description=
"Write information about cell periodicity.", &
1889 usage=
"PERIODIC {LOGICAL}", &
1890 default_l_val=.false., lone_keyword_l_val=.true.)
1897 print_key, __location__, name=
"SCCS", &
1898 description=
"Controls the printing for the SCCS models", &
1900 filename=
"__STD_OUT__", &
1901 each_iter_names=
s2a(
"QS_SCF"), &
1902 each_iter_values=(/0/), &
1905 NULLIFY (sub_print_key)
1908 sub_print_key, __location__, name=
"DENSITY_GRADIENT", &
1909 description=
"Controls the printing of the cube files with "// &
1910 "the norm of the density gradient |∇ρ| "// &
1911 "used by the SCCS model.", &
1914 each_iter_names=
s2a(
"QS_SCF"), &
1915 each_iter_values=(/0/))
1917 description=
"The stride (X,Y,Z) used to write the cube file "// &
1918 "(larger values result in smaller cube files). You can provide 3 "// &
1919 "numbers (for X,Y,Z) or 1 number valid for all components.", &
1921 default_i_vals=(/2, 2, 2/), &
1927 description=
"Append the cube files when they already exist", &
1928 default_l_val=.false., &
1929 lone_keyword_l_val=.true., &
1937 sub_print_key, __location__, name=
"DIELECTRIC_FUNCTION", &
1938 description=
"Controls the printing of the cube files with "// &
1939 "the dielectric function used by the SCCS model. "// &
1940 "This function determines the cavity formed by a solute in "// &
1941 "a solvent and thus it can be used for the visualisaton of the cavity.", &
1944 each_iter_names=
s2a(
"QS_SCF"), &
1945 each_iter_values=(/0/), &
1948 description=
"The stride (X,Y,Z) used to write the cube file "// &
1949 "(larger values result in smaller cube files). You can provide 3 "// &
1950 "numbers (for X,Y,Z) or 1 number valid for all components.", &
1952 default_i_vals=(/2, 2, 2/), &
1958 description=
"Append the cube files when they already exist", &
1959 default_l_val=.false., &
1960 lone_keyword_l_val=.true., &
1968 sub_print_key, __location__, name=
"TOTAL_CHARGE_DENSITY", &
1969 description=
"Controls the printing of the cube files with the "// &
1970 "total charge density $\rho^\text{tot}$ used by the SCCS model.", &
1973 each_iter_names=
s2a(
"QS_SCF"), &
1974 each_iter_values=(/0/), &
1977 description=
"The stride (X,Y,Z) used to write the cube file "// &
1978 "(larger values result in smaller cube files). You can provide 3 "// &
1979 "numbers (for X,Y,Z) or 1 number valid for all components.", &
1981 default_i_vals=(/2, 2, 2/), &
1987 description=
"Append the cube files when they already exist", &
1988 default_l_val=.false., &
1989 lone_keyword_l_val=.true., &
1997 sub_print_key, __location__, name=
"POLARISATION_CHARGE_DENSITY", &
1998 description=
"Controls the printing of the cube files with the "// &
1999 "polarisation charge density $\rho^\text{pol}$ used by the SCCS model with the "// &
2000 "total charge density $\rho^\text{tot} = \rho^\text{sol} + \rho^\text{pol}", &
2003 each_iter_names=
s2a(
"QS_SCF"), &
2004 each_iter_values=(/0/), &
2007 description=
"The stride (X,Y,Z) used to write the cube file "// &
2008 "(larger values result in smaller cube files). You can provide 3 "// &
2009 "numbers (for X,Y,Z) or 1 number valid for all components.", &
2011 default_i_vals=(/2, 2, 2/), &
2017 description=
"Append the cube files when they already exist", &
2018 default_l_val=.false., &
2019 lone_keyword_l_val=.true., &
2027 sub_print_key, __location__, name=
"POLARISATION_POTENTIAL", &
2028 description=
"Controls the printing of the cube files with the "// &
2029 "polarisation potential $\phi^\text{pol}$ used by the SCCS model with the "// &
2030 "total potential $\phi^\text{tot} = \phi^\text{sol} + \phi^\text{pol}$", &
2033 each_iter_names=
s2a(
"QS_SCF"), &
2034 each_iter_values=(/0/), &
2037 description=
"The stride (X,Y,Z) used to write the cube file "// &
2038 "(larger values result in smaller cube files). You can provide 3 "// &
2039 "numbers (for X,Y,Z) or 1 number valid for all components.", &
2041 default_i_vals=(/2, 2, 2/), &
2047 description=
"Append the cube files when they already exist", &
2048 default_l_val=.false., &
2049 lone_keyword_l_val=.true., &
2066 SUBROUTINE create_bandstructure_section(section)
2072 cpassert(.NOT.
ASSOCIATED(section))
2073 CALL section_create(section, __location__, name=
"BAND_STRUCTURE", &
2074 description=
"Specifies the k-points used in band structure calculation.", &
2075 n_keywords=0, n_subsections=0, repeats=.false.)
2079 description=
"File name used for band structure", &
2080 usage=
"FILE_NAME <filename>", default_c_val=
"", &
2081 type_of_var=
char_t, n_var=1)
2086 variants=(/
"ADDED_BANDS"/), &
2087 description=
"Number of MOs/Bands added to the Band Structure calculation.", &
2092 NULLIFY (subsection)
2097 END SUBROUTINE create_bandstructure_section
2103 SUBROUTINE create_mo_cubes_section(print_key)
2111 description=
"Controls the printing of the molecular orbitals (MOs) as cube files."// &
2112 " It can be used during a Real Time calculation to print the MOs."// &
2113 " In this case, the density corresponding to the time dependent MO is printed"// &
2114 " instead of the wave-function.", &
2117 description=
"The stride (X,Y,Z) used to write the cube file "// &
2118 "(larger values result in smaller cube files). You can provide 3 numbers (for X,Y,Z) or"// &
2119 " 1 number valid for all components.", &
2120 usage=
"STRIDE 2 2 2", n_var=-1, default_i_vals=(/2, 2, 2/), type_of_var=
integer_t)
2125 description=
"If the MO cube file should be written. If false, the eigenvalues are still computed."// &
2126 " Can also be useful in combination with STM calculations", &
2127 default_l_val=.true., lone_keyword_l_val=.true.)
2132 description=
"If the printkey is activated controls the number of lumos"// &
2133 " that are printed and dumped as a cube (-1=all)", &
2138 keyword, __location__, name=
"nhomo", &
2139 description=
"If the printkey is activated controls the number of homos that dumped as a cube (-1=all),"// &
2140 " eigenvalues are always all dumped", &
2146 keyword, __location__, name=
"homo_list", &
2147 description=
"If the printkey is activated controls the index of homos dumped as a cube,"// &
2148 " eigenvalues are always all dumped. It overrides nhomo.", &
2149 usage=
"HOMO_LIST {integer} {integer} .. {integer} ", type_of_var=
integer_t, &
2150 n_var=-1, repeats=.true.)
2155 description=
"append the cube files when they already exist", &
2156 default_l_val=.false., lone_keyword_l_val=.true.)
2160 END SUBROUTINE create_mo_cubes_section
2166 SUBROUTINE create_dos_section(print_key)
2175 description=
"Print Density of States (DOS) (only available states from SCF)", &
2179 description=
"Append the DOS obtained at different iterations to the output file. "// &
2180 "By default the file is overwritten", &
2181 usage=
"APPEND", default_l_val=.false., &
2182 lone_keyword_l_val=.true.)
2187 description=
"Histogramm energy spacing.", &
2188 usage=
"DELTA_E 0.0005", type_of_var=
real_t, default_r_val=0.001_dp)
2193 description=
"Specify the number of digits used to print density and occupation", &
2199 description=
"Specify a Monkhorst-Pack grid with which to compute the density of states. "// &
2200 "Works only for a k-point calculation", &
2201 usage=
"MP_GRID {integer} {integer} {integer}", default_i_vals=(/-1/), &
2206 END SUBROUTINE create_dos_section
2219 NULLIFY (subsection)
2223 description=
"Print out the DOS projected per kind and angular momentum ", &
2226 description=
"Print out PDOS distinguishing all angular momentum components.", &
2227 usage=
"COMPONENTS", default_l_val=.false., &
2228 lone_keyword_l_val=.true.)
2232 description=
"Append the PDOS obtained at different iterations to the PDOS output file. "// &
2233 "By default the file is overwritten", &
2234 usage=
"APPEND", default_l_val=.false., &
2235 lone_keyword_l_val=.true.)
2239 keyword, __location__, name=
"NLUMO", &
2240 description=
"Number of virtual orbitals to be added to the MO set (-1=all)."//
newline// &
2241 "CAUTION: Setting this value to be higher than the "// &
2242 "number of states present may cause a Cholesky error."//
newline// &
2243 "This keyword only applies to MO sets, not to XAS_TDP states.", &
2244 usage=
"NLUMO integer", default_i_val=0)
2247 CALL keyword_create(keyword, __location__, name=
"OUT_EACH_STATE", &
2248 variants=(/
"OUT_EACH_MO"/), &
2249 description=
"Output on the status of the calculation every OUT_EACH_MO states. If -1 no output", &
2250 usage=
"OUT_EACH_STATE integer", default_i_val=-1)
2255 description=
"Controls the printing of local PDOS, projected on subsets"// &
2256 " of atoms given through lists", &
2257 n_keywords=4, n_subsections=0, repeats=.true.)
2259 description=
"Print out PDOS distinguishing all angular momentum components.", &
2260 usage=
"COMPONENTS", default_l_val=.false., &
2261 lone_keyword_l_val=.true.)
2266 description=
"Specifies a list of indexes of atoms where to project the DOS ", &
2267 usage=
"LIST {integer} {integer} .. {integer} ", type_of_var=
integer_t, &
2268 n_var=-1, repeats=.true.)
2276 description=
"Controls the printing of local PDOS, projected on 3D volume in real space,"// &
2277 " the volume is defined in terms of position with respect to atoms in the lists", &
2278 n_keywords=4, n_subsections=0, repeats=.true.)
2281 description=
"Specifies a list of indexes of atoms used to define the real space volume ", &
2282 usage=
"LIST {integer} {integer} .. {integer} ", type_of_var=
integer_t, &
2283 n_var=-1, repeats=.true.)
2288 description=
"range of positions in Cartesian direction x: all grid points within "// &
2289 "this range from at least one atom of the list are considered", &
2290 usage=
"XRANGE -10.0 10.0", unit_str=
"angstrom", n_var=2, type_of_var=
real_t)
2294 description=
"range of positions in Cartesian direction y: all grid points within "// &
2295 "this range from at least one atom of the list are considered", &
2296 usage=
"YRANGE -10.0 10.0", unit_str=
"angstrom", n_var=2, type_of_var=
real_t)
2300 description=
"range of positions in Cartesian direction z: all grid points within "// &
2301 "this range from at least one atom of the list are considered", &
2302 usage=
"ZRANGE -10.0 10.0", unit_str=
"angstrom", n_var=2, type_of_var=
real_t)
2307 description=
"Only project states with the energy values in the given interval. "// &
2308 "Default is all states.", &
2309 usage=
"ERANGE -1.0 1.0", unit_str=
"hartree", n_var=2, type_of_var=
real_t)
2322 SUBROUTINE create_wannier_section(print_key)
2331 description=
"Interface to Wannier90 code. (EXPERIMENTAL)", &
2335 description=
"The seedname for the Wannier90 calculation (body of filenames).", &
2336 usage=
"SEED_NAME filename", default_c_val=
"wannier90", &
2337 n_var=1, type_of_var=
char_t)
2342 description=
"The dimensions of the Monkhorst-Pack k-point grid. ", &
2343 usage=
"MP_GRID 6 6 6", n_var=-1, default_i_vals=(/10, 10, 10/), type_of_var=
integer_t)
2348 variants=(/
"ADDED_BANDS"/), &
2349 description=
"Number of MOs/Bands added to the Band Structure calculation.", &
2354 CALL keyword_create(keyword, __location__, name=
"EXCLUDE_BANDS", &
2355 description=
"List of Bands excluded in the Wannier calculation.", &
2356 usage=
"EXCLUDE_BANDS b1 b2 ...", n_var=-1, repeats=.true., &
2361 CALL keyword_create(keyword, __location__, name=
"WANNIER_FUNCTIONS", &
2362 description=
"Number of Wannier functions to be calculated. ", &
2363 usage=
"WANNIER_FUNCTIONS 6", n_var=1, default_i_val=0, &
2368 END SUBROUTINE create_wannier_section
2374 SUBROUTINE create_stm_section(print_key)
2382 description=
"Controls the printing of cubes for the generation of STM images.", &
2385 description=
"The stride (X,Y,Z) used to write the cube file "// &
2386 "(larger values result in smaller cube files). You can provide 3 numbers (for X,Y,Z) or"// &
2387 " 1 number valid for all components.", &
2388 usage=
"STRIDE 2 2 2", n_var=-1, default_i_vals=(/2, 2, 2/), type_of_var=
integer_t)
2393 description=
"If the printkey is activated controls the number of additional lumos"// &
2394 " that are computed to be able to reproduce STM images obtained"// &
2395 " from positive bias (imaging unoccupied states)", &
2401 description=
"Bias energy for scanning tunneling microscopy (STM) image generation. "// &
2402 "Orbital densities are summed according to the bias energy. "// &
2403 "For negative values, states in the range ]EF+bias,EF] are summed, "// &
2404 "While positive values sum states in the range [EF,EF+bias[. "// &
2405 "If positive biases are used, sufficiently many unoccupied stated "// &
2406 "(see ADDED_MOS and NLUMO ) should be computed.", &
2407 n_var=-1, type_of_var=
real_t, default_r_vals=(/0.0_dp/), unit_str=
'eV')
2412 description=
"Tip orbital symmetry in Tersoff-Hamann approximation to compute STM images", &
2414 default_i_val=
orb_s, &
2415 usage=
"TH_TORB s dz2", &
2416 enum_c_vals=
s2a(
"S",
"PX",
"PY",
"PZ",
"DXY",
"DYZ",
"DZX",
"DX2",
"DY2",
"DZ2"), &
2417 enum_i_vals=(/
orb_s,
orb_px,
orb_py,
orb_pz,
orb_dxy,
orb_dyz,
orb_dzx,
orb_dx2,
orb_dy2,
orb_dz2/), &
2418 enum_desc=
s2a(
"s orbital",
"px orbital",
"py orbital",
"pz orbital", &
2419 "dxy orbital",
"dyz orbital",
"dzx orbital",
"x^2 orbital",
"y^2 orbital",
"z^2 orbital"))
2424 description=
"By default the reference energy is the Fermi energy. In order to compare"// &
2425 " with STS experiments, where specific energy ranges are addressed, here"// &
2426 " one can set a different reference energy."// &
2427 " The energy range is anyway controlled by the BIAS", &
2428 type_of_var=
real_t, default_r_val=0.0_dp, unit_str=
'eV')
2433 description=
"append the cube files when they already exist", &
2434 default_l_val=.false., lone_keyword_l_val=.true.)
2438 END SUBROUTINE create_stm_section
2444 SUBROUTINE create_wfn_mix_section(section)
2451 NULLIFY (subsection)
2454 cpassert(.NOT.
ASSOCIATED(section))
2457 description=
"A section that allows manipulation of the MO coeffs, "// &
2458 "e.g. for changing a ground state into an excited state. "// &
2459 "Starting from a copy of the original MOs, changes can be made "// &
2460 "by adding linear combinations of HOMO/LUMO of the original MOs to the result MOs. "// &
2461 "This method is called after an SCF optimization or before an RTP run if "// &
2462 "INITIAL_WFN=RESTART_WFN. Note that if called after an SCF optimization, a restart file "// &
2463 "with the mixed MOs is saved. This is not the case for an RTP with "// &
2464 "INITIAL_WFN=RESTART_WFN.", &
2465 n_keywords=1, n_subsections=0, repeats=.false.)
2467 CALL keyword_create(keyword, __location__, name=
"OVERWRITE_MOS", &
2468 description=
"If set to True, the active molecular orbitals in memory will be replaced by the mixed wfn "// &
2469 "at the end of the wfn mixing procedure. For instance, you can then use this new set of MOs to perform "// &
2470 "RTP or EMD directly. Note that in the case of an RTP run with INITIAL_WFN=RESTART_WFN, the OVERWRITE_MOS "// &
2471 "keyword is not used.", &
2472 default_l_val=.false., lone_keyword_l_val=.true.)
2477 description=
"Update a result MO with with a linear combination of original MOs."// &
2478 " This section can be repeated to build arbitrary linear combinations using repeatedly y=a*y+b*x. "// &
2479 "RESULT is (y), RESULT_SCALE is (a), ORIG is (x), ORIG_SCALE is (b)", &
2480 n_keywords=1, n_subsections=0, repeats=.true.)
2482 CALL keyword_create(keyword, __location__, name=
"RESULT_MO_INDEX", &
2483 description=
"Index of the MO (y) to be modified. Counting down in energy: "// &
2484 "set to 1 for the highest MO, to 3 for the highest MO-2.", &
2485 usage=
"RESULT_MO_INDEX 1", type_of_var=
integer_t, default_i_val=0)
2489 CALL keyword_create(keyword, __location__, name=
"RESULT_MARKED_STATE", &
2490 description=
"Specifies the MO according to "// &
2491 "the marks set in MOLECULAR_STATES. The value corresponds to the repetition "// &
2492 "of MARK_STATES in MOLECULAR_STATES", &
2493 usage=
"RESULT_MARKED_STATE 1", type_of_var=
integer_t, default_i_val=0)
2497 CALL keyword_create(keyword, __location__, name=
"REVERSE_MO_INDEX", &
2498 description=
"Reverses the index order of the OCCUPIED and EXTERNAL MOs. With this keyword "// &
2499 "ORIG_MO_INDEX/RESULT_MO_INDEX 1 point to the lowest energy MO (instead of the highest) "// &
2500 "and counts up in energy. The VIRTUAL MOs indexing is unchanged.", &
2501 default_l_val=.false., lone_keyword_l_val=.true.)
2505 CALL keyword_create(keyword, __location__, name=
"RESULT_SPIN_INDEX", &
2506 description=
"Spin of the MO (y) to be modified.", &
2507 enum_c_vals=
s2a(
"Alpha",
"Beta"), &
2508 enum_i_vals=(/1, 2/), &
2510 enum_desc=
s2a(
"Majority spin",
"Minority spin"))
2514 CALL keyword_create(keyword, __location__, name=
"RESULT_SCALE", &
2515 description=
"Scaling factor of the result variable (a).", &
2516 usage=
"RESULT_SCALE 0.0", type_of_var=
real_t)
2520 CALL keyword_create(keyword, __location__, name=
"ORIG_MO_INDEX", &
2521 description=
"Index of the original MO (x). "// &
2522 "If ORIG_TYPE is OCCUPIED, it counts down in energy: set to 1 to point to "// &
2523 "the highest MO and to 3 for the highest MO-2. "// &
2524 "If ORIG_TYPE is VIRTUAL, it counts up in energy: set to 1 to point to "// &
2525 "the lowest virtual MO and to 3 for the lowest MO+2. "// &
2526 "If ORIG_TYPE is EXTERNAL, it counts down in energy for the external "// &
2527 "set of MOs: set to 1 to point to the highest MO and to 3 for the highest MO-2. "// &
2528 "Do not set to zero or negative values.", &
2529 usage=
"ORIG_MO_INDEX 1", type_of_var=
integer_t, default_i_val=0)
2533 CALL keyword_create(keyword, __location__, name=
"ORIG_MARKED_STATE", &
2534 description=
"Specifies the MO according to "// &
2535 "the marks set in MOLECULAR_STATES. The value corresponds to the repetition "// &
2536 "of MARK_STATES in MOLECULAR_STATES", &
2537 usage=
"ORIG_MARKED_STATE 1", type_of_var=
integer_t, default_i_val=0)
2541 CALL keyword_create(keyword, __location__, name=
"ORIG_SPIN_INDEX", &
2542 description=
"Spin of the MO (x) to be modified.", &
2543 enum_c_vals=
s2a(
"Alpha",
"Beta"), &
2544 enum_i_vals=(/1, 2/), &
2546 enum_desc=
s2a(
"Majority spin",
"Minority spin"))
2551 description=
"Scaling factor of the original variable (b).", &
2552 usage=
"ORIG_SCALE 0.0", type_of_var=
real_t)
2557 description=
"Type of the original MO. Note that if ADDED_MOS was used in the "// &
2558 "SCF construction of the MO matrix, these extra MOs are also treated as OCCUPIED. ", &
2559 enum_c_vals=
s2a(
"OCCUPIED",
"VIRTUAL",
'EXTERNAL'), &
2560 usage=
"ORIG_TYPE OCCUPIED", &
2562 enum_desc=
s2a(
"The original MO is the result of the SCF procedure. This can also contain "// &
2563 "unoccupied MOs if the SCF%ADDED_MOS keyword was used.", &
2564 "The original MO is taken from the result of additional MOs calculated a "// &
2565 "posteriori of the SCF by request of the user. E.g. by specifying print%mo_cubes%nlumo. ", &
2566 "The orginal MO is from an external .wfn file. Use the keyword "// &
2567 "ORIG_EXT_FILE_NAME to define its name."), &
2572 CALL keyword_create(keyword, __location__, name=
"ORIG_EXT_FILE_NAME", &
2573 description=
"Name of the wavefunction file to read the original MO from. "// &
2574 "For instance, a restart wfn file from SCF calculation or an excited state from XAS_TDP calculation. "// &
2575 "If no file is specified, the run will crash. "// &
2576 "Currently, a RTP restart file (.rtpwfn) cannot be used as reference. "// &
2577 "Currently, this file SHALL have the basis set, number of MO and the same number of spin as the one "// &
2578 "from the SCF cycle.", &
2579 usage=
"ORIG_EXT_FILE_NAME <FILENAME>", &
2580 default_lc_val=
"EMPTY")
2587 END SUBROUTINE create_wfn_mix_section
2596 SUBROUTINE create_implicit_psolver_section(section)
2602 cpassert(.NOT.
ASSOCIATED(section))
2603 CALL section_create(section, __location__, name=
"IMPLICIT_PSOLVER", &
2604 description=
"Controls printing of cube files for data from the implicit "// &
2605 "(generalized) Poisson solver.", &
2607 n_keywords=0, n_subsections=3, repeats=.false.)
2609 NULLIFY (keyword, print_key)
2613 description=
"Controls the printing of a cube file with dielectric constant from "// &
2614 "the implicit (generalized) Poisson solver.", &
2618 description=
"The stride (X,Y,Z) used to write the cube file "// &
2619 "(larger values result in smaller cube files). You can provide 3 numbers (for X,Y,Z) or"// &
2620 " 1 number valid for all components.", &
2621 usage=
"STRIDE 2 2 2", n_var=-1, default_i_vals=(/2, 2, 2/), type_of_var=
integer_t)
2625 description=
"append the cube files when they already exist", &
2626 default_l_val=.false., lone_keyword_l_val=.true.)
2635 print_key, __location__,
"DIRICHLET_BC_CUBE", &
2636 description=
"Controls the printing of cube files with unit step functions (constraints)"// &
2637 " representing Dirichlet-type (boundary) regions defined in the implicit (generalized) Poisson"// &
2638 " solver section. The regions remain unchanged throughout the calculations. If the Dirichlet"// &
2639 " regions are relatively large and/or the number of partitions is quite high, in order to save memory,"// &
2640 " generate the cube files in early steps and perform the rest of the calculations with this keyword"// &
2645 description=
"Print tiles that tessellate the Dirichlet regions into cube files. If TRUE, "// &
2646 "generates cube files as many as the total number of tiles.", &
2647 usage=
"TILE_CUBES <logical>", &
2648 default_l_val=.false., lone_keyword_l_val=.true.)
2652 description=
"The stride (X,Y,Z) used to write the cube file "// &
2653 "(larger values result in smaller cube files). You can provide 3 numbers (for X,Y,Z) or"// &
2654 " 1 number valid for all components.", &
2655 usage=
"STRIDE 2 2 2", n_var=-1, default_i_vals=(/2, 2, 2/), type_of_var=
integer_t)
2659 description=
"append the cube files when they already exist", &
2660 default_l_val=.false., lone_keyword_l_val=.true.)
2669 description=
"Controls the printing of cube files with penalty charges induced to "// &
2670 "Dirichlet regions by Lagrange multipliers (implicit Poisson solver).", &
2674 description=
"The stride (X,Y,Z) used to write the cube file "// &
2675 "(larger values result in smaller cube files). You can provide 3 numbers (for X,Y,Z) or"// &
2676 " 1 number valid for all components.", &
2677 usage=
"STRIDE 2 2 2", n_var=-1, default_i_vals=(/2, 2, 2/), type_of_var=
integer_t)
2681 description=
"append the cube files when they already exist", &
2682 default_l_val=.false., lone_keyword_l_val=.true.)
2689 END SUBROUTINE create_implicit_psolver_section
2702 cpassert(.NOT.
ASSOCIATED(section))
2703 CALL section_create(section, __location__, name=
"interpolator", &
2704 description=
"controls the interpolation for the G-space term", &
2705 n_keywords=5, n_subsections=0, repeats=.false.)
2707 NULLIFY (keyword, print_key)
2709 CALL keyword_create(keyword, __location__, name=
"aint_precond", &
2710 description=
"the approximate inverse to use to get the starting point"// &
2711 " for the linear solver of the spline3 methods", &
2712 usage=
"aint_precond copy", &
2714 enum_c_vals=
s2a(
"copy",
"spl3_nopbc_aint1",
"spl3_nopbc_precond1", &
2715 "spl3_nopbc_aint2",
"spl3_nopbc_precond2",
"spl3_nopbc_precond3"), &
2722 description=
"The preconditioner used"// &
2723 " for the linear solver of the spline3 methods", &
2724 usage=
"precond copy", &
2726 enum_c_vals=
s2a(
"copy",
"spl3_nopbc_aint1",
"spl3_nopbc_precond1", &
2727 "spl3_nopbc_aint2",
"spl3_nopbc_precond2",
"spl3_nopbc_precond3"), &
2734 description=
"accuracy on the solution for spline3 the interpolators", &
2735 usage=
"eps_x 1.e-15", default_r_val=1.e-10_dp)
2740 description=
"accuracy on the residual for spline3 the interpolators", &
2741 usage=
"eps_r 1.e-15", default_r_val=1.e-10_dp)
2746 variants=(/
'maxiter'/), &
2747 description=
"the maximum number of iterations", &
2748 usage=
"max_iter 200", default_i_val=100)
2754 description=
"if convergence information about the linear solver"// &
2755 " of the spline methods should be printed", &
2757 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