We are pleased to announce the release of OpenMD 3.0, with significant internal changes in how the code operates, numerous bug fixes, and a large expansion in capabilities.
Changes to the OpenMD engine
 Refactored OpenMD codebase to utilize C++17 standard
 All pythonbased utility scripts now default to Python3
 Open source license changed from a custom license to the BSD 3Clause license
New Options/Capabilities
 New Scaled Particle Flux (SPF) reverse nonequilibrium molecular dynamics (RNEMD) to create concentration gradients
 Added
CURRENT_DENSITY
as astatsFileFormat
option  Internals: Added
CosineSeries
Bend type  Better CHARMM torsions using Chebyshev polynomials
 Restraints: Using the TwistSwing decomposition in MolecularRestraint, Added a position displacement to restraints (including absoluteZ)
 Integrators: New
LangevinPiston
integrator  Fluctuating Charges: added options to choose method of charge optimization
 New Force Field option for fluctuating charge energy scaling
Changes to the Internals / API
 RNEMD refactored: Individual methods are created using the
RNEMD::MethodFactory
class  Removed the custom Mersenne Twister implementation in favor of the C++ Standard Library’s version. Each processor now owns its own engine that is progressed independently of the other processors, while remaining deterministic when seeded.
 Classes derived from
ForceManager
andPerturbation
were combined into aForceModifier
class to safely extend force calculations. 
Accumulator
class was fully refactored to remove unnecessary runtime dispatching through use ofdynamic_cast
 When the type of
Accumulator
is known at compile time, they can be used directly with no performance hit  However, when polymorphic behavior is required, a combination of class template specialization and inheritance are utilized
 When the type of
Changes to StaticProps
New HydrogenBond modules

hbondz
Hydrogen Bond density binned along one axis 
hbondr
Hydrogen Bond density binned by distance from a selection 
hbondzvol
Hydrogen Bond density binned along one axis, normalized by bin volume 
hbondrvol
Hydrogen Bond density binned by distance, normalized by spherical shell volume
New Charge Density modules

chargez
Charge distribution binned along one axis 
charger
Charge density binned by distance from a selection 
charge_density_z
computes the continuous charge distribution along selected axis
New Number Density modules

numberz
Number density along one axis 
numberr
Number density by distance from a selection 
countz
computes the number of selected atoms along selected axis
New Mass Density modules

massdensityz
computes the mass density of the selection along selected axis 
massdensityr
mass density of the selection by distance from another selection
New Tetrahedrality modules

tet_param
tetrahedrality order parameter 
tet_param_z
spatiallyresolved tetrahedrality order parameter 
tet_param_r
spatiallyresolved tetrahedrality order parameter around a third selection 
tet_param_dens
computes distribution of tetrahedrality order parameters 
tet_param_xyz
volumeresolved tetrahedrality order parameters (voxelSize
,rcut
, andgaussWidth
must be specified). Outputs in VTK format.
New Spatial Statistics modules useful for RNEMD simulations, note that
comsele
can be used to define the selection of a central atom for radial calculations

rnemdz
slabresolved RNEMD statistics (temperature, density, velocity) 
rnemdr
shellresolved RNEMD statistics (temperature, density, angular velocity) 
rnemdrt
shell and angleresolved RNEMD statistics (temperature, density, angular velocity)
New Order Parameters

kirkwood_buff
KirkwoodBuff integrals (sele1
andsele2
must both be specified) 
p2r
2nd order Legendre order parameter using r (vector) as the director axis in spherical systems. 
dipole_orientation
spatiallyresolved dipole order parameter
Changes to DynamicProps
New Multipass code dramatically speeds up calculation of all correlation functions
Onsager Correlation Functions:

onsager
Onsager coefficients (correlations of group center of mass displacements)
Hydrodynamicsrelated correlation functions:

vaOutProdcorr
Velocity – Velocity auto outer product correlation function 
waOutProdcorr
Angular Velocity – Angular Velocity auto outer product correlation function 
vwOutProdcorr
Velocity – Angular Velocity outer product correlation function 
wvOutProdcorr
Angular Velocity – Velocity outer product correlation function 
pjcorr
Momentum – Angular Momentum cross correlation function 
ftcorr
Force – Torque cross correlation function 
facorr
Force – Force auto correlation function 
tfcorr
Torque – Force Cross correlation function 
tacorr
Torque auto correlation function
Fluctuating charge correlation functions:

ckcorr
Charge – Kinetic energy cross correlation function 
cscorr
Charge – Orientation order parameter (Cos theta) cross correlation function 
wcorr
Charge velocity correlation function
Hydrogen bond correlation functions:

jumptime
Hydrogen bond jump time correlation function 
jumptimeZ
Hydrogen bond jump time correlation function (binned along one axis) 
jumptimeR
Hydrogen bond jump time correlation function binned by distance round a third selection 
persistence
Hydrogen bond persistence correlation function
Other new correlation functions

current
Current density auto correlation function 
ddisp
Collective Dipole displacement function (Helfand moment of Current Density) 
rotAngleDisp
Displacement correlation function for rotation (Roll, Pitch, Yaw) deviations from initial orientations
Changes to Hydro

AtomicBead
Model has been extended to include overlapping beads 
BoundaryElement
Method has been added for use with MSMS triangulated surfaces of general STL files.  Pitch matrix of molecules is computed during Hydro calculation
 Output files now have the suffix
.hydro
which are JSON files that are required for rigid body Langevin Dynamics, replacing the older.diff
files.
Changes in Utility scripts
 New
stat2pcorr
utility. This computes pressure correlation functions from stat file  new
waterSphere
utility builds spheres of water 
waterReplacer
now function in inputs containing H_{3}O^{+}  New
equationofstate
utility computes equations of state for crystals  New
omdCombined
script combines solute and solvent structures
with the same box geometry (no atoms can overlap) 
vcorr2spectrum
andwcorr2spectrum
now output in wavenumbers
Changes in Samples
 Added / updated some metal oxides and mixed metal/metal oxides (Pb_{3}O_{4}, Pt_{3}O_{4})
ForceField Changes
 Added CO_{2} molecule for CLAYFF
 Added some support for UFF (universal force field) and MOMEC force fields
Go grab it at the Download page!