updated doc-def for pw, cp and neb

git-svn-id: http://qeforge.qe-forge.org/svn/q-e/trunk/espresso@7615 c92efa57-630b-4861-b058-cf58834340f0
This commit is contained in:
marsamos 2011-03-25 15:26:03 +00:00
parent 38fbbe03fe
commit da167b1583
3 changed files with 48 additions and 515 deletions

View File

@ -43,27 +43,9 @@ input_description -distribution {Quantum Espresso} -package CP -program cp.x {
Z Mass_Z PseudoPot_Z
ATOMIC_POSITIONS { alat | bohr | crystal | angstrom }
in all cases except calculation = 'neb' or 'smd' :
X 0.0 0.0 0.0 {if_pos(1) if_pos(2) if_pos(3)}
Y 0.5 0.0 0.0
Z O.0 0.2 0.2
if calculation = 'neb' .OR. 'smd' :
first_image
X 0.0 0.0 0.0 {if_pos(1) if_pos(2) if_pos(3)}
Y 0.5 0.0 0.0
Z O.0 0.2 0.2
{ intermediate_image 1
X 0.0 0.0 0.0
Y 0.9 0.0 0.0
Z O.0 0.2 0.2
intermediate_image ...
X 0.0 0.0 0.0
Y 0.9 0.0 0.0
Z O.0 0.2 0.2 }
last_image
X 0.0 0.0 0.0
Y 0.7 0.0 0.0
Z O.0 0.5 0.2
[ CELL_PARAMETERS { cubic | hexagonal }
v1(1) v1(2) v1(3)
@ -76,9 +58,6 @@ input_description -distribution {Quantum Espresso} -package CP -program cp.x {
[ f_inp2(1) f_inp2(2) f_inp2(3) ... f_inp2(10)
f_inp2(11) f_inp2(12) ... f_inp2(nbnd) ] ]
[ CLIMBING_IMAGES
list of images, separated by a comma ]
[ CONSTRAINTS
nconstr { constr_tol }
constr_type(.) constr(1,.) constr(2,.) [ constr(3,.) constr(4,.) ] { constr_target(.) } ]
@ -102,7 +81,6 @@ input_description -distribution {Quantum Espresso} -package CP -program cp.x {
'relax',
'vc-relax',
'vc-cp',
'neb', 'smd',
'cp-wf'
(vc = variable-cell).
@ -159,7 +137,6 @@ input_description -distribution {Quantum Espresso} -package CP -program cp.x {
}
default {
1 if calculation = 'scf', 'nscf', 'bands';
0 if calculation = 'neb', 'smd';
50 for the other cases
}
}
@ -955,7 +932,7 @@ input_description -distribution {Quantum Espresso} -package CP -program cp.x {
namelist IONS {
label {
input this namelist only if calculation = 'cp', 'relax', 'vc-relax', 'vc_cp', 'neb', 'smd'
input this namelist only if calculation = 'cp', 'relax', 'vc-relax', 'vc_cp'
}
var ion_dynamics -type CHARACTER {
@ -1185,115 +1162,6 @@ input_description -distribution {Quantum Espresso} -package CP -program cp.x {
group {
label {
keywords used only in NEB and SMD calculations
}
var num_of_images -type INTEGER {
default { 0 }
info {
Number of points used to discretize the path
(it must be larger than 3).
}
}
var opt_scheme -type CHARACTER {
default { 'quick-min' }
info {
Specify the type of optimization scheme:
'sd' : steepest descent
'broyden' : quasi-Newton Broyden's second method (suggested)
'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.
}
}
var CI_scheme -type CHARACTER {
default { 'no-CI' }
info {
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
}
}
var first_last_opt -type LOGICAL {
default { .FALSE. }
info {
Also the first and the last configurations are optimized
"on the fly" (these images do not feel the effect of the springs).
}
}
var temp_req -type REAL {
default { 0.D0 Kelvin }
info {
Temperature used for the langevin dynamics of the string.
}
}
var ds -type REAL {
default { 1.D0 }
info {
Optimisation step length ( Hartree atomic units ).
If opt_scheme="broyden", ds is used as a guess for the
diagonal part of the Jacobian matrix.
}
}
vargroup -type REAL {
var k_max
var k_min
default { 0.1D0 Hartree atomic units }
info {
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.
}
}
var path_thr -type REAL {
default { 0.05D0 eV / Angstrom }
info {
The simulation stops when the error ( the norm of the force
orthogonal to the path in eV/A ) is less than path_thr.
}
}
var damp -type REAL {
default { 1.D0 }
info {
Damping coefficient. Ignored when "opt_scheme" is different
from "damped-dyn"
}
}
var use_freezing -type LOGICAL {
default { .FALSE. }
info {
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.
}
}
}
}
#
@ -1858,9 +1726,8 @@ Nota Bene 1: For calwf = 5, wffort is not used. The
previous scf calculation will be used instead !!!
}
}
when -test "calculation != 'neb' AND calculation != 'smd'" {
elsewhen {
syntax {
# non-path calculation
table atomic_coordinates {
rows -start 1 -end nat {
@ -1880,7 +1747,7 @@ Nota Bene 1: For calwf = 5, wffort is not used. The
info {
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.
}
default { 1 }
@ -1895,89 +1762,7 @@ Nota Bene 1: For calwf = 5, wffort is not used. The
}
}
elsewhen -test "calculation = 'neb' OR calculation = 'smd'" {
# path-calculation
message {
There are at least two groups of cards, each group is composed
by an identifier followed by "nat" lines as specified above:
identifier
X x y z { if_pos(1) if_pos(2) if_pos(3) }
The first group ( identifier="first_image" ) contains the first image;
the last group ( identifier="last_image" ) contains the last image.
There is also the possibility of specifying intermediate images;
in this case their coordinates must be set between the first_image
and the last_image ( identifier="intermediate_image", followed by
"nat" position lines ).
IMPORTANT:
Several intermediate images may be specified via intermediate_image
identifier, but the total number of configurations specified in the
input file must be less than num_of_images (as specified in &IONS).
The initial path is obtained interpolating between the specified
configurations so that all images are equispaced (only the coordinates
of the first and last images are not changed).
}
syntax {
# first_image
line { keyword first_image }
table atomic_coordinates_first_image {
rows -start 1 -end nat {
col X -type CHARACTER {}
colgroup -type REAL {
col x
col y
col z
}
optional {
colgroup -type INTEGER {
col if_pos(1)
col if_pos(2)
col if_pos(3)
}
}
}
}
# intermediate_image
optional {
line { keyword intermediate_image }
table atomic_coordinates_intermediate_image {
rows -start 1 -end nat {
col X -type CHARACTER {}
colgroup -type REAL {
col x
col y
col z
}
}
}
}
# last_image
line { keyword last_image }
table atomic_coordinates_last_image {
rows -start 1 -end nat {
col X -type CHARACTER {}
colgroup -type REAL {
col x
col y
col z
}
}
}
}
}
}
}
@ -2059,28 +1844,6 @@ Nota Bene 1: For calwf = 5, wffort is not used. The
}
#
# CLIMBING_IMAGES
#
card CLIMBING_IMAGES {
label {
Optional card, needed only if CI_scheme = 'manual', ignored otherwise !
}
syntax {
list climbing_images_list -type INTEGER {
format { index1, index2, ... indexN }
info {
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.
}
}
}
}
#
# CONSTRAINTS
#

View File

@ -10,7 +10,46 @@ input_description -distribution {Quantum Espresso} -package NEB -program neb.x {
BEWARE: TABS, DOS <CR><LF> CHARACTERS ARE POTENTIAL SOURCES OF TROUBLE
Structure of the input data:
General input file structure:
===============================================================================
neb.x DOES NOT READ FROM STANDARD INPUT
There are two ways for running a calculation with neb.x:
1) specifying a file to parse with the ./neb.x -inp or
neb.x -input command line option.
2) or specifying the number of copies of PWscf input ./neb.x -input\_images.
For case 1) a file containing KEYWORDS has to be written (see below).
These KEYWORDS tells the parser which part of the file regards neb specifics
and which part regards the energy/force engine (at the moment only PW).
After the parsing different files are generated: neb.dat, with
neb specific variables and a set of pw_*.in PWscf input files like
,one for each input position. All options for a single SCF calculation apply.
The general structure of the file to be parsed is:
BEGIN
BEGIN_PATH_INPUT
... neb specific namelists and cards
END_PATH_INPUT
BEGIN_ENGINE_INPUT
BEGIN_ENGINE_INPUT
...pw specific namelists and cards
BEGIN_POSITIONS
FIRST_IMAGE
...pw ATOMIC_POSITIONS card
INTERMEDIATE_IMAGE
...pw ATOMIC_POSITIONS card
LAST_IMAGE
...pw ATOMIC_POSITIONS card
END_POSITIONS
... other pw specific cards
END_ENGINE_INPUT
END
For case 2) neb.dat and all pw_1.in, pw_2.in ... should be already present.
Structure of the input data (file neb.dat) :
===============================================================================
&PATH

