merzlab / QUICK

QUICK: A GPU-enabled ab intio quantum chemistry software package
Mozilla Public License 2.0
157 stars 43 forks source link

Freeze Atoms Positions During Optimization #306

Open RiesBen opened 9 months ago

RiesBen commented 9 months ago

Hi, I'm a QM beginner, currently testing QUICK and I think it is a very cool piece of software!

However I have one question, is it possible to freeze atom positions during the optimizations with the current implementation? I could not find this in your docs (https://quick-docs.readthedocs.io/en/23.8.0/hands-on-tutorials.html), but in DL-Find it should be possible (https://pubs.acs.org/doi/10.1021/jp9028968).

What I would like to do, is for example defined here (would also be happy with position restraints :) ) : https://psicode.org/psi4manual/master/optking.html#constrained-optimizations

mizu-bai commented 8 months ago

I have developed a Python script for invoking QUICK from Gaussian (https://github.com/mizu-bai/Gauick), so that you can use QUICK to calculate the energy and gradients with the optimization algorithms provided by Gaussian. I think you can freeze the atoms in Gaussian file to perform a constrained optimization task.

maaku commented 2 months ago

I have a need for this exact use case as well. Is there a way of doing this within QUICK? If not, can you give a pointer as to the part of the code which might need to be modified? I or someone on our team could take a stab at adding this feature, but we don't know our way around the codebase yet.

Madu86 commented 2 months ago

This feature is currently implemented in a branch that needs to be merged: https://github.com/merzlab/QUICK/pull/366. Feel free to give it a try and provide feedback.

maaku commented 2 months ago

Thanks! We will test that branch and report back. It might be a few weeks or more as we're only in the pre-planning stages for this project.

RiesBen commented 2 months ago

Thx for implementing this feature :)