Refine SimulationInput
This umbrella issue describes work planned under the https://gitlab.com/gromacs/gromacs/-/issues?label_name%5B%5D=simulation-input label in the GROMACS 2022 development cycle.
GROMACS 2021 introduces gmx::SimulationInput
as an abstract way to reference data sources for initializing the simulator state. Some utility functions have been proposed, but not yet implemented, because more work is needed both on implementation and on design aspects of how SimulationInput will be used.
-
Implement the utility functions described in #3374 (closed). -
Replace gmxapi::System
usage with SimulationInput and removegmxapi::System
(#4467 (closed)) -
Refine the specification of SimulationInput constituent data. (What should be added to/removed from SimulationInput? Does it encapsulate a well-defined set of data, or is it a Facade for a big composition of data sources?) -
Modularize ownership of the -s
and-cpi
gmx::internal::OptionSectionImpl::optionMap_
entries. -
Decouple SimulationInput from details of file-based input sources. (Suggest reading files once and capturing deserialization streams.) -
Manage distributed state. Maintain and improve data locality optimizations. -
Refine creation method for SimulationInput objects. -
Refine the path for creating SimulationInput from simulation output (e.g. Simulator object or Simulator client scope objects). #3439 (closed) -
Apply SimulationInput directly to consumers (or appropriate management facilities for constituent data), instead of storing intermediate data structures at apply...
call sites. -
Use SimulationInput for utilities (and analysis tools) that currently rely on TPR and/or CPT files.
Edited by M. Eric Irrgang