[molpro-user] optimization restart

Zdeněk Futera futera.zd at centrum.cz
Fri Apr 3 09:48:23 BST 2009

Dear Ricardo,

Thank you for your answer.

Our QM/MM interface works according this optimization scheme:

a) QM program computes wave function, energy and gradient on QM part of system
b) MM program computes energy and forces
c) QM/MM script scales gradients and sums energies according to QM/MM formulation
d) new gradients on atoms in QM part are used by QM program for creation of new coordinates
e) scaled forces on MM atoms are used by MM program and new coordinates are computed
f) whole structure is comleted and convergency criteria are checked by QM/MM script

so I don't try to use Molpro for the whole system but for QM part only (no more than 100 atoms). 
I tried to restart OPTG, because I thought that all the information from restart file (coordinates and gradients) should be read and used and only new coordinates should be computed in first step but it doesn't work. You are right, OPTG is automatic optimizer and is not suitable for this job. On the other hand I can evaluate gradients by FORCES directive but I didn't find any command for computing new structure from these forces (something like one step by Quadratic steepest descent method, for example) and that's why I'm looking into the source code and searching for place where to change it.

Best wishes


> Od: rmata at cii.fc.ul.pt
> Komu: Zdenek Futera <futera.zd at centrum.cz>
> CC: molpro-user at molpro.net
> Datum: 02.04.2009 10:49
> Předmět: Re: [molpro-user] optimization restart
>Dear Zdenek,
>In a QM/MM implementation you need a program for computing the QM
>gradient (in your case Molpro), a program for the MM gradient (in your
>case Amber) and some subroutines which can:
>a) call both programs,
>b) retrieve the two gradients,
>c) build the total QM/MM gradient,
>d) based on the gradient do an optimization step and
>e) go back to step a)
>Apparently, you have written some routines for steps a)-c), and want
>to use Molpro optimization routines to do d), I guess... my question
>would be, why?
>Since Molpro is a QM program, it has been coded to handle small
>systems. Surely you can change the default maximum number of atoms
>(200), but if you are working with more than a thousand atoms, you
>have to input a gradient for those thousand atoms. This would require
>a new compilation, using an extremely large number of maximum atoms. I
>wouldn't advise you to do so. The normal procedure when building a
>QM/MM interface is either to write your own optimizer, or perhaps to
>use the MM program, which contrary to Molpro has been coded to handle
>large systems. It may even have some handy tools for optimization
>(like hybrid cartesian-internal coordinates algorithms).
>Also, if you happen to take a look at the Molpro manual, OPTG is for
>automatic optimizations, that means, you deliver the control to Molpro
>and he will call the gradient program and perform optimization steps
>until he finds a minimum. What you were looking for is another keyword
>which you will likewise find described in the Manual.
>But again, it is unwise to use Molpro for step d).
>Best wishes,
>On Wed, Apr 1, 2009 at 10:37 AM, Zdenek Futera <futera.zd at centrum.cz> wrote:
>> Hello!
>> I try implement interface between Molpro (ver. 2006.1) and Amber in
>> order to do QM/MM calculations (it is script based system similar to
>> ChemShell). During QM/MM optimization I calculate energy and gradients
>> on some structure then I change these gradients according to QM/MM
>> scheme and then I need to restart Molpro from these gradients and
>> compute new structure.
>> I found out that gradients are saved in restart file 1 in record 700 and
>> I can rewrite them there. Is it possible to restart from this changed
>> file 1, read coordinates and gradients and compute only new coordinates?
>> I guess I have to change source code, because when I try restart OPTG
>> procedure new gradients are calculated from the last structure in file
>> 1. Is there any easier way than change the source code? And if not which
>> part of the source code should I change to do it in easiest way? Could
>> you please give me an advice?
>> Best regards
>> Zdenek Futera
>> _______________________________________________
>> Molpro-user mailing list
>> Molpro-user at molpro.net
>> http://www.molpro.net/mailman/listinfo/molpro-user

More information about the Molpro-user mailing list