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 python-based utility scripts now default to Python3
- Open source license changed from a custom license to the BSD 3-Clause license
New Options/Capabilities
- New Scaled Particle Flux (SPF) reverse non-equilibrium 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 Hydrogen-Bond 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
spatially-resolved tetrahedrality order parameter -
--tet_param_r
spatially-resolved tetrahedrality order parameter around a third selection -
--tet_param_dens
computes distribution of tetrahedrality order parameters -
--tet_param_xyz
volume-resolved 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
slab-resolved RNEMD statistics (temperature, density, velocity) -
--rnemdr
shell-resolved RNEMD statistics (temperature, density, angular velocity) -
--rnemdrt
shell and angle-resolved RNEMD statistics (temperature, density, angular velocity)
New Order Parameters
-
--kirkwood_buff
Kirkwood-Buff integrals (--sele1
and--sele2
must both be specified) -
--p2r
2nd order Legendre order parameter using r (vector) as the director axis in spherical systems. -
--dipole_orientation
spatially-resolved 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)
Hydrodynamics-related 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 H3O+ - 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 (Pb3O4, Pt3O4)
ForceField Changes
- Added CO2 molecule for CLAYFF
- Added some support for UFF (universal force field) and MOMEC force fields
Go grab it at the Download page!