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
e9912aac
"vscode:/vscode.git/clone" did not exist on "e7a47007cb0e7e5b9ef4f640b2e1fb5cd705b81d"
Commit
e9912aac
authored
Apr 05, 2020
by
Charlles Abreu
Browse files
Continuous1D functions with periodic option in ForceField
parent
0a319a9e
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
4 additions
and
2 deletions
+4
-2
wrappers/python/simtk/openmm/app/forcefield.py
wrappers/python/simtk/openmm/app/forcefield.py
+4
-2
No files found.
wrappers/python/simtk/openmm/app/forcefield.py
View file @
e9912aac
...
@@ -86,6 +86,8 @@ def _parseFunctions(element):
...
@@ -86,6 +86,8 @@ def _parseFunctions(element):
params
[
key
]
=
int
(
function
.
attrib
[
key
])
params
[
key
]
=
int
(
function
.
attrib
[
key
])
elif
key
.
endswith
(
'min'
)
or
key
.
endswith
(
'max'
):
elif
key
.
endswith
(
'min'
)
or
key
.
endswith
(
'max'
):
params
[
key
]
=
float
(
function
.
attrib
[
key
])
params
[
key
]
=
float
(
function
.
attrib
[
key
])
if
functionType
==
'Continuous1D'
:
params
[
'periodic'
]
=
bool
(
eval
(
function
.
attrib
.
get
(
'periodic'
)))
functions
.
append
((
function
.
attrib
[
'name'
],
functionType
,
values
,
params
))
functions
.
append
((
function
.
attrib
[
'name'
],
functionType
,
values
,
params
))
return
functions
return
functions
...
@@ -93,7 +95,7 @@ def _createFunctions(force, functions):
...
@@ -93,7 +95,7 @@ def _createFunctions(force, functions):
"""Add TabulatedFunctions to a Force based on the information that was recorded by _parseFunctions()."""
"""Add TabulatedFunctions to a Force based on the information that was recorded by _parseFunctions()."""
for
(
name
,
type
,
values
,
params
)
in
functions
:
for
(
name
,
type
,
values
,
params
)
in
functions
:
if
type
==
'Continuous1D'
:
if
type
==
'Continuous1D'
:
force
.
addTabulatedFunction
(
name
,
mm
.
Continuous1DFunction
(
values
,
params
[
'min'
],
params
[
'max'
]))
force
.
addTabulatedFunction
(
name
,
mm
.
Continuous1DFunction
(
values
,
params
[
'min'
],
params
[
'max'
]
,
params
[
'periodic'
]
))
elif
type
==
'Continuous2D'
:
elif
type
==
'Continuous2D'
:
force
.
addTabulatedFunction
(
name
,
mm
.
Continuous2DFunction
(
params
[
'xsize'
],
params
[
'ysize'
],
values
,
params
[
'xmin'
],
params
[
'xmax'
],
params
[
'ymin'
],
params
[
'ymax'
]))
force
.
addTabulatedFunction
(
name
,
mm
.
Continuous2DFunction
(
params
[
'xsize'
],
params
[
'ysize'
],
values
,
params
[
'xmin'
],
params
[
'xmax'
],
params
[
'ymin'
],
params
[
'ymax'
]))
elif
type
==
'Continuous3D'
:
elif
type
==
'Continuous3D'
:
...
@@ -3166,7 +3168,7 @@ class CustomManyParticleGenerator(object):
...
@@ -3166,7 +3168,7 @@ class CustomManyParticleGenerator(object):
force
.
setTypeFilter
(
index
,
types
)
force
.
setTypeFilter
(
index
,
types
)
for
(
name
,
type
,
values
,
params
)
in
self
.
functions
:
for
(
name
,
type
,
values
,
params
)
in
self
.
functions
:
if
type
==
'Continuous1D'
:
if
type
==
'Continuous1D'
:
force
.
addTabulatedFunction
(
name
,
mm
.
Continuous1DFunction
(
values
,
params
[
'min'
],
params
[
'max'
]))
force
.
addTabulatedFunction
(
name
,
mm
.
Continuous1DFunction
(
values
,
params
[
'min'
],
params
[
'max'
]
,
params
[
'periodic'
]
))
elif
type
==
'Continuous2D'
:
elif
type
==
'Continuous2D'
:
force
.
addTabulatedFunction
(
name
,
mm
.
Continuous2DFunction
(
params
[
'xsize'
],
params
[
'ysize'
],
values
,
params
[
'xmin'
],
params
[
'xmax'
],
params
[
'ymin'
],
params
[
'ymax'
]))
force
.
addTabulatedFunction
(
name
,
mm
.
Continuous2DFunction
(
params
[
'xsize'
],
params
[
'ysize'
],
values
,
params
[
'xmin'
],
params
[
'xmax'
],
params
[
'ymin'
],
params
[
'ymax'
]))
elif
type
==
'Continuous3D'
:
elif
type
==
'Continuous3D'
:
...
...
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