Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
tsoc
openmm
Commits
92a4bbe1
Commit
92a4bbe1
authored
Oct 22, 2014
by
Peter Eastman
Browse files
Optimizations to the custom GB models
parent
e19cefde
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
231 additions
and
72 deletions
+231
-72
wrappers/python/simtk/openmm/app/internal/amber_file_parser.py
...ers/python/simtk/openmm/app/internal/amber_file_parser.py
+2
-0
wrappers/python/simtk/openmm/app/internal/customgbforces.py
wrappers/python/simtk/openmm/app/internal/customgbforces.py
+50
-61
wrappers/python/tests/TestAmberPrmtopFile.py
wrappers/python/tests/TestAmberPrmtopFile.py
+19
-11
wrappers/python/tests/systems/alanine-dipeptide-implicit-forces/GBn2_NoCutoff.xml
...stems/alanine-dipeptide-implicit-forces/GBn2_NoCutoff.xml
+32
-0
wrappers/python/tests/systems/alanine-dipeptide-implicit-forces/GBn_NoCutoff_Salt.xml
...s/alanine-dipeptide-implicit-forces/GBn_NoCutoff_Salt.xml
+32
-0
wrappers/python/tests/systems/alanine-dipeptide-implicit-forces/HCT_NoCutoff.xml
...ystems/alanine-dipeptide-implicit-forces/HCT_NoCutoff.xml
+32
-0
wrappers/python/tests/systems/alanine-dipeptide-implicit-forces/OBC1_NonPeriodic.xml
...ms/alanine-dipeptide-implicit-forces/OBC1_NonPeriodic.xml
+32
-0
wrappers/python/tests/systems/alanine-dipeptide-implicit-forces/OBC2_NonPeriodic_Salt.xml
...anine-dipeptide-implicit-forces/OBC2_NonPeriodic_Salt.xml
+32
-0
No files found.
wrappers/python/simtk/openmm/app/internal/amber_file_parser.py
View file @
92a4bbe1
...
...
@@ -1032,6 +1032,8 @@ def readAmberSystem(prmtop_filename=None, prmtop_loader=None, shake=None, gbmode
if
units
.
is_quantity
(
cutoff
):
cutoff
=
cutoff
.
value_in_unit
(
units
.
nanometers
)
gb_parms
=
prmtop
.
getGBParms
(
gbmodel
,
elements
)
if
gbmodel
!=
'OBC2'
or
implicitSolventKappa
!=
0
:
gb_parms
=
customgb
.
convertParameters
(
gb_parms
,
gbmodel
)
if
gbmodel
==
'HCT'
:
gb
=
customgb
.
GBSAHCTForce
(
solventDielectric
,
soluteDielectric
,
'ACE'
,
cutoff
,
implicitSolventKappa
)
elif
gbmodel
==
'OBC1'
:
...
...
wrappers/python/simtk/openmm/app/internal/customgbforces.py
View file @
92a4bbe1
...
...
@@ -189,36 +189,37 @@ for i in range (len(d0)):
m0
[
i
]
=
m0
[
i
]
*
10
def
_createEnergyTerms
(
force
,
SA
,
cutoff
,
kappa
):
def
_createEnergyTerms
(
force
,
solventDielectric
,
soluteDielectric
,
SA
,
cutoff
,
kappa
):
# Add the energy terms to the CustomGBForce. These are identical for all the GB models.
params
=
"; solventDielectric="
+
str
(
solventDielectric
)
+
"; soluteDielectric="
+
str
(
soluteDielectric
)
+
"; kappa="
+
str
(
kappa
)
+
"; cutoff="
+
str
(
cutoff
)
if
kappa
>
0
:
force
.
addEnergyTerm
(
"-0.5*138.935485*(1/soluteDielectric-exp(-kappa*B)/solventDielectric)*q^2/B"
,
force
.
addEnergyTerm
(
"-0.5*138.935485*(1/soluteDielectric-exp(-kappa*B)/solventDielectric)*q^2/B"
+
params
,
CustomGBForce
.
SingleParticle
)
elif
kappa
<
0
:
# Do kappa check here to avoid repeating code everywhere
raise
ValueError
(
'kappa/ionic strength must be >= 0'
)
else
:
force
.
addEnergyTerm
(
"-0.5*138.935485*(1/soluteDielectric-1/solventDielectric)*q^2/B"
,
force
.
addEnergyTerm
(
"-0.5*138.935485*(1/soluteDielectric-1/solventDielectric)*q^2/B"
+
params
,
CustomGBForce
.
SingleParticle
)
if
SA
==
'ACE'
:
force
.
addEnergyTerm
(
"28.3919551*(radius+0.14)^2*(radius/B)^6"
,
CustomGBForce
.
SingleParticle
)
force
.
addEnergyTerm
(
"28.3919551*(radius+0.14)^2*(radius/B)^6
; radius=or+offset
"
,
CustomGBForce
.
SingleParticle
)
elif
SA
is
not
None
:
raise
ValueError
(
'Unknown surface area method: '
+
SA
)
if
cutoff
is
None
:
if
kappa
>
0
:
force
.
addEnergyTerm
(
"-138.935485*(1/soluteDielectric-exp(-kappa*f)/solventDielectric)*q1*q2/f;"
"f=sqrt(r^2+B1*B2*exp(-r^2/(4*B1*B2)))"
,
CustomGBForce
.
ParticlePairNoExclusions
)
"f=sqrt(r^2+B1*B2*exp(-r^2/(4*B1*B2)))"
+
params
,
CustomGBForce
.
ParticlePairNoExclusions
)
else
:
force
.
addEnergyTerm
(
"-138.935485*(1/soluteDielectric-1/solventDielectric)*q1*q2/f;"
"f=sqrt(r^2+B1*B2*exp(-r^2/(4*B1*B2)))"
,
CustomGBForce
.
ParticlePairNoExclusions
)
"f=sqrt(r^2+B1*B2*exp(-r^2/(4*B1*B2)))"
+
params
,
CustomGBForce
.
ParticlePairNoExclusions
)
else
:
if
kappa
>
0
:
force
.
addEnergyTerm
(
"-138.935485*(1/soluteDielectric-kappa/solventDielectric)*q1*q2*(1/f-"
+
str
(
1
/
cutoff
)
+
");"
"f=sqrt(r^2+B1*B2*exp(-r^2/(4*B1*B2)))"
,
CustomGBForce
.
ParticlePairNoExclusions
)
"f=sqrt(r^2+B1*B2*exp(-r^2/(4*B1*B2)))"
+
params
,
CustomGBForce
.
ParticlePairNoExclusions
)
else
:
force
.
addEnergyTerm
(
"-138.935485*(1/soluteDielectric-1/solventDielectric)*q1*q2*(1/f-"
+
str
(
1
/
cutoff
)
+
");"
"f=sqrt(r^2+B1*B2*exp(-r^2/(4*B1*B2)))"
,
CustomGBForce
.
ParticlePairNoExclusions
)
"f=sqrt(r^2+B1*B2*exp(-r^2/(4*B1*B2)))"
+
params
,
CustomGBForce
.
ParticlePairNoExclusions
)
"""
Amber Equivalent: igb = 1
...
...
@@ -231,22 +232,16 @@ def GBSAHCTForce(solventDielectric=78.5, soluteDielectric=1, SA=None,
custom
=
CustomGBForce
()
custom
.
addPerParticleParameter
(
"q"
)
custom
.
addPerParticleParameter
(
"radius"
)
custom
.
addPerParticleParameter
(
"scale"
)
if
kappa
>
0
:
custom
.
addGlobalParameter
(
'kappa'
,
kappa
)
custom
.
addGlobalParameter
(
"solventDielectric"
,
solventDielectric
)
custom
.
addGlobalParameter
(
"soluteDielectric"
,
soluteDielectric
)
custom
.
addPerParticleParameter
(
"or"
)
# Offset radius
custom
.
addPerParticleParameter
(
"sr"
)
# Scaled offset radius
custom
.
addGlobalParameter
(
"offset"
,
0.009
)
custom
.
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);"
"sr2 = scale2*or2;"
"or1 = radius1-offset; or2 = radius2-offset"
,
CustomGBForce
.
ParticlePairNoExclusions
)
"D=abs(r-sr2)"
,
CustomGBForce
.
ParticlePairNoExclusions
)
custom
.
addComputedValue
(
"B"
,
"1/(1/or-I);"
"or=radius-offset"
,
CustomGBForce
.
SingleParticle
)
_createEnergyTerms
(
custom
,
SA
,
cutoff
,
kappa
)
custom
.
addComputedValue
(
"B"
,
"1/(1/or-I)"
,
CustomGBForce
.
SingleParticle
)
_createEnergyTerms
(
custom
,
solventDielectric
,
soluteDielectric
,
SA
,
cutoff
,
kappa
)
return
custom
"""
...
...
@@ -258,22 +253,17 @@ def GBSAOBC1Force(solventDielectric=78.5, soluteDielectric=1, SA=None,
custom
=
CustomGBForce
()
custom
.
addPerParticleParameter
(
"q"
)
custom
.
addPerParticleParameter
(
"radius"
)
custom
.
addPerParticleParameter
(
"scale"
)
if
kappa
>
0
:
custom
.
addGlobalParameter
(
'kappa'
,
kappa
)
custom
.
addGlobalParameter
(
"solventDielectric"
,
solventDielectric
)
custom
.
addGlobalParameter
(
"soluteDielectric"
,
soluteDielectric
)
custom
.
addPerParticleParameter
(
"or"
)
# Offset radius
custom
.
addPerParticleParameter
(
"sr"
)
# Scaled offset radius
custom
.
addGlobalParameter
(
"offset"
,
0.009
)
custom
.
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);"
"sr2 = scale2*or2;"
"or1 = radius1-offset; or2 = radius2-offset"
,
CustomGBForce
.
ParticlePairNoExclusions
)
"D=abs(r-sr2)"
,
CustomGBForce
.
ParticlePairNoExclusions
)
custom
.
addComputedValue
(
"B"
,
"1/(1/or-tanh(0.8*psi+2.909125*psi^3)/radius);"
"psi=I*or;
or=
radius
-
offset"
,
CustomGBForce
.
SingleParticle
)
_createEnergyTerms
(
custom
,
SA
,
cutoff
,
kappa
)
"psi=I*or; radius
=or+
offset"
,
CustomGBForce
.
SingleParticle
)
_createEnergyTerms
(
custom
,
solventDielectric
,
soluteDielectric
,
SA
,
cutoff
,
kappa
)
return
custom
"""
...
...
@@ -285,22 +275,17 @@ def GBSAOBC2Force(solventDielectric=78.5, soluteDielectric=1, SA=None,
custom
=
CustomGBForce
()
custom
.
addPerParticleParameter
(
"q"
)
custom
.
addPerParticleParameter
(
"radius"
)
custom
.
addPerParticleParameter
(
"scale"
)
if
kappa
>
0
:
custom
.
addGlobalParameter
(
'kappa'
,
kappa
)
custom
.
addGlobalParameter
(
"solventDielectric"
,
solventDielectric
)
custom
.
addGlobalParameter
(
"soluteDielectric"
,
soluteDielectric
)
custom
.
addPerParticleParameter
(
"or"
)
# Offset radius
custom
.
addPerParticleParameter
(
"sr"
)
# Scaled offset radius
custom
.
addGlobalParameter
(
"offset"
,
0.009
)
custom
.
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);"
"sr2 = scale2*or2;"
"or1 = radius1-offset; or2 = radius2-offset"
,
CustomGBForce
.
ParticlePairNoExclusions
)
"D=abs(r-sr2)"
,
CustomGBForce
.
ParticlePairNoExclusions
)
custom
.
addComputedValue
(
"B"
,
"1/(1/or-tanh(psi-0.8*psi^2+4.85*psi^3)/radius);"
"psi=I*or;
or=
radius
-
offset"
,
CustomGBForce
.
SingleParticle
)
_createEnergyTerms
(
custom
,
SA
,
cutoff
,
kappa
)
"psi=I*or; radius
=or+
offset"
,
CustomGBForce
.
SingleParticle
)
_createEnergyTerms
(
custom
,
solventDielectric
,
soluteDielectric
,
SA
,
cutoff
,
kappa
)
return
custom
"""
...
...
@@ -321,15 +306,10 @@ def GBSAGBnForce(solventDielectric=78.5, soluteDielectric=1, SA=None,
custom
=
CustomGBForce
()
custom
.
addPerParticleParameter
(
"q"
)
custom
.
addPerParticleParameter
(
"radius
"
)
custom
.
addPerParticleParameter
(
"s
cale"
)
custom
.
addPerParticleParameter
(
"
or"
)
# Offset
radius
custom
.
addPerParticleParameter
(
"s
r"
)
# Scaled offset radius
if
kappa
>
0
:
custom
.
addGlobalParameter
(
'kappa'
,
kappa
)
custom
.
addGlobalParameter
(
"solventDielectric"
,
solventDielectric
)
custom
.
addGlobalParameter
(
"soluteDielectric"
,
soluteDielectric
)
custom
.
addGlobalParameter
(
"offset"
,
0.009
)
custom
.
addGlobalParameter
(
"neckScale"
,
0.361825
)
custom
.
addGlobalParameter
(
"neckCut"
,
0.68
)
custom
.
addTabulatedFunction
(
"getd0"
,
Discrete1DFunction
(
d0
))
custom
.
addTabulatedFunction
(
"getm0"
,
Discrete1DFunction
(
m0
))
...
...
@@ -341,12 +321,12 @@ def GBSAGBnForce(solventDielectric=78.5, soluteDielectric=1, SA=None,
"U=r+sr2;"
"L=max(or1, D);"
"D=abs(r-sr2);"
"
sr2 = scale2*or2
;"
"
or1 = radius1-offset; or2 = radius2-offset
"
,
CustomGBForce
.
ParticlePairNoExclusions
)
"
radius1=or1+offset; radius2=or2+offset
;"
"
neckScale=0.361825; neckCut=0.68
"
,
CustomGBForce
.
ParticlePairNoExclusions
)
custom
.
addComputedValue
(
"B"
,
"1/(1/or-tanh(1.09511284*psi-1.907992938*psi^2+2.50798245*psi^3)/radius);"
"psi=I*or;
or=
radius
-
offset"
,
CustomGBForce
.
SingleParticle
)
_createEnergyTerms
(
custom
,
SA
,
cutoff
,
kappa
)
"psi=I*or; radius
=or+
offset"
,
CustomGBForce
.
SingleParticle
)
_createEnergyTerms
(
custom
,
solventDielectric
,
soluteDielectric
,
SA
,
cutoff
,
kappa
)
return
custom
"""
...
...
@@ -367,18 +347,13 @@ def GBSAGBn2Force(solventDielectric=78.5, soluteDielectric=1, SA=None,
custom
=
CustomGBForce
()
custom
.
addPerParticleParameter
(
"q"
)
custom
.
addPerParticleParameter
(
"radius
"
)
custom
.
addPerParticleParameter
(
"s
cale"
)
custom
.
addPerParticleParameter
(
"
or"
)
# Offset
radius
custom
.
addPerParticleParameter
(
"s
r"
)
# Scaled offset radius
custom
.
addPerParticleParameter
(
"alpha"
)
custom
.
addPerParticleParameter
(
"beta"
)
custom
.
addPerParticleParameter
(
"gamma"
)
if
kappa
>
0
:
custom
.
addGlobalParameter
(
'kappa'
,
kappa
)
custom
.
addGlobalParameter
(
"solventDielectric"
,
solventDielectric
)
custom
.
addGlobalParameter
(
"soluteDielectric"
,
soluteDielectric
)
custom
.
addGlobalParameter
(
"offset"
,
0.0195141
)
custom
.
addGlobalParameter
(
"neckScale"
,
0.826836
)
custom
.
addGlobalParameter
(
"neckCut"
,
0.68
)
custom
.
addTabulatedFunction
(
"getd0"
,
Discrete1DFunction
(
d0
))
custom
.
addTabulatedFunction
(
"getm0"
,
Discrete1DFunction
(
m0
))
...
...
@@ -390,10 +365,24 @@ def GBSAGBn2Force(solventDielectric=78.5, soluteDielectric=1, SA=None,
"U=r+sr2;"
"L=max(or1, D);"
"D=abs(r-sr2);"
"
sr2 = scale2*or2
;"
"
or1 = radius1-offset; or2 = radius2-offset
"
,
CustomGBForce
.
ParticlePairNoExclusions
)
"
radius1=or1+offset; radius2=or2+offset
;"
"
neckScale=0.826836; neckCut=0.68
"
,
CustomGBForce
.
ParticlePairNoExclusions
)
custom
.
addComputedValue
(
"B"
,
"1/(1/or-tanh(alpha*psi-beta*psi^2+gamma*psi^3)/radius);"
"psi=I*or;
or=
radius
-
offset"
,
CustomGBForce
.
SingleParticle
)
_createEnergyTerms
(
custom
,
SA
,
cutoff
,
kappa
)
"psi=I*or; radius
=or+
offset"
,
CustomGBForce
.
SingleParticle
)
_createEnergyTerms
(
custom
,
solventDielectric
,
soluteDielectric
,
SA
,
cutoff
,
kappa
)
return
custom
def
convertParameters
(
params
,
gbmodel
):
"""Convert the GB parameters from the file into the values expected by the appropriate CustomGBForce."""
newparams
=
[
None
]
*
len
(
params
)
if
gbmodel
==
'GBn2'
:
offset
=
0.0195141
else
:
offset
=
0.009
for
i
in
range
(
len
(
params
)):
newparams
[
i
]
=
list
(
params
[
i
])
newparams
[
i
][
0
]
-=
offset
newparams
[
i
][
1
]
*=
newparams
[
i
][
0
]
return
newparams
\ No newline at end of file
wrappers/python/tests/TestAmberPrmtopFile.py
View file @
92a4bbe1
...
...
@@ -100,24 +100,13 @@ class TestAmberPrmtopFile(unittest.TestCase):
for
method
in
methodMap
:
system
=
prmtop2
.
createSystem
(
implicitSolvent
=
implicitSolvent_value
,
solventDielectric
=
50.0
,
soluteDielectric
=
0.9
,
nonbondedMethod
=
method
)
found_matching_solvent_dielectric
=
False
found_matching_solute_dielectric
=
False
if
implicitSolvent_value
in
set
([
HCT
,
OBC1
,
GBn
]):
for
force
in
system
.
getForces
():
if
isinstance
(
force
,
CustomGBForce
):
self
.
assertEqual
(
force
.
getNonbondedMethod
(),
methodMap
[
method
])
for
j
in
range
(
force
.
getNumGlobalParameters
()):
if
(
force
.
getGlobalParameterName
(
j
)
==
'solventDielectric'
and
force
.
getGlobalParameterDefaultValue
(
j
)
==
50.0
):
found_matching_solvent_dielectric
=
True
if
(
force
.
getGlobalParameterName
(
j
)
==
'soluteDielectric'
and
force
.
getGlobalParameterDefaultValue
(
j
)
==
0.9
):
found_matching_solute_dielectric
=
True
if
isinstance
(
force
,
NonbondedForce
):
self
.
assertEqual
(
force
.
getReactionFieldDielectric
(),
1.0
)
self
.
assertEqual
(
force
.
getNonbondedMethod
(),
methodMap
[
method
])
self
.
assertTrue
(
found_matching_solvent_dielectric
and
found_matching_solute_dielectric
)
else
:
for
force
in
system
.
getForces
():
if
isinstance
(
force
,
GBSAOBCForce
):
...
...
@@ -240,6 +229,25 @@ class TestAmberPrmtopFile(unittest.TestCase):
# Make sure the energy is relatively close to the value we get with
# Amber using this force field.
self
.
assertAlmostEqual
(
-
7307.2735621
/
ene
,
1
,
places
=
3
)
def
test_ImplicitSolventForces
(
self
):
"""Compute forces for different implicit solvent types, and compare them to ones generated with a previous version of OpenMM to ensure they haven't changed."""
solventType
=
[
HCT
,
OBC1
,
OBC2
,
GBn
,
GBn2
]
nonbondedMethod
=
[
NoCutoff
,
CutoffNonPeriodic
,
CutoffNonPeriodic
,
NoCutoff
,
NoCutoff
]
salt
=
[
0.0
,
0.0
,
0.5
,
0.5
,
0.0
]
*
(
moles
/
liter
)
file
=
[
'HCT_NoCutoff'
,
'OBC1_NonPeriodic'
,
'OBC2_NonPeriodic_Salt'
,
'GBn_NoCutoff_Salt'
,
'GBn2_NoCutoff'
]
pdb
=
PDBFile
(
'systems/alanine-dipeptide-implicit.pdb'
)
for
i
in
range
(
5
):
system
=
prmtop2
.
createSystem
(
implicitSolvent
=
solventType
[
i
],
nonbondedMethod
=
nonbondedMethod
[
i
],
implicitSolventSaltConc
=
salt
[
i
])
integrator
=
VerletIntegrator
(
0.001
)
context
=
Context
(
system
,
integrator
,
Platform
.
getPlatformByName
(
"CPU"
))
context
.
setPositions
(
pdb
.
positions
)
state1
=
context
.
getState
(
getForces
=
True
)
state2
=
XmlSerializer
.
deserialize
(
open
(
'systems/alanine-dipeptide-implicit-forces/'
+
file
[
i
]
+
'.xml'
).
read
())
for
f1
,
f2
,
in
zip
(
state1
.
getForces
().
value_in_unit
(
kilojoules_per_mole
/
nanometer
),
state2
.
getForces
().
value_in_unit
(
kilojoules_per_mole
/
nanometer
)):
diff
=
norm
(
f1
-
f2
)
self
.
assertTrue
(
diff
<
0.1
or
diff
/
norm
(
f1
)
<
1e-4
)
if
__name__
==
'__main__'
:
unittest
.
main
()
wrappers/python/tests/systems/alanine-dipeptide-implicit-forces/GBn2_NoCutoff.xml
0 → 100644
View file @
92a4bbe1
<?xml version="1.0" ?>
<State
time=
"0"
type=
"State"
version=
"1"
>
<PeriodicBoxVectors>
<A
x=
"2"
y=
"0"
z=
"0"
/>
<B
x=
"0"
y=
"2"
z=
"0"
/>
<C
x=
"0"
y=
"0"
z=
"2"
/>
</PeriodicBoxVectors>
<Forces>
<Force
x=
"125.03448115289211"
y=
"43.32996869087219"
z=
"-.32721251249313354"
/>
<Force
x=
"341.6234832406044"
y=
"347.617433026433"
z=
"-.8306254320777953"
/>
<Force
x=
"1.465131115168333"
y=
"-51.00541362911463"
z=
"-38.11954540386796"
/>
<Force
x=
"2.7838090173900127"
y=
"-50.54201374202967"
z=
"37.45753550902009"
/>
<Force
x=
"-694.3128572702408"
y=
"-40.11703059077263"
z=
"141.99350219080225"
/>
<Force
x=
"-507.0770571231842"
y=
"-589.0909288525581"
z=
"389.5440996333491"
/>
<Force
x=
"30.07020881283097"
y=
"-865.4282982449513"
z=
"-253.73720738082193"
/>
<Force
x=
"-46.64711940288544"
y=
"-11.553307116031647"
z=
"-1.14782332489267"
/>
<Force
x=
"412.9440284720622"
y=
"393.1155642759986"
z=
"63.61426969873719"
/>
<Force
x=
"-27.9816143065691"
y=
"24.851514041423798"
z=
"52.195745466742665"
/>
<Force
x=
"7.146615496603772"
y=
"-242.70665084780194"
z=
"-305.01612206571735"
/>
<Force
x=
"25.575431060045958"
y=
"-15.982945490628481"
z=
"-64.17020486621186"
/>
<Force
x=
"93.36584681086242"
y=
"-178.10863384790719"
z=
"-121.07110506272875"
/>
<Force
x=
"418.07980923354626"
y=
"303.29553681379184"
z=
"-342.0748033244163"
/>
<Force
x=
"214.27255564928055"
y=
"-102.44735606014729"
z=
"291.2024629737716"
/>
<Force
x=
"-420.52409839630127"
y=
"128.17991256713867"
z=
"2.5522894316818565"
/>
<Force
x=
"-241.46922235935926"
y=
"416.7907632468268"
z=
"152.65439392975532"
/>
<Force
x=
"-52.96275818347931"
y=
"-151.0294795036316"
z=
"-1.817022401606664"
/>
<Force
x=
"246.45249317586422"
y=
"187.45216877479106"
z=
"-1.6977270720526576"
/>
<Force
x=
"76.24567371606827"
y=
"320.694318652153"
z=
"-.5214127898216248"
/>
<Force
x=
"-1.9259837809950113"
y=
"67.05363237857819"
z=
"8.533471319824457"
/>
<Force
x=
"-2.1587012950330973"
y=
"65.63135588169098"
z=
"-9.216962072998285"
/>
</Forces>
</State>
wrappers/python/tests/systems/alanine-dipeptide-implicit-forces/GBn_NoCutoff_Salt.xml
0 → 100644
View file @
92a4bbe1
<?xml version="1.0" ?>
<State
time=
"0"
type=
"State"
version=
"1"
>
<PeriodicBoxVectors>
<A
x=
"2"
y=
"0"
z=
"0"
/>
<B
x=
"0"
y=
"2"
z=
"0"
/>
<C
x=
"0"
y=
"0"
z=
"2"
/>
</PeriodicBoxVectors>
<Forces>
<Force
x=
"116.92173205316067"
y=
"35.74797606468201"
z=
"-.31320083141326904"
/>
<Force
x=
"346.4335723519325"
y=
"347.91397757828236"
z=
"-.7274334602989256"
/>
<Force
x=
"-3.8193766362965107"
y=
"-50.163410760462284"
z=
"-34.13527924194932"
/>
<Force
x=
"-2.5832430608570576"
y=
"-49.72161541134119"
z=
"33.492162469774485"
/>
<Force
x=
"-678.0981813669205"
y=
"-43.59890314936638"
z=
"144.39658980676904"
/>
<Force
x=
"-506.10328698158264"
y=
"-589.8690050244331"
z=
"388.1552735015284"
/>
<Force
x=
"22.236811901209876"
y=
"-862.8642609219532"
z=
"-255.22323748259805"
/>
<Force
x=
"-45.493120074272156"
y=
"-14.552918016910553"
z=
"-1.145501604769379"
/>
<Force
x=
"411.3508411399089"
y=
"390.2969187987037"
z=
"66.42137118685059"
/>
<Force
x=
"-25.265792086720467"
y=
"27.495839297771454"
z=
"54.14952242234722"
/>
<Force
x=
"3.733357897726819"
y=
"-243.36420928896405"
z=
"-297.93731590383686"
/>
<Force
x=
"25.430794905871153"
y=
"-14.971891451627016"
z=
"-70.3868496301584"
/>
<Force
x=
"97.456183610484"
y=
"-176.72447475977242"
z=
"-122.43685823655687"
/>
<Force
x=
"422.9076767414808"
y=
"300.37319069867954"
z=
"-346.16921898908913"
/>
<Force
x=
"203.8950589299202"
y=
"-90.0563190728426"
z=
"292.4585710193496"
/>
<Force
x=
"-417.8394365310669"
y=
"132.75754928588867"
z=
"2.3947719985153526"
/>
<Force
x=
"-232.2461846396327"
y=
"410.49045501928777"
z=
"152.14686514786445"
/>
<Force
x=
"-57.324524998664856"
y=
"-151.90891790390015"
z=
"-2.435667592799291"
/>
<Force
x=
"241.87253235280514"
y=
"184.33851583022624"
z=
"-1.5684559224173427"
/>
<Force
x=
"75.61852604150772"
y=
"324.36484706401825"
z=
"-.5052977800369263"
/>
<Force
x=
".5770832356065512"
y=
"67.66817677021027"
z=
"11.481010410934687"
/>
<Force
x=
".3389774616807699"
y=
"66.34845554828644"
z=
"-12.111703846603632"
/>
</Forces>
</State>
wrappers/python/tests/systems/alanine-dipeptide-implicit-forces/HCT_NoCutoff.xml
0 → 100644
View file @
92a4bbe1
<?xml version="1.0" ?>
<State
time=
"0"
type=
"State"
version=
"1"
>
<PeriodicBoxVectors>
<A
x=
"2"
y=
"0"
z=
"0"
/>
<B
x=
"0"
y=
"2"
z=
"0"
/>
<C
x=
"0"
y=
"0"
z=
"2"
/>
</PeriodicBoxVectors>
<Forces>
<Force
x=
"119.87015162408352"
y=
"35.32908082008362"
z=
"-.2700755298137665"
/>
<Force
x=
"317.75814777612686"
y=
"347.0047370940447"
z=
"-.36405922705307603"
/>
<Force
x=
"-1.5870520360767841"
y=
"-49.64923916012049"
z=
"-32.16182732954621"
/>
<Force
x=
"-.6230551488697529"
y=
"-49.28765354305506"
z=
"31.62008560076356"
/>
<Force
x=
"-662.1668611764908"
y=
"-41.318858593702316"
z=
"142.827594331"
/>
<Force
x=
"-499.81304955482483"
y=
"-628.789857685566"
z=
"396.9687448188197"
/>
<Force
x=
"9.883120800135657"
y=
"-860.5162613491993"
z=
"-256.9060352721717"
/>
<Force
x=
"-47.38457667827606"
y=
"-20.238594591617584"
z=
"-1.099657526705414"
/>
<Force
x=
"425.8578887931071"
y=
"385.30582945467904"
z=
"62.49412080156617"
/>
<Force
x=
"-27.185586169362068"
y=
"24.652142703533173"
z=
"56.237679122481495"
/>
<Force
x=
"6.795258990256116"
y=
"-237.71378814638592"
z=
"-303.22915097349323"
/>
<Force
x=
"23.833146285265684"
y=
"-15.633165407925844"
z=
"-65.40645025996491"
/>
<Force
x=
"94.45341509394348"
y=
"-180.38257107324898"
z=
"-123.42125898576342"
/>
<Force
x=
"425.9342289417982"
y=
"308.1854618168436"
z=
"-349.6926793772727"
/>
<Force
x=
"189.02624255418777"
y=
"-87.48103220760822"
z=
"291.035372557817"
/>
<Force
x=
"-438.08852100372314"
y=
"149.00048446655273"
z=
"1.9025959426071495"
/>
<Force
x=
"-214.21626215428114"
y=
"412.8787807105109"
z=
"150.88754918030463"
/>
<Force
x=
"-49.139330983161926"
y=
"-146.01251077651978"
z=
".8237868959549814"
/>
<Force
x=
"250.3118935674429"
y=
"196.49128634948283"
z=
"-1.326529967598617"
/>
<Force
x=
"79.39004474878311"
y=
"327.3214110136032"
z=
"-.41108113527297974"
/>
<Force
x=
"-1.35963093675673"
y=
"65.87895834445953"
z=
"11.501466009765863"
/>
<Force
x=
"-1.5495685283094645"
y=
"64.97552835941315"
z=
"-12.010117743164301"
/>
</Forces>
</State>
wrappers/python/tests/systems/alanine-dipeptide-implicit-forces/OBC1_NonPeriodic.xml
0 → 100644
View file @
92a4bbe1
<?xml version="1.0" ?>
<State
time=
"0"
type=
"State"
version=
"1"
>
<PeriodicBoxVectors>
<A
x=
"2"
y=
"0"
z=
"0"
/>
<B
x=
"0"
y=
"2"
z=
"0"
/>
<C
x=
"0"
y=
"0"
z=
"2"
/>
</PeriodicBoxVectors>
<Forces>
<Force
x=
"118.75197611749172"
y=
"37.31967115402222"
z=
"-.27059119939804077"
/>
<Force
x=
"319.6333022713661"
y=
"341.64345021545887"
z=
"-.5288973026908934"
/>
<Force
x=
".2122395746409893"
y=
"-48.4974714294076"
z=
"-33.63206410780549"
/>
<Force
x=
"1.172732662409544"
y=
"-48.143215753138065"
z=
"33.092639449983835"
/>
<Force
x=
"-684.7492891550064"
y=
"-22.71616694331169"
z=
"142.82319979975"
/>
<Force
x=
"-480.4688265323639"
y=
"-646.0529344677925"
z=
"396.2935791655909"
/>
<Force
x=
"19.13356330501847"
y=
"-860.4653923611622"
z=
"-259.51502784877084"
/>
<Force
x=
"-55.92518413066864"
y=
"-27.145088732242584"
z=
"-.7603530795313418"
/>
<Force
x=
"429.2403093329631"
y=
"382.1770090353675"
z=
"60.34707065927796"
/>
<Force
x=
"-26.955144122242928"
y=
"24.935925662517548"
z=
"56.52590095857158"
/>
<Force
x=
"3.497140398947522"
y=
"-239.83717452944256"
z=
"-301.7230455505196"
/>
<Force
x=
"24.14258260652423"
y=
"-15.982009936124086"
z=
"-62.18898533610627"
/>
<Force
x=
"92.46831530146301"
y=
"-180.48632702417672"
z=
"-122.92353540635668"
/>
<Force
x=
"424.0495262593031"
y=
"312.01640206342563"
z=
"-348.84565827436745"
/>
<Force
x=
"204.3266766667366"
y=
"-102.10523875057697"
z=
"290.7208612586837"
/>
<Force
x=
"-454.11176013946533"
y=
"168.45798873901367"
z=
"1.5088972502853721"
/>
<Force
x=
"-223.03344660252333"
y=
"420.29524646978825"
z=
"149.7152159397956"
/>
<Force
x=
"-39.53340256214142"
y=
"-150.4378457069397"
z=
"1.7263585741166025"
/>
<Force
x=
"248.08668254315853"
y=
"195.30956656951457"
z=
"-1.4342415807768703"
/>
<Force
x=
"83.9709010720253"
y=
"328.7274760007858"
z=
"-.4131510257720947"
/>
<Force
x=
"-1.8617023173719645"
y=
"65.95496952533722"
z=
"9.68197262659669"
/>
<Force
x=
"-2.0471442881971598"
y=
"65.03140318393707"
z=
"-10.200121019035578"
/>
</Forces>
</State>
wrappers/python/tests/systems/alanine-dipeptide-implicit-forces/OBC2_NonPeriodic_Salt.xml
0 → 100644
View file @
92a4bbe1
<?xml version="1.0" ?>
<State
time=
"0"
type=
"State"
version=
"1"
>
<PeriodicBoxVectors>
<A
x=
"2"
y=
"0"
z=
"0"
/>
<B
x=
"0"
y=
"2"
z=
"0"
/>
<C
x=
"0"
y=
"0"
z=
"2"
/>
</PeriodicBoxVectors>
<Forces>
<Force
x=
"118.3535195440054"
y=
"35.969449162483215"
z=
"-.281414270401001"
/>
<Force
x=
"314.4263282418251"
y=
"344.44179029762745"
z=
"-.434397476259619"
/>
<Force
x=
"-1.4066988714039326"
y=
"-49.76428470760584"
z=
"-32.37674808874726"
/>
<Force
x=
"-.40957896783947945"
y=
"-49.397793389856815"
z=
"31.823710206896067"
/>
<Force
x=
"-657.3909059762955"
y=
"-38.007091015577316"
z=
"141.8415627987124"
/>
<Force
x=
"-493.7057650089264"
y=
"-643.0512407422066"
z=
"398.3075271293055"
/>
<Force
x=
"7.296756054041907"
y=
"-855.5627281765919"
z=
"-257.9519661345985"
/>
<Force
x=
"-53.50385844707489"
y=
"-24.334915697574615"
z=
"-1.1155095011927187"
/>
<Force
x=
"429.9477740279399"
y=
"379.88140909792855"
z=
"60.92471059667878"
/>
<Force
x=
"-26.743043139576912"
y=
"21.195145785808563"
z=
"59.63117956975475"
/>
<Force
x=
"5.737775317160413"
y=
"-236.0452548211906"
z=
"-302.6426021682564"
/>
<Force
x=
"23.517739962786436"
y=
"-16.610735941678286"
z=
"-63.854551303666085"
/>
<Force
x=
"94.2509424071759"
y=
"-182.99365315027535"
z=
"-125.87754732347094"
/>
<Force
x=
"424.38538555800915"
y=
"311.03262597089633"
z=
"-349.64496991224587"
/>
<Force
x=
"177.18182879686356"
y=
"-78.61917002499104"
z=
"287.95103532331996"
/>
<Force
x=
"-442.6554002761841"
y=
"158.27599716186523"
z=
"2.4879631453659385"
/>
<Force
x=
"-211.27339106053114"
y=
"403.45306001883"
z=
"150.30480124405585"
/>
<Force
x=
"-37.10933029651642"
y=
"-140.19635248184204"
z=
"3.2473717445973307"
/>
<Force
x=
"249.92661701142788"
y=
"200.21128232497722"
z=
"-1.3900556145235896"
/>
<Force
x=
"83.43381077051163"
y=
"328.46902453899384"
z=
"-.4314945936203003"
/>
<Force
x=
"-2.0295280162245035"
y=
"66.29071056842804"
z=
"10.737368497997522"
/>
<Force
x=
"-2.2310355845838785"
y=
"65.36275541782379"
z=
"-11.255987975746393"
/>
</Forces>
</State>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment