__init__.py 1.21 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#
#
#

"""
Package simtk.openmm

This package wraps the simtk.openmm.openmm module.
When imported, it loads the swig module and then does some magic
to make the POSIX function "dlopen" work on Linux.
It also tries to load any plugin modules it can find.
"""

__author__ = "Randall J. Radmer"

16
import os, sys, glob, os.path
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
if sys.platform == "win32":
    libPrefix=""
    libExt="dll"
elif sys.platform == 'darwin':
    libPrefix="lib"
    libExt="dylib"
else:
    libPrefix="lib"
    libExt="so"
    # The following is an evil incantation that is needed to permit
    # the POSIX "dlopen" function to work.  I do not understand
    # it.  If a better solution is known, please forward to the
    # PyOpenMM code maintainers.
    import ctypes
    flags = sys.getdlopenflags()
    sys.setdlopenflags(flags | ctypes.RTLD_GLOBAL)


Peter Eastman's avatar
Peter Eastman committed
35
from simtk.openmm.openmm import *
36
from simtk.openmm.vec3 import Vec3
37
38
39
40
41
from simtk.openmm import version
if os.getenv('OPENMM_PLUGIN_DIR') is None:
    pluginLoadedLibNames = Platform.loadPluginsFromDirectory(os.path.join(version.openmm_library_path, 'plugins'))
else:
    pluginLoadedLibNames = Platform.loadPluginsFromDirectory(Platform.getDefaultPluginsDirectory())
42
__version__ = Platform.getOpenMMVersion()