24#include "./base/base_uses.f90"
29 CHARACTER(len=*),
PARAMETER,
PRIVATE :: moduleN =
'input_cp2k_projection_rtp'
46 cpassert(.NOT.
ASSOCIATED(section))
48 description=
"Projects the Time Dependent (TD) MO "// &
49 "coefficients to reference ones. You can define "// &
50 "several sections like this to project the TD-MOs "// &
51 "on different reference MOs. Note that each section "// &
52 "projects from one spin of the TD MOs (TD_MO_INDEX) to "// &
53 "one spin of the reference MOs (REF_MO_INDEX).", &
54 n_keywords=7, n_subsections=1, &
57 NULLIFY (keyword, subsection)
59 description=
"In the case of Ehrenfest dynamics, the atomic basis set is evolving with time. "// &
60 "The reference MO can either be understood as a spatial-dependent wave-function which is "// &
61 "time-independent or to be 'attached' with respect to the nuclei position, and "// &
62 "thus evolve in space as the nuclei move. For the first case, set this variable to TRUE. "// &
63 "Note that in this case, you shall have enough atomic orbital across the whole space to "// &
64 "describe this MO as the nuclei will move and may leave the space where the MO is defined. "// &
65 "For the second case, set to FALSE (default). Note that in this case, if the nuclei undergo "// &
66 "dramatic changes (dissociation for instance) then this definition may make no longer sense.", &
67 usage=
"PROPAGATE_REF .TRUE.", &
68 default_l_val=.false., lone_keyword_l_val=.true., &
73 CALL keyword_create(keyword, __location__, name=
"REF_MO_FILE_NAME", &
74 description=
"Name of the wavefunction file to read the reference MO from. "// &
75 "If no file is specified, the default is to use DFT%WFN_RESTART_FILE_NAME. "// &
76 "Currently, a RTP restart file (.rtpwfn) cannot be used as reference. "// &
77 "It is important that the number of spin channels of the reference matches the "// &
78 "type of propagation calculation you are performing (1 for restricted KS, and 2 "// &
80 usage=
"REF_MO_FILE_NAME <FILENAME>", &
81 default_lc_val=
"DEFAULT")
86 description=
"Indexes of the reference MO read from the .wfn reference file (see REF_MO_FILE_NAME). "// &
87 "Set to -1 to project on all the MO available. "// &
88 "One file will be generated per index defined.", &
89 usage=
"REF_MO_INDEX 1 2", &
91 n_var=-1, type_of_var=
integer_t, repeats=.false.)
96 description=
"Spin of the reference MOs to consider. "// &
97 "1 for ALPHA and 2 for BETA spin respectively. "// &
98 "If the reference MO is spin independent this key is not used.", &
99 usage=
"REF_MO_SPIN 1", &
101 n_var=1, type_of_var=
integer_t, repeats=.false.)
107 description=
"If the reference MOs include more empty states that are not propagated, "// &
108 "using this keyword it is possible to read them as well and thus compute the corresponding projection. ", &
109 usage=
"REF_ADD_LUMO 10", &
111 n_var=1, type_of_var=
integer_t, repeats=.false.)
116 CALL keyword_create(keyword, __location__, name=
"SUM_ON_ALL_REF", &
117 description=
"Set to .TRUE. in order to sum all the projections done "// &
118 "over the required MO_REF_INDEX for each TD MOs. "// &
119 "Only one file will be generated containing the results for every MO_TD_INDEX.", &
120 usage=
"SUM_ON_ALL_REF .TRUE.", &
121 default_l_val=.false., lone_keyword_l_val=.true., &
127 description=
"Indexes of the time dependent MOs to project on the reference MOs. "// &
128 "Set to -1 to project on all the TD MOs.", &
129 usage=
"TD_MO_INDEX 1 2", &
130 default_i_vals=[1], &
131 n_var=-1, type_of_var=
integer_t, repeats=.false.)
136 description=
"Spin of the TD MOs to consider. 1 for ALPHA spin, 2 for BETA spin. "// &
137 "If the TD calculation is spin independent this key is not used.", &
138 usage=
"TD_MO_SPIN 1", &
144 CALL keyword_create(keyword, __location__, name=
"SUM_ON_ALL_TD", &
145 description=
"Set to .TRUE. in order to sum the projection done over all on TD MOs on the required MO_REF_INDEX. "// &
146 "One file per MO_REF_INDEX will be generated. "// &
147 "Combining SUM_ON_ALL_TD and SUM_ON_ALL_REF lead to one file one projection: "// &
148 "the population of all the defined TD_MO_INDEX over the reference MO_REF_INDEX per time step required.", &
149 usage=
"SUM_ON_ALL_TD .TRUE.", &
150 default_l_val=.false., lone_keyword_l_val=.true., &
157 description=
"How to print the MO projection", &
158 common_iter_levels=999999999, &
routines to handle the output, The idea is to remove the decision of wheter to output and what to out...
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