Next: Normal Modes, Previous: I/O in Vibrational Analysis, Up: Vibrational Analysis
The second derivatives are computed during energy determination and they are stored in temporary array that are allocated dynamically. Once obtained, they can be written out, or diagonalized internally for small systems (up to 200 atoms).
The following is from comments in ENERGY;
IF 'NSECD=.FALSE.' THEN THE SECOND DERIVATIVES OF THE ENERGY
ARE RETURNED IN THE ARRAYS DD1,DD2,DD3,DD4,IDD4,JDD4,AND NDD4.
TREIR USAGE CAN BE SUMMARIZED BY;
ARRAY SPACE TYPE DESCRIPTION
DD1 6*NATOM REAL*8 DIAGONAL ELEMENTS
DD2 6*NNB REAL*4 NONBONDED INTERACTIONS
DD3 9*IBLO(NATOM) R*4 EXCLUDED INTERACTIONS
DD4 9*NND4 REAL*4 EXTRA INTERACTIONS
IDD4 NDD4 INTEGER*2 FIRST ATOM OF EXTRAS
JDD4 NDD4 INTEGER*2 SECOND ATOM OF EXTRAS
IF THE LOGICAL VARIABLE 'NSECD' IS SET TO .FALSE. SECOND
DERIVATIVES WILL BE GENERATED. 'DIAGSD' IS SET TO .TRUE. IF ONLY
THE DIAGONAL (DD1) SECOND DERIVATIVES ARE DESIRED.
FOR DD1 EACH ATOM REQUIRES 6 SEQUENTIAL R*8 LOCATIONS. THE
SEQUENCE IS XX,XY,YY,XZ,YZ,ZZ WHERE EACH IS THE PARTIAL SECOND
DERIVATIVE OF THE ENERGY WRT THE CORRESPONDING MOTIONS OF THE
PARTICULAR ATOM. DD2 IS STORED IN THE SAME MANNER EXCEPT THAT
EACH 6 R*4 LOCATIONS CORRESPOND TO A PARTICULAR NONBONDED
INTERACTION. THE SEQUENCE OF NONBONDED INTERACTIONS IS DEFINED
BY THE INTEGER ARRAYS 'INBLO' AND 'JNB'. SINCE THE NONBONDED
INTERACTIONS ONLY INVOLVE RADIAL FORCES, ONLY 6 LOCATIONS ARE
NEEDED.(IE XY=YX). DD3 CONTAINS THE SECOND DERIVATIVES FOR ATOMS
THAT INTERACT THROUGH THE EXCLUDED LIST. SINCE SYMMETRY IS NOT
PRESENT FOR ANGLES,ETC... 9 LOCATIONS ARE NEEDED GIVEN BY THE
SEQUENCE XIXJ,YIXJ,ZIXJ,XIYJ,YIYJ,ZIYJ,XIZJ,YIZJ,ZIZJ. ATOM
I IS ALWAYS LESS THAN ATOM J. THE SEQUENCE OF EXCLUDED
INTERACTIONS IS DEFINED BY 'IBLO' AND 'INB'.
DD4 CONTAINS ALL OTHER INTERACTIONS NOT CONTAINED ABOVE.
THESE ARE USUALLY 1-4 DIHEDRAL INTERACTIONS AND HYDROGEN BONDS.
INFORMATION IS STORED AS IT IS IN DD3. SINCE SOME CODE REFERENCES
BOTH DD3 AND DD4, THE DIFFERENCE OF THEIR BASES IS NEEDED. THIS
IS STORED IN IDD3AD (IE IDD3AD=BASE(DD3)-BASE(DD4) ).
CODE TO CONVERT THIS STORAGE SCHEME TO SIMPLE UPPER TRIANGULAR
FORM CAN BE FOUND IN 'MINMIZ' UNDER THE NEWTON RAPHSON SECTION.