mirror of https://gitlab.com/QEF/q-e.git
updating pw.x module
git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@7662 c92efa57-630b-4861-b058-cf58834340f0
This commit is contained in:
parent
a66a3dd9e3
commit
18a7227064
|
@ -80,18 +80,6 @@ proc ::pwscf::pwLoadAtomCoor {moduleObj} {
|
|||
pwLoadAtomCoor:_read $moduleObj $file atomic_coordinates
|
||||
}
|
||||
}
|
||||
proc ::pwscf::pwLoadAtomCoorInter {ith moduleObj} {
|
||||
set file [pwLoadAtomCoor:_init $moduleObj]
|
||||
if { $file != "" } {
|
||||
pwLoadAtomCoor:_read $moduleObj $file atomic_coordinates_${ith}_inter
|
||||
}
|
||||
}
|
||||
proc ::pwscf::pwLoadAtomCoorLast {moduleObj} {
|
||||
set file [pwLoadAtomCoor:_init $moduleObj]
|
||||
if { $file != "" } {
|
||||
pwLoadAtomCoor:_read $moduleObj $file atomic_coordinates_last
|
||||
}
|
||||
}
|
||||
proc ::pwscf::pwLoadAtomCoor:_init {moduleObj} {
|
||||
variable pwscf
|
||||
|
||||
|
|
|
@ -101,31 +101,6 @@ tracevar calculation w {
|
|||
"(Beeman) dynamics of the new Wentzcovitch extended lagrangian <w>"
|
||||
}
|
||||
}
|
||||
'neb' {
|
||||
set enable {ions path neb constraints_card}
|
||||
set disable {cell vc_md}
|
||||
|
||||
widget opt_scheme enable
|
||||
widgetconfigure opt_scheme -textvalues {
|
||||
"optimization algorithm based on molecular dynamics <quick-min>"
|
||||
"Broyden method <broyden>"
|
||||
"Alternate Broyden method <broyden2>"
|
||||
"steepest descent <sd>"
|
||||
}
|
||||
}
|
||||
'smd' {
|
||||
set enable {ions path constraints_card}
|
||||
set disable {cell vc_md neb}
|
||||
|
||||
widget opt_scheme enable
|
||||
widgetconfigure opt_scheme -textvalues {
|
||||
"optimization algorithm based on molecular dynamics <quick-min>"
|
||||
"Broyden method <broyden>"
|
||||
"Alternate Broyden method <broyden2>"
|
||||
"steepest descent <sd>"
|
||||
"finite temperature langevin dynamics <langevin>"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach group $enable {
|
||||
|
@ -140,44 +115,13 @@ tracevar calculation w {
|
|||
varset ion_dynamics -value [varvalue ion_dynamics]
|
||||
varset ion_temperature -value [varvalue ion_temperature]
|
||||
varset cell_dynamics -value [varvalue cell_dynamics]
|
||||
varset opt_scheme -value [varvalue opt_scheme]
|
||||
varset CI_scheme -value [varvalue CI_scheme]
|
||||
varset constraints_enable -value [varvalue constraints_enable]
|
||||
|
||||
# take care of NEB || SMD coordinates
|
||||
|
||||
set ni [varvalue path_inter_nimages]; if { $ni == "" } { set ni 0 }
|
||||
|
||||
if { $calc == "'neb'" || $calc == "'smd'" } {
|
||||
widget path_inter_nimages enable
|
||||
widgetconfigure atomic_coordinates -caption "Enter atomic coordinates for the FIRST image:"
|
||||
|
||||
keywordconfigure first_image enable
|
||||
keywordconfigure last_image enable
|
||||
|
||||
for {set i 1} {$i <= $ni} {incr i} {
|
||||
keywordconfigure intermediate_image_$i enable
|
||||
widget atomic_coordinates_${i}_inter create
|
||||
widgetconfigure atomic_coordinates_${i}_inter -rows $nat
|
||||
}
|
||||
widget atomic_coordinates_last_image create
|
||||
|
||||
} else {
|
||||
widget path_inter_nimages disable
|
||||
widgetconfigure atomic_coordinates -caption "Enter atomic coordinates:"
|
||||
|
||||
keywordconfigure first_image disable
|
||||
keywordconfigure last_image disable
|
||||
|
||||
for {set i 1} {$i <= $ni} {incr i} {
|
||||
keywordconfigure intermediate_image_$i disable
|
||||
widget atomic_coordinates_${i}_inter forget
|
||||
}
|
||||
widget atomic_coordinates_last_image forget
|
||||
}
|
||||
widgetconfigure atomic_coordinates -caption "Enter atomic coordinates:"
|
||||
}
|
||||
|
||||
|
||||
|
||||
# ------------------------------------------------------------------------
|
||||
# Page: SYSTEM
|
||||
# ------------------------------------------------------------------------
|
||||
|
@ -423,22 +367,6 @@ tracevar ion_dynamics w {
|
|||
#}
|
||||
}
|
||||
|
||||
tracevar opt_scheme w {
|
||||
if { [regexp smd [varvalue calculation]] && [regexp langevin [varvalue opt_scheme]] } {
|
||||
widget temp_req enable
|
||||
} else {
|
||||
widget temp_req disable
|
||||
}
|
||||
}
|
||||
|
||||
tracevar CI_scheme w {
|
||||
if { [varvalue calculation] == "'neb'" && [varvalue CI_scheme] == "'manual'" } {
|
||||
groupwidget climbing_images enable
|
||||
} else {
|
||||
groupwidget climbing_images disable
|
||||
}
|
||||
}
|
||||
|
||||
tracevar n_fe_step w {
|
||||
widgetconfigure fe_step -end [varvalue n_fe_step]
|
||||
}
|
||||
|
@ -447,42 +375,6 @@ tracevar n_fe_step w {
|
|||
# Page: CELL_PARAMETERS, ATOMIC_SPECIES, ATOMIC_POSITIONS
|
||||
# ------------------------------------------------------------------------
|
||||
|
||||
tracevar path_inter_nimages w {
|
||||
# Note: this is a bit complicated ...
|
||||
|
||||
set nat [varvalue nat]
|
||||
set ni [varvalue path_inter_nimages]
|
||||
set ni_old [varvalue old_path_inter_nimages]
|
||||
if { $nat == "" } { set nat 1 }
|
||||
if { $ni == "" } { set ni 0 }
|
||||
if { $ni_old == "" } { set ni_old 0 }
|
||||
|
||||
if { $ni_old > $ni } {
|
||||
# delete tables ...
|
||||
|
||||
for {set i $ni_old} { $i > $ni } {incr i -1} {
|
||||
keywordconfigure intermediate_image_$i disable
|
||||
widget atomic_coordinates_${i}_inter forget
|
||||
}
|
||||
} elseif { $ni_old < $ni } {
|
||||
# create tables ...
|
||||
|
||||
widget atomic_coordinates_last forget ; # this forces the right pack-order
|
||||
|
||||
for {set i 1} {$i <= $ni} {incr i} {
|
||||
keywordconfigure intermediate_image_$i enable
|
||||
widget atomic_coordinates_${i}_inter create
|
||||
widgetconfigure atomic_coordinates_${i}_inter -rows $nat
|
||||
}
|
||||
|
||||
widget atomic_coordinates_last_image create
|
||||
}
|
||||
|
||||
|
||||
# remember current value of path_inter_nimages
|
||||
varset old_path_inter_nimages -value $ni
|
||||
}
|
||||
|
||||
|
||||
#
|
||||
# ------------------------------------------------------------------------
|
||||
|
@ -546,38 +438,6 @@ tracevar constraints_enable w {
|
|||
tracevar nconstr w {
|
||||
set nc [varvalue nconstr]
|
||||
widgetconfigure constraints_table -rows $nc
|
||||
|
||||
#set nc_old [varvalue old_nconstr]
|
||||
#if { $nc_old == "" } { set nc_old 0 }
|
||||
#if { $nc == "" } { set nc 0 }
|
||||
#if { $nc < 0 } { set nc 0 }
|
||||
#if { $nc_old < 0 } { set nc_old 0 }
|
||||
#
|
||||
#if { $nc_old > $nc } {
|
||||
# for {set i $nc_old} { $i > $nc } {incr i -1} {
|
||||
# puts stderr "*** i= $i nc=$nc old=$nc_old forget"
|
||||
# widget constraint_type.$i forget
|
||||
# widget constraint.$i forget
|
||||
# widget constr.${i}_1 forget
|
||||
# widget constr.${i}_2 forget
|
||||
# widget constr.${i}_3 forget
|
||||
# widget constr.${i}_4 forget
|
||||
# widget constr_target_$i forget
|
||||
# }
|
||||
#} elseif { $nc_old < $nc } {
|
||||
# for {set i $nc} {$i > $nc_old} {incr i -1} {
|
||||
# puts stderr "*** i= $i create"
|
||||
# widget constraint_type.$i create
|
||||
# widget constraint.$i create
|
||||
# widget constr.${i}_1 create
|
||||
# widget constr.${i}_2 create
|
||||
# widget constr.${i}_3 create
|
||||
# widget constr.${i}_4 create
|
||||
# widget constr_target_$i create
|
||||
# }
|
||||
#}
|
||||
#
|
||||
#varset old_nconstr -value $nc
|
||||
}
|
||||
|
||||
tracevar assume_isolated w {
|
||||
|
@ -595,15 +455,7 @@ tracevar assume_isolated w {
|
|||
# ------------------------------------------------------------------------
|
||||
# POST-PROCESSING: assign default values for "traced" variables, ...
|
||||
# ------------------------------------------------------------------------
|
||||
postprocess {
|
||||
# BEWARE: it is assumed that 50 intermediate images is the
|
||||
# largest allowed number (this is dirty)
|
||||
varset old_path_inter_nimages -value 50
|
||||
varset path_inter_nimages -value 0
|
||||
|
||||
#varset old_nconstr -value 50
|
||||
#varset nconstr -value 0
|
||||
|
||||
postprocess {
|
||||
varset calculation -value 'scf'
|
||||
varset how_lattice -value celldm
|
||||
varset ibrav -value {}
|
||||
|
@ -612,7 +464,6 @@ postprocess {
|
|||
varset lda_plus_u -value {}
|
||||
varset occupations -value {}
|
||||
varset diagonalization -value {}
|
||||
varset CI_scheme -value {}
|
||||
varset ion_dynamics -value {}
|
||||
varset K_POINTS_flags -value automatic
|
||||
varset CELL_PARAMETERS_flags -value cubic
|
||||
|
|
|
@ -24,9 +24,7 @@ a string describing the task to be performed:
|
|||
'relax',
|
||||
'md',
|
||||
'vc-relax',
|
||||
'vc-md',
|
||||
'neb',
|
||||
'smd'
|
||||
'vc-md'
|
||||
|
||||
(vc = variable-cell).
|
||||
</pre></blockquote>
|
||||
|
@ -130,7 +128,6 @@ help nstep -helpfmt helpdoc -helptext {
|
|||
<br><li> <em>Type: </em>INTEGER</li>
|
||||
<br><li> <em>Default: </em>
|
||||
1 if calculation = 'scf', 'nscf', 'bands';
|
||||
0 if calculation = 'neb', 'smd';
|
||||
50 for the other cases
|
||||
</li>
|
||||
<br><li> <em>Description:</em>
|
||||
|
@ -833,20 +830,24 @@ help starting_magnetization -helpfmt helpdoc -helptext {
|
|||
<br><li> <em>Description:</em>
|
||||
</li>
|
||||
<blockquote><pre>
|
||||
starting spin polarization (values between -1 and 1)
|
||||
on atomic type 'i' in a spin-polarized calculation.
|
||||
Breaks the symmetry and provides a starting point for
|
||||
self-consistency. The default value is zero, BUT a value
|
||||
MUST be specified for AT LEAST one atomic type in spin
|
||||
polarized calculations. Note that if start from zero
|
||||
initial magnetization, you will get zero final magnetization
|
||||
in any case. If you desire to start from an antiferromagnetic
|
||||
state, you may need to define two different atomic species
|
||||
starting spin polarization on atomic type 'i' in a spin
|
||||
polarized calculation. Values range between -1 (all spins
|
||||
down for the valence electrons of atom type 'i') to 1
|
||||
(all spins up). Breaks the symmetry and provides a starting
|
||||
point for self-consistency. The default value is zero, BUT a
|
||||
value MUST be specified for AT LEAST one atomic type in spin
|
||||
polarized calculations, unless you constrain the magnetization
|
||||
(see "tot_magnetization" and "constrained_magnetization").
|
||||
Note that if you start from zero initial magnetization, you
|
||||
will invariably end up in a nonmagnetic (zero magnetization)
|
||||
state. If you want to start from an antiferromagnetic state,
|
||||
you may need to define two different atomic species
|
||||
corresponding to sublattices of the same atomic type.
|
||||
starting_magnetization is ignored if you are performing a
|
||||
non-scf calculation, if you are restarting from a previous
|
||||
run, or restarting from an interrupted run.
|
||||
If you fix the magnetization with "tot_magnetization",
|
||||
you should not specify starting_magnetization.
|
||||
If you are restarting from a previous run, or from an
|
||||
interrupted run, starting_magnetization is ignored.
|
||||
</pre></blockquote>
|
||||
</ul>
|
||||
|
||||
|
@ -1004,6 +1005,25 @@ symmetry in k-point generation
|
|||
}
|
||||
|
||||
|
||||
# ------------------------------------------------------------------------
|
||||
help no_t_rev -helpfmt helpdoc -helptext {
|
||||
<ul>
|
||||
<li> <em>Variable: </em><big><b>no_t_rev</b></big>
|
||||
</li>
|
||||
<br><li> <em>Type: </em>LOGICAL</li>
|
||||
<br><li> <em>Default: </em> .FALSE.
|
||||
</li>
|
||||
<br><li> <em>Description:</em>
|
||||
</li>
|
||||
<blockquote><pre>
|
||||
if (.TRUE.) disable the usage of symmetry operations that
|
||||
require time reversal.
|
||||
</pre></blockquote>
|
||||
</ul>
|
||||
|
||||
}
|
||||
|
||||
|
||||
# ------------------------------------------------------------------------
|
||||
help force_symmorphic -helpfmt helpdoc -helptext {
|
||||
<ul>
|
||||
|
@ -1035,8 +1055,8 @@ help occupations -helpfmt helpdoc -helptext {
|
|||
'smearing': gaussian smearing for metals
|
||||
requires a value for degauss
|
||||
|
||||
'tetrahedra' : for calculation of DOS in metals
|
||||
(see PRB49, 16223 (1994))
|
||||
'tetrahedra' : especially suited for calculation of DOS
|
||||
(see P.E. Bloechl, PRB49, 16223 (1994))
|
||||
Requires uniform grid of k-points,
|
||||
automatically generated (see below)
|
||||
Not suitable (because not variational) for
|
||||
|
@ -1046,7 +1066,76 @@ help occupations -helpfmt helpdoc -helptext {
|
|||
|
||||
'from_input' : The occupation are read from input file.
|
||||
Presently works only with one k-point
|
||||
(LSDA allowed).
|
||||
(LSDA, noncolinear allowed).
|
||||
</pre></blockquote>
|
||||
</ul>
|
||||
|
||||
}
|
||||
|
||||
|
||||
# ------------------------------------------------------------------------
|
||||
help one_atom_occupations -helpfmt helpdoc -helptext {
|
||||
<ul>
|
||||
<li> <em>Variable: </em><big><b>one_atom_occupations</b></big>
|
||||
</li>
|
||||
<br><li> <em>Type: </em>LOGICAL</li>
|
||||
<br><li> <em>Default: </em> .FALSE.
|
||||
</li>
|
||||
<br><li> <em>Description:</em>
|
||||
</li>
|
||||
<blockquote><pre>
|
||||
This flag is used for isolated atoms (nat=1) together with
|
||||
occupations='from_input'. If it is .TRUE., the wavefunctions
|
||||
are ordered as the atomic starting wavefunctions, independently
|
||||
from their eigenvalue. The occupations indicate which atomic
|
||||
states are filled.
|
||||
The order of the states is written inside the UPF
|
||||
pseudopotential file.
|
||||
In the scalar relativistic case:
|
||||
S -> l=0, m=0
|
||||
P -> l=1, z, x, y
|
||||
D -> l=2, r^2-3z^2, xz, yz, xy, x^2-y^2
|
||||
In the noncollinear magnetic case (with or without spin-orbit),
|
||||
each group of states is doubled. For instance:
|
||||
P -> l=1, z, x, y for spin up, l=1, z, x, y for spin down.
|
||||
Up and down is relative to the direction of the starting
|
||||
magnetization.
|
||||
In the case with spin-orbit and time-reversal
|
||||
(starting_magnetization=0.0) the atomic wavefunctions are
|
||||
radial functions multiplied by spin-angle functions.
|
||||
For instance:
|
||||
P -> l=1, j=1/2, m_j=-1/2,1/2. l=1, j=3/2,
|
||||
m_j=-3/2, -1/2, 1/2, 3/2.
|
||||
In the magnetic case with spin-orbit the atomic wavefunctions
|
||||
can be forced to be spin-angle functions by setting
|
||||
starting_spin_angle to .TRUE..
|
||||
</pre></blockquote>
|
||||
</ul>
|
||||
|
||||
}
|
||||
|
||||
|
||||
# ------------------------------------------------------------------------
|
||||
help starting_spin_angle -helpfmt helpdoc -helptext {
|
||||
<ul>
|
||||
<li> <em>Variable: </em><big><b>starting_spin_angle</b></big>
|
||||
</li>
|
||||
<br><li> <em>Type: </em>LOGICAL</li>
|
||||
<br><li> <em>Default: </em> .FALSE.
|
||||
</li>
|
||||
<br><li> <em>Description:</em>
|
||||
</li>
|
||||
<blockquote><pre>
|
||||
In the spin-orbit case when domag=.TRUE., by default,
|
||||
the starting wavefunctions are initialized as in scalar
|
||||
relativistic noncollinear case without spin-orbit.
|
||||
By setting starting_spin_angle=.TRUE. this behaviour can
|
||||
be changed and the initial wavefunctions are radial
|
||||
functions multiplied by spin-angle functions.
|
||||
When domag=.FALSE. the initial wavefunctions are always
|
||||
radial functions multiplied by spin-angle functions
|
||||
independently from this flag.
|
||||
When lspinorb is .FALSE. this flag is not used.
|
||||
</pre></blockquote>
|
||||
</ul>
|
||||
|
||||
|
@ -1465,17 +1554,14 @@ Currently available choices:
|
|||
no constraint
|
||||
|
||||
'total':
|
||||
total magnetization is constrained
|
||||
If nspin=4 (noncolin=.True.) constraint is imposed by
|
||||
total magnetization is constrained by
|
||||
adding a penalty functional to the total energy:
|
||||
|
||||
LAMBDA * SUM_{i} ( magnetization(i) - fixed_magnetization(i) )**2
|
||||
|
||||
where the sum over i runs over the three components of
|
||||
the magnetization. Lambda is a real number (see below).
|
||||
If nspin=2 constraint is imposed by defining two Fermi
|
||||
energies for spin up and down.
|
||||
Only fixed_magnetization(3) can be defined in this case.
|
||||
Noncolinear case only. Use "tot_magnetization" for LSDA
|
||||
|
||||
'atomic':
|
||||
atomic magnetization are constrained to the defined
|
||||
|
@ -1853,6 +1939,26 @@ help diagonalization -helpfmt helpdoc -helptext {
|
|||
}
|
||||
|
||||
|
||||
# ------------------------------------------------------------------------
|
||||
help ortho_para -helpfmt helpdoc -helptext {
|
||||
<ul>
|
||||
<li> <em>Variable: </em><big><b>ortho_para</b></big>
|
||||
</li>
|
||||
<br><li> <em>Type: </em>INTEGER</li>
|
||||
<br><li> <em>Default: </em> 0
|
||||
</li>
|
||||
<br><li> <em>Status: </em> OBSOLETE: use command-line option " -ndiag XX" instead
|
||||
</li>
|
||||
<br><li> <em>Description:</em>
|
||||
</li>
|
||||
<blockquote><pre>
|
||||
|
||||
</pre></blockquote>
|
||||
</ul>
|
||||
|
||||
}
|
||||
|
||||
|
||||
# ------------------------------------------------------------------------
|
||||
help diago_thr_init -helpfmt helpdoc -helptext {
|
||||
<ul>
|
||||
|
@ -1987,7 +2093,7 @@ help startingpot -helpfmt helpdoc -helptext {
|
|||
</li>
|
||||
<blockquote><pre>
|
||||
'atomic': starting potential from atomic charge superposition
|
||||
( default for scf, *relax, *md, neb, smd )
|
||||
( default for scf, *relax, *md )
|
||||
|
||||
'file' : start from existing "charge-density.xml" file
|
||||
( default, only possibility for nscf, bands )
|
||||
|
@ -2063,10 +2169,6 @@ help ion_dynamics -helpfmt helpdoc -helptext {
|
|||
<blockquote><pre>
|
||||
Specify the type of ionic dynamics.
|
||||
|
||||
For constrained dynamics or constrained optimisations add the
|
||||
CONSTRAINTS card (when the card is present the SHAKE algorithm is
|
||||
automatically used).
|
||||
|
||||
For different type of calculation different possibilities are
|
||||
allowed and different default values apply:
|
||||
|
||||
|
@ -2076,10 +2178,13 @@ CASE ( calculation = 'relax' )
|
|||
for structural relaxation
|
||||
'damp' : use damped (quick-min Verlet)
|
||||
dynamics for structural relaxation
|
||||
Can be used for constrained
|
||||
optimisation: see CONSTRAINTS card
|
||||
|
||||
CASE ( calculation = 'md' )
|
||||
'verlet' : (default) use Verlet algorithm to integrate
|
||||
Newton's equation
|
||||
Newton's equation. For constrained
|
||||
dynamics, see CONSTRAINTS card
|
||||
'langevin' ion dynamics is over-damped Langevin
|
||||
|
||||
CASE ( calculation = 'vc-relax' )
|
||||
|
@ -2261,6 +2366,9 @@ help ion_temperature -helpfmt helpdoc -helptext {
|
|||
'andersen' control ionic temperature using Andersen thermostat
|
||||
see parameters "tempw" and "nraise"
|
||||
|
||||
'initial' initialize ion velocities to temperature "tempw"
|
||||
and leave uncontrolled further on
|
||||
|
||||
'not_controlled' (default) ionic temperature is not controlled
|
||||
</pre></blockquote>
|
||||
</ul>
|
||||
|
@ -2397,7 +2505,7 @@ help upscale -helpfmt helpdoc -helptext {
|
|||
<li> <em>Variable: </em><big><b>upscale</b></big>
|
||||
</li>
|
||||
<br><li> <em>Type: </em>REAL</li>
|
||||
<br><li> <em>Default: </em> 10.D0
|
||||
<br><li> <em>Default: </em> 100.D0
|
||||
</li>
|
||||
<br><li> <em>Description:</em>
|
||||
</li>
|
||||
|
@ -2529,223 +2637,6 @@ Parameters used in line search based on the Wolfe conditions.
|
|||
}
|
||||
|
||||
|
||||
# ------------------------------------------------------------------------
|
||||
help num_of_images -helpfmt helpdoc -helptext {
|
||||
<ul>
|
||||
<li> <em>Variable: </em><big><b>num_of_images</b></big>
|
||||
</li>
|
||||
<br><li> <em>Type: </em>INTEGER</li>
|
||||
<br><li> <em>Default: </em> 0
|
||||
</li>
|
||||
<br><li> <em>Description:</em>
|
||||
</li>
|
||||
<blockquote><pre>
|
||||
Number of points used to discretize the path
|
||||
(it must be larger than 3).
|
||||
</pre></blockquote>
|
||||
</ul>
|
||||
|
||||
}
|
||||
|
||||
|
||||
# ------------------------------------------------------------------------
|
||||
help opt_scheme -helpfmt helpdoc -helptext {
|
||||
<ul>
|
||||
<li> <em>Variable: </em><big><b>opt_scheme</b></big>
|
||||
</li>
|
||||
<br><li> <em>Type: </em>CHARACTER</li>
|
||||
<br><li> <em>Default: </em> 'quick-min'
|
||||
</li>
|
||||
<br><li> <em>Description:</em>
|
||||
</li>
|
||||
<blockquote><pre>
|
||||
Specify the type of optimization scheme:
|
||||
|
||||
'sd' : steepest descent
|
||||
|
||||
'broyden' : quasi-Newton Broyden's second method (suggested)
|
||||
|
||||
'broyden2' : another variant of the quasi-Newton Broyden's
|
||||
second method to be tested and compared with the
|
||||
previous one.
|
||||
|
||||
'quick-min' : an optimisation algorithm based on the
|
||||
projected velocity Verlet scheme
|
||||
|
||||
'langevin' : finite temperature langevin dynamics of the
|
||||
string (smd only). It is used to compute the
|
||||
average path and the free-energy profile.
|
||||
</pre></blockquote>
|
||||
</ul>
|
||||
|
||||
}
|
||||
|
||||
|
||||
# ------------------------------------------------------------------------
|
||||
help CI_scheme -helpfmt helpdoc -helptext {
|
||||
<ul>
|
||||
<li> <em>Variable: </em><big><b>CI_scheme</b></big>
|
||||
</li>
|
||||
<br><li> <em>Type: </em>CHARACTER</li>
|
||||
<br><li> <em>Default: </em> 'no-CI'
|
||||
</li>
|
||||
<br><li> <em>Description:</em>
|
||||
</li>
|
||||
<blockquote><pre>
|
||||
Specify the type of Climbing Image scheme:
|
||||
|
||||
'no-CI' : climbing image is not used
|
||||
|
||||
'auto' : original CI scheme. The image highest in energy
|
||||
does not feel the effect of springs and is
|
||||
allowed to climb along the path
|
||||
|
||||
'manual' : images that have to climb are manually selected.
|
||||
See also CLIMBING_IMAGES card
|
||||
</pre></blockquote>
|
||||
</ul>
|
||||
|
||||
}
|
||||
|
||||
|
||||
# ------------------------------------------------------------------------
|
||||
help first_last_opt -helpfmt helpdoc -helptext {
|
||||
<ul>
|
||||
<li> <em>Variable: </em><big><b>first_last_opt</b></big>
|
||||
</li>
|
||||
<br><li> <em>Type: </em>LOGICAL</li>
|
||||
<br><li> <em>Default: </em> .FALSE.
|
||||
</li>
|
||||
<br><li> <em>Description:</em>
|
||||
</li>
|
||||
<blockquote><pre>
|
||||
Also the first and the last configurations are optimized
|
||||
"on the fly" (these images do not feel the effect of the springs).
|
||||
</pre></blockquote>
|
||||
</ul>
|
||||
|
||||
}
|
||||
|
||||
|
||||
# ------------------------------------------------------------------------
|
||||
help temp_req -helpfmt helpdoc -helptext {
|
||||
<ul>
|
||||
<li> <em>Variable: </em><big><b>temp_req</b></big>
|
||||
</li>
|
||||
<br><li> <em>Type: </em>REAL</li>
|
||||
<br><li> <em>Default: </em> 0.D0 Kelvin
|
||||
</li>
|
||||
<br><li> <em>Description:</em>
|
||||
</li>
|
||||
<blockquote><pre>
|
||||
Temperature used for the langevin dynamics of the string.
|
||||
</pre></blockquote>
|
||||
</ul>
|
||||
|
||||
}
|
||||
|
||||
|
||||
# ------------------------------------------------------------------------
|
||||
help ds -helpfmt helpdoc -helptext {
|
||||
<ul>
|
||||
<li> <em>Variable: </em><big><b>ds</b></big>
|
||||
</li>
|
||||
<br><li> <em>Type: </em>REAL</li>
|
||||
<br><li> <em>Default: </em> 1.D0
|
||||
</li>
|
||||
<br><li> <em>Description:</em>
|
||||
</li>
|
||||
<blockquote><pre>
|
||||
Optimisation step length ( Hartree atomic units ).
|
||||
If opt_scheme="broyden", ds is used as a guess for the
|
||||
diagonal part of the Jacobian matrix.
|
||||
</pre></blockquote>
|
||||
</ul>
|
||||
|
||||
}
|
||||
|
||||
|
||||
# ------------------------------------------------------------------------
|
||||
grouphelp {k_max k_min} -helpfmt helpdoc -helptext {
|
||||
<ul>
|
||||
<li> <em>Variables: </em><big><b>k_max, k_min</b></big>
|
||||
</li>
|
||||
<br><li> <em>Type: </em>REAL</li>
|
||||
<br><li> <em>Default: </em> 0.1D0 Hartree atomic units
|
||||
</li>
|
||||
<br><li> <em>Description:</em>
|
||||
</li>
|
||||
<blockquote><pre>
|
||||
Set them to use a Variable Elastic Constants scheme
|
||||
elastic constants are in the range [ k_min, k_max ]
|
||||
this is useful to rise the resolution around the saddle point.
|
||||
</pre></blockquote>
|
||||
</ul>
|
||||
|
||||
}
|
||||
|
||||
|
||||
# ------------------------------------------------------------------------
|
||||
help path_thr -helpfmt helpdoc -helptext {
|
||||
<ul>
|
||||
<li> <em>Variable: </em><big><b>path_thr</b></big>
|
||||
</li>
|
||||
<br><li> <em>Type: </em>REAL</li>
|
||||
<br><li> <em>Default: </em> 0.05D0 eV / Angstrom
|
||||
</li>
|
||||
<br><li> <em>Description:</em>
|
||||
</li>
|
||||
<blockquote><pre>
|
||||
The simulation stops when the error ( the norm of the force
|
||||
orthogonal to the path in eV/A ) is less than path_thr.
|
||||
</pre></blockquote>
|
||||
</ul>
|
||||
|
||||
}
|
||||
|
||||
|
||||
# ------------------------------------------------------------------------
|
||||
help use_masses -helpfmt helpdoc -helptext {
|
||||
<ul>
|
||||
<li> <em>Variable: </em><big><b>use_masses</b></big>
|
||||
</li>
|
||||
<br><li> <em>Type: </em>LOGICAL</li>
|
||||
<br><li> <em>Default: </em> .FALSE.
|
||||
</li>
|
||||
<br><li> <em>Description:</em>
|
||||
</li>
|
||||
<blockquote><pre>
|
||||
If. TRUE. the optimisation of the path is performed using
|
||||
mass-weighted coordinates. Useful together with quick-min
|
||||
optimization scheme, if some bonds are much stiffer than
|
||||
others. By assigning a larger (fictitious) mass to atoms
|
||||
with stiff bonds, one may use a longer time step "ds"
|
||||
</pre></blockquote>
|
||||
</ul>
|
||||
|
||||
}
|
||||
|
||||
|
||||
# ------------------------------------------------------------------------
|
||||
help use_freezing -helpfmt helpdoc -helptext {
|
||||
<ul>
|
||||
<li> <em>Variable: </em><big><b>use_freezing</b></big>
|
||||
</li>
|
||||
<br><li> <em>Type: </em>LOGICAL</li>
|
||||
<br><li> <em>Default: </em> .FALSE.
|
||||
</li>
|
||||
<br><li> <em>Description:</em>
|
||||
</li>
|
||||
<blockquote><pre>
|
||||
If. TRUE. the images are optimised according to their error:
|
||||
only those images with an error larger than half of the largest
|
||||
are optimised. The other images are kept frozen.
|
||||
</pre></blockquote>
|
||||
</ul>
|
||||
|
||||
}
|
||||
|
||||
|
||||
# ------------------------------------------------------------------------
|
||||
help cell_dynamics -helpfmt helpdoc -helptext {
|
||||
<ul>
|
||||
|
@ -2880,103 +2771,7 @@ xy = only the x and y axis are moved, angles are unchanged
|
|||
xz = only the x and z axis are moved, angles are unchanged
|
||||
yz = only the y and z axis are moved, angles are unchanged
|
||||
xyz = x, y and z axis are moved, angles are unchanged
|
||||
xyt = x1, x2, y2 (i.e. lower xy triangle of the 2 vectors)
|
||||
xys = x1, y1, x2, y2 (i.e. xy square of the 2 vectors)
|
||||
xyzt = x1, x2, y2, x3, y3, z3 (i.e. lower xyz triangle of
|
||||
the 3 vectors)
|
||||
</pre></blockquote>
|
||||
</ul>
|
||||
|
||||
}
|
||||
|
||||
|
||||
# ------------------------------------------------------------------------
|
||||
help ecutcoarse -helpfmt helpdoc -helptext {
|
||||
<ul>
|
||||
<li> <em>Variable: </em><big><b>ecutcoarse</b></big>
|
||||
</li>
|
||||
<br><li> <em>Type: </em>REAL</li>
|
||||
<br><li> <em>Default: </em> 100
|
||||
</li>
|
||||
<br><li> <em>Description:</em>
|
||||
</li>
|
||||
<blockquote><pre>
|
||||
kinetic energy cutoff defining the grid used for
|
||||
the open boundary correction.
|
||||
</pre></blockquote>
|
||||
</ul>
|
||||
|
||||
}
|
||||
|
||||
|
||||
# ------------------------------------------------------------------------
|
||||
help mixing_charge_compensation -helpfmt helpdoc -helptext {
|
||||
<ul>
|
||||
<li> <em>Variable: </em><big><b>mixing_charge_compensation</b></big>
|
||||
</li>
|
||||
<br><li> <em>Type: </em>REAL</li>
|
||||
<br><li> <em>Default: </em> 1.0
|
||||
</li>
|
||||
<br><li> <em>Description:</em>
|
||||
</li>
|
||||
<blockquote><pre>
|
||||
scf mixing parameter for the correcting potential.
|
||||
</pre></blockquote>
|
||||
</ul>
|
||||
|
||||
}
|
||||
|
||||
|
||||
# ------------------------------------------------------------------------
|
||||
help n_charge_compensation -helpfmt helpdoc -helptext {
|
||||
<ul>
|
||||
<li> <em>Variable: </em><big><b>n_charge_compensation</b></big>
|
||||
</li>
|
||||
<br><li> <em>Type: </em>INTEGER</li>
|
||||
<br><li> <em>Default: </em> 5
|
||||
</li>
|
||||
<br><li> <em>Description:</em>
|
||||
</li>
|
||||
<blockquote><pre>
|
||||
the correcting potential is updated (mixed) every
|
||||
n_charge_compensation iteration only.
|
||||
</pre></blockquote>
|
||||
</ul>
|
||||
|
||||
}
|
||||
|
||||
|
||||
# ------------------------------------------------------------------------
|
||||
help comp_thr -helpfmt helpdoc -helptext {
|
||||
<ul>
|
||||
<li> <em>Variable: </em><big><b>comp_thr</b></big>
|
||||
</li>
|
||||
<br><li> <em>Type: </em>REAL</li>
|
||||
<br><li> <em>Default: </em> 1.d-4
|
||||
</li>
|
||||
<br><li> <em>Description:</em>
|
||||
</li>
|
||||
<blockquote><pre>
|
||||
inclusion of dcc correction begins when scf convergence
|
||||
is better than comp_thr.
|
||||
</pre></blockquote>
|
||||
</ul>
|
||||
|
||||
}
|
||||
|
||||
|
||||
# ------------------------------------------------------------------------
|
||||
help nlev -helpfmt helpdoc -helptext {
|
||||
<ul>
|
||||
<li> <em>Variable: </em><big><b>nlev</b></big>
|
||||
</li>
|
||||
<br><li> <em>Type: </em>INTEGER</li>
|
||||
<br><li> <em>Default: </em> 4
|
||||
</li>
|
||||
<br><li> <em>Description:</em>
|
||||
</li>
|
||||
<blockquote><pre>
|
||||
number of depth levels used by the multigrid solver.
|
||||
shape = all axis and angles, keeping the volume fixed
|
||||
</pre></blockquote>
|
||||
</ul>
|
||||
|
||||
|
@ -2991,7 +2786,10 @@ help atomic_species -helpfmt helpdoc -helptext {
|
|||
<br><li> <em>Type: </em>CHARACTER</li>
|
||||
<br><li> <em>Description:</em>
|
||||
</li>
|
||||
<blockquote><pre> label of the atom
|
||||
<blockquote><pre>
|
||||
label of the atom. Acceptable syntax:
|
||||
chemical symbol X (1 or 2 characters, case-insensitive)
|
||||
or "Xn", n=0,..., 9; "X_*", "X-*" (e.g. C1, As_h)
|
||||
</pre></blockquote>
|
||||
</ul><ul>
|
||||
<li> <em>Variable: </em><big><b>Mass_X</b></big>
|
||||
|
@ -3094,7 +2892,7 @@ NOTE: each atomic coordinate can also be specified as a simple algebrical expres
|
|||
<blockquote><pre>
|
||||
component i of the force for this atom is multiplied by if_pos(i),
|
||||
which must be either 0 or 1. Used to keep selected atoms and/or
|
||||
selected components fixed in neb, smd, MD dynamics or
|
||||
selected components fixed in MD dynamics or
|
||||
structural optimization run.
|
||||
</pre></blockquote>
|
||||
</ul>
|
||||
|
@ -3102,13 +2900,6 @@ structural optimization run.
|
|||
}
|
||||
|
||||
|
||||
# ------------------------------------------------------------------------
|
||||
help atomic_coordinates_last_image -helpfmt helpdoc -helptext {
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
# ------------------------------------------------------------------------
|
||||
help K_POINTS_flags -helpfmt helpdoc -helptext {
|
||||
<h2>Description of K_POINTS card's flags</h2><pre>
|
||||
|
@ -3256,25 +3047,6 @@ In alat units if celldm(1) was specified or in a.u. otherwise.
|
|||
}
|
||||
|
||||
|
||||
# ------------------------------------------------------------------------
|
||||
help climbing_images_list -helpfmt helpdoc -helptext {
|
||||
<ul>
|
||||
<li> <em>Variables: </em><big><b> index1, index2, ... indexN
|
||||
</b></big>
|
||||
</li>
|
||||
<br><li> <em>Type: </em>INTEGER</li>
|
||||
<br><li> <em>Description:</em>
|
||||
</li>
|
||||
<blockquote><pre>
|
||||
index1, index2, ..., indexN are indices of the images to which the
|
||||
Climbing-Image procedure apply. If more than one image is specified
|
||||
they must be separated by a comma.
|
||||
</pre></blockquote>
|
||||
</ul>
|
||||
|
||||
}
|
||||
|
||||
|
||||
# ------------------------------------------------------------------------
|
||||
help nconstr -helpfmt helpdoc -helptext {
|
||||
<ul>
|
||||
|
|
|
@ -32,8 +32,6 @@ module PW -title "PWSCF GUI: module PW.x" -script {
|
|||
"Ionic relaxation with Variable-Cell <vc-relax>"
|
||||
"Molecular dynamics <md>"
|
||||
"Molecular dynamics with Variable-Cell <vc-md>"
|
||||
"Nudged Elastic Band <neb>"
|
||||
"String Method Dynamics <smd>"
|
||||
}
|
||||
-value {
|
||||
'scf'
|
||||
|
@ -43,8 +41,6 @@ module PW -title "PWSCF GUI: module PW.x" -script {
|
|||
'vc-relax'
|
||||
'md'
|
||||
'vc-md'
|
||||
'neb'
|
||||
'smd'
|
||||
}
|
||||
-default "Self-Consistent-Field <scf>"
|
||||
}
|
||||
|
@ -108,7 +104,7 @@ module PW -title "PWSCF GUI: module PW.x" -script {
|
|||
high default low minimal none
|
||||
}
|
||||
-value {
|
||||
'high' 'default' 'low' 'minimal' 'none'
|
||||
'high' 'default' 'low' 'none'
|
||||
}
|
||||
-widget optionmenu
|
||||
}
|
||||
|
@ -358,6 +354,13 @@ module PW -title "PWSCF GUI: module PW.x" -script {
|
|||
-value { .true. .false. }
|
||||
}
|
||||
|
||||
var no_t_rev {
|
||||
-label "Disable the symmetry operations that require time reversal (no_t_rev):"
|
||||
-widget radiobox
|
||||
-textvalue { Yes No }
|
||||
-value { .true. .false. }
|
||||
}
|
||||
|
||||
var force_symmorphic {
|
||||
-label "Force the symmetry group to be symmorphic (force_symmorphic):"
|
||||
-widget radiobox
|
||||
|
@ -393,6 +396,22 @@ module PW -title "PWSCF GUI: module PW.x" -script {
|
|||
}
|
||||
}
|
||||
|
||||
var one_atom_occupations {
|
||||
-text "For isolated atoms only (nat=1)"
|
||||
-label "Order the wavefunctions as the atomic starting wavefunctions (one_atom_occupations):"
|
||||
-widget radiobox
|
||||
-textvalue { Yes No }
|
||||
-value { .true. .false. }
|
||||
}
|
||||
|
||||
var starting_spin_angle {
|
||||
-text "For spin-orbit case when domag=.TRUE."
|
||||
-label "Multiply the initial radial wavefunctions by spin-angle functions (starting_spin_angle):"
|
||||
-widget radiobox
|
||||
-textvalue { Yes No }
|
||||
-value { .true. .false. }
|
||||
}
|
||||
|
||||
var degauss {
|
||||
-label "Gaussian spreading for BZ integration \[in Ry\] (degauss):"
|
||||
-validate fortrannonnegreal
|
||||
|
@ -419,8 +438,8 @@ module PW -title "PWSCF GUI: module PW.x" -script {
|
|||
|
||||
var nspin {
|
||||
-label "Perform spin-polarized calculation (nspin):"
|
||||
-textvalue {No Yes}
|
||||
-value {1 2}
|
||||
-textvalue {No Yes "Yes noncollinear"}
|
||||
-value {1 2 4}
|
||||
-widget radiobox
|
||||
}
|
||||
|
||||
|
@ -608,7 +627,7 @@ module PW -title "PWSCF GUI: module PW.x" -script {
|
|||
-textvalue {
|
||||
"Makov-Payne <makov-payne>"
|
||||
"Martyna-Tuckerman <martyna-tuckerman>"
|
||||
"Density CounterCharge <dcc>"
|
||||
"Density Counter Charge <dcc>"
|
||||
"No correction <none>"
|
||||
}
|
||||
-value {'makov-payne' 'martyna-tuckerman' 'dcc' 'none'}
|
||||
|
@ -737,7 +756,7 @@ module PW -title "PWSCF GUI: module PW.x" -script {
|
|||
}
|
||||
-widget optionmenu
|
||||
}
|
||||
|
||||
|
||||
var diago_thr_init {
|
||||
-label "Convergence threshold for 1st iterative diagonalization (diago_thr_init):"
|
||||
-validate fortranreal
|
||||
|
@ -789,6 +808,14 @@ module PW -title "PWSCF GUI: module PW.x" -script {
|
|||
-textvalue { Yes No }
|
||||
-value { .true. .false. }
|
||||
}
|
||||
|
||||
separator -label "--- Obsolete variables ---"
|
||||
|
||||
var ortho_para {
|
||||
-text "OBSOLETE: use command-line option \" -ndiag XX\" instead"
|
||||
-label "(ortho_para):"
|
||||
-validate integer
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -895,6 +922,7 @@ module PW -title "PWSCF GUI: module PW.x" -script {
|
|||
"reduce ionic temperature via delta_t&nraise <reduce-T>"
|
||||
"\"soft\" Berendsen velocity rescaling via tempw&nraise <berendsen>"
|
||||
"use Andersen thermostat via tempw&nraise <andersen>"
|
||||
"initialize to temperature \"tempw\" and leave uncontrolled <initial>"
|
||||
"not controlled <not_controlled>"
|
||||
}
|
||||
-value {
|
||||
|
@ -904,6 +932,7 @@ module PW -title "PWSCF GUI: module PW.x" -script {
|
|||
'reduce-T'
|
||||
'berendsen'
|
||||
'andersen'
|
||||
'initial'
|
||||
'not_controlled'
|
||||
}
|
||||
}
|
||||
|
@ -928,13 +957,6 @@ module PW -title "PWSCF GUI: module PW.x" -script {
|
|||
-validate integer
|
||||
}
|
||||
|
||||
#var monitor_constr {
|
||||
# -label "Only monitor (not impose) constraints (monitor_constr):"
|
||||
# -widget radiobox
|
||||
# -textvalue { Yes No }
|
||||
# -value { .true. .false. }
|
||||
#}
|
||||
|
||||
var refold_pos {
|
||||
-label "Refolded ions at each step into the supercell (refold_pos):"
|
||||
-widget radiobox
|
||||
|
@ -978,111 +1000,7 @@ module PW -title "PWSCF GUI: module PW.x" -script {
|
|||
var w_1 -label "w_1:" -validate fortranreal
|
||||
var w_2 -label "w_2:" -validate fortranreal
|
||||
}
|
||||
}
|
||||
|
||||
separator -label "--- Nudget Elastic Band (NEB) and String Method Dynamics (SMD) ---"
|
||||
|
||||
group path {
|
||||
var num_of_images {
|
||||
-label "Number of images used to discretize the path (num_of_images):"
|
||||
-widget spinint
|
||||
-validate posint
|
||||
}
|
||||
|
||||
var first_last_opt {
|
||||
-label "Optimize also the first and the last configurations (first_last_opt):"
|
||||
-textvalue { Yes No }
|
||||
-value { .TRUE. .FALSE. }
|
||||
-widget radiobox
|
||||
}
|
||||
|
||||
var opt_scheme {
|
||||
-label "Type of optimization scheme (opt_scheme):"
|
||||
-value {
|
||||
'quick-min'
|
||||
'broyden'
|
||||
'broyden2'
|
||||
'sd'
|
||||
'langevin'
|
||||
}
|
||||
-textvalue {
|
||||
"optimization algorithm based on molecular dynamics <quick-min>"
|
||||
"Broyden method <broyden>"
|
||||
"Alternate Broyden method <broyden2>"
|
||||
"steepest descent <sd>"
|
||||
"finite temperature langevin dynamics <langevin>"
|
||||
}
|
||||
-widget optionmenu
|
||||
}
|
||||
|
||||
#var damp {
|
||||
# -label "Damping coefficent for damped-dyn (damp):"
|
||||
# -validate fortranreal
|
||||
#}
|
||||
|
||||
var temp_req {
|
||||
-label "Temperature used for langevin dynamics of the string (temp_req):"
|
||||
-validate fortranposreal
|
||||
}
|
||||
|
||||
var ds {
|
||||
-label "Optimization step length (ds):"
|
||||
-validate fortranposreal
|
||||
}
|
||||
|
||||
var path_thr {
|
||||
-label "Convergence threshold for path optimization (path_thr):"
|
||||
-validate fortranposreal
|
||||
}
|
||||
|
||||
var use_freezing {
|
||||
-label "Only the images with larger errors are optimised (use_freezing):"
|
||||
-textvalue { Yes No }
|
||||
-value { .TRUE. .FALSE. }
|
||||
-widget radiobox
|
||||
}
|
||||
|
||||
var use_masses {
|
||||
-label "The optimisation is done with mass-weighted coordinates (use_masses):"
|
||||
-textvalue { Yes No }
|
||||
-value { .TRUE. .FALSE. }
|
||||
-widget radiobox
|
||||
}
|
||||
|
||||
#var write_save {
|
||||
# -label "Write a prefix.save file for each image (write_save):"
|
||||
# -textvalue { Yes No }
|
||||
# -value { .TRUE. .FALSE. }
|
||||
# -widget radiobox
|
||||
#}
|
||||
|
||||
}
|
||||
|
||||
group neb {
|
||||
|
||||
var CI_scheme {
|
||||
-label "Type of Climbing Image (CI) scheme (CI_scheme):"
|
||||
-textvalue {
|
||||
"do not use climbing image <no-CI>"
|
||||
"image highest in energy is allowed to climb <auto>"
|
||||
"climbing images are manually selected <manual>"
|
||||
}
|
||||
-value {
|
||||
'no-CI'
|
||||
'auto'
|
||||
'manual'
|
||||
}
|
||||
-widget optionmenu
|
||||
}
|
||||
|
||||
group elastic_constants -name "Elastic Constants for NEB spring:" -decor normal {
|
||||
packwidgets left
|
||||
var k_max -label "k_max:" -validate fortranposreal
|
||||
var k_min -label "k_min:" -validate fortranposreal
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1144,7 +1062,6 @@ module PW -title "PWSCF GUI: module PW.x" -script {
|
|||
-label "Which of the cell parameters should be moved (cell_dofree):"
|
||||
-textvalue {
|
||||
"all = all axis and angles are propagated"
|
||||
"volume = the cell is simply rescaled, without changing the shape"
|
||||
"x = only the x axis is moved"
|
||||
"y = only the y axis is moved"
|
||||
"z = only the z axis is moved"
|
||||
|
@ -1152,54 +1069,16 @@ module PW -title "PWSCF GUI: module PW.x" -script {
|
|||
"xz = only the x and z axis are moved, angles are unchanged"
|
||||
"yz = only the y and z axis are moved, angles are unchanged"
|
||||
"xyz = x, y and z axis are moved, angles are unchanged"
|
||||
"xyt = x1, x2, y2 (i.e. lower xy triangle of the 2 vectors)"
|
||||
"xys = x1, y1, x2, y2 (i.e. xy square of the 2 vectors)"
|
||||
"xyzt = x1, x2, y2, x3, y3, z3 (i.e. lower xyz triangle of the 3 vectors)"
|
||||
"shape = all axis and angles, keeping the volume fixed"
|
||||
}
|
||||
-value {
|
||||
'all' 'volume' 'x' 'y' 'z' 'xy' 'xz' 'yz' 'xyz' 'xyt' 'xys' 'xyzt'
|
||||
'all' 'x' 'y' 'z' 'xy' 'xz' 'yz' 'xyz' 'shape'
|
||||
}
|
||||
-widget optionmenu
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
########################################################################
|
||||
## ##
|
||||
## &EE NAMELIST ##
|
||||
## ##
|
||||
########################################################################
|
||||
|
||||
page eePage -name "EE" {
|
||||
namelist ee -name "EE" {
|
||||
var ecutcoarse {
|
||||
-validate fortranposreal
|
||||
-label "Kinetic energy cutoff for the open boundary (ecutcoarse):"
|
||||
}
|
||||
|
||||
|
||||
var mixing_charge_compensation {
|
||||
-validate fortranreal
|
||||
-label "Scf mixing parameter for the correcting potential (mixing_charge_compensation):"
|
||||
}
|
||||
|
||||
var n_charge_compensation {
|
||||
-validate posint
|
||||
-label "Iteration interval for updating the correcting potential (n_charge_compensation):"
|
||||
}
|
||||
|
||||
var comp_thr {
|
||||
-validate fortranposreal
|
||||
-label "Scf convergence treshold for starting the dcc correction (comp_thr):"
|
||||
}
|
||||
|
||||
var nlev {
|
||||
-validate posint
|
||||
-label "Number of depth levels used by the multigrid solver (nlev):"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
########################################################################
|
||||
## ##
|
||||
|
@ -1264,17 +1143,6 @@ module PW -title "PWSCF GUI: module PW.x" -script {
|
|||
}
|
||||
}
|
||||
|
||||
scriptvar old_path_inter_nimages
|
||||
auxilvar path_inter_nimages {
|
||||
-label "Number of intermediate images:"
|
||||
-widget spinint
|
||||
-validate nonnegint
|
||||
-default 0
|
||||
}
|
||||
|
||||
# first_image
|
||||
|
||||
keyword first_image first_image\n; # only for calculation == 'neb' || 'smd'
|
||||
table atomic_coordinates {
|
||||
-caption "Enter atomic coordinates:"
|
||||
-head {Atomic-label X-Coordinate Y-Coordinate Z-Coordinate if_pos(1) if_pos(2) if_pos(3)}
|
||||
|
@ -1291,46 +1159,7 @@ module PW -title "PWSCF GUI: module PW.x" -script {
|
|||
|
||||
loaddata atomic_coordinates ::pwscf::pwLoadAtomCoor \
|
||||
"Load atomic coordinates from file ..."
|
||||
|
||||
# intermediate_image
|
||||
|
||||
# BEWARE: it is assumed that 50 intermediate images is the
|
||||
# largest allowed number (this is dirty)
|
||||
|
||||
for {set i 1} {$i <= 50} {incr i} {
|
||||
keyword intermediate_image_$i intermediate_image\n
|
||||
table atomic_coordinates_${i}_inter [subst {
|
||||
-caption "Enter atomic coordinates for INTERMEDIATE image \#.$i:"
|
||||
-head {Atomic-label X-Coordinate Y-Coordinate Z-Coordinate}
|
||||
-validate {string fortranreal fortranreal fortranreal}
|
||||
-cols 4
|
||||
-rows 1
|
||||
-outfmt {" %3s" " %14.9f" %14.9f %14.9f}
|
||||
-widgets {entry entry entry entry}
|
||||
-onvalues 1
|
||||
-offvalues 0
|
||||
}]
|
||||
loaddata atomic_coordinates_${i}_inter [list ::pwscf::pwLoadAtomCoorInter $i] \
|
||||
"Load atomic coordinates from file ..."
|
||||
}
|
||||
|
||||
# last_image
|
||||
|
||||
keyword last_image last_image\n
|
||||
table atomic_coordinates_last_image {
|
||||
-caption "Enter atomic coordinates for LAST image:"
|
||||
-head {Atomic-label X-Coordinate Y-Coordinate Z-Coordinate}
|
||||
-validate {string fortranreal fortranreal fortranreal}
|
||||
-cols 4
|
||||
-rows 1
|
||||
-outfmt {" %3s" " %14.9f" %14.9f %14.9f}
|
||||
-widgets {entry entry entry entry}
|
||||
-onvalues 1
|
||||
-offvalues 0
|
||||
}
|
||||
loaddata atomic_coordinates_last_image ::pwscf::pwLoadAtomCoorLast \
|
||||
"Load atomic coordinates from file ..."
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
########################################################################
|
||||
|
@ -1398,23 +1227,11 @@ module PW -title "PWSCF GUI: module PW.x" -script {
|
|||
|
||||
########################################################################
|
||||
## ##
|
||||
## PAGE: CLIMBING_IMAGES & CONSTRAINTS & OCCUPATIONS ##
|
||||
## PAGE: CONSTRAINTS & OCCUPATIONS ##
|
||||
## ##
|
||||
########################################################################
|
||||
page otherPage -name "Other Cards" {
|
||||
|
||||
# CARD: CLIMBING_IMAGES
|
||||
|
||||
group climbing_images -name "Card: CLIMBING_IMAGES" -decor normal {
|
||||
keyword climbing_images_key CLIMBING_IMAGES\n
|
||||
line climbing_images_line -decor none {
|
||||
var climbing_images_list {
|
||||
-label "List of climbing images, separated by a comma:"
|
||||
-infmt %S
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# CARD: CONSTRAINTS
|
||||
|
||||
group constraints_group -name "Card: CONSTRAINTS" -decor normal {
|
||||
|
@ -1455,80 +1272,8 @@ module PW -title "PWSCF GUI: module PW.x" -script {
|
|||
-outfmt {" %s " %S}
|
||||
-infmt {%d %S}
|
||||
}
|
||||
#scriptvar old_nconstr
|
||||
#for {set i 1} {$i <= 50} {incr i} {
|
||||
# line constraint.$i -decor none [subst {
|
||||
# var constraint_type.$i {
|
||||
# -label "Type of constraint:"
|
||||
# -widget optionmenu
|
||||
# -value {
|
||||
# 'type_coord'
|
||||
# 'atom_coord'
|
||||
# 'distance'
|
||||
# 'planar_angle'
|
||||
# 'torsional_angle'
|
||||
# 'bennett_proj'
|
||||
# }
|
||||
# }
|
||||
#
|
||||
# packwidgets left
|
||||
# var constr.${i}_1 -label "constr(1,$i):" -validate fortranreal
|
||||
# var constr.${i}_2 -label "constr(2,$i):" -validate fortranreal
|
||||
# var constr.${i}_3 -label "constr(3,$i):" -validate fortranreal
|
||||
# var constr.${i}_4 -label "constr(4,$i):" -validate fortranreal
|
||||
#
|
||||
# packwidgets bottom
|
||||
# var constr_target_$i {
|
||||
# -label "Target for the constrain:"
|
||||
# -validate fortranreal
|
||||
# }
|
||||
# }]
|
||||
#}
|
||||
}
|
||||
}
|
||||
|
||||
# # CARD: COLLECTIVE_VARS
|
||||
#
|
||||
# group collective_vars_group -name "Card: COLLECTIVE_VARS" -decor normal {
|
||||
#
|
||||
# auxilvar collective_vars_enable {
|
||||
# -label "Use collective variables:"
|
||||
# -value {Yes No}
|
||||
# -widget radiobox
|
||||
# -default No
|
||||
# }
|
||||
#
|
||||
# group collective_vars_card -decor none {
|
||||
#
|
||||
# keyword collective_vars COLLECTIVE_VARS\n
|
||||
#
|
||||
# line collective_vars_line1 -decor none {
|
||||
# var ncolvar {
|
||||
# -label "Number of collective variables:"
|
||||
# -validate posint
|
||||
# -widget spinint
|
||||
# -default 1
|
||||
# -outfmt " %d "
|
||||
# }
|
||||
# var colvar_tol {
|
||||
# -label "Tolerance for keeping the collective variables satisfied:"
|
||||
# -validate fortranposreal
|
||||
# }
|
||||
# }
|
||||
#
|
||||
# table collective_vars_table {
|
||||
# -caption "Enter data for collective variables:\n colvar-type colvar(1,.) colvar(2,.) ... \n\n(see the definition of constr in the CONSTRAINTS card.)"
|
||||
# -head {colvar-type colvar-specifications ... ... ... ...}
|
||||
# -validate {string fortranreal}
|
||||
# -cols 6
|
||||
# -rows 1
|
||||
# -optionalcols 3
|
||||
# -widgets {{optionmenu {'type_coord' 'atom_coord' 'distance' 'planar_angle' 'torsional_angle' 'bennett_proj'}} entry}
|
||||
# -outfmt {" %s " %S}
|
||||
# -infmt {%d %S}
|
||||
# }
|
||||
# }
|
||||
# }
|
||||
|
||||
# CARD: OCCUPATIONS
|
||||
|
||||
|
|
Loading…
Reference in New Issue