poco_org
所属分类:数学计算
开发工具:C/C++
文件大小:1235KB
下载次数:30
上传日期:2008-03-01 23:02:52
上 传 者:
cjoy
说明: 一个有用的分子动力学小辅助程序,用于计算分子间的势函数,跟lammps合起来用
(A useful molecular dynamics of small-assisted procedures, used to calculate the intermolecular potential function, with the combined use lammps)
文件列表:
poco_org\_desktop.ini (9, 2006-09-19)
poco_org\poco_org\Al_pot.j (36677, 1995-12-07)
poco_org\poco_org\_desktop.ini (9, 2006-09-19)
poco_org\poco_org\slj\Al_pot.j (36677, 1994-10-08)
poco_org\poco_org\slj\Al_pot.out (69737, 1994-10-08)
poco_org\poco_org\slj\comp (2706, 1995-04-11)
poco_org\poco_org\slj\comp.dump3 (0, 1995-04-07)
poco_org\poco_org\slj\comp.e (12173, 1995-04-11)
poco_org\poco_org\slj\comp.f (13637, 1995-04-11)
poco_org\poco_org\slj\comp.out (17575, 1995-04-11)
poco_org\poco_org\slj\comp.rh (11561, 1995-04-11)
poco_org\poco_org\slj\comp.uu (11561, 1995-04-11)
poco_org\poco_org\slj\comp.v2 (11561, 1995-04-11)
poco_org\poco_org\slj\look (2704, 1995-03-30)
poco_org\poco_org\slj\look.dump3 (0, 1995-03-30)
poco_org\poco_org\slj\look.e (15836, 1995-03-30)
poco_org\poco_org\slj\look.f (19747, 1995-03-30)
poco_org\poco_org\slj\look.out (19200, 1995-03-30)
poco_org\poco_org\slj\look.rh (11561, 1995-03-30)
poco_org\poco_org\slj\look.uu (11561, 1995-03-30)
poco_org\poco_org\slj\look.v2 (11561, 1995-03-30)
poco_org\poco_org\slj\MgAl.cathy (84995, 1995-03-30)
poco_org\poco_org\slj\plotscr (76, 1995-04-19)
poco_org\poco_org\slj\poco.in_test (2361, 1995-07-08)
poco_org\poco_org\slj\test.dump3 (0, 1995-02-07)
poco_org\poco_org\slj\test.e (12173, 1995-03-16)
poco_org\poco_org\slj\test.f (13637, 1995-03-16)
poco_org\poco_org\slj\test.out (17575, 1995-03-16)
poco_org\poco_org\slj\test.pui (241197, 1995-02-07)
poco_org\poco_org\slj\test.rh (11561, 1995-03-16)
poco_org\poco_org\slj\test.uu (11561, 1995-03-16)
poco_org\poco_org\slj\test.v2 (11561, 1995-03-16)
poco_org\poco_org\slj\test2.dump3 (0, 1995-07-08)
poco_org\poco_org\slj\test2.e (12173, 1995-07-08)
poco_org\poco_org\slj\test2.f (13637, 1995-07-08)
poco_org\poco_org\slj\test2.j (36676, 1995-07-08)
poco_org\poco_org\slj\test2.out (14498, 1995-07-08)
poco_org\poco_org\slj\test2.rh (11561, 1995-07-08)
poco_org\poco_org\slj\test2.uu (11561, 1995-07-08)
... ...
Structure of the input file for POCO when using force data file in
Dave's format
========================================================= Input file:
filein (no suffix, used to read .dump3)
fileout (no suffix, used to write .dump3,.out,.j,.pui,.pfi,.v2, ... )
type1 weight1 nbeg1 nend1 nskip1 'filetrj1' (trajectory #1 parameters)
... ...
typeL weightL nbegL nendL nskipL 'filetrjL' (trajectory #L parameters)
-1 0. ' ' (fixed line indicating end of trajectory list)
nstart
lf mf argmin arglow argupp argmax mass istart ramp 'filefunc'
.... ... [a line as above for each function in the potential]
kpotout (controls output of potentials in standard MD formats)
delta
iscale
ielement 'structure' ecohexp bmodexp alatexp alatctl
ipri1 ipri2 ipri3 ipri4 ipri5
1. deviation (for the bulk coordination constraint)
0. deviation (for the glue deriv. at n=1 constraint) (PF ONLY!)
center deviation (for the cohesive energy constraint)
0. deviation (for the pressure constraint)
center deviation (for the vacancy formation energy constraint)
center deviation (for the bulk modulus constraint)
center deviation (for the C11-C12 constraint)
center deviation (for the C44 constraint)
center deviation (for a list on constraint on Rose energy and pressure)
... ... ... ...
--- at this point an arbitrary number of lines like the following
--- can be inserted. Each of them specifies a 'phase' for the run.
--- All the phase will be executed in sequence.
method maxitn ftol - eps feedback idump ishow (minimization run)
...
method maxitn ftol - eps feedback idump ishow (minimization run)
=========================================================== Explanations:
filein:
a string for filename. POCO can read an with suffix ".dump3"
You can get such a file from you previous run of POCO.
If you would like to continue your run from there give the filename without ".dump" suffix.
If you do not have such a file, leave this field blank.
fileout:
a string for base file name of the output files. POCO can generate several files with different suffixes. But the base file name of these files is "fileout"
The following six parameters are repeated for each force data file
we wish to include. The list is terminated by a dummy line,
which must always be there, with 'type = -1'.
type: Use Dave's format, you just set it to 1
weight: weight given to data in this trajectory in the objective
function. You can set it to 1.0 and get relative weight of forces
for each trajectory by setting derivation for each physical parameter such as bulk modulus.
nbeg: beginning time step. Set it to 1 for Dave's format
nend: terminating time step. Set it to 1 for Dave's format
nskip: Set it to 1
filetrj: name of the force data file used as input. Use complete file names, including directory name relative to current directory
MUST be included in quotes since they are read by a READ*.
nstart: continuation flag. Where to start the new fitting:
-1: start from scratch (new potentials are generated)
0: start from the last available configuration in filein.dump3
>0: start from corresponding number of the configuration taken from
filein.dump3
The following seven parameters are repeated for as many times as
the number of functions involved (3 for EAM)
lf: number of degrees of freedom (knots on which the spline
for this function is defined). Better to choose it in
such a way that (rmax-rmin)/lf (the grid spacing) is a
round number.
mf: the 'mode', defining how the function is converted back
and forth between function values and parameters.
mf is an integer number between 0 and 6, corresponding
to 7 different function<==>parameters mapping schemes.
odd modes are for left-anchored functions, even modes
for right-anchored, 0 is a universal mode.
unanchored functions can go with any mode, but 0 is
probably the most reasonable one.
Usually, V2, PI, RH, FN are right-anchored (at the cutoff);
UU, ZT are left-anchored (at n=0); GN is unanchored.
mf=0 simple, direct parametrization.
mf=1 direct parametrization for left-anchored functions
with scaling on right side (the scaling parameter
is the last).
mf=2 direct parametrization for right-anchored functions
with scaling on left side (the scaling parameter
is the first).
mf=3 simple differential parametrization for left-anchored
functions (the non-differential parameter is the first).
mf=4 simple differential parametrization for right-anchored
functions (the non-differential parameter is the last).
mf=5 differential parametrization for left-anchored
functions with scaling on right side (the scaling
parameter is the last).
mf=6 differential parametrization for right-anchored
functions with scaling on left side (the scaling
parameter is the first).
The recommended values at present are the following:
for V2 (pair potential) choose 4
for RH (electron density) choose 6
for UU (embedding function) choose 3
argmin: minimum value of the function argument.
arglow: starting value of the argument for the spline grid.
argupp: ending value of the argument for the spline grid.
argmax: maximum value of the function argument.
It must be argmin < arglow < argupp < argmax.
These four parameters define the placement of spline
knots as follows:
| | | | | ... | | | | |
argmin arglow argupp argmax
1 <-------- lf - 1 ---------> 1
mass: 'mass' assigned to the parameters connected to this
function for simulated annealing purposes. You do not user it
with Dave's format. Set it to 1.0
istart: nature of the initial state (for nstart=-1 calculations,
ignored otherwise), as follows:
0: function is just zero everywhere
10: function as found in a funcfl file
11: function as found in a setfl file, element #1
12: function as found in a setfl file, element #2
... ... ...
The name of the file from which to read initial function is specified by filefunc below.
ramp: amplitude of the random displacement to the function,
added to the initial state as defined by the previous
parameter. Set it to 0 if you use Dave's format.
'filefunc': name of the file containing the function, if istart
above is >0 (ignored otherwise). It's a full
filename with all suffixes, and MUST be included in quotes
since it is read by a READ*.
kpotout: controls whether potential files in standard MD formats
are produced when fitting is done:
0: no files
1: PFUI file in .pui format (unformatted)
2: PFUI file in .pfi format (formatted)
10: file (.j) in setfl format
11: 10+1
12: 10+2
delta: time step for parameter dynamics, set it to 5.0d-4.
iscale: if =0, the scaling feature is not enabled.
if =1, the scaling feature is enabled.
the scaling feature causes the program to rescale the potential at the end of the run in order to have the minimum at 'alatexp', corresponding to an energy 'ecohexp' (see below). the potential in the dump file is rescaled, only its 'external' representations. moreover, at the beginning, some constraints centers (those containing a length scale) are also scaled, in order to have them (roughly) satisfied *after* rescaling.
ielement: e atomic number of the material, for example, ielement = 29
for copper
'structure': hree-letter string enclosed in quotes indicating the crystal
structure. at present, it must be one of the following:
'fcc', 'hcp', 'bcc', 'sc' or 'tet'
ecohexp: experimental cohesive energy (eV/atom). at the end of the run, the energy scale will be redefined in order to have this as the cohesive energy at the 'alat' lattice parameter. this value is NOT used during the run (the energy constraint operates with the 'center' value specified in the next section).
it may however be used to obtain energy 'center' values at
lattice constants away from the equilibrium one by using Rose
et al equation; see below.
bmodexp: experimental bulk modulus (in 10^12 ergs/cm^3 = 10^12 dyne/cm^2). same considerations as in the above entry of ecohexp.
alatexp: experimental lattice parameter (in Angstrom). for hcp, it
must be intended that alat/sqrt(2) is the first-neighbor distance as in fcc (c/a will be the 'perfect' one).
at the end of the run, the length scale will be redefined
in order to place the minimum at this lattice constant.
this value is NOT used during the run. the value used
in the run is alatctl defined below.
alatctl: 'control' lattice parameter (in Angstrom). for hcp, as above.
this should be placed roughly where the minimum of the
potentials want to be for a given set of first principles data.
constraints that must be calculated by assuming a lattice
constant for the perfect crystal, such as on the cohesive
energy or the vacancy formation energy or the elastic constants,
will be calculated by assuming alatctl as lattice spacing.
if you have no idea about what what to put here, then put
alatctl=alatexp, but then please do not put a strong
energy derivative constraint otherwise you can 'confuse' the
system, receiving contrasting suggestion by the forces and
by you.
In a sense, alatctl should be regarded as a 'center' value
for a constraint. Only, the lattice spacing itself is not
directly a constraint. However, it indirectly affects how other
constraints are computed.
Finally, note that alatctl may be automatically changed in
successive phases of the runs by the 'feedback' feature (see
description later).
ipri1,ipri2,ipri3,ipri4,ipri5: these are constraints indexes. the user
picks up five constraints, whose value will be printed at each
iteration of minimization or of parameter dynamics. the number
of five is simply a limit to allow each line to stay into 80
columns.
The following two parameters are repeated for as many times as
the number of constraints involved:
center: center value for each constraint. some of them should always
be left equal to specific values. in particular, the
bulk coordination center should always be 1, and the glue
derivative at n=1 should always be zero. This last
constraint is not present for hamiltonian types 12, 22
(angular forces make it unnecessary).
deviation: controls the deviation that the constraint may have
during the run. Weights are automatically assigned so
that a 'deviation' from 'center' will result in a
contribution 10^-6 to the total Z function.
This may be a typical value for a constraint; of
course, some may do much better, some much worse than this.
A NEGATIVE deviation removes the constraint (=> weight
will be zero).
A ZERO deviation turns on constrained minimization, where
the system is forced to satisfy _exactly_ the constraint
during the whole minimization procedure. This feature is
actually not working at present (it causes the minimization
routine to exit prematurely), so do not use it. It will
perhaps work one day.
method: method used for the minimization. A list can be found in
the source code. The preferred method is #3 (quasi-Newton).
So set it to 3
maxitn: maximum number of iterations allowed in the minimization.
Typically you can set it to be between 100 and 200.
ftol: tolerance value for the minimization, defines the convergence
criterion.
-: represents a dummy real number that must be there but is
entirely irrelevant.
eps: displacements for the parameters used to perform numerical
differentiation. A tipical number could be 1.D-6.
One could input a positive or a negative number, its absolute
value is what will be used and the sign is used to select
between two possible methods:
eps<0: for each derivative, just one function evaluation
is made, where the relevant parameter has been displaced
by +eps with respect to the reference value. this is
fast, but the derivative really refers to the point
displaced by eps/2 and not to the reference value.
eps>0: for each derivative, two function evaluations are made,
where the relevant parameter has been displaced by +eps
and by -eps. this is more accurate than the previous
method but twice as slow.
It is suggested to use <0 for 'rough' work such as annealings
and early minimization stages, and >0 at final minimization stages.
Note that this parameter is not relevant to the minimization
methods that do not require gradient evaluations, or that
carry them out by their own internal method.
feedback: This parameter controls
feedback=0: the feature is turned off. the constraints for the
next phase will not be modified.
feedback>0: 'alatctl' will be changed at the end of this phase,
and then all the contraints are recomputed, in preparation
for the next phase. The new 'alatctl' will be computed as
follows. First, the distance corresponding to the energy
minimum 'alat0' for a perfect crystal structure is found.
then, alatctl_new = alatctl + feedback*(alat0-alatctl).
so, if feedback=1 then alatcrl_new is set equal to alat0.
if less than 1, a conservative approach is taken of
pushing it in the right direction but not all the way.
if more than 1, one plays with overshoots (at his own risk!).
feedback<0: strongly discouraged!!!
WARNING: this feature must be used only when the potential is
fairly stabilized and one is doing fine tuning. It is essential
that there are no other local minima at weird distances. If the
minimization routine falls into a weird minimum and rescaling is
done on that minimum, a catastrophe may occur.
The feedback feature is generally used together with 'iscale=1'
(see above), which guarantees that the constraints are recomputed
properly.
idump: controls the periodicity of parameter dumps on the 'dump file'
(with suffix .dump3) (for later continuation of another run from
this exact point).
<0: no dump
0: dump at the end of the phase
>0: periodicity (in number of steps, or iterations)
Set it to 0 for Dave's format.
ishow: controls the periodicity of potential dumps on the three
'show files' (for plotting, etc).
<0: no dump
0: dump at the end of the phase
>0: periodicity (in number of steps, or iterations)
Set it to 0 for Dave's format.
One example of input file format is illustrated in the following. Note
that words between "**" is comment and should not be included in your
input file.
** line 1 is blank **
Ta_test_11 ** line 2 **
1 1. 1 1 1 '../Traj/Ta/yhl/Ta_2500.traj-y-i' 1 steps
1 1. 1 1 1 '../Traj/Ta/yhl/Ta_500.traj-y-i' 1 steps
1 1. 1 1 1 '../Traj/Ta/yhl/Ta_b_1000.traj-y-i' 1 steps
1 1. 1 1 1 '../Traj/Ta/yhl/Ta_b_ad.traj-y-i' 1 steps
1 1. 1 1 1 '../Traj/Ta/yhl/Ta_int_1500K.traj-y-i' 1 steps
1 1. 1 1 1 '../Traj/Ta/yhl/Ta_vac.traj-y-i' 1 steps
-1 0. 0 0 0 ' ' *** line signalling end of trajectory list ***
-1 nstart
22 4 1.6513d0 1.8183 3.81*** 3.***659 1.d0 11 0.d-2 '../guess/Ta_12.setfl' v2
22 6 1.6513d0 1.8183 3.81*** 3.***659 1.d0 11 0.d-2 '../guess/Ta_12.setfl' rh
22 3 0.0d0 0.10d0 1.10d0 1.20d0 1.d0 11 0.d-2 '../guess/Ta_12.setfl' uu
11 kpotout (0=no,1=mas,2=dyn)
5.d-4 delta
1 iscale
73 'bcc' -8.089d0 1.942d0 3.3026d0 3.30676d0 Z 'struc' Ecoh bmod alatexp alatct
1 3 5 8 9 ipri1 ipri2 ipri3 ipri4 ipri5
1.d0 0.00002d0 bulk coordination constraint
0.d0 0.0001d0 glue deriv. at n=1 constraint
-8.089d0 0.001d0 cohesive energy constraint
0.d0 0.0001d0 pressure constraint
2.95d0 0.002d0 vacancy formation energy constraint
1.02d-2 -1.0 fcc/hcp stacking fault energy constraint
0.070d0 -1.0 fcc 111 surface energy constraint
1.942d0 0.001d0 bulk modulus constraint
1.0816d0 0.002d0 C11-C12 constraint
0.8736d0 0.002d0 C44 constraint
0.d0 -1.d0 fcc cohesive energy constraint
0.d0 0.002d0 Rose, a/a0=0.90 E constraint
0.d0 0.002d0 Rose, a/a0=0.94 E constraint
0.d0 0.002d0 Rose, a/a0=0.97 E constraint
0.d0 0.002d0 Rose, a/a0=1.05 E constraint
0.d0 0.002d0 Rose, a/a0=1.11 E constraint
0.d0 0.002d0 Rose, a/a0=1.20 E constraint
0.d0 0.002d0 Rose, a/a0=1.30 E constraint
0.d0 0.002d0 Rose, a/a0=1.40 E constraint
0.d0 0.002d0 Rose, a/a0=1.50 E constraint
0.d0 0.002d0 Rose, a/a0=1.60 E constraint
0.d0 0.002d0 Rose, a/a0=1.75 E constraint
0.d0 -1.d0 Rose, a/a0=2.00 E constraint
0.d0 0.002d0 Rose, a/a0=0.90 P constraint
0.d0 0.002d0 Rose, a/a0=0.94 P constraint
0.d0 0.002d0 Rose, a/a0=0.97 P constraint
0.d0 0.002d0 Rose, a/a0=1.05 P constraint
0.d0 0.002d0 Rose, a/a0=1.11 P constraint
0.d0 0.002d0 Rose, a/a0=1.20 P constraint
0.d0 0.003d0 Rose, a/a0=1.30 P constraint
0.d0 0.004d0 Rose, a/a0=1.40 P constraint
0.d0 0.004d0 Rose, a/a0=1.50 P constraint
0.d0 0.006d0 Rose, a/a0=1.60 P constraint
0.d0 0.008d0 Rose, a/a0=1.75 P constraint
0.d0 -1.d0 Rose, a/a0=2.00 P constraint
3 100 1.d-3 0. -0.0005 0.0d0 0 0
3 100 1.d-4 0. -0.0001 0.0d0 0 0
3 200 1.d-6 0. 1.0D-6 0.0d0 0 0
3 200 1.d-8 0. 1.0D-6 0.0d0 0 0
3 300 1.d-11 0. 1.0D-6 0.0d0 0 0
3 300 1.d-14 0. 1.0D-6 0.0d0 0 0
-3 100 1.d-13 0. 1.0D-6 0.0d0 0 0
近期下载者:
相关文件:
收藏者: