Skip to content

Releases: OpenMD/OpenMD

Version 3.0 (December 2023)

13 Dec 20:40
Compare
Choose a tag to compare

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 a statsFileFormat 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 ForceManagers and Perturbations were combined into a ForceModifier class to safely extend force calculations.
  • Accumulator class was fully refactored to remove unnecessary runtime dispatching through dynamic_casts
    • 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

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, and gaussWidth 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 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.

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 and wcorr2spectrum 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)

16 Feb 21:38
Compare
Choose a tag to compare
v2.6

OpenMD version 2.6