[gmx-users] Combining various Flat-bottomed Potentials

Justin Lemkul jalemkul at vt.edu
Tue May 24 18:34:05 CEST 2016

On 5/24/16 12:30 PM, Christopher Neale wrote:
> I doubt it. The flat-bottom potential in the pull-code is not really the standard definition of a flat-bottom potential. In my opinion, a flat-bottom potential has a low, and a high defined value and then the restraint increases harmonically above high and below low with no penalty between low and high set values. However, the gromacs 5.1.2 flat-bottom potential is simply a regular potential where the forces are set to zero below the central set point and there is a harmonic above the central set point. I'd call this a half-harmonic rather than a flat-bottom potential. Luckily, the code is quite simple to modify to get a proper flat-bottom potential, which you could use to get your cylinder.
> You want to modify src/gromacs/pulling/pull.cpp around line 1129 and remove the code:
>                  if (pcrd->params.eType == epullFLATBOTTOM && dev < 0)
>                 {
>                     dev = 0;
>                 }
> And replace it with:
>                if (pcrd->params.eType == epullFLATBOTTOM)
>                 {
>                     if (dev > -1 && dev <1){
>                       dev = 0;
>                     } else {
>                       if (dev >0){
>                         dev-=1;
>                       }else {
>                         dev+=1;
>                       }
>                     }
>                 }
> That will give you a flat-bottom width of 2.0 nm (1 nm on each side). This is the quick and dirty approach where you just hard-code your potential flat-bottom width then compile it like that. You will need to change the "1" in four places if you want a different width.

If I understand the OP correctly, this isn't a matter of using the pull code, 
rather simultaneously using flat-bottom options in [position_restraints].  It 
should be possible to simply combine the available options to whatever the user 
desires.  Several people have asked the same question in recent days, yet it 
doesn't seem like anyone's actually *tried* to do it yet.  That would be a much 
more useful effort :)


> Obviously test it also prior to production.
> Chris.
> ________________________________________
> From: gromacs.org_gmx-users-bounces at maillist.sys.kth.se <gromacs.org_gmx-users-bounces at maillist.sys.kth.se> on behalf of Srajan Jain <sr.j240 at gmail.com>
> Sent: 24 May 2016 05:13:17
> To: gromacs.org_gmx-users at maillist.sys.kth.se
> Subject: [gmx-users] Combining various Flat-bottomed Potentials
> Dear Gromacs users,
> I want to impose a sphero-cylinderical position restraint, using
> flat-bottomed potentials, for a simulation.
> The manual mentions that we can combine the existing three flat-bottomed
> potentials, like a cylinder with two layers to get a disk.
> So, can this feature be used to generate a sphero-cylinder?
> Thank you in advance.
> --
> Gromacs Users mailing list
> * Please search the archive at http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_List before posting!
> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
> * For (un)subscribe requests visit
> https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-users or send a mail to gmx-users-request at gromacs.org.


Justin A. Lemkul, Ph.D.
Ruth L. Kirschstein NRSA Postdoctoral Fellow

Department of Pharmaceutical Sciences
School of Pharmacy
Health Sciences Facility II, Room 629
University of Maryland, Baltimore
20 Penn St.
Baltimore, MD 21201

jalemkul at outerbanks.umaryland.edu | (410) 706-7441


More information about the gromacs.org_gmx-users mailing list