View File

@ -43,27 +43,9 @@ input_description -distribution {Quantum Espresso} -package PWscf -program pw.x
Z Mass_Z PseudoPot_Z
ATOMIC_POSITIONS { alat | bohr | crystal | angstrom }
in all cases except calculation = 'neb' or 'smd' :
X 0.0 0.0 0.0 {if_pos(1) if_pos(2) if_pos(3)}
Y 0.5 0.0 0.0
Z O.0 0.2 0.2
if calculation = 'neb' .OR. 'smd' :
first_image
X 0.0 0.0 0.0 {if_pos(1) if_pos(2) if_pos(3)}
Y 0.5 0.0 0.0
Z O.0 0.2 0.2
{ intermediate_image 1
X 0.0 0.0 0.0
Y 0.9 0.0 0.0
Z O.0 0.2 0.2
intermediate_image ...
X 0.0 0.0 0.0
Y 0.9 0.0 0.0
Z O.0 0.2 0.2 }
last_image
X 0.0 0.0 0.0
Y 0.7 0.0 0.0
Z O.0 0.5 0.2
K_POINTS { tpiba | automatic | crystal | gamma | tpiba_b | crystal_b }
if (gamma)
@ -85,9 +67,6 @@ input_description -distribution {Quantum Espresso} -package PWscf -program pw.x
[ f_inp2(1) f_inp2(2) f_inp2(3) ... f_inp2(10)
f_inp2(11) f_inp2(12) ... f_inp2(nbnd) ] ]
[ CLIMBING_IMAGES
list of images, separated by a comma ]
[ CONSTRAINTS
nconstr { constr_tol }
constr_type(.) constr(1,.) constr(2,.) [ constr(3,.) constr(4,.) ] { constr_target(.) } ]
@ -110,9 +89,7 @@ input_description -distribution {Quantum Espresso} -package PWscf -program pw.x
'relax',
'md',
'vc-relax',
'vc-md',
'neb',
'smd'
'vc-md'
(vc = variable-cell).
}
@ -169,7 +146,6 @@ input_description -distribution {Quantum Espresso} -package PWscf -program pw.x
}
default {
1 if calculation = 'scf', 'nscf', 'bands';
0 if calculation = 'neb', 'smd';
50 for the other cases
}
}
@ -1269,7 +1245,7 @@ input_description -distribution {Quantum Espresso} -package PWscf -program pw.x
var startingpot -type CHARACTER {
info {
'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 )
@ -1317,7 +1293,7 @@ input_description -distribution {Quantum Espresso} -package PWscf -program pw.x
namelist IONS {
label {
input this namelist only if calculation = 'relax', 'md', 'vc-relax', 'vc-md', 'neb', 'smd'
input this namelist only if calculation = 'relax', 'md', 'vc-relax', 'vc-md'
}
var ion_dynamics -type CHARACTER {
@ -1600,121 +1576,6 @@ input_description -distribution {Quantum Espresso} -package PWscf -program pw.x
}
}
group {
label {
keywords used only in NEB and SMD calculations
}
var num_of_images -type INTEGER {
default { 0 }
info {
Number of points used to discretize the path
(it must be larger than 3).
}
}
var opt_scheme -type CHARACTER {
default { 'quick-min' }
info {
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.
}
}
var CI_scheme -type CHARACTER {
default { 'no-CI' }
info {
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
}
}
var first_last_opt -type LOGICAL {
default { .FALSE. }
info {
Also the first and the last configurations are optimized
"on the fly" (these images do not feel the effect of the springs).
}
}
var temp_req -type REAL {
default { 0.D0 Kelvin }
info {
Temperature used for the langevin dynamics of the string.
}
}
var ds -type REAL {
default { 1.D0 }
info {
Optimisation step length ( Hartree atomic units ).
If opt_scheme="broyden", ds is used as a guess for the
diagonal part of the Jacobian matrix.
}
}
vargroup -type REAL {
var k_max
var k_min
default { 0.1D0 Hartree atomic units }
info {
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.
}
}
var path_thr -type REAL {
default { 0.05D0 eV / Angstrom }
info {
The simulation stops when the error ( the norm of the force
orthogonal to the path in eV/A ) is less than path_thr.
}
}
var use_masses -type LOGICAL {
default { .FALSE. }
info {
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"
}
}
var use_freezing -type LOGICAL {
default { .FALSE. }
info {
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.
}
}
}
}
#
@ -1804,52 +1665,6 @@ input_description -distribution {Quantum Espresso} -package PWscf -program pw.x
}
}
#
# namelist EE
#
namelist EE {
label {
input this namelist only when assume_isolated='dcc' in SYSTEM namelist
}
var ecutcoarse -type REAL {
default { 100 }
info {
kinetic energy cutoff defining the grid used for
the open boundary correction.
}
}
var mixing_charge_compensation -type REAL {
default { 1.0 }
info { scf mixing parameter for the correcting potential.
}
}
var n_charge_compensation -type INTEGER {
default { 5 }
info {
the correcting potential is updated (mixed) every
n_charge_compensation iteration only.
}
}
var comp_thr -type REAL {
default { 1.d-4 }
info {
inclusion of dcc correction begins when scf convergence
is better than comp_thr.
}
}
var nlev -type INTEGER {
default { 4 }
info {
number of depth levels used by the multigrid solver.
}
}
}
#
# card ATOMIC_SPECIES
@ -1920,9 +1735,8 @@ input_description -distribution {Quantum Espresso} -package PWscf -program pw.x
previous scf calculation will be used instead !!!
}
}
when -test "calculation != 'neb' AND calculation != 'smd'" {
elsewhen {
syntax {
# non-path calculation
table atomic_coordinates {
rows -start 1 -end nat {
@ -1964,7 +1778,7 @@ input_description -distribution {Quantum Espresso} -package PWscf -program pw.x
info {
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.
}
default { 1 }
@ -1979,89 +1793,6 @@ input_description -distribution {Quantum Espresso} -package PWscf -program pw.x
}
}
elsewhen -test "calculation == 'neb' OR calculation == 'smd'" {
# path-calculation
message {
There are at least two groups of cards, each group is composed
by an identifier followed by "nat" lines as specified above:
identifier
X x y z { if_pos(1) if_pos(2) if_pos(3) }
The first group ( identifier="first_image" ) contains the first image;
the last group ( identifier="last_image" ) contains the last image.
There is also the possibility of specifying intermediate images;
in this case their coordinates must be set between the first_image
and the last_image ( identifier="intermediate_image", followed by
"nat" position lines ).
IMPORTANT:
Several intermediate images may be specified via intermediate_image
identifier, but the total number of configurations specified in the
input file must be less than num_of_images (as specified in &IONS).
The initial path is obtained interpolating between the specified
configurations so that all images are equispaced (only the coordinates
of the first and last images are not changed).
}
syntax {
# first_image
line { keyword first_image }
table atomic_coordinates_first_image {
rows -start 1 -end nat {
col X -type CHARACTER {}
colgroup -type REAL {
col x
col y
col z
}
optional {
colgroup -type INTEGER {
col if_pos(1)
col if_pos(2)
col if_pos(3)
}
}
}
}
# intermediate_image
optional {
line { keyword intermediate_image }
table atomic_coordinates_intermediate_image {
rows -start 1 -end nat {
col X -type CHARACTER {}
colgroup -type REAL {
col x
col y
col z
}
}
}
}
# last_image
line { keyword last_image }
table atomic_coordinates_last_image {
rows -start 1 -end nat {
col X -type CHARACTER {}
colgroup -type REAL {
col x
col y
col z
}
}
}
}
}
}
}