Comments (2)
In order to support the additional GB models implemented via CustomGBForce
, we need to rewrite the computed value and energy expressions using these rules:
lambda_electrostatics
is added as a global parameter:
custom_force.addGlobalParameter("lambda_electrostatics", 1.0)
alchemical
is added as a per-particle parameter:
custom_force.addPerParticleParameter("alchemical");
All atoms in the alchemical group have this parameter set to 1; otherwise 0.
- Any single-particle energy term (
CustomGBForce.SingleParticle
) is scaled by(lambda_electrostatics*alchemical+(1-alchemical))
- Any two-particle energy term (
CustomGBForce.ParticlePairNoExclusions
) has charge 1 (q1
) replaced by(lambda_electrostatics*alchemical1+(1-alchemical1))*q1
and charge 2 (q2
) replaced by(lambda_electrostatics*alchemical2+(1-alchemical2))*q2
. - Any single-particle computed value (
CustomGBForce.SingleParticle
) remains unmodified - Any two-particle computed value (
CustomGBForce.ParticlePairNoExclusions
) is scaled by(lambda_electrostatics*alchemical2 + (1-alchemical2))
Scaling of a term should always prepend and capture the value with an intermediate variable. For example, this complex expression
self.addComputedValue("I", "Ivdw+neckScale*Ineck;"
"Ineck=step(radius1+radius2+neckCut-r)*getm0(radindex1,radindex2)/(1+100*(r-getd0(radindex1,radindex2))^2+"
"0.3*1000000*(r-getd0(radindex1,radindex2))^6);"
"Ivdw=select(step(r+sr2-or1), 0.5*(1/L-1/U+0.25*(r-sr2^2/r)*(1/(U^2)-1/(L^2))+0.5*log(L/U)/r), 0);"
"U=r+sr2;"
"L=max(or1, D);"
"D=abs(r-sr2);"
"radius1=or1+offset; radius2=or2+offset;"
"neckScale=0.361825; neckCut=0.68; offset=0.009", CustomGBForce.ParticlePairNoExclusions)
can be scaled by prependingscaling * unscaled; unscaled =
from alchemy.
openmm/openmm#1641 has been merged, so I can move ahead with implementing this.
from alchemy.
Related Issues (20)
- Proposed API for DualTopologyFactory HOT 16
- Bond force expects 3 particles in bond HOT 3
- Different Alchemical Transformations of Multiple Atom Groups? HOT 1
- Fix alchemical pathway
- Correct build not being uploaded to alchemy-dev conda package HOT 1
- Allow alchemical_bonds, angles, and torsions to be specified as False
- There may be something wrong with alchemical angles
- Citeable releases HOT 12
- Merge alchemy and init? HOT 7
- Direct-space PME contribution incorrect if alpha_ewald = 0
- Improve PME overlap by computing reciprocal-space exceptions HOT 8
- python 3.x issues HOT 3
- Add support for atom-by-atom alchemical intermediate definition
- Add sanity checks to alchemical factory
- Assign MIT License
- Unpin conda-build from 2.0.1 to fix travis HOT 2
- Look into performance regression introduced by exceptions overhaul in 1.2.1 HOT 4
- Fix reaction field alchemical treatment HOT 1
- Add a note that this repo has been deprecated
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from alchemy.