This section outlines the data structures used by libEnsemble. We first discuss the dictionaries that are input to libEnsemble to declare the simulation, generation, and allocation specifications, as well as specify exit criteria, persistent information, and other libEnsemble options.
Since version 0.7.0, libEnsemble performs an initial check that all
alloc_specs correspond to
a field in the initial history array,
at least one
'out' field in the aforementioned data structures. This
guarantees that the required inputs are available.