Keywords Job Steps In DMAREL - Unite Cell  Torsion Setup Main Page
Next: Publications Previous: Job Steps In DMAREL - Unit Cell Torsion Setup Contents: Contents Page

Perfect Lattice Calculation


The perfect lattice calculation step is invoked by the keywords STAR PLUT.

STAR PLUT


Perfect Lattice Relaxation Control Parameters All of the directives are optional except the final start. The defaults are indicated.

CONP

Operands none

This instructs DMAREL to relax the lattice vectors as well as the basis positions. There are 6 independent components of the bulk strain tensor which augment the 3NBAS×3NBAS matrix of basis strain components. The relaxation of both cell and atom components is carried out simultaneously. Only one of CONV and CONP may be given; this is the default directive.

CONV

Operands none

This instructs the program to keep the lattice vectors fixed during the relaxation.



MAXI

Operand Type I
Operand Name MAXIT

This defines the maximum number of iterations which will be carried out before a dump is written. The default is zero, which calculates the lattice properties at this configuration with no relaxation.



MAXU

Operand Type I
Operand Name MAXUPD

MAXUPD gives the number of times the Hessian will be updated before it is recalculated. Recalculation of the Hessian also prints out the Elastic properties, and the forces. It is recommended that for large unit cells MAXU should not be set too small; a value greater than 100 should be used. The default is 1000, which effectively means that the properties will only be recalculated when the structure converges or the calculation stops for another reason.



MAXD

Operand type F
Operand name MAXDISP

MAXDISP is the maximum permitted displacement of a coordinate per iteration. The default is 0.05 Angstroms, which is set small for most problems. A larger value may improve the speed at which a problem converges, but may allow the problem to reach a region in which the structure is physically unreasonable.



LIMI

Operand type F
Operand name LIMIT

LIMIT gives the convergence test at which the relaxation stops with a valid minimisation. The minimisation will assume to have converged if all displacements in one cycle are less than LIMI. The default is 1.0E-06 Angstroms, which is set very small. Most problems will be satisfactory with LIMI 0.0001.



WCAL

Operand Types A
Operand Names WKEY

This forces the program to recalculate the Hessian rather than use the updating algorithm if the surface is abnormal. The default is no recalculation. The keyword WKEY can have two values, GDPO or NGCV. GDPO forces recalculation if an increase in energy is found after a Hessian update. NGCV forces recalculation if the curvature of the energy surface is negative. If both are required, the keyword WCAL may be given twice.



FIX

STDC


Operands none

This directive instructs the minimiser to step in the steepest descent direction if the change in energy from the Hessian update is positive.



SUBS

ENGO

Operand Types I
Operand Names ICTRL

ICTRL is an integer which determines whether matrix properties will be calculated. It may have two values. ICTRL = 3 is the default and instructs the program to calculate matrix properties. ICTRL = 1 calculates lattice energy only. (ICTRL = 2 is used for testing purposes only and should not be used). If a defect calculation is being carried out in DMAREL matrix properties are needed. ENGO 1 in DMAREL is only useful if no relaxation is being carried out (MAXI 0).



TIDY

LIMG


Operand type F
Operand name GLIMIT

GLIMIT gives the convergence test at which the relaxation stops with a valid minimisation due to energy test being satisfied. The minimisation will assume to have converged if the predicted change in energy, calculated as the scalar product of the gradient vector and displacement vector, is less than GLIMIT. The default is 1.0E-10, which is set very small. Most problems will be satisfactory with LIMG = 0.0001×LIMI.



UDTE

Operand type F
Operand name UPDATE

UPDATE fine tunes the Hessian updating algorithm. The default value is 0.0, which will allow searching to continue in a given direction for a long way before updating. This can sometimes move into unphysical regions of the energy surface and give negative curvature. Setting a larger value will force the program to choose a new direction more often and may overcome this problem. It is suggested that a value of 0.1 for UPDATE would be suitable.


STAR

Operands none

This must be the final sub-directive in the list. It starts the execution of the perfect lattice calculation and then returns control to the main menu of directives.

Printed Output

