Cyclus 1.5.0 Release¶
- Author:
Cyclus Developers
- Website:
- Contact:
The Cyclus core team is excited to announce the latest stable version of the Cyclus ecosystem!
Major Features¶
Compatibility:
C++ 11 support is now required to compile Cyclus and Cycamore.
Resource exchange preferences now default to 1.0 instead of zero.
Cyclus¶
Features:
Resource exchange now supports COIN linear and mixed integer linear solvers. This can be specified in the input file.
Added new optional ExplicitInventory and ExplicitInventoryCompact tables to the database that can be enabled via input file.
Implemented custom time step duration that can be set in the input file (i.e. CEP 23).
Agents/archetypes now can provide their own versions that are recorded in the AgentVersion table in the database for provenance/reproducibility.
Support for new datatypes added to the sqlite backend:
std::list<std::pair<int, int> >
std::map<std::string, std::pair<std::string, std::vector<double> > >
std::vector<std::pair<std::pair<double, double>, std:map<std::string, double > > > >
cycpp
now supports theinternal
annotation for state variables allowing them to be persisted in the database, but not visible in the input file or GUI.Adding 2 new variables to allow adjustments to the caculation tolerance:
tolerance
andtolerance_generic
.Building stubs archetypes now requires C++11.
More effective hdf5 backend generation by using an AST setup with various nodes and blocks of nodes
Generate lastest version in dbtypes.json upon install
Now generate a Python library allowing Cymetric to be full Python
Bug fixes:
Fixed floating-point comparison bugs in DRE causing incorrectly failed resource trades.
Determinism/reproducibility improved by calling agents’ resource exchange related functions in consistent order.
Fixed invalid memory access bugs affecting newer and mac compilers.
xinclude substitutions in input files are now processed for the input file stored in output databases - rather than storing the incomplete, partial input file.
Archetype compilation now correctly fails early if the
cycpp
preprocessor fails.Fix late silent failures on <= 0.0 quantity bids to early loud failures.
cyclus::toolkit::ResBuf
is no longer experimental.Fix bad types in
dbtypes.json
Cycamore¶
Added Storage archetype. This Facility is intended to hold materials for a user specified amount of time in order to model a storage facility with a certain residence time or holdup time.
Added Mixer archetype. This facility Mixer mixes N streams with fixed, static, user-specified ratios into a single output stream. The Mixer has N input inventories: one for each streams to be mixed, and one output stream. The supplying of mixed material is constrained by available inventory of mixed material quantities.
All Cycamore archetypes now uses the
tolerance_resource
for all the bufferPop
.
Cymetric¶
Added new metrics: full list here
Added a new directory with cymetric usage examples
Separated out all archetype-specific metrics from the main metrics
Is now full Python
Summary¶
Since v1.3.0,
Cyclus: 865 commits resulting in 213 files changed, 23823 insertions(+), 6436 deletions(-)
Cycamore: 177 commits resulting in 71 files changed, 4389 insertions(+), 2077 deletions(-)
Cymetric: 65 commits resulting in 58 files changed, 1490 insertions(+), 4220 deletions(-)
Contributors¶
The following people contributed to this release of Cyclus. A “*” by their name indicates a first time contributor. Names follow alphabetically,
Robert Carlsen
Robert Flanagan
Matthew Gidden
Ryan Hodge*
Katy Huff
Jenny Littell*
Meghan McGarry
Baptiste Mouginot*
Arrielle Opotowsky
Anthony Scopatz
Steve Skutnik*
Paul Wilson