From owner-chemistry@ccl.net Mon Oct 1 10:23:01 2018 From: "Yury Minenkov yury.minenkov-.-gmail.com" To: CCL Subject: CCL:G: Interaction of QC software components via text files Message-Id: <-53482-181001045314-21837-ZcCfd+e19qbI/+1hoCwKaA_+_server.ccl.net> X-Original-From: Yury Minenkov Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="UTF-8" Date: Mon, 1 Oct 2018 11:52:55 +0300 MIME-Version: 1.0 Sent to CCL by: Yury Minenkov [yury.minenkov:gmail.com] Dear Grigoriy, yes, in my opinion, what you are saying is perfectly doable, e.g. in Python or any other programming language you are comfortable with. In the simplest approach you need to specify your Cartesian coordinates as variables to optimize, then you need to write a function which based on the passed coordinates generates an input file for your favorite quantum chemistry code to run the energy/gradient calculation. After that you need to feed both the variables (Cartesian coordinates) and functions (energy run, gradient run) to an optimizer of your choice: the simplest would be to use the algorithms available through https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.minimize.html . Then - it is done. You can even further calculate the energy second derivatives e.g. via finite difference (energy (slow) or gradient based - better) method and calculate the harmonic frequencies. But please, be aware that any serious quantum chemistry code is written by professionals and it will be very challenging to "beat" built in optimizers. Sometimes, slow optimization is rather a consequence of chemical system at hand (too shallow PES minimum, noisy energy/gradients, etc). And, yes, FPD or CCSD(T)/CBS optmization/frequencies can be implemented in this way, but my gut feeling is that apart from some small systems, these calculations are going to be quite time-consuming. Could you be a bit more specific about DFT functionals and neural networks? With kind regards, Yury On Wed, Sep 26, 2018 at 11:24 PM Grigoriy Zhurko reg_zhurko/achemcraftprog.com wrote: > > > Sent to CCL by: Grigoriy Zhurko [reg_zhurko-x-chemcraftprog.com] > I suppose it is well-known that the geometry optimization in Gaussian is sometimes accompanied with serious problems, and the users have to invent their own ways of solving them. Besides that, the energy of the final (optimized) geometry computed with Gaussian is often slightly higher than the energy of the penultimate (previous) step. This is usually not a big problem, but this is slightly annoying (unless you use my program Chemcraft) ). > My question is, whether it is possible to implement a third-party algorithm of geometry optimization, which implies invoking the Gaussian by a third-party program. I mean that the third-party program generates a Gaussian input file (.gjf) with single point and gradient computation, then Gaussian processes this job and generates the output file, then the program reads and parses this output file, then it predicts the coordinates of the next step and runs Gaussian again, etc. until the energy minimum is reached. > If such an approach is possible, I will probably try to implement the following things: > - geometry optimization and frequencies computation with CCSD(T)/CBS, or even a composite method like FPD; > - performing several computations with different DFT functionals at same geometry, and passing their results into a neural network to obtain a very accurate energy. > So, is this possible to implement such interaction of a third-party program with Gaussian (preferably the Windows version), or other QC codes? > Grigoriy Zhuko> >