Releases: OpenMD/OpenMD
Version 3.0 (December 2023)
OpenMD 3.0 is a major release with significant internal changes in how the code operates, numerous bug fixes, and a large expansion in capabilities.
Major changes
- 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
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
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.
- Derived
ForceManager
s andPerturbation
s were combined into aForceModifier
class to safely extend force calculations. Accumulator
class was fully refactored to remove unnecessary runtime dispatching throughdynamic_cast
s- 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
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 ($Q_k$ ) -
--tet_param_z
spatially-resolved tetrahedrality order parameter ($Q_k(z)$ ) -
--tet_param_r
spatially-resolved tetrahedrality order parameter ($Q_k(r)$ ) around a third selection -
--tet_param_dens
computes distribution of tetrahedrality order parameters ($p(Q_k)$ ) -
--tet_param_xyz
volume-resolved tetrahedrality order parameters ($Q_k(x,y,z)$ ) (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$S(z)$ , where$S = (3 \cos^2\theta - 1)/2 $ and$\theta$ is measured relative to selected ($z$ ) axis.
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
Hydro
AtomicBead
Model has been extended to include overlapping beadsBoundaryElement
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.
Utilities
- New
stat2pcorr
utility. This computes pressure correlation functions from stat file$\langle (P(t)-\langle P \rangle ) \cdot (P(0)-\langle P\rangle )\rangle / \langle (P(0) - \langle P \rangle)^2 \rangle$ - 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
Samples
- Added / updated some metal oxides and mixed metal/metal oxides (Pb3O4, Pt3O4)
ForceFields
- Added CO2 molecule for CLAYFF
- Added some support for UFF (universal force field) and MOMEC force fields
Version 2.6 (August 2019)
v2.6 OpenMD version 2.6