generate_simulation_protocols
- openff.evaluator.protocols.utils.generate_simulation_protocols(analysis_protocol: S, use_target_uncertainty: bool, id_suffix: str = '', conditional_group: Optional[ConditionalGroup] = None, n_molecules: int = 1000) Tuple[SimulationProtocols[S], ProtocolPath, StoredSimulationData] [source]
Constructs a set of protocols which, when combined in a workflow schema, may be executed to run a single simulation to estimate the average value of an observable.
The protocols returned will:
Build a set of liquid coordinates for the property substance using packmol.
Assign a set of smirnoff force field parameters to the system.
Perform an energy minimisation on the system.
Run a short NPT equilibration simulation for 100000 steps using a timestep of 2fs.
Within a conditional group (up to a maximum of 100 times):
- 5a) Run a longer NPT production simulation for 1000000 steps using a
timestep of 2fs
5b) Extract the average value of an observable and it’s uncertainty.
- 5c) If a convergence mode is set by the options, check if the target
uncertainty has been met. If not, repeat steps 5a), 5b) and 5c).
Extract uncorrelated configurations from a generated production simulation.
Extract uncorrelated statistics from a generated production simulation.
- Parameters
analysis_protocol – The protocol which will extract the observable of interest from the generated simulation data.
use_target_uncertainty – Whether to run the simulation until the observable is estimated to within the target uncertainty.
id_suffix (str) – A string suffix to append to each of the protocol ids.
conditional_group (ProtocolGroup, optional) – A custom group to wrap the main simulation / extraction protocols within. It is up to the caller of this method to manually add the convergence conditions to this group. If None, a default group with uncertainty convergence conditions is automatically constructed.
n_molecules (int) – The number of molecules to use in the workflow.
- Returns
The protocols to add to the workflow, a reference to the average value of the
estimated observable (an
Observable
object), and an object which describesthe default data from a simulation to store, such as the uncorrelated statistics
and configurations.