COMMENCING WITH PLUTO CALCULATION
HESSIAN WILL BE UPDATED WHEN
(1.0+UDTE*ALPHA2/ALPHAM)*(1.0-ABS(GD2/GD1)) > 0.75
ALPHA2 = GREATEST SHIFT OF AN ION SINCE LAST UPDATE
ALPHAM = MAXIMUM ALLOWED SHIFT PER ITERATION
UDTE = UPDATE = USER DEFINED PARAMETER (DEFAULT ZERO)
GD2,GD1 ENERGY CHANGES IN SEARCH DIRECTION
This message is written if the UDTE option is used, and it describes how the Hessian update is modified.
START RELAXATION AT CONSTANT VOLUME
START RELAXATION TO ZERO PRESSURE
One of these messages is produced according to whether CONV or CONP (default) is given.
RELAXATION OF FREE ATOMS ONLY
This message is produced if the FIX directive is used.
MAX NUMBER OF ITERATIONS = MAXIT
MAX RELAXATION OF A COORDINATE PER CYCLE
(NOTE IN LATTICE UNITS) = MAXD
MAX NUMBER OF HESSIAN UPDATES BEFORE RECALCULATION MAXU
ITERATION WILL TERMINATE WHEN ALL DISPLACEMENTS ARE LESS THAN LIMIT
ITERATION WILL ALSO TERMINATE WHEN DOT PRODUCT OF GRADIENT
AND DISPLACEMENT VECTORS IS LESS THAN GLIMIT
This message is produced if MAXI greater than zero is given. Note the MAXD parameter has been scaled by the lattice parameter before it is printed.
HESSIAN WILL BE RECALCULATED IF SURFACE IS ABNORMAL
This message is written if directive WCAL is supplied.
PERFECT LATTICE PROPERTY CALCULATION WITHOUT RELAXATION
This is written if MAXI 0 is given. (This is the default).
THE LATTICE ENERGY IS e EV
This message is always printed. According to the value of the MPRINT parameter on the PRIN PLUT MPRINT record, various other quantities may be printed, either before the first cycle and after the last cycle, or every cycle of iteration.
THE FORCE CONSTANT MATRIX IS AS FOLLOWS
THE GRADIENT VECTOR IS AS FOLLOWS
The force constant matrix and gradient vector may be printed by setting PRIN PLUT 01000. If just the gradient vector is required, set PRIN PLUT 03000 (first and last cycle only) or PRIN PLUT 04000 (Each cycle). There are 3*NBAS + 6*NELIP + 6 elements. The order of the elements is
x, y and z derivatives of each molecule in the sorted order. This is followed by the torsions for each molecule.
6 components of the bulk strain derivatives.
Note that there are mixed second derivatives between all three types. The elements of the matrix are not scaled to eV Angstrom units. To convert to eV Angstrom units, multiply
W or G Position Multiplication Resulting Units
  From To factor  
Gradient 1 3*NBAS + 6*NELIP (eV Å)-1
  3*NBAS + 6*NELIP END (eV Å)-2
Matrix 1 3*NBAS + 6*NELIP (eV Å)-2
  1 3*NBAS + 6*NELIP    
  1 3*NBAS + 6*NELIP (eV Å)-3
  3*NBAS + 6*NELIP END    
  3*NBAS + 6*NELIP END (eV Å)-4
  3*NBAS + 6*NELIP END    
ELASTIC CONSTANT TENSOR - 10**11 DYNE/CM**2

.........
.........
.........
.........
.........
.........

ELASTIC COMPLIANCE TENSOR - 10**-11 CM**2/DYNE

.........
.........
.........
.........
.........
.........

