This program is usually called from the script min_lapw and
performs movements of the atomic positions according to the calculated
forces (please read Sec. 5.3.2). It generates a new case.struct file which can be used
in the next geometry/time step. Depending on the input options,
mini helps to find the equilibrium positions of the atoms
or performs a molecular dynamics simulation (which might take very long time).
For finding the equilibrium positions different methods are available.
We
recommend PORT, a ``reverse-communication trust-region
Quasi-Newton method'' from the Port library
(http://www.bell-labs.com/project/PORT/doc/port3doc.tar.gz, Gay 1983),
which was implemented by L.D.Marks
(L-marks@northwestern.edu, http://www.numis.northwestern.edu). It
minimizes
the total energy and NOT the forces (using the forces as derivative of E
vs.
atomic positions). In cases when energy and forces are not "compatible",
eg.
because of numerical noise due to limited scf convergence, small RKmax
or
crude k-mesh, PORT may fail.
An interesting alternative is
a sophisticated modified steepest-descent method (NEW1), which
minimizes the
forces (does not use the total energy). Eventually a damped Newton
dynamics is also available.
The forces are read from a file
case.finM, while the ``history'' of the geometry optimization
or MD is stored in case.tmpM
One can constrain individual positions in case.inM or define
linear constrains for several positions using case.constraint
(thanks to B.Yanchitsky (Kiev, yan@imag.kiev.ua); for details see comments
in the SRC_templates/case.constraint file). In case of calculations with
linear constrains
one should use NEW1 (in case.inM). When constraining individual
positions and using PORT, one should after modifications in case.inM
rerun x pairhess -copy (which copies .minpair to .minrestart and
.min_hess).
1 Execution
The program mini is executed by invoking the command:
mini mini.def or x mini
2 Dimensioning parameters
The following dimensioning parameters are collected
in the file param.inc:
MAXIT | maximum number of geometry steps |
NRAD | number of radial mesh points |
NCOM | number of LM terms in density |
NNN | number of neighboring atoms for nn |
NSYM | order of pointgroup |
3 Input
Two examples are given below; one for a PORT geometry optimization, and one
for molecular dynamics using a NOSE thermostat:
1 Input for geometry optimization:
---------------- top of file: xxx.inM -------------------- PORT 2.0 0.25 (PORT/NEWT tolf step0 (a4,2f5.2)) 1.0 1.0 1.0 3.0 ( 1..3:delta, 4:BO/eta(1=friction zero)) 1.0 1.0 1.0 6.0 ( 1..3=0 constraint) ------------------- bottom of file ------------------------
Interpretive comments on this file are as follows.
- line 1:
- format(a4,2f5.2)
MINMOD Modus of the calculation PORT Geometry optimization with reverse-communication trust-region Quasi-Newton routine from the Port library. Recommended option. NEW1 Performs geometry optimization with "sophisticated" steepest-descent method with automatic adaptation of stepsize (still experimental, but when PORT fails, an interesting alternative) NEWT Performs geometry optimization with damped Newton scheme according to where and are the coordinate and force at time step . When the force has changed its direction from the last to the present timestep (or is within the tolerance TOLF), will be set to . Please see also the comments in Sect. 5.3.2 BFGS Performs geometry optimization with the variable metric method of BFGS. This option works only when a quadratic approximation is a good approximation to the specific potential surface. Obsolete. TOLF Force tolerance, geometry optimization will stop when all forces are below TOLF. STEP0 Initial "Trust-region radius". Determines size of first geometry step. - line 2:
- free format
DELTA(1-3) For PORT (and BFGS): Precondition parameters: rescales the gradient and thus determines the size of the geometry steps For NEWT/NEW1: x,y,z-delta parameters. Determines speed of motion. Good values must be found for each individual system. They depend on the atomic mass, the vibrational frequencies and the starting point (see Sect. 5.3.2). DELTA(i) = 0 constrains the corresponding i-th coordinate (for PORT: after setting a DELTA(i)=0, also rerun pairhess to set a proper Hessian). The delta-x,y,z correspond to the global coordinates (the same as the positions in case.struct and the forces :FGL from case.scf). Whenever you change these DELTA(i) you must remove file case.tmpM ! ETA For NEWT: damping (friction) parameter. ETA=1 means no friction, ETA=0 means no speed from previous time steps PORT: changes the strength of the bonds when running pairhess and ZWEIGHT is negative (see the pairhess description), otherwise not used NEW1: ETA is not used - line 2:
- must be repeated for every atom
2 Input for Molecular dynamics:
---------------- top of file: nbc.inM -------------------- NOSE (NOSE/MOLD (a4)) 58.9332 400. 1273. 5.0 (Masse, delta t, T, nose-frequency) 58.9332 400. 1273. 5.0 58.9332 400. 1273. 5.0 58.9332 400. 1273. 5.0 58.9332 400. 1273. 5.0 58.9332 400. 1273. 5.0 ------------------- bottom of file ------------------------
Interpretive comments on this file are as follows.
- line 1:
- format(a4,f5.2)
MINMOD Modus of the calculation MOLD Performs next molecular dynamics timestep NOSE Performs next molecular dynamics timestep using a NOSE thermostat - line 2:
- free format
MASS Atomic mass of atom TIMESTEP Time step of MD (in atomic units, depends on highest vibrational frequencies) TEMP Simulation Temperature (K) NOSF Nose-frequency - line 2:
- must be repeated for every atom
0 Comments