Java Class Analogues of the OpenMM C++ API
Force Field X makes use of OpenMM via Java classes that are analogues of the OpenMM C++ API.
Lower level wrappers around the C API are automatically generated using Jnaerator and are available on Github in case they may be useful to others:
Java Wrappers for the OpenMM C API
Including the Library in a Maven Project
<dependency> <groupId>edu.uiowa.jopenmm</groupId> <artifactId>jopenmm-fat</artifactId> <version>7.5.0-v11</version> </dependency>
Loading the OpenMM Binary Library and Plugins
To use the Java OpenMM Wrappers within Java, please first initialize the library using the provided OpenMMUtils class:
OpenMMUtils.init();
This will extract the OpenMM binary libraries from the openmm-fat.jar file to a temporary directory and configure JNA to find them.
OpenMM plugins can be loaded from the directory OpenMMUtils.OPENMM_PLUGIN_DIR as follows:
PointerByReference plugins = OpenMM_Platform_loadPluginsFromDirectory(OpenMMUtils.OPENMM_PLUGIN_DIR);