# Force Field X 1.0.0-beta API

Package

Description

The HTTP package provides a lightweight HTTP/1.0 server.

The IO package provides the DataOutputStream and DataInputStream classes to read/write primitive data
types and strings in binary form.

The MP package provides low-level support for Message Passing.

The BUF package provides data buffers for Message Passing.

The PJ package (Parallel Java) support shared memory, message passing and
hybrid shared memory/message passing parallelization in pure Java.

The Cluster package contains the Parallel Java cluster middleware and the main program
for the PJ Job Scheduler Daemon process for a parallel computer.

The IO package represents a file that resides in the user's account in the
job frontend process of a PJ cluster parallel program.

The Job package encapsulates a job and its attributes.

The Reduction package provides a variety of reduction variables.

The Replica package provides replicated, shared reduction variables.

The Util package contains utilities that support the PJ API.

Force Field X implements fixed charge and polarizable atomic multipole molecular mechanics
potentials, local and global optimization, molecular dynamics, free energy differences, etc, with
special support for crystal space groups.

The Algorithms package has support for local and global optimization, molecular dynamics
simulations, and calculation of free energy differences.

The Algorithms CLI package defines options for PicoCLI command line scripts.

The Dynamics package implements molecular and stochastic dynamics using a pure Java code path and
via OpenMM.

The Integrators package implements integrators for molecular dynamics simulations.

The Thermostats package implements thermostats for molecular dynamics simulations.

The MC package implements a variety of Monte Carlo moves for optimization and simulation
algorithms.

The Misc package contains a few miscellaneous algorithms.

The Optimize package contains local and global optimization algorithms using pure Java and OpenMM
code paths.

The Thermodynamics package computes free energy differences using Orthogonal Space Tempering
(OST) sampling via pure Java or OpenMM (via Monte Carlo OST).

The Crystal package implements space group symmetry and periodic boundary condition support.

The Numerics package has support for atomic double arrays, FFTs (1D and 3D), numerical
integration (1D), complex numbers, vector operations, multipole tensors, multi-dimensional
optimization, special functions, splines and switching functions.

The Atomic package has implementations of a double array that can be safely operated on by
multiple threads.

The FFT package implements 1D and 3D FFTs of real or complex valued data, including SMP
parallelization of 3D transforms and convolution using the Parallel Java library.

The Integrate package implements 1D numerical integration.

The Math package implements complex numbers, a software square root, and vector operations.

The Multipole package computes derivatives of 1/|

**r**| via recursion to arbitrary order using Cartesian multipoles in either a global frame or a quasi-internal frame.The Optimization package implements the limited-memory Broyden-Fletcher-Goldfarb-Shanno (L-BFGS)
algorithm for large-scale multidimensional unconstrained optimization problems.

The Special package implements special functions including the complex error function (Erf) and
the modified Bessel functions.

The Spline package implements implements B-splines and Tricubic splines.

The Switching package implements univariate switching functions.

The Potential package implements molecular mechanics force fields with shared memory Parallel
Java and via OpenMM.

The Bonded package implements bonded molecular mechanics terms such as bonds, angles, torsions,
etc.

The Potential CLI package defines reusable options for PicoCLI command line scripts.

The Extended package is progress toward support for constant pH molecular dynamics using extended
system variables (i.e.

The Nonbonded package implements nonbonded molecular mechanics terms such as van der Waals and
Particle Mesh Ewald electrostastics.

The Parameters package stores force field atom types, bond types, etc, and keywords that define
the potential.

The Parsers package handles reading/writing files to/from the internal data structure.

The Utils package implements core functionality needed for using the Potential package, such as
opening and closing structure files, basic force field energy evaluations, etc.

The Real Space package implements real space structure refinement.

The Real Space CLI package defines options for PicoCLI command line scripts.

The Parsers package reads and writes CCP4 map files.

The UI package provides views and controllers for manipulating molecular systems.

The Behaviors package contains Java3D Behaviors that turn user actions into scenegraph changes.

The Commands package implements a Client/Server interface between Force Field X and simulations.

The Properties package will eventually encapsulate internationalization features.

The Utilities package implements a variety of useful Directory, File, Port, String, etc
functionality.

The X-ray package implements support for X-ray and Neutron refinement.

The X-ray CLI package defines options for PicoCLI command line scripts.

The Parsers package reads CNS files and reads/writes MTZ files.