From: Floris Buelens (floris_buelens_at_yahoo.com)
Date: Wed May 27 2009 - 03:16:33 CDT
> It would be useful if you could send me
> your work when you get back... I get a similar but nonidentical function
> for the energy correction following the method you described.
Definitely, I'll be far happier to have had both of us comb over it.
> Also, why in the new code is the virial corrected
> by exactly the same quantity as the energy?
I didn't anticipate this either, I did derive the two quantities (for energy and virial) separately and by very different routes but they reduced down to a single expression. However I can't claim a clear understanding of why this might be so again I'll be reassured if we can both work on this and come to the same conclusions.
I agree that including the repulsive component makes sense, it should be negligible in practice but it definitely won't hurt.
It would definitely be good to get this in the main branch, I'll write up what I did and send it to you early next week.
----- Original Message ----
From: Peter Freddolino <petefred_at_ks.uiuc.edu>
To: Floris Buelens <floris_buelens_at_yahoo.com>
Sent: Tuesday, 26 May, 2009 21:17:03
Subject: Re: namd-l: water tail correction
thanks for the clarification... I now see what you mean. Sorry for the
misunderstanding on my part. It would be useful if you could send me
your work when you get back... I get a similar but nonidentical function
for the energy correction following the method you described. Also, I do
not really see the value in only calculating the B portion of the
correction rather than the full correction -- the repulsive part is
rather small, but the calculation is only done once during startup
anyway, so why not just put in the entire thing? It's not like the added
complexity hurts you. Also, why in the new code is the virial corrected
by exactly the same quantity as the energy?
This can wait until after you get back, but I'd like to clear it up in
time to be formally included (and documented :) in the 2.7 release.
Floris Buelens wrote:
> Hi Peter,
>> I do have one question/concern about your changes... the correction that
>> you're applying only works for flat cutoffs, and doesn't apply
>> corrections for the switch region (which is part of why my expressions
>> were so, erm, 'pretty'). Unless you have some objection, I think I'll
>> use the averaging approach that you implemented but keep the actual
>> expression for the correction that I was using for water.
> Actually yes, I object :-) What I sent you was for switched vdW, it takes the integral for the LJ B^-6 component from rswitch to infinity and subtracts that for the switched region between rswitch and cutoff. I also got some nasty intermediate expressions but after adding everything together and simplifying it all boiled right down to just the (-16 * LJAvgB * numAtoms^2 * PI) / (3 * (rcut+rswitch) ^3) that's in the patch. I was suspicious that it reduced down that far as well but it's stood up to all my scrutiny so far. I'm away at the moment but I can send you my workings next week. (On the other hand, I didn't check if it works with switching off, probably that will need amending).
> all the best,
> Hi Floris,
> this is, in fact, precisely what I was hoping to implement before I
> documented/mainstreamed the tail correction code, but I hadn't yet had
> time to through the literature to find an appropriate way to handle
> heterogeneous systems (using average vdw parameters made intuitive
> sense, but I'd been hoping to find justification for it... fortunately,
> you did so and implemented it as well!). I'll play with this a bit and
> then get it into the main tree.
> I do have one question/concern about your changes... the correction that
> you're applying only works for flat cutoffs, and doesn't apply
> corrections for the switch region (which is part of why my expressions
> were so, erm, 'pretty'). Unless you have some objection, I think I'll
> use the averaging approach that you implemented but keep the actual
> expression for the correction that I was using for water.
> Floris Buelens wrote:
>> Hi Peter,
>> I've had a go at a long range dispersion correction, patch is attached. It's the same idea as your water tail correction but it derives an average dispersion coefficient from the whole system rather than only considering water. Also my final expression comes out less visually arresting than yours :-) Using an average dispersion coefficient reduces to the same thing for pure water and is formally correct for any homogeneous mixtures wher g(r) approaches 1 for r > rswitch. I think it's not quite as clear-cut for non-homogeneous protein-water systems but in my opinion it's still better than not applying any correction to the pressure (Shirts et al., J Phys Chem B. 2007 111:13052 convinced me I should be doing this for binding free energy work).
>> I haven't tested it extensively but I replicated table 1 of the Shirts et al paper (density of pure TIP3P water with PME is no longer sensitive to cutoff) and showed the corrected single point LJ energy for a 900-TIP3P box is stable beyond ~7A while the uncorrected energy approaches the same value asymptotically out to >20A.
>> I hope it's of some use and that something along these lines ends up in NAMD in the future?
>> Best wishes,
>> ----- Original Message ----
>> From: Peter Freddolino <petefred_at_ks.uiuc.edu>
>> To: Floris Buelens <floris_buelens_at_yahoo.com>
>> Cc: namd-l_at_ks.uiuc.edu
>> Sent: Wednesday, 29 April, 2009 16:26:24
>> Subject: Re: namd-l: water tail correction
>> To answer the rest of your question (since I realized I didn't do so
>> before, sorry), the current implementation should work for any
>> combination of switching/cutoff schemes and water models, since it reads
>> the former from your simulation parameters and explicitly pulls the VDW
>> parameters that it needs from the first water molecule in your structure.
>> Floris Buelens wrote:
>>> Hi Peter,
>>> I notice that NAMD 2.7b1 contains an implementation of water tail corrections for energy and pressure - can you give some more details? Is this comparable to the GROMACS dispersion correction scheme? Is this ready for use? Is it general in scope (i.e. independent of water model and cutoff / switching scheme)?
>>> thanks a lot,
This archive was generated by hypermail 2.1.6 : Wed Feb 29 2012 - 15:52:51 CST