gcpd3 webserver update

this one: gcp3-webservice

What is that all about?
A while ago, my former PhD supervisor and me proposed a BSSE correction for DFT and HF calculations, denoted gCP (geometrical counterpoise correction). It corrects intra-and intermolecular BSSE via an atom pair-wise potential. In a follow up paper we looked at the infamous B3LYP/6-31G(d) and analysed the errors stemming from BSSE and missing dispersion interactions. For non-covalent interaction energies BSSE and dispersion are opposing effects.

The error from missing dispersion (e.g. in B3LYP) can sometimes be  crudely compensated by BSSE, providing an artificial stabilization. However, BSSE and London dispersion have a different asymptotic behavior  (density drops exponentially, dispersion as R-6 in the leading term), so that the error compensation is bound to fail! And that is does so quite often, is shown in the paper linked above.

Yet it became clear that many experimentally-focused chemists, who usually work with Windows and are not comfortable with console tools, will have trouble actually using the gCP-D3 correction. After all, gCP was  published as stand-alone linux programs using fortran, providing just the source-code.

The barrier to compile some random piece of code is considerable! Even those who are experienced often run into trouble compiling the quick & dirty code from our colleagues, or even our own code from two years ago…

easy access
My idea was to provide a webservice where you can upload your molecule’s coordinates (even the Gaussian output directly) and get your gCP-D3 correction delivered on a silver plate. It also gave me an excuse to learn about web development and perl during work.

I choose the Mojolicous perl web framework. If you wish, head over to their website. If you are a Futurama fan, you will love it.

version 2.0
Last christmas vacation I decided to update the over 2 years old web server. I added the corrections for HF-3c and PBEh-3c, and added the option to calculate the D3 and gCP separately.

In short, one is no longer limited to B3LYP-gCP-D3/6-31G(d), but many DFT functionals and basis set combinations! Calculating the 3-body dispersion term is possible as well.

At this point you really should go and take a look if you haven’t already: http://wwwtc.thch.uni-bonn.de/

As an additional feature I added a WebGL drawing of the uploaded molecule using the ChemDoodleWeb API. It has 2 purposes:

  • too look pretty
  • to provide a visual check if my perl scripting screwed up the molecule extraction or if an incompatible file format was uploaded.

Safety checks are always good. I saw people upload a picture of their molecule and no amount of perl magic can help in that case.

Worth it?
YES. I get encouraging emails from people using it for various reasons, which keeps me motivated. I do believe lowering access barriers in computational chemistry is highly important. If you want people to use your method: Make the use as easy as possible.