Adding a model to OPTIM
Adding a potential to the OPTIM geometry optimization program requires at least coordinates, energies and gradients. Hessians can also be used in some of the algorithms.
The program must know the number of atoms of the system at the onset to allocate the correct amount of memory. This is a list of the minimum number of routines you may need to change/check.
1. getparams.f starts the program opens input file odata, set NATOMS
1.5 OPTIM.F calls keywords. Be sure to edit OPTIM.F, which is preprocessed to give OPTIM.f at compile time.
2. key.f90 data module for keywords
3. keywords.f reads odata and initializes energy functions/other stuff
4. fetchz.f read the "finish" structure for double-ended (NEWCONNECT) runs. Calls pertable
5. pertable.f add model ID e.g (AM ATSYM) to symbol table, assigns atomic mass
6. potential.f Main interface between OPTIM and external potential
8. geopt.f controls single-ended geometry optimizations. Produces min.data.info files for pathsample
first line
energy, log product positive hessian eigen values, order point group, prime moments of inertia, order parameters (CHARMM)
coordinates in X,Y,Z
9. CONNECT/ncutils.f90 produces input path.info files for pathsample
10. NEB/nnutils.f90 in RWG subroutine for outputing the correct neb.xyz.<a>
11. minpermdist.f90 optimally superimposes structure 2 onto structure 1 with respect to whichever are applicable of: overall translation, overall rotation and permutational isomerization. Check that it's doing the right thing for your system!
--mp466 15:28, 1 July 2008 (BST)