The elastic constant tensor is printed in units of 10 **11 Dynes cm. **-2. The rows and columns refer to the xx yy zz yz xz xy components of the tensor. Note that the values printed depend on the choice of orthonormal coordinate system (See LATT). The symmetry reflects that of the unit cell. [#!Huntingdon!#]

If a perfect lattice relaxation is carried out (MAXIT > 1), the lattice energy is printed out on each cycle of iteration. The final lattice vectors and basis positions are printed out after the final cycle of iteration. The basis positions are in the sorted order (See BASI). The lattice vectors, basis species types and positions will be written to FORTRAN unit 8. A complete copy of the input dataset with the relaxed atom positions is also written to FORTRAN unit 15. This is by default for DMAREL (See DBAS).

Error messages

ERROR - NO ROUTE PARAMETER ON START DIRECTIVE CARD

The directive has the keyword STAR but not the keyword PLUT. Check that the keyword is correct.

ERROR - POTENTIAL FUNCTIONS NOT DEFINED BEFORE START OF PLUTO EXECUTION OR FILE INPUT

The POTE directive has been omitted or placed in the incorrect order. It should be before STAR PLUT

EXECUTION TERMINATED BEFORE START OF PLUTO CALCULATION BECAUSE OF ABOVE ERRORS

The STAR PLUT directive is one point where the program stops if it has detected a previous error. Look through the printed output for further error messages.

ERROR - THE DYNAMIC MEMORY REQUIREMENTS OF PLUTO SECTION HAS EXCEEDED THE n WORDS OF CORE AVAILABLE. PROGRAM TERMINATING.

THIS DATASET NEEDS ISPACE = n WORDS

The job has insufficient memory.

UNREGCOGNISED KEYWORD KEYW

A keyword has been found which is not in the STAR PLUT menu.

ERROR - BASIS SPECIES NUMBERS i AND j
LABELS labeli labelj ARE SEPARATED BY LESS THAN CUTSHL

This error message is produced by inconsistencies between the species labels and the CUTSHL parameter (See REGI). This message comes from two species lying within CUTSHL of each other in the perfect lattice relaxation. This means that the structure has moved to an unphysical geometry. Redefine MAXD to be smaller and resubmit the job.

ERROR - A THREE BODY BOND HAS BECOME LINEAR DURING THE PERFECT LATTICE RELAXATION

ERROR - A NON-BONDED PAIR OF ATOMS IS IN A RANGE WHICH HAS ONLY BONDED POTENTIALS, CHECK DISPLACEMENTS

See Unit Cell Three-Body Setup.

An error from subroutine FMINV called by LTPROP occurs occasionally. It indicates that the second derivative matrix is singular. This means that either the unit cell is too large to handle, or that the structure has a soft mode.

Printed output

If the relaxation vector is sufficiently small, DMAREL will assume that a valid minimum has been found. Currently the distance used in this test is 5.0*10E-06 lattice units, and the program terminates if all displacements of all symmetry adapted variables are less than this value.

If PRIN MINI is set to a value greater than one, the following output will be obtained.

MINIMISATION SETUP
This is printed every time the inner iterative loop is entered. Usually this will be once only on the first iteration, unless one of the Hessian recalculation options is used.
GD1 = F
This is written twice after the MINIMISATION SETUP message. The first value F is the value of G.DELTA, the second is the value of G.DELTA scaled if necessary to keep all of the elements of delta within RMAXSF. G.DELTA should be negative indicating a decrease of energy in the search direction. If the first value of GD1 is positive, the direction of the search is reversed to ensure that the energy decreases.
ALPHA = F1 ALPHA2 = F2
This message occurs after MINIMISATION SETUP or after CHANGE DIRECTION. (See below). ALPHA and ALPHA2 will both be one in this case. ALPHA is the current fraction of DELTA to be applied. ALPHA2 is the total fraction of DELTA applied since the last Hessian update.
GD1 = F1 GD2 = F2
This is printed every cycle except for MINIMISATION SETUP cycles. GD1 is the previous value of G.DELTA, GD2 is the value calculated at the position after the step in the search direction. If the minimisation is working correctly, the magnitude of GD2 should be less than GD1.

If ABS(GD2/GD1) is less than 0.25, the following is printed.

CHANGE DIRECTION

HESSIAN UPDATE COMPLETE ... GD1 = F1 GD2 = F2 IKIND = I1 DELMAX = F3 IN COMPONENT I2

Where

F1
is the value of G.DELTA calculated from the updated Hessian and the new search direction DELTA. (DELTA = Hessian.G).
F2
is zero.
I1
is 0 if the Davidon-Fletcher-Powell algorithm has been used to update the Hessian.(R. Fletcher and M. J. D. Powell. Computer J. 6 (1963) 16) I1 is 1 if the Broyden, Fletcher and Shanno algorithm has been used. (C. G. Broyden. J. Inst. Maths. Applns. 6 (1970) 66 and 222. D. F. Shanno. Math. Computing 24 (1970) 647.)
F3
is the maximum displacement of a symmetry adapted variable. If F3 is greater than RMAXSF the search direction will be scaled so that the maximum displacement is RMAXSF.
I2
is the index of the variable with the maximum displacement.
GD1 = F1

ALPHA = F1 ALPHA2 = F2
These messages are described above under MINIMISATION SETUP.

If ABS(GD2/GD1) is greater than 0.25 then a further search in this direction is made before an update is carried out. There are three possible options.

  1. If GD2 is less than GD1 (that is more negative), the system is in a region where the potential energy surface has negative curvature. Possible causes of this are that it is close to a saddle point and is moving away from it. Another point to look out for is that two ions interacting with a BUCK short range potential have not become too close. If the Van der Waals parameter is non-zero, the R**-6 term eventually dominates the exponential term, leading to negative curvature in the energy surface. If this is the cause, either reduce RMAXSF or consider using the BUC4 potential instead.

Printed output

NEGATIVE CURVATURE

ALPHA = F1 ALPHA2 = F2 ALPHA3 = F3 ALPHA4 = F4 GD1 = F5 GD2 = F6 GD3 = F7 GD4 = F8
These are the ALPHA values and corresponding G.DELTA values at four points in the search direction. ALPHA is the current step in the search direction. ALPHA2 is the total step since the last Hessian update or Hessian calculation. GD1 is the G.DELTA value for ALPHA = 1.0 GD2 is the G.GELTA value for the current step length ALPHA2. ALPHA3, ALPHA4, GD3 and GD4 are ALPHA and GD values from previous iterations in this search direction.
ALPHA2 TOO LARGE TO EXTRAPOLATE
Extrapolation in this direction would change one of the variables by more than RMAXSF, therefore a matrix update is carried out. If GD2 is negative, a linear extrapolation is carried out.


Printed output

EXTRAPOLATE

ALPHA = F1 ALPHA2 = F2 ALPHA3 = F3 ALPHA4 = F4 GD1 = F5 GD2 = F6 GD3 = F7 GD4 = F8
This has the same meaning as described above. If GD2 is greater than zero, an interpolation is carried out.


Printed output

LINEAR INTERPOLATION

ALPHA = F1 ALPHA2 = F2 ALPHA3 = F3 ALPHA4 = F4 GD1 = F5 GD2 = F6 GD3 = F7 GD4 = F8
This has the same meaning as above.

If a further search is necessary in the same direction, additional printed output may be obtained.


Printed output

QUADRATIC INTERPOLATION

QUADRATIC EXTRAPOLATION
These messages indicate that the results of two previous steps are being used to interpolate/extrapolate.
THREE INTERPOLATIONS
This indicates that three interpolations failed to reduce GD2 sufficiently and an update will be carried out in any case.


Error messages

INVALID MINIMISATION - PERSISTENT NEGATIVE CURVATURE
This indicates that the energy surface has negative curvature. It may not be possible to converge this dataset, however the values of RMAXSF and MAXUPD could be changed to alter the path taken by the minimisation.

Three checks are now carried out to ensure that the minimisation is proceeding properly. See section (3.9.13) below.


PRINT ANY ERROR MESSAGES

If the number of iterations exceeds the maximum permitted, (see section 3.3.2.2) the following is printed:

WARNING - MAXIMUM NUMBER OF I1 ITERATIONS HAS BEEN REACHED


Keywords Job Steps In DMAREL - Unite Cell  Torsion Setup Main Page
Next: Publications Previous: Job Steps In DMAREL - Unit Cell Torsion Setup Contents: Contents Page