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
443dceb8
Commit
443dceb8
authored
Aug 19, 2013
by
Robert McGibbon
Browse files
make testInstallation py2/3
parent
8f9f824e
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
15 additions
and
11 deletions
+15
-11
examples/testInstallation.py
examples/testInstallation.py
+15
-11
No files found.
examples/testInstallation.py
View file @
443dceb8
from
__future__
import
print_function
# First make sure OpenMM is installed.
import
sys
try
:
from
simtk.openmm.app
import
*
from
simtk.openmm
import
*
from
simtk.unit
import
*
except
ImportError
as
err
:
print
"Failed to import OpenMM packages:"
,
err
.
message
print
"Make sure OpenMM is installed and the library path is set correctly."
print
(
"Failed to import OpenMM packages:"
,
err
.
message
)
print
(
"Make sure OpenMM is installed and the library path is set correctly."
)
sys
.
exit
()
# Create a System for the tests.
...
...
@@ -19,28 +21,28 @@ system = forcefield.createSystem(pdb.topology, nonbondedMethod=PME, nonbondedCut
# List all installed platforms and compute forces with each one.
numPlatforms
=
Platform
.
getNumPlatforms
()
print
"There are"
,
numPlatforms
,
"Platforms available:"
print
print
(
"There are"
,
numPlatforms
,
"Platforms available:"
)
print
()
forces
=
[
None
]
*
numPlatforms
for
i
in
range
(
numPlatforms
):
platform
=
Platform
.
getPlatform
(
i
)
print
i
+
1
,
platform
.
getName
(),
print
(
i
+
1
,
platform
.
getName
(),
end
=
" "
)
integrator
=
LangevinIntegrator
(
300
*
kelvin
,
1
/
picosecond
,
0.002
*
picoseconds
)
try
:
simulation
=
Simulation
(
pdb
.
topology
,
system
,
integrator
,
platform
)
simulation
.
context
.
setPositions
(
pdb
.
positions
)
forces
[
i
]
=
simulation
.
context
.
getState
(
getForces
=
True
).
getForces
()
del
simulation
print
"- Successfully computed forces"
print
(
"- Successfully computed forces"
)
except
:
print
"- Error computing forces with"
,
platform
.
getName
(),
"platform"
print
(
"- Error computing forces with"
,
platform
.
getName
(),
"platform"
)
# See how well the platforms agree.
if
numPlatforms
>
1
:
print
print
"Median difference in forces between platforms:"
print
print
()
print
(
"Median difference in forces between platforms:"
)
print
()
for
i
in
range
(
numPlatforms
):
for
j
in
range
(
i
):
if
forces
[
i
]
is
not
None
and
forces
[
j
]
is
not
None
:
...
...
@@ -49,4 +51,6 @@ if numPlatforms > 1:
d
=
f1
-
f2
error
=
sqrt
((
d
[
0
]
*
d
[
0
]
+
d
[
1
]
*
d
[
1
]
+
d
[
2
]
*
d
[
2
])
/
(
f1
[
0
]
*
f1
[
0
]
+
f1
[
1
]
*
f1
[
1
]
+
f1
[
2
]
*
f1
[
2
]))
errors
.
append
(
error
)
print
"%s vs. %s: %g"
%
(
Platform
.
getPlatform
(
j
).
getName
(),
Platform
.
getPlatform
(
i
).
getName
(),
sorted
(
errors
)[
len
(
errors
)
/
2
])
print
(
"{} vs. {}: {:g}"
.
format
(
Platform
.
getPlatform
(
j
).
getName
(),
Platform
.
getPlatform
(
i
).
getName
(),
sorted
(
errors
)[
len
(
errors
)
//
2
]))
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