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

近期下载者

相关文件


收藏者