Python scripting custom relaxation cycle


Click here for full thread
Clicked A Few Times
We're investigating dynamics of polymers under a force stretching the molecule.

Right now we're using the EFEI method in Turbomole - relax one cycle, then subtract away a false gradient (just the force we want to apply multiplied by the distance between the atoms we're applying it at), repeat. In Turbomole we can do this because we can write a script which tells it to calculate the energy and the gradient, then manually modifies the gradient with our false gradient, then attempts to relax with that new gradient.

We also are looking for QM/MM functionality though, and I'd like to move towards open-source software (if possible). So I was just wondering if a similar thing is possible using the Python scripting in NWChem?

Peeking through the manual it looks like it might be, but I'm not sure. It looks like there is a built in "task_gradient()" function for getting the gradient, is there another similar function for setting the gradient after modification?

Thanks.