def __init__(self, solventDielectric=78.5, soluteDielectric=1, SA=None, cutoff=None, kappa=0.0): CustomGBForce.__init__(self) self.addPerParticleParameter("q") self.addPerParticleParameter("or") # Offset radius self.addPerParticleParameter("sr") # Scaled offset radius self.addComputedValue( "I", "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);" "U=r+sr2;" "L=max(or1, D);" "D=abs(r-sr2)", CustomGBForce.ParticlePairNoExclusions) self.addComputedValue( "B", "1/(1/or-tanh(psi-0.8*psi^2+4.85*psi^3)/radius);" "psi=I*or; radius=or+offset; offset=0.009", CustomGBForce.SingleParticle) _createEnergyTerms(self, solventDielectric, soluteDielectric, SA, cutoff, kappa, 0.009)
def __init__(self, solventDielectric=78.5, soluteDielectric=1, SA=None, cutoff=None, kappa=0.0): CustomGBForce.__init__(self) self.addPerParticleParameter("q") self.addPerParticleParameter("or") # Offset radius self.addPerParticleParameter("sr") # Scaled offset radius self.addPerParticleParameter("alpha") self.addPerParticleParameter("beta") self.addPerParticleParameter("gamma") self.addTabulatedFunction("getd0", Continuous2DFunction(21, 21, d0, 0.1, 0.2, 0.1, 0.2)) self.addTabulatedFunction("getm0", Continuous2DFunction(21, 21, m0, 0.1, 0.2, 0.1, 0.2)) self.addComputedValue("I", "Ivdw+neckScale*Ineck;" "Ineck=step(radius1+radius2+neckCut-r)*getm0(radius1,radius2)/(1+100*(r-getd0(radius1,radius2))^2+0.3*1000000*(r-getd0(radius1,radius2))^6);" "Ivdw=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);" "U=r+sr2;" "L=max(or1, D);" "D=abs(r-sr2);" "radius1=or1+offset; radius2=or2+offset;" "neckScale=0.826836; neckCut=0.68; offset=0.0195141", CustomGBForce.ParticlePairNoExclusions) self.addComputedValue("B", "1/(1/or-tanh(alpha*psi-beta*psi^2+gamma*psi^3)/radius);" "psi=I*or; radius=or+offset; offset=0.0195141", CustomGBForce.SingleParticle) _createEnergyTerms(self, solventDielectric, soluteDielectric, SA, cutoff, kappa, 0.0195141)
def __init__(self, solventDielectric=78.5, soluteDielectric=1, SA=None, cutoff=None, kappa=0.0): CustomGBForce.__init__(self) self.addPerParticleParameter("q") self.addPerParticleParameter("or") # Offset radius self.addPerParticleParameter("sr") # Scaled offset radius self.addComputedValue("I", "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);" "U=r+sr2;" "L=max(or1, D);" "D=abs(r-sr2)", CustomGBForce.ParticlePairNoExclusions) self.addComputedValue("B", "1/(1/or-I)", CustomGBForce.SingleParticle) _createEnergyTerms(self, solventDielectric, soluteDielectric, SA, cutoff, kappa, 0.009)
def __init__(self, **kwargs): CustomGBForce.__init__(self) self.addPerParticleParameter("charge") self.addPerParticleParameter("radius") self.addPerParticleParameter("scale") self.offset_terms_single = ("sr=scale*or;" "or=(radius-OFFSET);" "OFFSET=%.16f;" % OFFSET) self.offset_terms_pair = ("sr1=scale1*or1;" "or1=(radius1-OFFSET);" "sr2=scale2*or2;" "or2=(radius2-OFFSET);" "OFFSET=%.16f;" % OFFSET)
def __init__(self, solventDielectric=78.5, soluteDielectric=1, SA=None, cutoff=None, kappa=0.0): CustomGBForce.__init__(self) self.addPerParticleParameter("q") self.addPerParticleParameter("or") # Offset radius self.addPerParticleParameter("sr") # Scaled offset radius self.addPerParticleParameter("alpha") self.addPerParticleParameter("beta") self.addPerParticleParameter("gamma") self.addTabulatedFunction( "getd0", Continuous2DFunction(21, 21, d0, 0.1, 0.2, 0.1, 0.2)) self.addTabulatedFunction( "getm0", Continuous2DFunction(21, 21, m0, 0.1, 0.2, 0.1, 0.2)) self.addComputedValue( "I", "Ivdw+neckScale*Ineck;" "Ineck=step(radius1+radius2+neckCut-r)*getm0(radius1,radius2)/(1+100*(r-getd0(radius1,radius2))^2+0.3*1000000*(r-getd0(radius1,radius2))^6);" "Ivdw=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);" "U=r+sr2;" "L=max(or1, D);" "D=abs(r-sr2);" "radius1=or1+offset; radius2=or2+offset;" "neckScale=0.826836; neckCut=0.68; offset=0.0195141", CustomGBForce.ParticlePairNoExclusions) self.addComputedValue( "B", "1/(1/or-tanh(alpha*psi-beta*psi^2+gamma*psi^3)/radius);" "psi=I*or; radius=or+offset; offset=0.0195141", CustomGBForce.SingleParticle) _createEnergyTerms(self, solventDielectric, soluteDielectric, SA, cutoff, kappa, 0.0195141)
def __init__(self): CustomGBForce.__init__(self) self.parameters = []