1source commands.tcl 2 3module HP\#auto -title "PWSCF GUI: module HP.x" -script { 4 5 readfilter ::pwscf::hpReadFilter 6 7 # 8 # Namelist: INPUTHP 9 # 10 11 namelist inputhp -name "INPUTHP" { 12 13 separator -label "--- Control specs ---" 14 15 var prefix { 16 -label "Prefix of outdir files saved by program PW.X (prefix):" 17 -fmt %S -validate string 18 } 19 20 var outdir { 21 -label "Outdir directory where PW.X files resides (outdir):" 22 -widget entrydirselectquote 23 -fmt %S -validate string 24 } 25 26 var iverbosity { 27 -label "Verbosity (iverbosity):" 28 -textvalue { "1 = low" "2 = medium" "3 = high" "4 = highest" } 29 -value { 1 2 3 4 } 30 -validate int 31 -widget optionmenu 32 } 33 34 var max_seconds { 35 -label "Maximum CPU time \[in seconds\] (max_seconds):" 36 -validate posint 37 } 38 39 separator -label "--- Q-points ---" 40 41 group q_points { 42 packwidgets left 43 var nq1 -label "nq1:" -widget spinint -validate posint 44 var nq2 -label "nq2:" -widget spinint -validate posint 45 var nq3 -label "nq3:" -widget spinint -validate posint 46 } 47 48 var skip_equivalence_q { 49 -label "Skip the equivalence analysis of q points (skip_equivalence_q):" 50 -widget radiobox 51 -textvalue { Yes No } 52 -value { .true. .false. } 53 } 54 55 56 group qp -decor normal { 57 auxilvar only_q { 58 -label "Computes only the q points from start_q to last_q:" 59 -widget radiobox 60 -textvalue { Yes No } 61 -value { .true. .false. } 62 } 63 group start_last_q { 64 packwidgets left 65 var start_q { 66 -label "First q-point (start_q):" 67 -validate int 68 } 69 var last_q { 70 -label "Last q-point (last_q):" 71 -validate int 72 } 73 } 74 var sum_pertq { 75 -label "Collect pieces of the response occupation matrices (sum_pertq):" 76 -widget radiobox 77 -textvalue { Yes No } 78 -value { .true. .false. } 79 } 80 } 81 82 separator -label "--- Perturbations ---" 83 84 var determine_num_pert_only { 85 -label "Determine the number of perturbations (determine_num_pert_only):" 86 -widget radiobox 87 -textvalue { Yes No } 88 -value { .true. .false. } 89 } 90 91 var find_atpert { 92 -label "Method for searching which atoms must be perturbed (find_atpert):" 93 -textvalue { 94 "1 = find atoms by analyzing unperturbed occupations" 95 "2 = find atoms from different Hubbard atomic types" 96 "3 = find atoms by symmetry" 97 } 98 -value { 1 2 3 } 99 -widget optionmenu 100 } 101 102 var docc_thr { 103 -label "Threshold for a comparison of unperturbed occupations (docc_thr):" 104 -validate fortranreal 105 } 106 107 separator -label "--- Atom types specs ---" 108 109 group ntyp_vars { 110 auxilvar ntyp { 111 -label "Number of type of atoms:" 112 -validate posint 113 -widget spinint 114 -default 1 115 } 116 117 dimension skip_type { 118 -label "Skip i-th atom-type in linear-response calculation (skip_type):" 119 -widget radiobox 120 -textvalue { Yes No } 121 -value { .true. .false. } 122 -start 1 -end 1 123 } 124 125 dimension equiv_type { 126 -label "Make atom-type i equivalent to atom-type j (equiv_type):" 127 -validate posint 128 -start 1 -end 1 129 } 130 131 dimension perturb_only_atom { 132 -label "Perturb only i-th atom types (perturb_only_atom):" 133 -widget radiobox 134 -textvalue { .true. .false. } 135 -value { .true. .false. } 136 -start 1 -end 1 137 } 138 } 139 140 separator -label "--- Miscellaneous ---" 141 142 var compute_hp { 143 -label "Collect pieces of the chi0 and chi matrices (compute_hp):" 144 -widget radiobox 145 -textvalue { Yes No } 146 -value { .true. .false. } 147 } 148 149 var conv_thr_chi { 150 -label "Convergence threshold for the response function chi (conv_thr_chi):" 151 -validate fortranreal 152 } 153 154 var thresh_init { 155 -label "Threshold for the 1st iteration of the linear system (thresh_init):" 156 -validate fortranreal 157 } 158 159 var ethr_nscf { 160 -label "Threshold for the convergence of eigenvalues in NSCF (ethr_nscf):" 161 -validate fortranreal 162 } 163 164 var niter_max { 165 -label "Maximum number of iterations for linear-response calc. (niter_max):" 166 -validate int 167 } 168 169 var alpha_mix { 170 -variable alpha_mix(1) 171 -label "Mixing parameter (alpha_mix(1)):" 172 -validate fortranreal 173 } 174 175 var nmix { 176 -label "Number of iterations to use in Broyden mixing (nmix):" 177 -validate int 178 } 179 180 var num_neigh { 181 -label "Number of neighbors of every Hubbard atom to consider for V (num_neigh):" 182 -validate int 183 } 184 185 var lmin { 186 -label "Minimum orbital quantum number of the Hubbard atoms (lmin):" 187 -validate int 188 } 189 190 var rmax { 191 -label "Maximum neighbor distance (in Bohr) between two atoms (rmax):" 192 -validate fortranreal 193 } 194 } 195 196 # ---------------------------------------------------------------------- 197 # take care of specialties 198 # ---------------------------------------------------------------------- 199 source hp-event.tcl 200 201 # ------------------------------------------------------------------------ 202 # source the HELP file 203 # ------------------------------------------------------------------------ 204 source hp-help.tcl 205} 206