0.17.0 - Removed Py2 support, faster exact PME treatment
Pre-release
Pre-release
New features
- Add
GlobalParameterFunction
that allows to enslave aGlobalParameter
to an arbitrary function of controlling variables (#380). - Allow ignoring velocities when building the dict representation of a
SamplerState
. This can be useful for example to save bandwidth when sending aSamplerState
over the network and velocities are not required (#386). - Add
DoubleWellDimer_WCAFluid
andDoubleWellChain_WCAFluid
test systems (#389).
Enhancements
- New implementation of the exact PME handling that uses the parameter offset feature in OpenMM 7.3. This comes with a
considerable speed improvement over the previous implementation (#380). - Exact PME is now the default for the
alchemical_pme_treatment
parameter in the constructor of
AbsoluteAchemicalFactory
(#386). - It is now possible to have multiple composable states exposing the same attributes/getter/setter in a
CompoundThermodynamicState
(#380).
Bug fixes
- Fixed a bug involving the
NoseHooverChainVelocityVerletIntegrator
withSystem
with constraints. The constraints were not taken into account when calculating the number of degrees of freedom resulting in the temperature not converging to the target value. (#384) - Fixed a bug affecting
reduced_potential_at_states
when computing the reduced potential of systems in differentAlchemicalState
s when the same alchemical parameter appeared in force objects split into different force groups. (#385)
Deprecated and API breaks
- Python 2 and 3.5 is not supported anymore.
- The
update_alchemical_charges
attribute ofAlchemicalState
, which was deprecated in 0.16.0, has now been removed since it doesn't make sense with the new parameter offset implementation. - The methods
AlchemicalState.get_alchemical_variable
andAlchemicalState.set_alchemical_variable
have been deprecated. UseAlchemicalState.get_alchemical_function
andAlchemicalState.set_alchemical_function
instead.