Deprecate and remove net_force, net_torque, net_energy, and net_virials from local snapshots.
Check whether *_local_force_arrays recomputes after a set_snapshot
Add a new snapshot_set signal. Use this to test when to recompute forces. Local snapshots should send the signal when exiting the context manager. Also document that changes to particle energies will not be reflected until the context manager exits.
Similarly document that ThermodynamicQuantities computes based on the content in the system state last set by the integrator and that snapshot modifications will be ignored.
Motivation and context
These quantities are not part of the system state and never should have been added. Many users reference these, but find it confusing when they do not update as expected. In reality, these are internal quantities computed by Integrator when needed to integrate the system forward in time.
Users should access the Force properties to obtain these quantities. If the user has multiple Force objects, it is the responsibility of the user to add them together when needed.
Description
Deprecate and remove
net_force
,net_torque
,net_energy
, andnet_virials
from local snapshots.Check whether
*_local_force_arrays
recomputes after aset_snapshot
Add a new
snapshot_set
signal. Use this to test when to recompute forces. Local snapshots should send the signal when exiting the context manager. Also document that changes to particle energies will not be reflected until the context manager exits.Similarly document that
ThermodynamicQuantities
computes based on the content in the system state last set by the integrator and that snapshot modifications will be ignored.Motivation and context
These quantities are not part of the system state and never should have been added. Many users reference these, but find it confusing when they do not update as expected. In reality, these are internal quantities computed by
Integrator
when needed to integrate the system forward in time.Users should access the
Force
properties to obtain these quantities. If the user has multipleForce
objects, it is the responsibility of the user to add them together when needed.