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