Copt
This is an implementation of the molecular energy as
a function of Cartesian coordinates.
It must be passed a coords= argument and the type of computation
to be used to generate the energy, gradients, and hessian, (with
similar effects to the opt routine).
Argument |
Argument type |
Mandatory |
Default |
To specify |
coords= |
Fragment tag
|
yes |
none |
initial geometry |
theory= |
Energy/Gradient code
|
yes |
none |
what type of calculation to perform for energy and gradient |
active_atoms= |
Tcl List |
no |
All atoms active |
Which atoms are free to move |
list_option= |
Output keyword
|
no |
medium |
Level of output |
punchfile= |
File name |
no |
No punchfile generated |
File to save sequence of structures generated |
result= |
Fragment tag
|
no |
copt.result |
Where to write the final structure |
The variables of the copt function are all Cartesian
coordinates, i.e. there are 3N degrees of freedom, (where N is the
number of active atoms) because overall rotations and translations are
included. For most optimization algorithms this is not a severe
problem, but sometimes the soft modes may interfere with convergence.
The following example uses the newopt function to perform a
BFGS minimisation of the water molecule with a molecular
mechanics energy expression.
#
z_create zmatrix=z {
zmatrix angstrom
o
h 1 oh
h 1 oh 2 hoh
variables
oh 0.8
hoh 105.0
end
}
z_list zmatrix=z
z_to_c zmatrix=z coords=c
read_input ff {
bond o h 2000. 1.
angle h o h 300. 100.
}
newopt function=copt: {theory=mm : mm_defs=ff coords=c}
|