From c8f21bea4b072b39ae4a88cb2b04ae1dd980d2c0 Mon Sep 17 00:00:00 2001 From: "Paul P.H. Wilson" Date: Tue, 10 Jul 2018 07:52:12 +0200 Subject: [PATCH 01/91] Add logo for dark backrounds in png format --- source/logos/logo2_red_transp.png | Bin 0 -> 20656 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 source/logos/logo2_red_transp.png diff --git a/source/logos/logo2_red_transp.png b/source/logos/logo2_red_transp.png new file mode 100644 index 0000000000000000000000000000000000000000..c661d6704f370b06fb2bd7960e5041f2bf82a9d0 GIT binary patch literal 20656 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 Date: Mon, 22 Mar 2021 13:21:55 -0500 Subject: [PATCH 02/91] Auto update copyright year --- source/conf.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/source/conf.py b/source/conf.py index 6f838e679..64127ffae 100644 --- a/source/conf.py +++ b/source/conf.py @@ -15,6 +15,7 @@ import sys import warnings import subprocess +import datetime import cloud_sptheme as csp @@ -67,8 +68,8 @@ # General information about the project. project = u'Cyclus' -copyright = (u'2012-2016, University of Wisconsin Computational Nuclear ' - 'Engineering Research Group') +copyright = (u'2012-{0}, University of Wisconsin Computational Nuclear ' + 'Engineering Research Group'.format(datetime.datetime.now().year) # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the From c07db884d9146957c871d814c12599b94a6285e6 Mon Sep 17 00:00:00 2001 From: "Paul P.H. Wilson" Date: Mon, 22 Mar 2021 13:43:24 -0500 Subject: [PATCH 03/91] Correct to pass on docker --- source/conf.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/source/conf.py b/source/conf.py index 64127ffae..35047f4c8 100644 --- a/source/conf.py +++ b/source/conf.py @@ -68,8 +68,9 @@ # General information about the project. project = u'Cyclus' -copyright = (u'2012-{0}, University of Wisconsin Computational Nuclear ' - 'Engineering Research Group'.format(datetime.datetime.now().year) +copyyear = str(datetime.datetime.now().year) +copyright = (u'2012-' + copyyear + ', University of Wisconsin Computational Nuclear ' + 'Engineering Research Group') # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the From cf2f426a8352243338967151da4687787beadd14 Mon Sep 17 00:00:00 2001 From: "Paul P.H. Wilson" Date: Wed, 30 Jun 2021 09:17:42 -0500 Subject: [PATCH 04/91] expose both archetype tutorials on sidebar menu --- source/atemplates/layout.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/source/atemplates/layout.html b/source/atemplates/layout.html index 143cbea8e..cfd6ae8e6 100644 --- a/source/atemplates/layout.html +++ b/source/atemplates/layout.html @@ -8,7 +8,8 @@

{{ _('Useful Pages') }}

  • User Guide
  • User Tutorial
  • Archetype Developer Guide
  • -
  • Archetype Developer Tutorial
  • +
  • Archetype Developer C++ Tutorial
  • +
  • Archetype Developer Python Tutorial
  • Cyclus API Documentation
  • Cycamore API Documentation
  • Glossary
  • From 4b9947064af36ed5f873daca35c92b8ea9d3efb9 Mon Sep 17 00:00:00 2001 From: Paul Wilson Date: Tue, 6 Feb 2024 21:12:52 -0600 Subject: [PATCH 05/91] Add CEP27 to list --- source/cep/cep0.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/source/cep/cep0.rst b/source/cep/cep0.rst index 1a0189fc9..dbceb4de3 100644 --- a/source/cep/cep0.rst +++ b/source/cep/cep0.rst @@ -65,6 +65,7 @@ Index SA - 24 - Default Preferences - Gidden SA - 25 - Preference Adjustment Process - Gidden SD - 26 - Generalize the DRE to Optimize Multiple Metrics - Flanagan, Scopatz + SA - 27 - Toolkit Capabilities Injection into an Archetype - Mouginot Key --- From bceae0040548950c0e5f1f378e67e0a1c9e9448c Mon Sep 17 00:00:00 2001 From: abachmann Date: Thu, 8 Feb 2024 12:18:16 -0600 Subject: [PATCH 06/91] make revisions based on @gonuke comments --- source/arche/dre.rst | 4 ++-- source/arche/tutorial_py/toolkit.rst | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/source/arche/dre.rst b/source/arche/dre.rst index 15a3a6285..aba282fb9 100644 --- a/source/arche/dre.rst +++ b/source/arche/dre.rst @@ -141,13 +141,13 @@ be: # a list makes them mutual requests: commods = [{"FuelA": target_a, "preference":2}, {"FuelB": target_b, "preference":1}] - port = {"commodities":commods, "constraints":request_qty + port = {"commodities":commods, "constraints":request_qty} # If you want the requests to be exclusive, then you have to indicate # that: commods = [{"FuelA": target_a, "preference":2, "exclusive":True}, {"FuelB": target_b, "preference":1, "exclusive":True}] - port = {"commodities":commods, "constraints":request_qty + port = {"commodities":commods, "constraints":request_qty} # lastly, if you need to return many portfolios, simply return a list of # portfolio dictionaries! The "preference" and "exclusive" keys are optional diff --git a/source/arche/tutorial_py/toolkit.rst b/source/arche/tutorial_py/toolkit.rst index 5b9b96532..eb0b4eed9 100644 --- a/source/arche/tutorial_py/toolkit.rst +++ b/source/arche/tutorial_py/toolkit.rst @@ -51,7 +51,7 @@ This creates a state variable named ``inventory`` that is based on the ``ResBuf`` class. We'll explain how buffers work in just a moment. A ResBuf object and its ``ts.Inventory`` state var has special handling by the Python ``Agent`` class from which ``Facility`` inherits. It will not appear -in the schema and therefore will not appear in the Cyclus UI either. +in the schema. Next, add two additional buffers: From 8eaf9e2a1f186c53eb9269e19cd24f66fc0f01df Mon Sep 17 00:00:00 2001 From: abachmann Date: Thu, 8 Feb 2024 13:58:01 -0600 Subject: [PATCH 07/91] fix data structure for basic material request --- source/arche/dre.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/arche/dre.rst b/source/arche/dre.rst index aba282fb9..b85c7d138 100644 --- a/source/arche/dre.rst +++ b/source/arche/dre.rst @@ -116,7 +116,7 @@ be: recipe_b = self.context().get_recipe("recipeB") target_b = ts.Material.create_untracked(request_qty, recipe_b) # commodity mapping to request target - commods = {"FuelA": target_a}, {"FuelB": target_b} + commods = {"FuelA": target_a, "FuelB": target_b} # The Python interface allow you to return a few different structures, # depending on your needs. In its simplest form, if you do not not have From acaad423ba87cd8f538637e10f02172508aa40bb Mon Sep 17 00:00:00 2001 From: abachmann Date: Mon, 12 Feb 2024 10:18:27 -0600 Subject: [PATCH 08/91] remvoe duplicate hello_world reference --- source/arche/cmake.rst | 4 ++-- source/arche/hello_world_cpp.rst | 2 +- source/arche/hello_world_py.rst | 2 +- source/arche/index.rst | 2 +- source/arche/testing.rst | 4 ++-- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/source/arche/cmake.rst b/source/arche/cmake.rst index 958c9d606..430e96393 100644 --- a/source/arche/cmake.rst +++ b/source/arche/cmake.rst @@ -3,11 +3,11 @@ Building Modules with CMake =========================== -If you haven't follow the initial example in :ref:`hello_world`, you should get +If you haven't follow the initial example in :ref:`hello_world_cpp`, you should get the `Cycstub repo `_ by either `cloning the repository `_ or by `downloading the zip file `_ (see -:ref:`hello_world` for further instructions). +:ref:`hello_world_cpp` for further instructions). The Cycstub repo provides a number of critical tools for building your own module: diff --git a/source/arche/hello_world_cpp.rst b/source/arche/hello_world_cpp.rst index eca8b4f55..33b887a44 100644 --- a/source/arche/hello_world_cpp.rst +++ b/source/arche/hello_world_cpp.rst @@ -1,4 +1,4 @@ -.. _hello_world: +.. _hello_world_cpp: Hello, Cyclus! [C++] ==================== diff --git a/source/arche/hello_world_py.rst b/source/arche/hello_world_py.rst index a9f9ab9d0..2e6c4a2dd 100644 --- a/source/arche/hello_world_py.rst +++ b/source/arche/hello_world_py.rst @@ -1,4 +1,4 @@ -.. _hello_world: +.. _hello_world_py: Hello, Cyclus! [Python] ======================= diff --git a/source/arche/index.rst b/source/arche/index.rst index a0c9fa8e9..62cce1128 100644 --- a/source/arche/index.rst +++ b/source/arche/index.rst @@ -27,7 +27,7 @@ to the right place! This guide assumes that you have |cyclus| installed, are familiar with running simulations and understand user-level concepts. -To get started please follow the instructions in :doc:`hello_world`. +To get started please follow the instructions in :doc:`hello_world_cpp`. .. raw:: html diff --git a/source/arche/testing.rst b/source/arche/testing.rst index aa0017c54..49aed51c5 100644 --- a/source/arche/testing.rst +++ b/source/arche/testing.rst @@ -37,7 +37,7 @@ Note that ``cyclus::Agent`` is the base class for any object that acts as an In order to get the provided unit tests in your archetype's tests, a few extra lines must be added to your ``*_tests.cc`` file. For instance, the -``TutorialFacility`` in the :ref:`hello_world` example with the file structure +``TutorialFacility`` in the :ref:`hello_world_cpp` example with the file structure outline in :ref:`cmake_build` adds the following lines to ``tutorial_facility_tests.cc`` to get all of the free ``cyclus::Agent`` and ``cyclus::Facility`` unit tests: :: @@ -76,7 +76,7 @@ track of how many :term:`ticks ` it has experienced. We'll call it ``TickTracker``. This tutorial assumes that you have a directory setup like that described in -:ref:`hello_world`, namely that there is a `src` directory in which +:ref:`hello_world_cpp`, namely that there is a `src` directory in which :term:`archetype` source files are housed and a `install.py` file that will install them on your system. From 6d5f606058f627b8186c7f3eec3cad1a4bc3bdab Mon Sep 17 00:00:00 2001 From: abachmann Date: Mon, 12 Feb 2024 10:49:14 -0600 Subject: [PATCH 09/91] update collections package call to prevent errors on build --- source/numpydoc/docscrape.py | 2 +- source/numpydoc/docscrape_sphinx.py | 2 +- source/numpydoc/linkcode.py | 2 +- source/numpydoc/numpydoc.py | 2 +- source/numpydoc/traitsdoc.py | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/source/numpydoc/docscrape.py b/source/numpydoc/docscrape.py index 2b1719db5..a87bb367c 100644 --- a/source/numpydoc/docscrape.py +++ b/source/numpydoc/docscrape.py @@ -519,7 +519,7 @@ def methods(self): return [name for name,func in inspect.getmembers(self._cls) if ((not name.startswith('_') or name in self.extra_public_methods) - and isinstance(func, collections.Callable))] + and isinstance(func, collections.abc.Callable))] @property def properties(self): diff --git a/source/numpydoc/docscrape_sphinx.py b/source/numpydoc/docscrape_sphinx.py index cdc2a37d1..dbac19e1e 100644 --- a/source/numpydoc/docscrape_sphinx.py +++ b/source/numpydoc/docscrape_sphinx.py @@ -259,7 +259,7 @@ def get_doc_object(obj, what=None, doc=None, config={}): what = 'class' elif inspect.ismodule(obj): what = 'module' - elif isinstance(obj, collections.Callable): + elif isinstance(obj, collections.abc.Callable): what = 'function' else: what = 'object' diff --git a/source/numpydoc/linkcode.py b/source/numpydoc/linkcode.py index 1ad3ab82c..59d5fa02e 100644 --- a/source/numpydoc/linkcode.py +++ b/source/numpydoc/linkcode.py @@ -33,7 +33,7 @@ def doctree_read(app, doctree): env = app.builder.env resolve_target = getattr(env.config, 'linkcode_resolve', None) - if not isinstance(env.config.linkcode_resolve, collections.Callable): + if not isinstance(env.config.linkcode_resolve, collections.abc.Callable): raise LinkcodeError( "Function `linkcode_resolve` is not given in conf.py") diff --git a/source/numpydoc/numpydoc.py b/source/numpydoc/numpydoc.py index 4861aa90e..6a0a122f5 100644 --- a/source/numpydoc/numpydoc.py +++ b/source/numpydoc/numpydoc.py @@ -95,7 +95,7 @@ def mangle_signature(app, what, name, obj, options, sig, retann): 'initializes x; see ' in pydoc.getdoc(obj.__init__))): return '', '' - if not (isinstance(obj, collections.Callable) or hasattr(obj, '__argspec_is_invalid_')): return + if not (isinstance(obj, collections.abc.Callable) or hasattr(obj, '__argspec_is_invalid_')): return if not hasattr(obj, '__doc__'): return doc = SphinxDocString(pydoc.getdoc(obj)) diff --git a/source/numpydoc/traitsdoc.py b/source/numpydoc/traitsdoc.py index 596c54eb3..e78138ec6 100644 --- a/source/numpydoc/traitsdoc.py +++ b/source/numpydoc/traitsdoc.py @@ -119,7 +119,7 @@ def get_doc_object(obj, what=None, config=None): what = 'class' elif inspect.ismodule(obj): what = 'module' - elif isinstance(obj, collections.Callable): + elif isinstance(obj, collections.abc.Callable): what = 'function' else: what = 'object' From f8c71dfbb21ad7a44fb58963a8ace86f73b9c48b Mon Sep 17 00:00:00 2001 From: abachmann Date: Mon, 12 Feb 2024 15:54:19 -0600 Subject: [PATCH 10/91] correct warnings, add temp if loop --- source/cyclusagent.py | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/source/cyclusagent.py b/source/cyclusagent.py index 6ae1bc7fe..37fbc0f35 100644 --- a/source/cyclusagent.py +++ b/source/cyclusagent.py @@ -8,9 +8,9 @@ """ from __future__ import print_function, unicode_literals import sys -import os.path -import re -import time +#import os.path +#import re +#import time import textwrap import warnings import subprocess @@ -29,11 +29,11 @@ try: from docutils.utils.error_reporting import ErrorString # the new way except ImportError: - from docutils.error_reporting import ErrorString # the old way + from docutils.utils.error_reporting import ErrorString # the old way, deprecated, to be remove in 0.21 from docutils.parsers.rst import Directive, convert_directive_function from docutils.parsers.rst import directives, roles, states -from docutils.parsers.rst.roles import set_classes -from docutils.transforms import misc +#from docutils.parsers.rst.roles import set_classes +#from docutils.transforms import misc from docutils.statemachine import ViewList from sphinx.util.nodes import nested_parse_with_titles @@ -180,6 +180,7 @@ def build_xml_sample(cpptype, schematype=None, uitype=None, names=None, units=No impl = '' t = cpptype if isinstance(cpptype, STRING_TYPES) else cpptype[0] + print(cpptype, t) if t in PRIMITIVES: name = 'val' if names is not None: @@ -239,7 +240,7 @@ def build_xml_sample(cpptype, schematype=None, uitype=None, names=None, units=No impl += build_xml_sample(cpptype[2], schematype[2], uitype[2], secondname, units[2]) impl += ''.format(name) else: - msg = 'Unsupported type {1}'.format(t) + msg = 'Unsupported type {0}'.format(t) raise RuntimeError(msg) s = xml.dom.minidom.parseString(impl) @@ -537,7 +538,6 @@ def append_statevars(self): lines = self.lines header = 'State Variables' lines += [header, ';' * len(header), ''] - for name, info in vars.items(): if isinstance(info, STRING_TYPES): # must be an alias entry - skip it @@ -594,7 +594,10 @@ def append_statevars(self): self.lines.append('') self.lines += [ind + '**XML:**', '', ind + '.. code-block:: xml', ''] - schemalines = build_xml_sample(t, schematype, uitype, labels, units).split('\n') + if t == "cyclus::toolkit::TotalInvTracker": + continue + else: + schemalines = build_xml_sample(t, schematype, uitype, labels, units).split('\n') previndent = '' for l in schemalines: if len(l.strip()) > 0: @@ -650,12 +653,12 @@ def run(self): self.load_schema() except OSError: warnings.warn("WARNING: Failed to load schema, proceeding without schema", - RuntimeWraning) + RuntimeWarning) try: self.load_annotations() except OSError: warnings.warn("WARNING: Failed to load annotations, proceeding without " - "annotations", RuntimeWraning) + "annotations", RuntimeWarning) # set up list of rst stirngs self.lines = [] From cb5a9f0b70cceb0022b8d1f1d7f4daa9c7f77a88 Mon Sep 17 00:00:00 2001 From: abachmann Date: Mon, 12 Feb 2024 15:55:46 -0600 Subject: [PATCH 11/91] update inspect method, due to package updates --- source/numpydoc/docscrape.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/numpydoc/docscrape.py b/source/numpydoc/docscrape.py index a87bb367c..ace0db356 100644 --- a/source/numpydoc/docscrape.py +++ b/source/numpydoc/docscrape.py @@ -438,7 +438,7 @@ def __init__(self, func, role='func', doc=None, config={}): argspec = inspect.getfullargspec(func) else: argspec = inspect.getargspec(func) - argspec = inspect.formatargspec(*argspec) + argspec = inspect.signature(*argspec) argspec = argspec.replace('*','\*') signature = '%s%s' % (func_name, argspec) except TypeError as e: From d204ef57d5e57fabe0edfbaccc6f02d1e15c6f2e Mon Sep 17 00:00:00 2001 From: abachmann Date: Wed, 14 Feb 2024 14:36:22 -0600 Subject: [PATCH 12/91] add TotalInvTracker to bufs to skip over --- source/cyclusagent.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/source/cyclusagent.py b/source/cyclusagent.py index 37fbc0f35..bb486f541 100644 --- a/source/cyclusagent.py +++ b/source/cyclusagent.py @@ -53,7 +53,8 @@ def indent(text, prefix): def contains_resbuf(type_str): bufs = ('cyclus::toolkit::ResBuf', 'cyclus::toolkit::ResMap', - 'cyclus::toolkit::ResourceBuff') + 'cyclus::toolkit::ResourceBuff', + 'cyclus::toolkit::TotalInvTracker') for buf in bufs: if buf in type_str: return True @@ -180,7 +181,6 @@ def build_xml_sample(cpptype, schematype=None, uitype=None, names=None, units=No impl = '' t = cpptype if isinstance(cpptype, STRING_TYPES) else cpptype[0] - print(cpptype, t) if t in PRIMITIVES: name = 'val' if names is not None: @@ -594,10 +594,7 @@ def append_statevars(self): self.lines.append('') self.lines += [ind + '**XML:**', '', ind + '.. code-block:: xml', ''] - if t == "cyclus::toolkit::TotalInvTracker": - continue - else: - schemalines = build_xml_sample(t, schematype, uitype, labels, units).split('\n') + schemalines = build_xml_sample(t, schematype, uitype, labels, units).split('\n') previndent = '' for l in schemalines: if len(l.strip()) > 0: From 4ff3a3367f6f5c62943f630f4745ef5f6c089043 Mon Sep 17 00:00:00 2001 From: abachmann Date: Wed, 14 Feb 2024 14:39:43 -0600 Subject: [PATCH 13/91] remove unused package imports --- source/cyclusagent.py | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/source/cyclusagent.py b/source/cyclusagent.py index bb486f541..d8843361f 100644 --- a/source/cyclusagent.py +++ b/source/cyclusagent.py @@ -8,9 +8,6 @@ """ from __future__ import print_function, unicode_literals import sys -#import os.path -#import re -#import time import textwrap import warnings import subprocess @@ -25,13 +22,9 @@ import json JSONDecodeError = ValueError -from docutils import io, nodes, statemachine, utils -try: - from docutils.utils.error_reporting import ErrorString # the new way -except ImportError: - from docutils.utils.error_reporting import ErrorString # the old way, deprecated, to be remove in 0.21 -from docutils.parsers.rst import Directive, convert_directive_function -from docutils.parsers.rst import directives, roles, states +from docutils import nodes +from docutils.parsers.rst import Directive +from docutils.parsers.rst import directives #from docutils.parsers.rst.roles import set_classes #from docutils.transforms import misc from docutils.statemachine import ViewList From b21baec555bc4fb27a6e77051b40d0cbfa4825e9 Mon Sep 17 00:00:00 2001 From: Nathan Ryan Date: Thu, 21 Mar 2024 11:28:31 -0500 Subject: [PATCH 14/91] simplify descriptions for third-party archetypes --- source/user/index.rst | 36 +++--------------------------------- 1 file changed, 3 insertions(+), 33 deletions(-) diff --git a/source/user/index.rst b/source/user/index.rst index 8080cf339..ab94c1a4a 100644 --- a/source/user/index.rst +++ b/source/user/index.rst @@ -113,17 +113,9 @@ evaluating their suitability. - `:mbmore:RandomEnrich `_ - Based on cycamore enrichment facility, it can have variable tails assay, - and bidding behavior can be set to occur at Every X timestep or at Random - timesteps. - `:mbmore:RandomSink `_ - Based on cycamore sink facility, it can accept multiple recipes, has - modifiable material preference, material request behavior can be set, - trading can be suppressed before a specified timestep, material requests - can occur at Every X timestep or at Random timesteps, and quantity - requested can be varied using a Gaussian distribution function. **rwc Archetypes** (https://github.com/rwcarlsen/rwc-archetypes) This is a collection of miscellaneous archetypes made by Robert Carlsen to @@ -131,40 +123,18 @@ evaluating their suitability. - `:rwc:LookInst `_ - This archetype allows the user to specify an arbitrary power capacity - time series that the institution will automatically deploy power - generating facilities (of multiple types) to match. It uses a look-ahead - mechanism to see if its chosen deployments were not "good" and adjusts - its deployment decisions accordingly. This archetype currently requires - rwcarlsen/cyclus#restart branch of Cyclus to work. - `:rwc:FleetReactor `_ - This reactor models an entire reactor fleet as a single, homogenous - unit. Like the Cycamore reactor, it just uses static, user-specified - compositions for fresh and spent fuel. Refueling is incremental - - occuring every time step. It is approximately a continuous flow fleet - model much like the way system-dynamics simulators represent facilities. - It "pretends" to be many reactors to the Cyclus kernel - allowing other - agents to deploy/decommission single-reactor units, but these - single-reactors just adjust the size/capacity of the homogenous fleet. - `:rwc:PatternSink `_ - Pattern sink is identical to the Cycamore sink facility except it has an - additional parameter that allows the user to control the frequency with - which the facility requests material - i.e. the user can tell the - facility to only request material every Nth time step. - `:rwc:Storage `_ - This facility is very similar to the Cycamore storage facility, and was - originally created before Cycamore's existed. It has slightly more - careful handling of discrete material objects (e.g. not ever splitting - them) and is a bit more sophisticated with respect to resource exchange - for offering/bidding its inventory. It would be good to use - implementation details from this archetype to improve the Cycamore - storage archetype. + + + Visualization & Analysis -------------------------- From e85042e5145c7673f4e2b4cc926c34b555d3561d Mon Sep 17 00:00:00 2001 From: Nathan Ryan Date: Thu, 21 Mar 2024 11:29:12 -0500 Subject: [PATCH 15/91] ad peddler third-party archetype --- source/user/index.rst | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/source/user/index.rst b/source/user/index.rst index ab94c1a4a..00ced7f41 100644 --- a/source/user/index.rst +++ b/source/user/index.rst @@ -133,6 +133,14 @@ evaluating their suitability. - `:rwc:Storage `_ +**Peddler** (https://github.com/ergs/peddler) +Peddler is a Cyclus Package used to simulate the transport of material from one facility to another. + +- `peddler:truck`_ + +- `peddler:reactor_` + + From f646db9d6cc1c79f7bfe91268e7aff9dc7badfce Mon Sep 17 00:00:00 2001 From: Nathan Ryan Date: Thu, 21 Mar 2024 11:29:50 -0500 Subject: [PATCH 16/91] add cyder third-party archetype --- source/user/index.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/user/index.rst b/source/user/index.rst index 00ced7f41..8fcd171dd 100644 --- a/source/user/index.rst +++ b/source/user/index.rst @@ -141,6 +141,10 @@ Peddler is a Cyclus Package used to simulate the transport of material from one - `peddler:reactor_` +**Cyder**(https://github.com/arfc/cyder) +A generic nuclear repository model intended to be used within the Cyclus nuclear fuel cycle simulator. It contains a conditioning facility and a nuclear repository model that places spent fuel packages in a repository based on its temperature and the constraints of the repository. + + From 1f1915644a65ccd51211b809b3ecde1926f0ebd3 Mon Sep 17 00:00:00 2001 From: Nathan Ryan Date: Thu, 21 Mar 2024 11:30:57 -0500 Subject: [PATCH 17/91] add openmcyclus third-party archetype --- source/user/index.rst | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/source/user/index.rst b/source/user/index.rst index 8fcd171dd..59988e5d3 100644 --- a/source/user/index.rst +++ b/source/user/index.rst @@ -145,6 +145,12 @@ Peddler is a Cyclus Package used to simulate the transport of material from one A generic nuclear repository model intended to be used within the Cyclus nuclear fuel cycle simulator. It contains a conditioning facility and a nuclear repository model that places spent fuel packages in a repository based on its temperature and the constraints of the repository. +**OpenMCyclus**(https://github.com/arfc/openmcyclus/) +OpenMCyclus introduces an archetype that couples OpenMC depletion with Cyclus a reactor. + +- `openmcyclus:DepleteReactor`_ + + From 754862b07bceab2406de9e956f249a9899611661 Mon Sep 17 00:00:00 2001 From: Nathan Ryan Date: Thu, 21 Mar 2024 11:31:30 -0500 Subject: [PATCH 18/91] add D3ploy to third-party archetypes --- source/user/index.rst | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/source/user/index.rst b/source/user/index.rst index 59988e5d3..12f5d4c04 100644 --- a/source/user/index.rst +++ b/source/user/index.rst @@ -151,6 +151,16 @@ OpenMCyclus introduces an archetype that couples OpenMC depletion with Cyclus a - `openmcyclus:DepleteReactor`_ +**D3ploy**(https://github.com/arfc/d3ploy/) +A collection of Cyclus manager archetypes for demand driven deployment. The goal of this package is to provide three types of mathematical basis for predicting supply and demand of commodities within Cyclus; Non-optimizing (NO) deterministic optimization (DO), and Stochastic optimization (SO). + +- `d3ploy:DemandDrivenDeploymentInst`_ + +- `d3ploy:SupplyDrivenDeploymentInst`_ + +- `d3ploy:DemandFac`_ + + From 9b7edac7cf1ec3637ec6b7ab39c82501c88b0a5e Mon Sep 17 00:00:00 2001 From: Nathan Ryan Date: Thu, 21 Mar 2024 11:32:08 -0500 Subject: [PATCH 19/91] add ann_pwr third-party archetype --- source/user/index.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/source/user/index.rst b/source/user/index.rst index 12f5d4c04..fc78e2496 100644 --- a/source/user/index.rst +++ b/source/user/index.rst @@ -161,7 +161,10 @@ A collection of Cyclus manager archetypes for demand driven deployment. The goal - `d3ploy:DemandFac`_ +**ann_pwr**(https://github.com/jbae11/ann_pwr) +This Cyclus Reactor module is created to perform varying burnup and enrichment calculations for LWRs using a trained neural network model to predict UNF composition. +- `ann_pwr:ann_pwr`_ Visualization & Analysis From 786ce5cd53a34765e6d665433a27eb407e70556b Mon Sep 17 00:00:00 2001 From: Nathan Ryan Date: Thu, 21 Mar 2024 12:05:35 -0500 Subject: [PATCH 20/91] change mbmore links to cnerg --- source/user/index.rst | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/source/user/index.rst b/source/user/index.rst index fc78e2496..c89750b9c 100644 --- a/source/user/index.rst +++ b/source/user/index.rst @@ -104,18 +104,18 @@ evaluating their suitability. develop archetypes that will use ORIGEN calculations to improve the estimate of nuclear fuel properties. -**Mbmore Archetypes** (https://github.com/mbmcgarry/mbmore) +**Mbmore Archetypes** (https://github.com/cnerg/mbmore) Facility archetypes that utilize a random number generator to create non-deterministic behaviors. General methods controlling the behavior (including random number generation and Gaussian distributions) are defined in the `behavior functions - `_. + `_. - `:mbmore:RandomEnrich - `_ + `_ - `:mbmore:RandomSink - `_ + `_ **rwc Archetypes** (https://github.com/rwcarlsen/rwc-archetypes) This is a collection of miscellaneous archetypes made by Robert Carlsen to From abb91eb832a79cfe1e015948601d684cdf7e5e9a Mon Sep 17 00:00:00 2001 From: abachmann Date: Thu, 21 Mar 2024 12:05:41 -0500 Subject: [PATCH 21/91] change instances of master branch to main --- Makefile | 8 ++++---- README.rst | 6 +++--- gh-project.mk | 4 ++-- rever.xsh | 8 ++++---- source/kernel/build_from_source.rst | 4 ++-- source/kernel/contributing_to_cyclus.rst | 12 ++++++------ source/kernel/style_guide.rst | 2 +- source/numpydoc/numpydoc.py | 2 +- source/user/tutorial/run_cyclus_native.rst | 2 +- 9 files changed, 24 insertions(+), 24 deletions(-) diff --git a/Makefile b/Makefile index 990de0545..d49ed3b4f 100644 --- a/Makefile +++ b/Makefile @@ -12,7 +12,7 @@ SPHINXOPTS = SPHINXBUILD = sphinx-build PAPER = BUILDDIR = ./gh-build -GIT_BRANCH = master +GIT_BRANCH = main GIT_FORK = cyclus @@ -30,10 +30,10 @@ help: @echo "Please use \`make ' where is one of" @echo " gh-preview to build HTML in directory $BUILDDIR for testing" @echo " gh-revert to cleanup HTML build in directory $BUILDDIR after testing" - @echo " gh-publish to build final version and push from source branch to master branch" - @echo " gh-publish-only to push from source branch to master branch, assuming already built" + @echo " gh-publish to build final version and push from source branch to main branch" + @echo " gh-publish-only to push from source branch to main branch, assuming already built" @echo " docker-html to use docker to build HTML in directory $BUILDDIR for testing" - @echo " docker-gh-publish to use docker to build final version and push from source branch to master branch" + @echo " docker-gh-publish to use docker to build final version and push from source branch to main branch" @echo " serve build+serve html files using Python's SimpleHTTPServer" @echo " serve-only serve pre-built html files using Python's SimpleHTTPServer" @echo " dirhtml to make HTML files named index.html in directories" diff --git a/README.rst b/README.rst index 4b0f198f5..3e4ba984e 100644 --- a/README.rst +++ b/README.rst @@ -31,7 +31,7 @@ rebuilding this site. Sphinx configuration used to build the site. All direct editing of files should be made in the `source` branch. -2. The `master` branch contains the processed and published web +2. The `main` branch contains the processed and published web content that is derived by Sphinx from the `source` branch. These files should not be editted directly. @@ -113,8 +113,8 @@ Best practice for managing a pull request 1. Synchronize your repository with the upstream repo:: git fetch upstream - git checkout master - git merge upstream/master + git checkout main + git merge upstream/main git checkout source git merge upstream/source diff --git a/gh-project.mk b/gh-project.mk index 508e2fab9..8525ad49b 100644 --- a/gh-project.mk +++ b/gh-project.mk @@ -5,7 +5,7 @@ GH_SOURCE_DIR = source # GH_SOURCE_BRANCH = repository branch that contains the source GH_SOURCE_BRANCH = source # GH_PUBLISH_BRANCH = repository branch that contains the rendered HTML -GH_PUBLISH_BRANCH = master +GH_PUBLISH_BRANCH = main # GH_UPSTREAM_REPO = repository that contains the rendered HTML GH_UPSTREAM_REPO = upstream @@ -13,6 +13,6 @@ GH_UPSTREAM_REPO = upstream # Example for a gh-pages project # # GH_SOURCE_DIR = doc-src -# GH_SOURCE_BRANCH = master +# GH_SOURCE_BRANCH = main # GH_PUBLISH_BRANCH = gh-pages # GH_UPSTREAM_REPO = upstream diff --git a/rever.xsh b/rever.xsh index 8c8e44d36..ade61d583 100644 --- a/rever.xsh +++ b/rever.xsh @@ -30,10 +30,10 @@ $DOCKER_CONDA_DEPS = ['sphinx', 'numpydoc', 'cyclus', 'cycamore', 'cymetric', 'r $DOCKER_INSTALL_ENVVARS = {'PYTHONDONTWRITEBYTECODE': "TRUE"} $DOCKER_INSTALL_COMMAND = ( 'git clean -fdx && ' - 'curl https://raw.githubusercontent.com/cyclus/cyclus/master/INSTALL.rst -L -o source/user/CYCLUS_INSTALL.rst && ' - 'curl https://raw.githubusercontent.com/cyclus/cyclus/master/DEPENDENCIES.rst -L -o source/user/DEPENDENCIES.rst && ' - 'curl https://raw.githubusercontent.com/cyclus/cycamore/master/INSTALL.rst -L -o source/user/CYCAMORE_INSTALL.rst && ' - 'curl https://raw.githubusercontent.com/cyclus/cycamore/master/DEPENDENCIES.rst -L -o source/user/CYCAMORE_DEPS.rst && ' + 'curl https://raw.githubusercontent.com/cyclus/cyclus/main/INSTALL.rst -L -o source/user/CYCLUS_INSTALL.rst && ' + 'curl https://raw.githubusercontent.com/cyclus/cyclus/main/DEPENDENCIES.rst -L -o source/user/DEPENDENCIES.rst && ' + 'curl https://raw.githubusercontent.com/cyclus/cycamore/main/INSTALL.rst -L -o source/user/CYCAMORE_INSTALL.rst && ' + 'curl https://raw.githubusercontent.com/cyclus/cycamore/main/DEPENDENCIES.rst -L -o source/user/CYCAMORE_DEPS.rst && ' 'cp $(cyclus --install-path)/share/cyclus/dbtypes.json source/astatic/' ) diff --git a/source/kernel/build_from_source.rst b/source/kernel/build_from_source.rst index cb3128f7f..1cd26cab1 100644 --- a/source/kernel/build_from_source.rst +++ b/source/kernel/build_from_source.rst @@ -45,11 +45,11 @@ For the git uninitiated, one must perform the following steps to acquire |cyclus Note that each |cyclus| repository has **two** branches: - * master -- the latest stable release of the library + * main -- the latest stable release of the library * develop -- the latest working copy that passes all tests The above branches are synchronized with each other, and should be used in tandem -(i.e., use master (|Cyclus|) with master (Cycamore) or develop with develop only). +(i.e., use main (|Cyclus|) with main (Cycamore) or develop with develop only). .. _`Set Up git`: http://help.github.com/linux-set-up-git/ diff --git a/source/kernel/contributing_to_cyclus.rst b/source/kernel/contributing_to_cyclus.rst index ed9b1fb59..23d8b11d8 100644 --- a/source/kernel/contributing_to_cyclus.rst +++ b/source/kernel/contributing_to_cyclus.rst @@ -38,7 +38,7 @@ only after: * Your code has been reviewed by another developer. Code from the "develop" branch generally must pass even more rigorous checks -before being integrated into the "master" branch. Hotfixes would be a +before being integrated into the "main" branch. Hotfixes would be a possible exception to this. Keeping Your Fork Up To Date @@ -50,11 +50,11 @@ Keeping Your Fork Up To Date compilable) progress when we are not yet ready for the code to become 'production'. -* Keep your own "master" and "develop" branches in sync with the upstream - repository's "master" and "develop" branches. The master branch should +* Keep your own "main" and "develop" branches in sync with the upstream + repository's "main" and "develop" branches. The main branch should always be the 'stable' or 'production' release of |cyclus|. - - Pull the most recent history from the upstream repository "master" + - Pull the most recent history from the upstream repository "main" and/or "develop" branches before you merge changes into your corresponding local branch. Consider doing a rebase pull instead of a regular pull or 'fetch and merge'. For example:: @@ -63,7 +63,7 @@ Keeping Your Fork Up To Date git pull --rebase upstream develop * As you do development on topic branches in your own fork, consider - rebasing the topic branch onto the "master" and/or "develop" branches + rebasing the topic branch onto the "main" and/or "develop" branches after *pulls* from the upstream repository rather than merging the pulled changes into your branch. This will help maintain a more linear (and clean) history. *Please see caution about rebasing below*. For example:: @@ -168,7 +168,7 @@ Reviewing a Pull Request - Accept the Pull Request - In general, **every commit** (notice this is not 'every push') to the - "develop" and "master" branches should compile and pass tests. This + "develop" and "main" branches should compile and pass tests. This is guaranteed by using a NON-fast-forward merge during the pull request acceptance process. diff --git a/source/kernel/style_guide.rst b/source/kernel/style_guide.rst index c6bc6b1dd..e13aa95c1 100644 --- a/source/kernel/style_guide.rst +++ b/source/kernel/style_guide.rst @@ -26,7 +26,7 @@ documentation by running `make cyclusdoc` instead of `make all` or `make`. .. _`Google C++ Style Guide`: http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml .. _`Google Python Style Guide`: http://google-styleguide.googlecode.com/svn/trunk/pyguide.html .. _`Artistic Style` : http://astyle.sourceforge.net -.. _`settings` : http://github.com/cyclus/cyclus/blob/master/misc/.astylerc +.. _`settings` : http://github.com/cyclus/cyclus/blob/main/misc/.astylerc .. _`limits and bugs` : https://sourceforge.net/p/astyle/bugs/ .. _`Cpplint` : http://google-styleguide.googlecode.com/svn/trunk/cpplint/ .. _`Pylint` : http://www.pylint.org/ diff --git a/source/numpydoc/numpydoc.py b/source/numpydoc/numpydoc.py index 6a0a122f5..4c8355489 100644 --- a/source/numpydoc/numpydoc.py +++ b/source/numpydoc/numpydoc.py @@ -12,7 +12,7 @@ - Renumber references. - Extract the signature from the docstring, if it can't be determined otherwise. -.. [1] https://github.com/numpy/numpy/blob/master/doc/HOWTO_DOCUMENT.rst.txt +.. [1] https://github.com/numpy/numpy/blob/main/doc/HOWTO_DOCUMENT.rst.txt """ from __future__ import division, absolute_import, print_function diff --git a/source/user/tutorial/run_cyclus_native.rst b/source/user/tutorial/run_cyclus_native.rst index d6a2f5ab3..20ece1a99 100644 --- a/source/user/tutorial/run_cyclus_native.rst +++ b/source/user/tutorial/run_cyclus_native.rst @@ -55,7 +55,7 @@ When your simulation has finished, a file of the name ``tutorial_singlerx.sqlite will be in your file folder. Your Jupyter Notebook can then be used with `Cymetric `_ to analyze your data. Examples of how to use Cymetric can be found in the `GitHub -`_. +`_. Backup: Files for Success From ccc4fa42b584e5738500679bea91cd5cc81dbd3a Mon Sep 17 00:00:00 2001 From: Nathan Ryan Date: Thu, 21 Mar 2024 12:32:38 -0500 Subject: [PATCH 22/91] change explicit list of contributors to links to cyclus, cymetric, and cycmore github contributors --- source/index.rst | 37 +++++-------------------------------- 1 file changed, 5 insertions(+), 32 deletions(-) diff --git a/source/index.rst b/source/index.rst index 8c14178d1..b933528d2 100644 --- a/source/index.rst +++ b/source/index.rst @@ -92,44 +92,17 @@ Contact Us * `Developer Call times `_: Fridays at 3:00PM EST + Contributors ------------ -* Robert Carlsen - -* Denia Djokic - -* Royal Elmore - -* Robert Flanagan - -* `Matthew Gidden `_ - -* Ryan Hodge - -* `Kathryn (Katy) Huff `_ - -* Jenny Littell - -* `Meghan McGarry `_ - -* `Baptiste Mouginot `_ - -* `Arrielle Opotowsky `_ - -* Olzhas Rakhimov - -* `Anthony Scopatz `_ - -* Steve Skutnik - -* Zach Welch +You can find our amazing contributors through their GitHub profiles +* `Cyclus Contributors `_ -* `Paul Wilson `_ +* `Cycamore Contributors `_ -* John Xia +* `Cymetric Contributors `_. -* Teddy Bae Acknowledgments ---------------- From 15a645377e2e3ceca105342fc816ff9494bcde7a Mon Sep 17 00:00:00 2001 From: Nathan Ryan Date: Thu, 21 Mar 2024 12:39:22 -0500 Subject: [PATCH 23/91] remove zoom link and weekly meeting time from contact us section of index --- source/index.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/source/index.rst b/source/index.rst index 8c14178d1..83541e955 100644 --- a/source/index.rst +++ b/source/index.rst @@ -90,7 +90,6 @@ Contact Us * `Developers' mailing list and forum `_ -* `Developer Call times `_: Fridays at 3:00PM EST Contributors ------------ From 83845ca2a46dad99f323f29b33f4a22df9de26f1 Mon Sep 17 00:00:00 2001 From: "Paul P.H. Wilson" Date: Fri, 22 Mar 2024 10:11:16 -0500 Subject: [PATCH 24/91] fix treatment of source in website build --- Makefile | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index 990de0545..e0386ac76 100644 --- a/Makefile +++ b/Makefile @@ -12,7 +12,7 @@ SPHINXOPTS = SPHINXBUILD = sphinx-build PAPER = BUILDDIR = ./gh-build -GIT_BRANCH = master +GIT_BRANCH = main GIT_FORK = cyclus @@ -30,10 +30,10 @@ help: @echo "Please use \`make ' where is one of" @echo " gh-preview to build HTML in directory $BUILDDIR for testing" @echo " gh-revert to cleanup HTML build in directory $BUILDDIR after testing" - @echo " gh-publish to build final version and push from source branch to master branch" - @echo " gh-publish-only to push from source branch to master branch, assuming already built" + @echo " gh-publish to build final version and push from source branch to main branch" + @echo " gh-publish-only to push from source branch to main branch, assuming already built" @echo " docker-html to use docker to build HTML in directory $BUILDDIR for testing" - @echo " docker-gh-publish to use docker to build final version and push from source branch to master branch" + @echo " docker-gh-publish to use docker to build final version and push from source branch to main branch" @echo " serve build+serve html files using Python's SimpleHTTPServer" @echo " serve-only serve pre-built html files using Python's SimpleHTTPServer" @echo " dirhtml to make HTML files named index.html in directories" @@ -80,11 +80,12 @@ gh-preview html: gh-publish-only: git fetch $(GH_UPSTREAM_REPO) git checkout -B $(GH_PUBLISH_BRANCH) $(GH_UPSTREAM_REPO)/$(GH_PUBLISH_BRANCH) + git checkout $(GH_SOURCE_BRANCH) -- $(GH_SOURCE_DIR) git reset HEAD rsync -a $(BUILDDIR)/* . rsync -a $(BUILDDIR)/.* . git add -f `(cd $(BUILDDIR); find . -type f; cd ..)` - rm -rf $(BUILDDIR) + rm -rf $(GH_SOURCE_DIR) $(BUILDDIR) git commit -m "Generated $(GH_PUBLISH_BRANCH) for `git log $(GH_SOURCE_BRANCH) -1 --pretty=short --abbrev-commit`" && git push --force $(GH_UPSTREAM_REPO) $(GH_PUBLISH_BRANCH) git checkout $(GH_SOURCE_BRANCH) From 0a234e218a7eff8406f9db7be14429d591272eea Mon Sep 17 00:00:00 2001 From: "Paul P.H. Wilson" Date: Thu, 14 Mar 2024 11:14:14 -0500 Subject: [PATCH 25/91] first draft of cep28 --- source/cep/cep28.rst | 67 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 source/cep/cep28.rst diff --git a/source/cep/cep28.rst b/source/cep/cep28.rst new file mode 100644 index 000000000..d71ffdcba --- /dev/null +++ b/source/cep/cep28.rst @@ -0,0 +1,67 @@ +CEP 28 - Packaging of Materials +********************************************************* + +:CEP: 28 +:Title: Packaging of Materials +:Last-Modified: 2024-03-14 +:Author: Katie Mummah +:Status: Draft +:Type: Standards Track +:Created: Paul Wilson + + +Abstract +======== + +For a number of real world applications (e.g. shipping), materials need to be +packaged in specific ways. This CEP introduces the concept of a `Package` that +can be applied to a material object to support such use cases. + +Chracteristics of a `Package` +============================== + +Each package will have the following characteristics: * `name` : a +human-readable name for the package type * `fill_min` : the minimum quantity of +material allowed in that package (default: eps()) * `fill_max` : the maximum +quantity of material allowed in the package (default: 1e299) * `strategy` : the +strategy for filling multiple packages, e.g. + * "first" : fill each package to the maximum before adding another package + * "equal" : fill all packages with an equal quantity + +Each package will also be assigned a unique integer `id` when it is first +created. + +The default package has `id` = 1 and represents an unpackaged material. + + +User-Definition of Packages +============================ + +The input file grammar is extended to support the definition of a list of +packages at the top level of the input file, similar to recipes. + +Packages are loaded into a map of package names to `Package` pointers in the +`Context`. The `Context` has methods to get a particular package based on its +`name` or its `id`. + +Applying Packages +================== + +All `Resource`s are extended to have an additional integer `package_id_` that +refers to the unique integer identifier of the package that currently contains +that `Resource` object. By default, all `Resource`s are unpackaged (id = 1). + +When an unpackaged `Resource` is placed in a package, the packaging strategy is +consulted to determine how many packages are required. In some cases of an +`equal` filling strategy, it may be impossible to load a given quantity of +material into packages. Otherwise, the original `Resource` object is divided +into multiple objects with the package appropriately defined. + +Resource Buffer Behaviors +=========================== + +A new behavior is defined for `ResBuf`s to optionally impose unpackaging of +`Resource`s as they are pushed into a resource buffer. Similarly, a new behavior +is defined to optionally package materials as they are popped out of a resource +buffer. + From 9eff1af1e0607ffc7cde23c0c0c730aca21710fc Mon Sep 17 00:00:00 2001 From: "Paul P.H. Wilson" Date: Thu, 14 Mar 2024 13:05:54 -0500 Subject: [PATCH 26/91] update to cep29 to avoid collsion --- source/cep/cep0.rst | 1 + source/cep/{cep28.rst => cep29.rst} | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) rename source/cep/{cep28.rst => cep29.rst} (98%) diff --git a/source/cep/cep0.rst b/source/cep/cep0.rst index dbceb4de3..1c73e665d 100644 --- a/source/cep/cep0.rst +++ b/source/cep/cep0.rst @@ -66,6 +66,7 @@ Index SA - 25 - Preference Adjustment Process - Gidden SD - 26 - Generalize the DRE to Optimize Multiple Metrics - Flanagan, Scopatz SA - 27 - Toolkit Capabilities Injection into an Archetype - Mouginot + SD - 29 - Packaging of Materials Key --- diff --git a/source/cep/cep28.rst b/source/cep/cep29.rst similarity index 98% rename from source/cep/cep28.rst rename to source/cep/cep29.rst index d71ffdcba..14072cc03 100644 --- a/source/cep/cep28.rst +++ b/source/cep/cep29.rst @@ -1,7 +1,7 @@ -CEP 28 - Packaging of Materials +CEP 29 - Packaging of Materials ********************************************************* -:CEP: 28 +:CEP: 29 :Title: Packaging of Materials :Last-Modified: 2024-03-14 :Author: Katie Mummah From fccaa13639a32e36ee6e5f86a62bfebfa940f0e6 Mon Sep 17 00:00:00 2001 From: Paul Wilson Date: Fri, 22 Mar 2024 09:48:30 -0500 Subject: [PATCH 27/91] Update source/cep/cep29.rst Co-authored-by: Amanda Bachmann --- source/cep/cep29.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/cep/cep29.rst b/source/cep/cep29.rst index 14072cc03..dae8d2a52 100644 --- a/source/cep/cep29.rst +++ b/source/cep/cep29.rst @@ -17,7 +17,7 @@ For a number of real world applications (e.g. shipping), materials need to be packaged in specific ways. This CEP introduces the concept of a `Package` that can be applied to a material object to support such use cases. -Chracteristics of a `Package` +Characteristics of a `Package` ============================== Each package will have the following characteristics: * `name` : a From 9a069a09e80c2aa2b5fefbee3608ecf740e1a135 Mon Sep 17 00:00:00 2001 From: "Paul P.H. Wilson" Date: Fri, 22 Mar 2024 10:22:03 -0500 Subject: [PATCH 28/91] fix list formatting --- source/cep/cep29.rst | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/source/cep/cep29.rst b/source/cep/cep29.rst index dae8d2a52..54cdb3721 100644 --- a/source/cep/cep29.rst +++ b/source/cep/cep29.rst @@ -20,19 +20,17 @@ can be applied to a material object to support such use cases. Characteristics of a `Package` ============================== -Each package will have the following characteristics: * `name` : a -human-readable name for the package type * `fill_min` : the minimum quantity of -material allowed in that package (default: eps()) * `fill_max` : the maximum -quantity of material allowed in the package (default: 1e299) * `strategy` : the -strategy for filling multiple packages, e.g. +Each package will have the following characteristics defined by the user in the input file: +* `name` : a human-readable name for the package type +* `fill_min` : the minimum quantity of material allowed in that package (default: eps()) +* `fill_max` : the maximum quantity of material allowed in the package (default: 1e299) +* `strategy` : the strategy for filling multiple packages, e.g. * "first" : fill each package to the maximum before adding another package * "equal" : fill all packages with an equal quantity Each package will also be assigned a unique integer `id` when it is first -created. - -The default package has `id` = 1 and represents an unpackaged material. - +created. The default package has `id` = 1 and represents an unpackaged material. Generally, +the user will not need to be aware of the `id`. User-Definition of Packages ============================ From b3bdd9cd70813e0005655a94542ef0da172b1867 Mon Sep 17 00:00:00 2001 From: "Paul P.H. Wilson" Date: Fri, 22 Mar 2024 10:26:33 -0500 Subject: [PATCH 29/91] more redering fixes --- source/cep/cep29.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/source/cep/cep29.rst b/source/cep/cep29.rst index 54cdb3721..73eb8db52 100644 --- a/source/cep/cep29.rst +++ b/source/cep/cep29.rst @@ -21,6 +21,7 @@ Characteristics of a `Package` ============================== Each package will have the following characteristics defined by the user in the input file: + * `name` : a human-readable name for the package type * `fill_min` : the minimum quantity of material allowed in that package (default: eps()) * `fill_max` : the maximum quantity of material allowed in the package (default: 1e299) From 300d06ffaaa030451adf0a9715e21be0a29ecd9c Mon Sep 17 00:00:00 2001 From: Ben Nibbelink Date: Fri, 22 Mar 2024 18:51:23 -0500 Subject: [PATCH 30/91] modifications to publish website using CI --- .github/workflows/build_publish.yml | 48 ++++++++++++++++++++++++++++ Makefile | 3 +- docker/fuelcycle.org-deps/Dockerfile | 8 ++--- 3 files changed, 53 insertions(+), 6 deletions(-) create mode 100644 .github/workflows/build_publish.yml diff --git a/.github/workflows/build_publish.yml b/.github/workflows/build_publish.yml new file mode 100644 index 000000000..576dbfcfd --- /dev/null +++ b/.github/workflows/build_publish.yml @@ -0,0 +1,48 @@ +name: Build and Publish Site + +on: + # allows us to run workflows manually + workflow_dispatch: + pull_request: + push: + +jobs: + build-and-upload: + runs-on: ubuntu-latest + + steps: + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Checkout cyclus.github.com + uses: actions/checkout@v4 + + - name: Build Site + run: | + make docker-html + + - name: debug + run: | + ls -l + + - name: Upload artifact + uses: actions/upload-pages-artifact@v3 + with: + path: gh-build + + deploy: + runs-on: ubuntu-latest + needs: build-and-upload + + permissions: + pages: write + id-token: write + + environment: + name: github-pages + url: ${{ steps.deployment.outputs.page_url }} + + steps: + - name: Deploy to GitHub Pages + id: deployment + uses: actions/deploy-pages@v4 \ No newline at end of file diff --git a/Makefile b/Makefile index e0386ac76..3e51bdf7d 100644 --- a/Makefile +++ b/Makefile @@ -95,7 +95,8 @@ gh-publish: make gh-publish-only docker-gh-preview docker-html: - docker run -w /cyclus.github.com -v $(PWD):/cyclus.github.com cyclus/fuelcycle.org-deps bash -c "make gh-preview && chmod -R 777 $(BUILDDIR)" + docker build -f docker/fuelcycle.org-deps/Dockerfile -t fuelcycle.org-deps . + docker run -w /cyclus.github.com -v $(PWD):/cyclus.github.com fuelcycle.org-deps bash -c "make gh-preview && chmod -R 777 $(BUILDDIR)" docker-gh-publish: make clean diff --git a/docker/fuelcycle.org-deps/Dockerfile b/docker/fuelcycle.org-deps/Dockerfile index 1df836ed5..63eab0ca7 100644 --- a/docker/fuelcycle.org-deps/Dockerfile +++ b/docker/fuelcycle.org-deps/Dockerfile @@ -1,9 +1,7 @@ -FROM cyclus/cymetric +FROM ghcr.io/cyclus/cymetric_22.04_apt/cymetric:latest RUN apt-get update -RUN apt-get install -y --force-yes wget -RUN apt-get install -y --force-yes python3-pip -RUN pip3 install sphinx sphinxcontrib-bibtex -RUN pip3 install cloud-sptheme==1.6 +RUN apt-get install -y --force-yes wget python3-pip +RUN python -m pip install sphinx sphinxcontrib-bibtex cloud-sptheme==1.6 From be9fca8fc75e56612b127f716a3e78273e6dbd86 Mon Sep 17 00:00:00 2001 From: Ben Nibbelink Date: Fri, 22 Mar 2024 18:58:24 -0500 Subject: [PATCH 31/91] add condition on deploy step --- .github/workflows/build_publish.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/workflows/build_publish.yml b/.github/workflows/build_publish.yml index 576dbfcfd..2e40d7809 100644 --- a/.github/workflows/build_publish.yml +++ b/.github/workflows/build_publish.yml @@ -21,16 +21,13 @@ jobs: run: | make docker-html - - name: debug - run: | - ls -l - - name: Upload artifact uses: actions/upload-pages-artifact@v3 with: path: gh-build deploy: + if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/source' }} runs-on: ubuntu-latest needs: build-and-upload From 77cd64d60860cbcca20a13585ee38a903e9d2021 Mon Sep 17 00:00:00 2001 From: Ben Nibbelink Date: Wed, 27 Mar 2024 21:33:32 -0500 Subject: [PATCH 32/91] remove cloud-sptheme pin --- docker/fuelcycle.org-deps/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/fuelcycle.org-deps/Dockerfile b/docker/fuelcycle.org-deps/Dockerfile index 63eab0ca7..ffacd3a4b 100644 --- a/docker/fuelcycle.org-deps/Dockerfile +++ b/docker/fuelcycle.org-deps/Dockerfile @@ -3,5 +3,5 @@ FROM ghcr.io/cyclus/cymetric_22.04_apt/cymetric:latest RUN apt-get update RUN apt-get install -y --force-yes wget python3-pip -RUN python -m pip install sphinx sphinxcontrib-bibtex cloud-sptheme==1.6 +RUN python -m pip install sphinx sphinxcontrib-bibtex cloud-sptheme From f5d4bada51ecaf9c84846a55db7c2605534dd1c5 Mon Sep 17 00:00:00 2001 From: bennibbelink <79653949+bennibbelink@users.noreply.github.com> Date: Thu, 28 Mar 2024 10:42:39 -0700 Subject: [PATCH 33/91] fix links --- source/user/dbdoc.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/user/dbdoc.rst b/source/user/dbdoc.rst index 68ecbd920..f3d6e9562 100644 --- a/source/user/dbdoc.rst +++ b/source/user/dbdoc.rst @@ -14,9 +14,9 @@ the same. |Cyclus| ships supporting two database formats: * `SQLite `_ (".sqlite" extension) - |cyclus|' default database format. Some useful viewers: - - `Sqliteman `_ (windows and linux) + - `Sqliteman `_ (windows and linux) - `SQLite Browser `_ (windows, mac, and linux) - - `SQLite Manager `_ + - `SQLite Manager `_ Firefox Add-on (windows, mac, and linux) * `HDF5 `_ (".h5" extension). Some useful From 312c0211f932077ecd66875b55ab2b021589cf87 Mon Sep 17 00:00:00 2001 From: Paul Wilson Date: Fri, 29 Mar 2024 08:50:47 -0500 Subject: [PATCH 34/91] Update source/index.rst Co-authored-by: Amanda Bachmann --- source/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/index.rst b/source/index.rst index b933528d2..97af5459d 100644 --- a/source/index.rst +++ b/source/index.rst @@ -96,7 +96,7 @@ Contact Us Contributors ------------ -You can find our amazing contributors through their GitHub profiles +You can find our amazing contributors through their GitHub contributions for each of the projects: * `Cyclus Contributors `_ * `Cycamore Contributors `_ From 24d7eed9d2fd82ac0544ddc7de33cde5029aabc5 Mon Sep 17 00:00:00 2001 From: bennibbelink <79653949+bennibbelink@users.noreply.github.com> Date: Sun, 31 Mar 2024 20:58:25 -0500 Subject: [PATCH 35/91] update install info --- source/kernel/build_from_source.rst | 8 +-- source/user/install.rst | 10 +--- source/user/install_binary.rst | 10 ++-- source/user/install_docker.rst | 78 ++++++++++++++++++++++++++++ source/user/install_from_tarball.rst | 15 +----- source/user/virtualbox.rst | 19 ------- 6 files changed, 90 insertions(+), 50 deletions(-) create mode 100644 source/user/install_docker.rst delete mode 100644 source/user/virtualbox.rst diff --git a/source/kernel/build_from_source.rst b/source/kernel/build_from_source.rst index 1cd26cab1..4683ff028 100644 --- a/source/kernel/build_from_source.rst +++ b/source/kernel/build_from_source.rst @@ -32,7 +32,7 @@ Supported Systems Currently, two specific systems are supported: - * Linux 64-bit (Ubuntu 12+ recommended) + * Linux 64-bit (Ubuntu 20+ recommended) * MacOSX 8 64-bit Unfamiliar with git and Github? @@ -60,7 +60,7 @@ Help with git and GitHub If you are unfamiliar with git, here are some resources: - * http://progit.org/book/ - this is a fantastic guide, from beginner to expert + * https://git-scm.com/book/en/v2 - this is a fantastic guide, from beginner to expert * http://book.git-scm.com/ * http://gitimmersion.com/ - A very hands-on tutorial. * http://www-cs-students.stanford.edu/~blynn/gitmagic/ @@ -70,11 +70,11 @@ If you are unfamiliar with GitHub, here are some resources: * `Github Help`_ * To have your changes integrated into the cyclus/cyclus project, you must - submit a GitHub *Pull Request*. Visit `Send pull requests`_ to learn more. + submit a GitHub *Pull Request*. Visit `Pull requests documentation`_ to learn more. .. _`Github Help`: http://help.github.com -.. _`Send pull requests`: http://help.github.com/send-pull-requests/ +.. _`Pull requests documentation`: https://docs.github.com/en/pull-requests Contact Us ---------- diff --git a/source/user/install.rst b/source/user/install.rst index fc3fef8a0..e76db4b83 100644 --- a/source/user/install.rst +++ b/source/user/install.rst @@ -29,18 +29,12 @@ will identify the best approach for you. - *Requires familiarity with Linux* - **Recommended** for users wanting to **run simulations locally** (without internet) -* :doc:`Virtualbox `: - - - *Requires familiarity with Linux* - - **Required for Windows users** - - * :doc:`Install Stable From Source (via Tarball) `: - *Requires programming skills/familiarity with compiling code* - **Recommended** for users wanting to **modify existing archetypes** or **write new archetypes** (aka developers) -* :doc:`Install Develop from Source (via Repository) `: +* :doc:`Install Main from Source (via Repository) `: - *Requires programming skills/familiarity with compiling code, basic understanding of Git/GitHub* - **Recommended** for developers or users who **require the bleeding edge version** of |Cyclus| @@ -51,10 +45,10 @@ will identify the best approach for you. :maxdepth: 1 install_binary + install_docker install_custom install_from_git install_from_tarball - virtualbox 2. Run Cyclus with a Sample XML File diff --git a/source/user/install_binary.rst b/source/user/install_binary.rst index f6dce059a..cc390575c 100644 --- a/source/user/install_binary.rst +++ b/source/user/install_binary.rst @@ -32,17 +32,15 @@ Installing |Cyclus| with Binaries :start-after: .. website_include_deb_start :end-before: .. website_include_deb_end -#. Download the Cycamore Debian installation package corresponding to your Ubuntu version (`14.04 - `_ or - `16.04 - `_). You can - download previous/different version `here `_. +#. Download the latest Cycamore Debian installation package `here + `_. You can + download previous/different version `here `_. #. Install the package by running: .. code-block:: bash - $ sudo dpkg -i cycamore_latest.deb + $ sudo dpkg -i cycamore-x.x.x-Linux.deb #. .. include:: unit_test.rst diff --git a/source/user/install_docker.rst b/source/user/install_docker.rst new file mode 100644 index 000000000..91f118c48 --- /dev/null +++ b/source/user/install_docker.rst @@ -0,0 +1,78 @@ +################################# +Installing |Cyclus| with Docker +################################# + +|Cyclus| maintains six container images with cyclus pre-installed: + +.. list-table:: + :header-rows: 1 + + * - Base OS + - Package Manager + - Image + * - Ubuntu 20.04 + - ``apt`` + - ``ghcr.io/cyclus/cyclus_20.04_apt/cyclus`` + * - Ubuntu 20.04 + - ``conda`` + - ``ghcr.io/cyclus/cyclus_20.04_conda/cyclus`` + * - Ubuntu 22.04 + - ``apt`` + - ``ghcr.io/cyclus/cyclus_22.04_apt/cyclus`` + * - Ubuntu 22.04 + - ``conda`` + - ``ghcr.io/cyclus/cyclus_22.04_conda/cyclus`` + * - Rocky Linux 8 + - ``dnf`` + - ``ghcr.io/cyclus/cyclus_rocky_8/cyclus`` + * - Rocky Linux 9 + - ``dnf`` + - ``ghcr.io/cyclus/cyclus_rocky_9/cyclus`` + +These images are updated via GitHub actions and have the following supported tags: + * ``stable`` - the last stable release + * ```` - version number corresponds to past release + * ``latest`` - up to date with the ``main`` branch + + +#. You can download these images using the following command: + + .. code-block:: bash + + $ docker pull ghcr.io/cyclus/cyclus_22.04_apt/cyclus:stable + +You can run a container image interactively using: + + .. code-block:: bash + + $ docker run -it ghcr.io/cyclus/cyclus_22.04_apt/cyclus:stable + +#. If you wish to run |Cyclus| with |Cycamore| pre-installed the following images are supported: + * - Base OS + - Package Manager + - Image + * - Ubuntu 20.04 + - ``apt`` + - ``ghcr.io/cyclus/cycamore_20.04_apt/cycamore`` + * - Ubuntu 20.04 + - ``conda`` + - ``ghcr.io/cyclus/cycamore_20.04_conda/cycamore`` + * - Ubuntu 22.04 + - ``apt`` + - ``ghcr.io/cyclus/cycamore_22.04_apt/cycamore`` + * - Ubuntu 22.04 + - ``conda`` + - ``ghcr.io/cyclus/cycamore_22.04_conda/cycamore`` + +These images are also updated via GitHub actions and have the following supported tags: + * ``stable`` - the last stable release + * ```` - version number corresponds to past release + * ``latest`` - up to date with the ``main`` branch + +#. You can explore the |Cyclus| container registry `here `_. + +Happy simulating! + +.. _Anaconda: https://www.continuum.io/downloads +.. _miniconda: http://conda.pydata.org/miniconda.html +.. _`docker run documentation`: https://docs.docker.com/reference/cli/docker/container/run/ \ No newline at end of file diff --git a/source/user/install_from_tarball.rst b/source/user/install_from_tarball.rst index 6b2ceff8c..ef72b4171 100644 --- a/source/user/install_from_tarball.rst +++ b/source/user/install_from_tarball.rst @@ -32,8 +32,7 @@ Get the Tarball Download the most recent stable version of Cyclus source (either .zip or .gz): -- `cyclus-1.5.5.zip `_ -- `cyclus-1.5.5.tar.gz `_ +- `Latest Cyclus release `_ (`Previous versions of Cyclus `_ ) @@ -45,15 +44,6 @@ Compiling Cyclus If you were successful then Cyclus has been installed and you can skip down to Installing Cycamore! -If you received an error message concerning the Cyclus Core Version, please use: - -.. code-block:: bash - - python install.py --core-version=x.y.z - -Replace x.y.z with the Cyclus version number you are installing. - - Alternative instructions are also available for doing a :doc:`Custom Installation `. @@ -66,8 +56,7 @@ Get the Tarball Download the most recent stable version of Cycamore source (either .zip or .gz): -- `cycamore-1.5.5.zip `_ -- `cycamore-1.5.5.tar.gz `_ +- `Latest Cycamore release `_ (`Previous versions of Cycamore `_ ) diff --git a/source/user/virtualbox.rst b/source/user/virtualbox.rst deleted file mode 100644 index f9a08f520..000000000 --- a/source/user/virtualbox.rst +++ /dev/null @@ -1,19 +0,0 @@ - -Installing a |Cyclus| VirtualBox -================================ - -A native Windows installation is not currently explicitly supported. However, a -Virtual Machine image can be downloaded that includes a pre-installation of all -of these dependencies as well as a pre-installation of |Cyclus| and Cycamore. If -you do not have access to a Linux or Unix (MacOS) machine, please follow these -steps: - -#. Install `VirtualBox `_ -#. Download `cyclus_user_environment.ova - `_ -#. Open the .ova file using VirtualBox (File->Import Appliance). -#. Login with the username ``ubuntu`` and pw ``reverse`` -#. Open a terminal and type ``conda update`` - -Congratulations! You now have the same user environment as someone who installed -|Cyclus| on an Ubuntu Linux machine. From 8ff8848eee909feb0564cd9ffe821b327498f18a Mon Sep 17 00:00:00 2001 From: Ben Nibbelink Date: Sun, 31 Mar 2024 21:47:04 -0500 Subject: [PATCH 36/91] add volume instruction --- source/user/install_binary.rst | 2 +- source/user/install_docker.rst | 24 +++++++++++++----------- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/source/user/install_binary.rst b/source/user/install_binary.rst index cc390575c..41a3720ef 100644 --- a/source/user/install_binary.rst +++ b/source/user/install_binary.rst @@ -46,6 +46,6 @@ Installing |Cyclus| with Binaries Happy simulating! -.. _Anaconda: https://www.continuum.io/downloads +.. _Anaconda: https://www.anaconda.com/download .. _miniconda: http://conda.pydata.org/miniconda.html .. _`dependency installation documentation`: DEPENDENCIES.html diff --git a/source/user/install_docker.rst b/source/user/install_docker.rst index 91f118c48..06f84aac8 100644 --- a/source/user/install_docker.rst +++ b/source/user/install_docker.rst @@ -2,7 +2,7 @@ Installing |Cyclus| with Docker ################################# -|Cyclus| maintains six container images with cyclus pre-installed: +|Cyclus| maintains six container images with |Cyclus| (and its dependencies) pre-installed: .. list-table:: :header-rows: 1 @@ -34,20 +34,24 @@ These images are updated via GitHub actions and have the following supported tag * ```` - version number corresponds to past release * ``latest`` - up to date with the ``main`` branch - -#. You can download these images using the following command: +You can download and run a container image interactively using: .. code-block:: bash - $ docker pull ghcr.io/cyclus/cyclus_22.04_apt/cyclus:stable + $ docker run -it ghcr.io/cyclus/cyclus_22.04_apt/cyclus:stable -You can run a container image interactively using: +This will provide you with an environment that has |Cyclus| ready for you to use. To +access files on your machine from within the container try using a volume (``-v :``). - .. code-block:: bash +If you are unfamiliar with Docker below are some good resources for getting started: + - `Docker 101 Tutorial `_ + - `Docker CLI reference `_ - $ docker run -it ghcr.io/cyclus/cyclus_22.04_apt/cyclus:stable +If you wish to run |Cyclus| with Cycamore pre-installed the following images are supported: + +.. list-table:: + :header-rows: 1 -#. If you wish to run |Cyclus| with |Cycamore| pre-installed the following images are supported: * - Base OS - Package Manager - Image @@ -69,10 +73,8 @@ These images are also updated via GitHub actions and have the following supporte * ```` - version number corresponds to past release * ``latest`` - up to date with the ``main`` branch -#. You can explore the |Cyclus| container registry `here `_. +You can explore all supported images in the |Cyclus| `container registry `_. Happy simulating! -.. _Anaconda: https://www.continuum.io/downloads -.. _miniconda: http://conda.pydata.org/miniconda.html .. _`docker run documentation`: https://docs.docker.com/reference/cli/docker/container/run/ \ No newline at end of file From b3c2048c99982f43ebdcf782ac0e245b946b62df Mon Sep 17 00:00:00 2001 From: abachmann Date: Mon, 1 Apr 2024 11:40:26 -0500 Subject: [PATCH 37/91] fix formatting for third-party archetypes, add links --- source/user/index.rst | 50 ++++++++++++++++++++++++++----------------- 1 file changed, 30 insertions(+), 20 deletions(-) diff --git a/source/user/index.rst b/source/user/index.rst index c89750b9c..6fb8f5a65 100644 --- a/source/user/index.rst +++ b/source/user/index.rst @@ -93,14 +93,14 @@ not necessarily adhere to the same standards of quality (documentation, testint, etc.) as Cyclus and Cycamore code - users are responsible for evaluating their suitability. -**Bright-lite** - The University of Texas - Austin is developing a set of archetypes for fuel +**Bright-lite** (https://github.com/bright-dev/Bright-lite) + The University of Texas - Austin developed a set of archetypes for fuel fabrication and reactors that rely on interpolation tables for more accurate prediction of fresh fuel compositions and estimates of fuel depletion. -**Cyborg** - The University of Tennessee is working with Oak Ridge National Lab to +**Cyborg** (https://github.com/sskutnik/cyborg) + The University of Tennessee worked with Oak Ridge National Lab to develop archetypes that will use ORIGEN calculations to improve the estimate of nuclear fuel properties. @@ -134,37 +134,47 @@ evaluating their suitability. `_ **Peddler** (https://github.com/ergs/peddler) -Peddler is a Cyclus Package used to simulate the transport of material from one facility to another. + Peddler is a Cyclus Package used to simulate the transport of material from one + facility to another. -- `peddler:truck`_ +- `peddler:truck `_ -- `peddler:reactor_` +- `peddler:reactor `_ -**Cyder**(https://github.com/arfc/cyder) -A generic nuclear repository model intended to be used within the Cyclus nuclear fuel cycle simulator. It contains a conditioning facility and a nuclear repository model that places spent fuel packages in a repository based on its temperature and the constraints of the repository. +**Cyder** (https://github.com/arfc/cyder) + A generic nuclear repository model intended to be used within the Cyclus nuclear + fuel cycle simulator. It contains a conditioning facility and a nuclear repository + model that places spent fuel packages in a repository based on its temperature and + the constraints of the repository. -**OpenMCyclus**(https://github.com/arfc/openmcyclus/) -OpenMCyclus introduces an archetype that couples OpenMC depletion with Cyclus a reactor. +**OpenMCyclus** (https://github.com/arfc/openmcyclus/) + OpenMCyclus introduces an archetype that couples OpenMC depletion with Cyclus a + reactor. -- `openmcyclus:DepleteReactor`_ +- `openmcyclus:DepleteReactor `_ -**D3ploy**(https://github.com/arfc/d3ploy/) -A collection of Cyclus manager archetypes for demand driven deployment. The goal of this package is to provide three types of mathematical basis for predicting supply and demand of commodities within Cyclus; Non-optimizing (NO) deterministic optimization (DO), and Stochastic optimization (SO). +**D3ploy** (https://github.com/arfc/d3ploy/) + A collection of Cyclus manager archetypes for demand driven deployment. The goal + of this package is to provide three types of mathematical basis for predicting + supply and demand of commodities within Cyclus; Non-optimizing (NO) deterministic + optimization (DO), and Stochastic optimization (SO). -- `d3ploy:DemandDrivenDeploymentInst`_ +- `d3ploy:DemandDrivenDeploymentInst `_ -- `d3ploy:SupplyDrivenDeploymentInst`_ +- `d3ploy:SupplyDrivenDeploymentInst `_ -- `d3ploy:DemandFac`_ +- `d3ploy:DemandFac `_ -**ann_pwr**(https://github.com/jbae11/ann_pwr) -This Cyclus Reactor module is created to perform varying burnup and enrichment calculations for LWRs using a trained neural network model to predict UNF composition. +**ann_pwr** (https://github.com/jbae11/ann_pwr) + This Cyclus Reactor module is created to perform varying burnup and enrichment + calculations for LWRs using a trained neural network model to predict UNF + composition. -- `ann_pwr:ann_pwr`_ +- `ann_pwr:ann_pwr `_ Visualization & Analysis From 3179d169aa01a84310b5743e588dfd2e84541055 Mon Sep 17 00:00:00 2001 From: abachmann Date: Mon, 1 Apr 2024 11:54:15 -0500 Subject: [PATCH 38/91] add link for CEP 29 to render correctly --- source/cep/cep0.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/cep/cep0.rst b/source/cep/cep0.rst index 1c73e665d..3fe6c6f6b 100644 --- a/source/cep/cep0.rst +++ b/source/cep/cep0.rst @@ -66,7 +66,7 @@ Index SA - 25 - Preference Adjustment Process - Gidden SD - 26 - Generalize the DRE to Optimize Multiple Metrics - Flanagan, Scopatz SA - 27 - Toolkit Capabilities Injection into an Archetype - Mouginot - SD - 29 - Packaging of Materials + SD - 29 - Packaging of Materials - Mummah Key --- From 3d32da6ea10021b50d29a737969e1ece2f30bb91 Mon Sep 17 00:00:00 2001 From: bennibbelink <79653949+bennibbelink@users.noreply.github.com> Date: Mon, 1 Apr 2024 12:51:51 -0500 Subject: [PATCH 39/91] Adds our custom sidebar to the sphinx build --- source/atemplates/layout.html | 7 ++----- source/conf.py | 4 +++- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/source/atemplates/layout.html b/source/atemplates/layout.html index cfd6ae8e6..bf579019e 100644 --- a/source/atemplates/layout.html +++ b/source/atemplates/layout.html @@ -1,6 +1,4 @@ -{% extends "!layout.html" %} - -{% block sidebarsearch %} +

    {{ _('Useful Pages') }}

    - {{ super() }}

    Get Cyclus


    Current version: 1.5.5 @@ -53,4 +50,4 @@

    Acknowledgements

    -{% endblock %} +
    diff --git a/source/conf.py b/source/conf.py index bf1630d1a..c8a5fccf9 100644 --- a/source/conf.py +++ b/source/conf.py @@ -186,7 +186,9 @@ #html_use_smartypants = True # Custom sidebar templates, maps document names to template names. -#html_sidebars = {} +html_sidebars = { + '**': [ 'searchbox.html', 'sidebar.html'] +} # Additional templates that should be rendered to pages, maps page names to # template names. From 9a1f7821e3b637bfa9f2afc4dc41fc99405d6cde Mon Sep 17 00:00:00 2001 From: bennibbelink <79653949+bennibbelink@users.noreply.github.com> Date: Mon, 1 Apr 2024 12:56:45 -0500 Subject: [PATCH 40/91] rename layout.html to sidebar.html for clarity --- source/atemplates/{layout.html => sidebar.html} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename source/atemplates/{layout.html => sidebar.html} (100%) diff --git a/source/atemplates/layout.html b/source/atemplates/sidebar.html similarity index 100% rename from source/atemplates/layout.html rename to source/atemplates/sidebar.html From d8f4d4c0cc95120c146512294cc40511dc6feac1 Mon Sep 17 00:00:00 2001 From: abachmann Date: Mon, 1 Apr 2024 14:15:45 -0500 Subject: [PATCH 41/91] add citecyc.bib to bibtex config list --- source/conf.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/source/conf.py b/source/conf.py index bf1630d1a..998fa5a7c 100644 --- a/source/conf.py +++ b/source/conf.py @@ -52,7 +52,12 @@ 'cyclusagent', 'cloud_sptheme.ext.table_styling', 'sphinxcontrib.bibtex'] -bibtex_bibfiles = ['cite/pubs.bib', 'cep/cep-0002-1.bib', 'cep/cep-0004-1.bib', 'cep/cep-0018-1.bib', 'cep/cep-0020-1.bib'] +bibtex_bibfiles = ['cite/pubs.bib', + 'cep/cep-0002-1.bib', + 'cep/cep-0004-1.bib', + 'cep/cep-0018-1.bib', + 'cep/cep-0020-1.bib', + 'cite/citecyc.bib'] numpydoc_show_class_members = False From addf3f60477fbfd32fb59ddd41b6abddc77cea71 Mon Sep 17 00:00:00 2001 From: abachmann Date: Mon, 1 Apr 2024 14:20:56 -0500 Subject: [PATCH 42/91] add line to create bullet list for contributors --- source/index.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/source/index.rst b/source/index.rst index d4ac14d00..36b742b1c 100644 --- a/source/index.rst +++ b/source/index.rst @@ -96,6 +96,7 @@ Contributors ------------ You can find our amazing contributors through their GitHub contributions for each of the projects: + * `Cyclus Contributors `_ * `Cycamore Contributors `_ From eba35f91c534295e5bee9e3e1d5b77587c47a8e9 Mon Sep 17 00:00:00 2001 From: abachmann Date: Mon, 1 Apr 2024 16:12:26 -0500 Subject: [PATCH 43/91] add newsletters .bib files to config --- source/conf.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/source/conf.py b/source/conf.py index 998fa5a7c..6d6681178 100644 --- a/source/conf.py +++ b/source/conf.py @@ -57,7 +57,9 @@ 'cep/cep-0004-1.bib', 'cep/cep-0018-1.bib', 'cep/cep-0020-1.bib', - 'cite/citecyc.bib'] + 'cite/citecyc.bib', + 'newsletters/pubsmay2018.bib', + 'newsletters/pubsoct2017.bib'] numpydoc_show_class_members = False From c1d98e1bb5250cd12efe2cfeb30db50f0b4c8c81 Mon Sep 17 00:00:00 2001 From: bennibbelink <79653949+bennibbelink@users.noreply.github.com> Date: Tue, 2 Apr 2024 12:27:13 -0500 Subject: [PATCH 44/91] Update Makefile and README to reflect publishing changes --- Makefile | 25 -------------- README.rst | 83 +++++++++-------------------------------------- docker/README.rst | 7 ++-- 3 files changed, 18 insertions(+), 97 deletions(-) diff --git a/Makefile b/Makefile index 3e51bdf7d..62dfea57d 100644 --- a/Makefile +++ b/Makefile @@ -30,10 +30,7 @@ help: @echo "Please use \`make ' where is one of" @echo " gh-preview to build HTML in directory $BUILDDIR for testing" @echo " gh-revert to cleanup HTML build in directory $BUILDDIR after testing" - @echo " gh-publish to build final version and push from source branch to main branch" - @echo " gh-publish-only to push from source branch to main branch, assuming already built" @echo " docker-html to use docker to build HTML in directory $BUILDDIR for testing" - @echo " docker-gh-publish to use docker to build final version and push from source branch to main branch" @echo " serve build+serve html files using Python's SimpleHTTPServer" @echo " serve-only serve pre-built html files using Python's SimpleHTTPServer" @echo " dirhtml to make HTML files named index.html in directories" @@ -77,32 +74,10 @@ gh-preview html: @echo @echo "Build finished. The HTML pages are in $(BUILDDIR)." -gh-publish-only: - git fetch $(GH_UPSTREAM_REPO) - git checkout -B $(GH_PUBLISH_BRANCH) $(GH_UPSTREAM_REPO)/$(GH_PUBLISH_BRANCH) - git checkout $(GH_SOURCE_BRANCH) -- $(GH_SOURCE_DIR) - git reset HEAD - rsync -a $(BUILDDIR)/* . - rsync -a $(BUILDDIR)/.* . - git add -f `(cd $(BUILDDIR); find . -type f; cd ..)` - rm -rf $(GH_SOURCE_DIR) $(BUILDDIR) - git commit -m "Generated $(GH_PUBLISH_BRANCH) for `git log $(GH_SOURCE_BRANCH) -1 --pretty=short --abbrev-commit`" && git push --force $(GH_UPSTREAM_REPO) $(GH_PUBLISH_BRANCH) - git checkout $(GH_SOURCE_BRANCH) - -gh-publish: - make clean - make html - make gh-publish-only - docker-gh-preview docker-html: docker build -f docker/fuelcycle.org-deps/Dockerfile -t fuelcycle.org-deps . docker run -w /cyclus.github.com -v $(PWD):/cyclus.github.com fuelcycle.org-deps bash -c "make gh-preview && chmod -R 777 $(BUILDDIR)" -docker-gh-publish: - make clean - make docker-html - make gh-publish-only - serve: html cd $(BUILDDIR) && python -m http.server diff --git a/README.rst b/README.rst index 3e4ba984e..191b281a8 100644 --- a/README.rst +++ b/README.rst @@ -3,9 +3,9 @@ Dependencies Building the Cyclus website requires: -1. `Sphinx`_ v1.1.2 or higher +1. `Sphinx`_ v7.2.6 or higher -2. `sphinxcontrib-bibtex`_ v0.3.0 or higher +2. `sphinxcontrib-bibtex`_ v2.6.2 or higher 3. `cyclus`_ @@ -13,7 +13,7 @@ Building the Cyclus website requires: 5. `cycamore `_ -6. `Cloud Sphinx Theme `_ +6. `Cloud Sphinx Theme `_ v1.10.1 or higher **NOTE:** The cloud package for Debian and Ubuntu is broken, so do not apt-get this. Please ``pip install cloud_sptheme``, ``easy_install cloud_sptheme``, or install from source instead. @@ -24,16 +24,9 @@ to fix a bug in the package. Modifying the Cyclus Website ============================ -A 2 branch system has been implemented to maintain a clean process of -rebuilding this site. - -1. The `source` branch contains the restructured text documents and -Sphinx configuration used to build the site. All direct editing of -files should be made in the `source` branch. - -2. The `main` branch contains the processed and published web -content that is derived by Sphinx from the `source` branch. These -files should not be editted directly. +The site is built and published via GitHub Actions. The default branch of this repository is `source` +which contains the restructured text documents and Sphinx configuration used to build the site. +All direct editing of files should be made in the `source` branch. The rest of this readme assumes that you have two remotes associated with cyclus.github.com. @@ -57,7 +50,7 @@ run:: There are docker targets in the makefile for doing everything related to the -site - building, previewing, and publishing. See the ``Docker`` section below +site - building, previewing, and testing. See the ``Docker`` section below for more details. Best practice workflow for contributing to site changes @@ -86,7 +79,7 @@ Best practice workflow for contributing to site changes browser. Or if you have docker installed, you can optionally use the docker preview target: - ``make gh-preview-docker`` + ``make docker-gh-preview`` to build the website inside a docker container with all the correct dependencies and configuration taken care of automagically. @@ -107,66 +100,22 @@ Best practice workflow for contributing to site changes 8. Issue a pull request by going to your branch on your fork of the repo and clicking the "Pull Request" button. -Best practice for managing a pull request ------------------------------------------- - -1. Synchronize your repository with the upstream repo:: - - git fetch upstream - git checkout main - git merge upstream/main - git checkout source - git merge upstream/source - -2. Checkout the `pull_request_branch` in the pull request submitter's repo:: - - git fetch https://github.com/[username]/cyclus.github.com pull_request_branch - git checkout -b pull_request_branch - -3. Test the changes by using the `gh-preview` target - - ``make gh-preview`` - - This will build a version of the site in the `gh-build` directory in - your branch, `pull_request_branch`. You can load it directly in a - local browser. +9. Every time you modify your pull request a workflow will be triggered that builds + the site with your changes and uploads the built site as an artifact. The specific workflow run + can be found by viewing the "Details" of the ``build-and-upload`` check within a PR, + and the ``github-pages`` artifact is listed in the "Summary". -4. If satisfied, merge the `pull_request_branch` into the `source` - branch:: +10. If the PR is merged into the ``source`` branch the website will be published to https://fuelcycle.org + automatically via GitHub Actions. - git checkout source - git merge pull_request_branch - -6. If there are no conflicts, push this to the repo - - ``git push upstream source`` - -7. Republish the pages with the `gh-publish` target. (**NOTE: for this step, - the upstream Cyclus repository *must* be called `upstream`**) - - ``make gh-publish`` Docker ------- -The ``make docker-...`` targets require the cyclus/fuelcycle.org-deps docker image +The ``make docker-...`` targets require the `ghcr.io/cyclus/cymetric_22.04_apt/cymetric` docker image which can be retrieved/updated by running:: - docker pull cyclus/fuelcycle.org-deps - -Occasionally (i.e. for a Cyclus release) the image will need to be updated. -This can be done by:: - - cd docker/fuelcycle.org-deps - - # update the image the fuelcycle.org image depends on - docker pull cyclus/cymetric - - # rebuild the image - docker build -t cyclus/fuelcycle.org-deps . - - # push the new image to docker-hub - docker push cyclus/fuelcycle.org-deps + docker pull ghcr.io/cyclus/cymetric_22.04_apt/cymetric:latest .. _Sphinx: http://sphinx-doc.org/ .. _sphinxcontrib-bibtex: http://sphinxcontrib-bibtex.readthedocs.org/en/latest/index.html diff --git a/docker/README.rst b/docker/README.rst index 2df7da4c8..25e288f46 100644 --- a/docker/README.rst +++ b/docker/README.rst @@ -1,9 +1,6 @@ ``fuelcycle.org-deps`` contains a dockerfile with all dependencies for building the website. This is used by the docker based build targets added to -the makefile. This image will need to be updated and repushed to docker hub -periodically when dependencies for the website need updating. Particularly, -this image will need to be rebuilt whenever there is a new release of -cyclus+cycamore+cymetric - otherwise new changes in those projects/repos won't -show up/work on the website. +the makefile. This image will automatically use the latest cymetric image from GHCR, +which is updated automatically via GitHub Actions on any changes to Cyclus, Cycamore, or Cymetric. From d69ca9a6ac40c880a40f1f5a8f7a2bbd983cb1a2 Mon Sep 17 00:00:00 2001 From: bennibbelink <79653949+bennibbelink@users.noreply.github.com> Date: Tue, 2 Apr 2024 22:09:26 -0500 Subject: [PATCH 45/91] restructure Dockerfile --- Makefile | 4 ++-- docker/{fuelcycle.org-deps => }/Dockerfile | 1 - docker/README.rst | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) rename docker/{fuelcycle.org-deps => }/Dockerfile (99%) diff --git a/Makefile b/Makefile index 62dfea57d..2cad04fb0 100644 --- a/Makefile +++ b/Makefile @@ -75,8 +75,8 @@ gh-preview html: @echo "Build finished. The HTML pages are in $(BUILDDIR)." docker-gh-preview docker-html: - docker build -f docker/fuelcycle.org-deps/Dockerfile -t fuelcycle.org-deps . - docker run -w /cyclus.github.com -v $(PWD):/cyclus.github.com fuelcycle.org-deps bash -c "make gh-preview && chmod -R 777 $(BUILDDIR)" + docker build -f docker/Dockerfile -t site-deps . + docker run -w /cyclus.github.com -v $(PWD):/cyclus.github.com site-deps bash -c "make gh-preview && chmod -R 777 $(BUILDDIR)" serve: html cd $(BUILDDIR) && python -m http.server diff --git a/docker/fuelcycle.org-deps/Dockerfile b/docker/Dockerfile similarity index 99% rename from docker/fuelcycle.org-deps/Dockerfile rename to docker/Dockerfile index ffacd3a4b..9a16891a9 100644 --- a/docker/fuelcycle.org-deps/Dockerfile +++ b/docker/Dockerfile @@ -1,4 +1,3 @@ - FROM ghcr.io/cyclus/cymetric_22.04_apt/cymetric:latest RUN apt-get update diff --git a/docker/README.rst b/docker/README.rst index 25e288f46..ed322ae0c 100644 --- a/docker/README.rst +++ b/docker/README.rst @@ -1,5 +1,5 @@ -``fuelcycle.org-deps`` contains a dockerfile with all dependencies for +This directory contains a dockerfile with all dependencies for building the website. This is used by the docker based build targets added to the makefile. This image will automatically use the latest cymetric image from GHCR, which is updated automatically via GitHub Actions on any changes to Cyclus, Cycamore, or Cymetric. From aff00d1275ff90e1e39f990b1364985d850a703a Mon Sep 17 00:00:00 2001 From: bennibbelink <79653949+bennibbelink@users.noreply.github.com> Date: Tue, 2 Apr 2024 22:09:48 -0500 Subject: [PATCH 46/91] remove references to main branch --- Makefile | 2 -- gh-project.mk | 8 +------- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/Makefile b/Makefile index 2cad04fb0..7edebc1d6 100644 --- a/Makefile +++ b/Makefile @@ -3,8 +3,6 @@ # The included file 'gh-project.mk' should define the following: # GH_SOURCE_DIR = top-level directory of all the ReST source files # GH_SOURCE_BRANCH = repository branch that contains the source -# GH_PUBLISH_BRANCH = repository branch that contains the rendered HTML -# GH_UPSTREAM_REPO = repository that contains the rendered HTML include gh-project.mk # You can set these variables from the command line. diff --git a/gh-project.mk b/gh-project.mk index 8525ad49b..92c6880a3 100644 --- a/gh-project.mk +++ b/gh-project.mk @@ -4,15 +4,9 @@ GH_SOURCE_DIR = source # GH_SOURCE_BRANCH = repository branch that contains the source GH_SOURCE_BRANCH = source -# GH_PUBLISH_BRANCH = repository branch that contains the rendered HTML -GH_PUBLISH_BRANCH = main -# GH_UPSTREAM_REPO = repository that contains the rendered HTML -GH_UPSTREAM_REPO = upstream # Example for a gh-pages project # # GH_SOURCE_DIR = doc-src -# GH_SOURCE_BRANCH = main -# GH_PUBLISH_BRANCH = gh-pages -# GH_UPSTREAM_REPO = upstream +# GH_SOURCE_BRANCH = main \ No newline at end of file From 270f655fe54458335addc52c145e7353a0d00f8d Mon Sep 17 00:00:00 2001 From: abachmann Date: Wed, 3 Apr 2024 17:27:35 -0500 Subject: [PATCH 47/91] add SAI, per @nuclearkatie rec in #337 --- source/basics/projects.rst | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/source/basics/projects.rst b/source/basics/projects.rst index 9741fd9ac..c49641563 100644 --- a/source/basics/projects.rst +++ b/source/basics/projects.rst @@ -13,7 +13,17 @@ Consortium for Verification Technology :width: 100 As part of the `Consortium for Verification Technology (CVT) -`_, |Cyclus| is being used to study issues in -nuclear security and non-proliferation. Research areas include the +`_, |Cyclus| was used to study issues in +nuclear security and non-proliferation. Research areas included the incorporation of social-behavioral models to agent interactions, nuclear material tracking and forensics, and detector sensitivity estimation. + +Systems Analysis & Integration Campaign +--------------------------------------- + +As part of the `Systems Analysis & Integration Campaign (SA&I) +`_, |Cyclus| is +used for modeling fuel cycles to understand potential future fuel +cycle needs and the economics of those fuel cycles. + + From ec87ca88056246af4b429dd30db2a649f8029574 Mon Sep 17 00:00:00 2001 From: abachmann Date: Wed, 3 Apr 2024 17:27:58 -0500 Subject: [PATCH 48/91] add NNSA funder, per @nuclearkatie rec in #337 --- source/basics/acknowledgements.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/basics/acknowledgements.rst b/source/basics/acknowledgements.rst index 9ce133383..448eec6ab 100644 --- a/source/basics/acknowledgements.rst +++ b/source/basics/acknowledgements.rst @@ -21,6 +21,10 @@ by a number of programs and agencies. * Lab-grad program +* National Nuclear Security Administration + + * NNIS Fellowship + The |Cyclus| project benefits greatly from the computational resources of the University of Wisconsin-Madison's `Center for High Throughput Computing `_ and it's `BaTLab `_ build From 3ca70d15820784df92749a8fdf2897538c3225ce Mon Sep 17 00:00:00 2001 From: abachmann Date: Wed, 3 Apr 2024 17:28:18 -0500 Subject: [PATCH 49/91] remove news in toc, per @nuclearkatie rec in #337 --- source/index.rst | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/source/index.rst b/source/index.rst index 36b742b1c..6d9f8dfc2 100644 --- a/source/index.rst +++ b/source/index.rst @@ -30,6 +30,7 @@ The |Cyclus| project repository is located at http://github.com/cyclus/cyclus Quick Start ----------- + :doc:`Get started with Cyclus ` News @@ -51,13 +52,6 @@ News **June 7, 2015:** :doc:`Cyclus v1.3.1 is released ` -.. toctree:: - :maxdepth: 1 - - news/fy16neup - newsletters/oct2017 - - Learn More ---------- From d2c94c0475a558390f11b25820827956a0bb9fc8 Mon Sep 17 00:00:00 2001 From: bennibbelink <79653949+bennibbelink@users.noreply.github.com> Date: Thu, 4 Apr 2024 16:59:54 -0500 Subject: [PATCH 50/91] split GIT_FORK and GIT_BRANCH into two sets for cyclus and cycamore --- Makefile | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/Makefile b/Makefile index 7edebc1d6..e013dd179 100644 --- a/Makefile +++ b/Makefile @@ -10,8 +10,10 @@ SPHINXOPTS = SPHINXBUILD = sphinx-build PAPER = BUILDDIR = ./gh-build -GIT_BRANCH = main -GIT_FORK = cyclus +CYCLUS_GIT_BRANCH = main +CYCLUS_GIT_FORK = cyclus +CYCAMORE_GIT_BRANCH = main +CYCAMORE_GIT_FORK = cyclus # Internal variables. @@ -54,14 +56,14 @@ gh-clean gh-revert clean: -rm -rf $(BUILDDIR) gh-preview html: - wget -nv https://raw.githubusercontent.com/${GIT_FORK}/cyclus/${GIT_BRANCH}/INSTALL.rst -O source/user/CYCLUS_INSTALL.rst || \ - curl https://raw.githubusercontent.com/${GIT_FORK}/cyclus/${GIT_BRANCH}/INSTALL.rst -L -o source/user/CYCLUS_INSTALL.rst - wget -nv https://raw.githubusercontent.com/${GIT_FORK}/cyclus/${GIT_BRANCH}/DEPENDENCIES.rst -O source/user/DEPENDENCIES.rst || \ - curl https://raw.githubusercontent.com/${GIT_FORK}/cyclus/${GIT_BRANCH}/DEPENDENCIES.rst -L -o source/user/DEPENDENCIES.rst - wget -nv https://raw.githubusercontent.com/${GIT_FORK}/cycamore/${GIT_BRANCH}/INSTALL.rst -O source/user/CYCAMORE_INSTALL.rst || \ - curl https://raw.githubusercontent.com/${GIT_FORK}/cycamore/${GIT_BRANCH}/INSTALL.rst -L -o source/user/CYCAMORE_INSTALL.rst - wget -nv https://raw.githubusercontent.com/${GIT_FORK}/cycamore/${GIT_BRANCH}/DEPENDENCIES.rst -O source/user/CYCAMORE_DEPS.rst || \ - curl https://raw.githubusercontent.com/${GIT_FORK}/cycamore/${GIT_BRANCH}/DEPENDENCIES.rst -L -o source/user/CYCAMORE_DEPS.rst + wget -nv https://raw.githubusercontent.com/${CYCLUS_GIT_FORK}/cyclus/${CYCLUS_GIT_BRANCH}/INSTALL.rst -O source/user/CYCLUS_INSTALL.rst || \ + curl https://raw.githubusercontent.com/${CYCLUS_GIT_FORK}/cyclus/${CYCLUS_GIT_BRANCH}/INSTALL.rst -L -o source/user/CYCLUS_INSTALL.rst + wget -nv https://raw.githubusercontent.com/${CYCLUS_GIT_FORK}/cyclus/${CYCLUS_GIT_BRANCH}/DEPENDENCIES.rst -O source/user/DEPENDENCIES.rst || \ + curl https://raw.githubusercontent.com/${CYCLUS_GIT_FORK}/cyclus/${CYCLUS_GIT_BRANCH}/DEPENDENCIES.rst -L -o source/user/DEPENDENCIES.rst + wget -nv https://raw.githubusercontent.com/${CYCAMORE_GIT_FORK}/cycamore/${CYCAMORE_GIT_BRANCH}/INSTALL.rst -O source/user/CYCAMORE_INSTALL.rst || \ + curl https://raw.githubusercontent.com/${CYCAMORE_GIT_FORK}/cycamore/${CYCAMORE_GIT_BRANCH}/INSTALL.rst -L -o source/user/CYCAMORE_INSTALL.rst + wget -nv https://raw.githubusercontent.com/${CYCAMORE_GIT_FORK}/cycamore/${CYCAMORE_GIT_BRANCH}/DEPENDENCIES.rst -O source/user/CYCAMORE_DEPS.rst || \ + curl https://raw.githubusercontent.com/${CYCAMORE_GIT_FORK}/cycamore/${CYCAMORE_GIT_BRANCH}/DEPENDENCIES.rst -L -o source/user/CYCAMORE_DEPS.rst PYTHONDONTWRITEBYTECODE="TRUE" $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR) sed -i.bak 's/function top_offset([$$]node){ return [$$]node\[0\].getBoundingClientRect().top; }/function top_offset($$node){ return (typeof $$node[0] === "undefined") ? 0 : $$node[0].getBoundingClientRect().top; }/' ./gh-build/_static/cloud.js From 06f47bd19d931c23de4ecc70b4b86283673d7148 Mon Sep 17 00:00:00 2001 From: bennibbelink <79653949+bennibbelink@users.noreply.github.com> Date: Thu, 4 Apr 2024 17:00:14 -0500 Subject: [PATCH 51/91] remove unneccesary GH_SOURCE_BRANCH references --- Makefile | 1 - gh-project.mk | 4 ---- 2 files changed, 5 deletions(-) diff --git a/Makefile b/Makefile index e013dd179..2406488be 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,6 @@ # # The included file 'gh-project.mk' should define the following: # GH_SOURCE_DIR = top-level directory of all the ReST source files -# GH_SOURCE_BRANCH = repository branch that contains the source include gh-project.mk # You can set these variables from the command line. diff --git a/gh-project.mk b/gh-project.mk index 92c6880a3..01631c8d0 100644 --- a/gh-project.mk +++ b/gh-project.mk @@ -2,11 +2,7 @@ # # GH_SOURCE_DIR = top-level directory of all the ReST source files GH_SOURCE_DIR = source -# GH_SOURCE_BRANCH = repository branch that contains the source -GH_SOURCE_BRANCH = source - # Example for a gh-pages project # # GH_SOURCE_DIR = doc-src -# GH_SOURCE_BRANCH = main \ No newline at end of file From 80881b6c571823ae25f5e09e442a786d5041f454 Mon Sep 17 00:00:00 2001 From: abachmann Date: Thu, 11 Apr 2024 15:13:51 -0500 Subject: [PATCH 52/91] update numpy documentation link --- source/numpydoc/numpydoc.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/numpydoc/numpydoc.py b/source/numpydoc/numpydoc.py index 4c8355489..2f9d50557 100644 --- a/source/numpydoc/numpydoc.py +++ b/source/numpydoc/numpydoc.py @@ -12,7 +12,7 @@ - Renumber references. - Extract the signature from the docstring, if it can't be determined otherwise. -.. [1] https://github.com/numpy/numpy/blob/main/doc/HOWTO_DOCUMENT.rst.txt +.. [1] https://numpydoc.readthedocs.io/en/latest/format.html#docstring-standard """ from __future__ import division, absolute_import, print_function From 10556e4f3bbde66b295c5f8b50610d2e5189fc83 Mon Sep 17 00:00:00 2001 From: abachmann Date: Thu, 11 Apr 2024 15:15:05 -0500 Subject: [PATCH 53/91] update link to github3 documentation --- source/cep/cep6.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/cep/cep6.rst b/source/cep/cep6.rst index 5a17cdfe5..ee7db660c 100644 --- a/source/cep/cep6.rst +++ b/source/cep/cep6.rst @@ -3,7 +3,7 @@ CEP 6 - |Cyclus| Pull Request Style Guide :CEP: 6 :Title: |Cyclus| Pull Request Style Guide -:Last-Modified: 2015-05-08 +:Last-Modified: 2024-04-11 :Author: Matthew Gidden :Status: Draft :Type: Process @@ -84,7 +84,7 @@ Automation Using the Github `API `_ either directly or through a module like `github3.py -`_ in conjunction with a standard +`_ in conjunction with a standard style can allow for the automation of otherwise repetitive and time consuming tasks. A chief use case is the generation of release notes. Specifically, if every PR that enables a major and minor feature can be identified and From b42e263389e48a29e5b848a9ab18f19fb38a4eed Mon Sep 17 00:00:00 2001 From: abachmann Date: Thu, 11 Apr 2024 15:29:13 -0500 Subject: [PATCH 54/91] remove toctree, add doc for Docker install --- source/user/install.rst | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/source/user/install.rst b/source/user/install.rst index e76db4b83..fe17253fc 100644 --- a/source/user/install.rst +++ b/source/user/install.rst @@ -40,21 +40,16 @@ will identify the best approach for you. - **Recommended** for developers or users who **require the bleeding edge version** of |Cyclus| - **Required** for developers who wish to **contribute to kernel development** of |Cyclus| +* :doc:`Install from Docker `: -.. toctree:: - :maxdepth: 1 + - *Requires Docker install on machine and familiarity with Docker* - install_binary - install_docker - install_custom - install_from_git - install_from_tarball - -2. Run Cyclus with a Sample XML File +1. Run Cyclus with a Sample XML File ------------------------------------- -Try running |Cyclus| for yourself. The result will be a :doc:`database ` named cyclus.sqlite. Use the drop down menu to load the sqlite file into Cyclist for data visualization, or use your favorite sqlite browser to peruse. +Try running |Cyclus| for yourself. The result will be a :doc:`database ` named cyclus.sqlite. Use the drop down menu to +load the sqlite file into Cyclist for data visualization, or use your favorite sqlite browser to peruse. .. code-block:: bash From cc419ace0e0acb364ac3d8bdcabf057663e038c9 Mon Sep 17 00:00:00 2001 From: abachmann Date: Thu, 11 Apr 2024 15:34:43 -0500 Subject: [PATCH 55/91] add missing >, fix typo --- source/user/tutorial/add_sep.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/user/tutorial/add_sep.rst b/source/user/tutorial/add_sep.rst index 927c6a3cb..f21c494d8 100644 --- a/source/user/tutorial/add_sep.rst +++ b/source/user/tutorial/add_sep.rst @@ -32,7 +32,7 @@ The following is the input template for ``Cycamore::Separations`` archetype: _______ _______ - @@ -47,7 +47,7 @@ The following is the input template for ``Cycamore::Separations`` archetype: * Used-MOX-Fuel * The maximum feed inventory is the most feed material that we'll have on hand: 1000 tonnes. -* The maxium separations throughout is the size of our plant: 80 tonnes/timestep +* The maximum separations throughout is the size of our plant: 80 tonnes/timestep * This simple scenario will have a single output stream: Separated-Fissile * we will hold no more than 5 tonnes of separated material on hand at any time * 99% of all Pu (94000) will go into that stream @@ -82,7 +82,7 @@ Filling in the template, the input block looks like: 94000 0.99 - From 1da8834e2da9ebeeb68b3160ee139c66cfc3dd8a Mon Sep 17 00:00:00 2001 From: abachmann Date: Thu, 11 Apr 2024 15:35:50 -0500 Subject: [PATCH 56/91] change archetype install to pip --- source/arche/tutorial_py/setup.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/arche/tutorial_py/setup.rst b/source/arche/tutorial_py/setup.rst index c175145a6..16eca5d8f 100644 --- a/source/arche/tutorial_py/setup.rst +++ b/source/arche/tutorial_py/setup.rst @@ -70,7 +70,7 @@ Now we can install the tutorial project via, .. code-block:: console ~ $ cd tutorial - ~/tutorial $ python setup.py install --user + ~/tutorial $ pip install . Let's now make an example input file in a special ``input`` directory: From bf130bf2292f8f1b041b9525cf476e1432e33f3a Mon Sep 17 00:00:00 2001 From: abachmann Date: Thu, 11 Apr 2024 16:02:54 -0500 Subject: [PATCH 57/91] move news to after Learn More, put quick start in toc tree --- source/index.rst | 40 ++++++++++++++++++++++------------------ 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/source/index.rst b/source/index.rst index 6d9f8dfc2..1c31a1cd1 100644 --- a/source/index.rst +++ b/source/index.rst @@ -31,12 +31,31 @@ The |Cyclus| project repository is located at http://github.com/cyclus/cyclus Quick Start ----------- -:doc:`Get started with Cyclus ` +.. toctree:: + :maxdepth: 1 + user/install + + +Learn More +---------- + +.. toctree:: + :maxdepth: 1 + + basics/index + user/index + arche/index + kernel/index + python/index + cep/cep0 + previous/index + cite/index + News ---- -**June 1st, 2018:** :doc:`Cyclus Newsletter Spring 2018! ` +**June 1st, 2018:** :doc:` ` **October 6th, 2017:** :doc:`Cyclus Newsletter Fall 2017! ` @@ -48,25 +67,10 @@ News **July 21-24, 2015:** Joint workshop with CLASS_ project held in Madison, WI -**June 10, 2015:** First Cyclus :doc:`user tutorial ` and :doc:`developer tutorial ` are held at the 2015 ANS Annual Meeting in San Antonio, TX +**June 10, 2015:** First Cyclus :doc:`user tutorial ` and :doc:`developer tutorial ` are held at the 2015 ANS Annual Meeting in San Antonio, TX **June 7, 2015:** :doc:`Cyclus v1.3.1 is released ` -Learn More ----------- - -.. toctree:: - :maxdepth: 1 - - basics/index - user/index - arche/index - kernel/index - python/index - cep/cep0 - previous/index - cite/index - .. _try-it: Try It -- Out-of-Service From 1ca1de807127c2267900c44c67d33d0052a74022 Mon Sep 17 00:00:00 2001 From: abachmann Date: Mon, 15 Apr 2024 09:03:15 -0500 Subject: [PATCH 58/91] make edits requested by @bennibbelink --- source/arche/tutorial_py/setup.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/arche/tutorial_py/setup.rst b/source/arche/tutorial_py/setup.rst index 16eca5d8f..f79cb55b6 100644 --- a/source/arche/tutorial_py/setup.rst +++ b/source/arche/tutorial_py/setup.rst @@ -70,7 +70,7 @@ Now we can install the tutorial project via, .. code-block:: console ~ $ cd tutorial - ~/tutorial $ pip install . + ~/tutorial $ python -m pip install . Let's now make an example input file in a special ``input`` directory: @@ -81,7 +81,7 @@ Let's now make an example input file in a special ``input`` directory: ~/tutorial $ mkdir -p input ~/tutorial $ touch input/storage.py -Now open up the ``input/storage.`` input file and edit it to look like: +Now open up the ``input/storage.py`` input file and edit it to look like: .. code-block:: python From 80212f3df4f5c70f75a4c38dea1895eea38bfff1 Mon Sep 17 00:00:00 2001 From: abachmann Date: Mon, 15 Apr 2024 09:03:41 -0500 Subject: [PATCH 59/91] remove mention of Cyclist, per @gonuke --- source/user/install.rst | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/source/user/install.rst b/source/user/install.rst index fe17253fc..9f6ee5cbf 100644 --- a/source/user/install.rst +++ b/source/user/install.rst @@ -48,8 +48,9 @@ will identify the best approach for you. 1. Run Cyclus with a Sample XML File ------------------------------------- -Try running |Cyclus| for yourself. The result will be a :doc:`database ` named cyclus.sqlite. Use the drop down menu to -load the sqlite file into Cyclist for data visualization, or use your favorite sqlite browser to peruse. +Try running |Cyclus| for yourself. The result will be a :doc:`database ` named cyclus.sqlite. +Use your favorite sqlite browser to peruse, or explore the data using +`Cymetric `_. .. code-block:: bash From 72cf03bbce143e2b39bf0953de0b1e60fdc07e54 Mon Sep 17 00:00:00 2001 From: abachmann Date: Mon, 15 Apr 2024 10:00:21 -0500 Subject: [PATCH 60/91] formatting fixes from @bennibbelink review --- source/index.rst | 3 ++- source/user/install.rst | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/source/index.rst b/source/index.rst index 1c31a1cd1..4fdc4942e 100644 --- a/source/index.rst +++ b/source/index.rst @@ -33,6 +33,7 @@ Quick Start .. toctree:: :maxdepth: 1 + user/install @@ -55,7 +56,7 @@ Learn More News ---- -**June 1st, 2018:** :doc:` ` +**June 1st, 2018:** :doc:`Cyclus Newsletter Spring 2018 ` **October 6th, 2017:** :doc:`Cyclus Newsletter Fall 2017! ` diff --git a/source/user/install.rst b/source/user/install.rst index 9f6ee5cbf..36dcd673d 100644 --- a/source/user/install.rst +++ b/source/user/install.rst @@ -45,7 +45,7 @@ will identify the best approach for you. - *Requires Docker install on machine and familiarity with Docker* -1. Run Cyclus with a Sample XML File +2. Run Cyclus with a Sample XML File ------------------------------------- Try running |Cyclus| for yourself. The result will be a :doc:`database ` named cyclus.sqlite. From e54eb9ab585096acea8e68376850ecd8cea5c145 Mon Sep 17 00:00:00 2001 From: Ben Nibbelink Date: Wed, 17 Apr 2024 11:16:07 -0500 Subject: [PATCH 61/91] rely on CYCAMORE_DEPS for numbering --- source/user/install_binary.rst | 88 ++++++++++++++-------------------- 1 file changed, 37 insertions(+), 51 deletions(-) diff --git a/source/user/install_binary.rst b/source/user/install_binary.rst index 41a3720ef..f9284f0b6 100644 --- a/source/user/install_binary.rst +++ b/source/user/install_binary.rst @@ -1,51 +1,37 @@ -################################# -Installing |Cyclus| with Binaries -################################# - -|Cyclus| supports two binary installation options: - -.. include:: CYCAMORE_DEPS.rst - :start-after: .. website_include_binary_start - :end-before: .. website_include_binary_end - -.. include:: CYCAMORE_DEPS.rst - :start-after: .. website_include_conda_start - :end-before: .. website_include_conda_end - - -#. Once you have conda installed, installing |Cyclus| and Cycamore is - straightforward. If you are having issues with certificate verification - you may install using the second set of commands to fix these issues. - - .. code-block:: bash - - $ conda install -c conda-forge cycamore - - .. code-block:: bash - - $ conda config --set ssl_verify false - $ conda install -c conda-forge cycamore - -#. .. include:: unit_test.rst - -.. include:: CYCAMORE_DEPS.rst - :start-after: .. website_include_deb_start - :end-before: .. website_include_deb_end - -#. Download the latest Cycamore Debian installation package `here - `_. You can - download previous/different version `here `_. - -#. Install the package by running: - - .. code-block:: bash - - $ sudo dpkg -i cycamore-x.x.x-Linux.deb - -#. .. include:: unit_test.rst - -Happy simulating! - -.. _Anaconda: https://www.anaconda.com/download -.. _miniconda: http://conda.pydata.org/miniconda.html -.. _`dependency installation documentation`: DEPENDENCIES.html +################################# +Installing |Cyclus| with Binaries +################################# + +|Cyclus| supports two binary installation options: + +.. include:: CYCAMORE_DEPS.rst + :start-after: .. website_include_binary_start + :end-before: .. website_include_binary_end + +.. include:: CYCAMORE_DEPS.rst + :start-after: .. website_include_conda_start + :end-before: .. website_include_conda_end + +.. include:: unit_test.rst + +.. include:: CYCAMORE_DEPS.rst + :start-after: .. website_include_deb_start + :end-before: .. website_include_deb_end + +#. Download the latest Cycamore Debian installation package `here + `_. You can + download previous/different version `here `_. + +#. Install the package by running: + + .. code-block:: bash + + $ sudo dpkg -i cycamore-x.x.x-Linux.deb + +#. .. include:: unit_test.rst + +Happy simulating! + +.. _Anaconda: https://www.anaconda.com/download +.. _miniconda: http://conda.pydata.org/miniconda.html +.. _`dependency installation documentation`: DEPENDENCIES.html From b45fa5d088d85cb6833194cd70bce98d397da539 Mon Sep 17 00:00:00 2001 From: Ben Nibbelink Date: Wed, 17 Apr 2024 11:22:47 -0500 Subject: [PATCH 62/91] break lists apart with comment --- source/user/install_binary.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/source/user/install_binary.rst b/source/user/install_binary.rst index f9284f0b6..c5a55fa0b 100644 --- a/source/user/install_binary.rst +++ b/source/user/install_binary.rst @@ -18,6 +18,8 @@ Installing |Cyclus| with Binaries :start-after: .. website_include_deb_start :end-before: .. website_include_deb_end +At this point |Cyclus| should be successfully installed on your system and you are ready to install Cycamore. + #. Download the latest Cycamore Debian installation package `here `_. You can download previous/different version `here `_. From 3fb0a8fc6d256bb3779c5b1fe3ba403ad7c4fbd7 Mon Sep 17 00:00:00 2001 From: Bachmann Date: Thu, 18 Apr 2024 09:16:16 -0500 Subject: [PATCH 63/91] remove xo dependency --- source/arche/tutorial_py/setup.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/source/arche/tutorial_py/setup.rst b/source/arche/tutorial_py/setup.rst index f79cb55b6..c8c3234a5 100644 --- a/source/arche/tutorial_py/setup.rst +++ b/source/arche/tutorial_py/setup.rst @@ -60,7 +60,6 @@ root tutorial directory. Create one that looks like: setup( name='tut', packages=['tut'], - scripts=['xo'], **setup_kwargs ) From 02f7ed992420e24a6072072383ac1575ef6ef850 Mon Sep 17 00:00:00 2001 From: abachmann Date: Mon, 1 Apr 2024 14:20:56 -0500 Subject: [PATCH 64/91] add line to create bullet list for contributors --- source/index.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/source/index.rst b/source/index.rst index d4ac14d00..36b742b1c 100644 --- a/source/index.rst +++ b/source/index.rst @@ -96,6 +96,7 @@ Contributors ------------ You can find our amazing contributors through their GitHub contributions for each of the projects: + * `Cyclus Contributors `_ * `Cycamore Contributors `_ From 592f5fd025e2522d783484c385b011d9406f1d4c Mon Sep 17 00:00:00 2001 From: abachmann Date: Wed, 3 Apr 2024 17:27:35 -0500 Subject: [PATCH 65/91] add SAI, per @nuclearkatie rec in #337 --- source/basics/projects.rst | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/source/basics/projects.rst b/source/basics/projects.rst index 9741fd9ac..c49641563 100644 --- a/source/basics/projects.rst +++ b/source/basics/projects.rst @@ -13,7 +13,17 @@ Consortium for Verification Technology :width: 100 As part of the `Consortium for Verification Technology (CVT) -`_, |Cyclus| is being used to study issues in -nuclear security and non-proliferation. Research areas include the +`_, |Cyclus| was used to study issues in +nuclear security and non-proliferation. Research areas included the incorporation of social-behavioral models to agent interactions, nuclear material tracking and forensics, and detector sensitivity estimation. + +Systems Analysis & Integration Campaign +--------------------------------------- + +As part of the `Systems Analysis & Integration Campaign (SA&I) +`_, |Cyclus| is +used for modeling fuel cycles to understand potential future fuel +cycle needs and the economics of those fuel cycles. + + From d5a34e0d4863d658978a7a258719604280bbc88d Mon Sep 17 00:00:00 2001 From: abachmann Date: Wed, 3 Apr 2024 17:27:58 -0500 Subject: [PATCH 66/91] add NNSA funder, per @nuclearkatie rec in #337 --- source/basics/acknowledgements.rst | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/source/basics/acknowledgements.rst b/source/basics/acknowledgements.rst index 9ce133383..448eec6ab 100644 --- a/source/basics/acknowledgements.rst +++ b/source/basics/acknowledgements.rst @@ -21,6 +21,10 @@ by a number of programs and agencies. * Lab-grad program +* National Nuclear Security Administration + + * NNIS Fellowship + The |Cyclus| project benefits greatly from the computational resources of the University of Wisconsin-Madison's `Center for High Throughput Computing `_ and it's `BaTLab `_ build From c73aec8cc2a7165f45ea941bf2be288c01e54359 Mon Sep 17 00:00:00 2001 From: abachmann Date: Wed, 3 Apr 2024 17:28:18 -0500 Subject: [PATCH 67/91] remove news in toc, per @nuclearkatie rec in #337 --- source/index.rst | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/source/index.rst b/source/index.rst index 36b742b1c..6d9f8dfc2 100644 --- a/source/index.rst +++ b/source/index.rst @@ -30,6 +30,7 @@ The |Cyclus| project repository is located at http://github.com/cyclus/cyclus Quick Start ----------- + :doc:`Get started with Cyclus ` News @@ -51,13 +52,6 @@ News **June 7, 2015:** :doc:`Cyclus v1.3.1 is released ` -.. toctree:: - :maxdepth: 1 - - news/fy16neup - newsletters/oct2017 - - Learn More ---------- From b37f1286e567898884fd493d43b51f9acfa015db Mon Sep 17 00:00:00 2001 From: abachmann Date: Thu, 11 Apr 2024 15:13:51 -0500 Subject: [PATCH 68/91] update numpy documentation link --- source/numpydoc/numpydoc.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/numpydoc/numpydoc.py b/source/numpydoc/numpydoc.py index 4c8355489..2f9d50557 100644 --- a/source/numpydoc/numpydoc.py +++ b/source/numpydoc/numpydoc.py @@ -12,7 +12,7 @@ - Renumber references. - Extract the signature from the docstring, if it can't be determined otherwise. -.. [1] https://github.com/numpy/numpy/blob/main/doc/HOWTO_DOCUMENT.rst.txt +.. [1] https://numpydoc.readthedocs.io/en/latest/format.html#docstring-standard """ from __future__ import division, absolute_import, print_function From 6d504dce6db2c66e48f7dff236ac14ea640387cf Mon Sep 17 00:00:00 2001 From: abachmann Date: Thu, 11 Apr 2024 15:15:05 -0500 Subject: [PATCH 69/91] update link to github3 documentation --- source/cep/cep6.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/cep/cep6.rst b/source/cep/cep6.rst index 5a17cdfe5..ee7db660c 100644 --- a/source/cep/cep6.rst +++ b/source/cep/cep6.rst @@ -3,7 +3,7 @@ CEP 6 - |Cyclus| Pull Request Style Guide :CEP: 6 :Title: |Cyclus| Pull Request Style Guide -:Last-Modified: 2015-05-08 +:Last-Modified: 2024-04-11 :Author: Matthew Gidden :Status: Draft :Type: Process @@ -84,7 +84,7 @@ Automation Using the Github `API `_ either directly or through a module like `github3.py -`_ in conjunction with a standard +`_ in conjunction with a standard style can allow for the automation of otherwise repetitive and time consuming tasks. A chief use case is the generation of release notes. Specifically, if every PR that enables a major and minor feature can be identified and From 12eb8270679c25278136dc3c3d9e063cdf3a37f7 Mon Sep 17 00:00:00 2001 From: abachmann Date: Thu, 11 Apr 2024 15:29:13 -0500 Subject: [PATCH 70/91] remove toctree, add doc for Docker install --- source/user/install.rst | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/source/user/install.rst b/source/user/install.rst index e76db4b83..fe17253fc 100644 --- a/source/user/install.rst +++ b/source/user/install.rst @@ -40,21 +40,16 @@ will identify the best approach for you. - **Recommended** for developers or users who **require the bleeding edge version** of |Cyclus| - **Required** for developers who wish to **contribute to kernel development** of |Cyclus| +* :doc:`Install from Docker `: -.. toctree:: - :maxdepth: 1 + - *Requires Docker install on machine and familiarity with Docker* - install_binary - install_docker - install_custom - install_from_git - install_from_tarball - -2. Run Cyclus with a Sample XML File +1. Run Cyclus with a Sample XML File ------------------------------------- -Try running |Cyclus| for yourself. The result will be a :doc:`database ` named cyclus.sqlite. Use the drop down menu to load the sqlite file into Cyclist for data visualization, or use your favorite sqlite browser to peruse. +Try running |Cyclus| for yourself. The result will be a :doc:`database ` named cyclus.sqlite. Use the drop down menu to +load the sqlite file into Cyclist for data visualization, or use your favorite sqlite browser to peruse. .. code-block:: bash From 435d63175e4a7289ca75cdcd326311e33d4bef27 Mon Sep 17 00:00:00 2001 From: abachmann Date: Thu, 11 Apr 2024 15:34:43 -0500 Subject: [PATCH 71/91] add missing >, fix typo --- source/user/tutorial/add_sep.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/user/tutorial/add_sep.rst b/source/user/tutorial/add_sep.rst index 927c6a3cb..f21c494d8 100644 --- a/source/user/tutorial/add_sep.rst +++ b/source/user/tutorial/add_sep.rst @@ -32,7 +32,7 @@ The following is the input template for ``Cycamore::Separations`` archetype: _______ _______ - @@ -47,7 +47,7 @@ The following is the input template for ``Cycamore::Separations`` archetype: * Used-MOX-Fuel * The maximum feed inventory is the most feed material that we'll have on hand: 1000 tonnes. -* The maxium separations throughout is the size of our plant: 80 tonnes/timestep +* The maximum separations throughout is the size of our plant: 80 tonnes/timestep * This simple scenario will have a single output stream: Separated-Fissile * we will hold no more than 5 tonnes of separated material on hand at any time * 99% of all Pu (94000) will go into that stream @@ -82,7 +82,7 @@ Filling in the template, the input block looks like: 94000 0.99 - From 906250d33cdb8fcb8f7472f2265563ff94d4ea48 Mon Sep 17 00:00:00 2001 From: abachmann Date: Thu, 11 Apr 2024 15:35:50 -0500 Subject: [PATCH 72/91] change archetype install to pip --- source/arche/tutorial_py/setup.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/arche/tutorial_py/setup.rst b/source/arche/tutorial_py/setup.rst index c175145a6..16eca5d8f 100644 --- a/source/arche/tutorial_py/setup.rst +++ b/source/arche/tutorial_py/setup.rst @@ -70,7 +70,7 @@ Now we can install the tutorial project via, .. code-block:: console ~ $ cd tutorial - ~/tutorial $ python setup.py install --user + ~/tutorial $ pip install . Let's now make an example input file in a special ``input`` directory: From ad7a49c9045f12458aef0df50383c8bb41ec1e08 Mon Sep 17 00:00:00 2001 From: abachmann Date: Thu, 11 Apr 2024 16:02:54 -0500 Subject: [PATCH 73/91] move news to after Learn More, put quick start in toc tree --- source/index.rst | 40 ++++++++++++++++++++++------------------ 1 file changed, 22 insertions(+), 18 deletions(-) diff --git a/source/index.rst b/source/index.rst index 6d9f8dfc2..1c31a1cd1 100644 --- a/source/index.rst +++ b/source/index.rst @@ -31,12 +31,31 @@ The |Cyclus| project repository is located at http://github.com/cyclus/cyclus Quick Start ----------- -:doc:`Get started with Cyclus ` +.. toctree:: + :maxdepth: 1 + user/install + + +Learn More +---------- + +.. toctree:: + :maxdepth: 1 + + basics/index + user/index + arche/index + kernel/index + python/index + cep/cep0 + previous/index + cite/index + News ---- -**June 1st, 2018:** :doc:`Cyclus Newsletter Spring 2018! ` +**June 1st, 2018:** :doc:` ` **October 6th, 2017:** :doc:`Cyclus Newsletter Fall 2017! ` @@ -48,25 +67,10 @@ News **July 21-24, 2015:** Joint workshop with CLASS_ project held in Madison, WI -**June 10, 2015:** First Cyclus :doc:`user tutorial ` and :doc:`developer tutorial ` are held at the 2015 ANS Annual Meeting in San Antonio, TX +**June 10, 2015:** First Cyclus :doc:`user tutorial ` and :doc:`developer tutorial ` are held at the 2015 ANS Annual Meeting in San Antonio, TX **June 7, 2015:** :doc:`Cyclus v1.3.1 is released ` -Learn More ----------- - -.. toctree:: - :maxdepth: 1 - - basics/index - user/index - arche/index - kernel/index - python/index - cep/cep0 - previous/index - cite/index - .. _try-it: Try It -- Out-of-Service From a5430aaee33ed3055d387ecfa8c9b9ec390179c9 Mon Sep 17 00:00:00 2001 From: abachmann Date: Mon, 15 Apr 2024 09:03:15 -0500 Subject: [PATCH 74/91] make edits requested by @bennibbelink --- source/arche/tutorial_py/setup.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/arche/tutorial_py/setup.rst b/source/arche/tutorial_py/setup.rst index 16eca5d8f..f79cb55b6 100644 --- a/source/arche/tutorial_py/setup.rst +++ b/source/arche/tutorial_py/setup.rst @@ -70,7 +70,7 @@ Now we can install the tutorial project via, .. code-block:: console ~ $ cd tutorial - ~/tutorial $ pip install . + ~/tutorial $ python -m pip install . Let's now make an example input file in a special ``input`` directory: @@ -81,7 +81,7 @@ Let's now make an example input file in a special ``input`` directory: ~/tutorial $ mkdir -p input ~/tutorial $ touch input/storage.py -Now open up the ``input/storage.`` input file and edit it to look like: +Now open up the ``input/storage.py`` input file and edit it to look like: .. code-block:: python From ae8832a6d05f9accc0369f4384d69e6a7db91f35 Mon Sep 17 00:00:00 2001 From: abachmann Date: Mon, 15 Apr 2024 09:03:41 -0500 Subject: [PATCH 75/91] remove mention of Cyclist, per @gonuke --- source/user/install.rst | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/source/user/install.rst b/source/user/install.rst index fe17253fc..9f6ee5cbf 100644 --- a/source/user/install.rst +++ b/source/user/install.rst @@ -48,8 +48,9 @@ will identify the best approach for you. 1. Run Cyclus with a Sample XML File ------------------------------------- -Try running |Cyclus| for yourself. The result will be a :doc:`database ` named cyclus.sqlite. Use the drop down menu to -load the sqlite file into Cyclist for data visualization, or use your favorite sqlite browser to peruse. +Try running |Cyclus| for yourself. The result will be a :doc:`database ` named cyclus.sqlite. +Use your favorite sqlite browser to peruse, or explore the data using +`Cymetric `_. .. code-block:: bash From 6cf9a6c6f270966ff78b0fcbe1503d4e369f00b6 Mon Sep 17 00:00:00 2001 From: abachmann Date: Mon, 15 Apr 2024 10:00:21 -0500 Subject: [PATCH 76/91] formatting fixes from @bennibbelink review --- source/index.rst | 3 ++- source/user/install.rst | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/source/index.rst b/source/index.rst index 1c31a1cd1..4fdc4942e 100644 --- a/source/index.rst +++ b/source/index.rst @@ -33,6 +33,7 @@ Quick Start .. toctree:: :maxdepth: 1 + user/install @@ -55,7 +56,7 @@ Learn More News ---- -**June 1st, 2018:** :doc:` ` +**June 1st, 2018:** :doc:`Cyclus Newsletter Spring 2018 ` **October 6th, 2017:** :doc:`Cyclus Newsletter Fall 2017! ` diff --git a/source/user/install.rst b/source/user/install.rst index 9f6ee5cbf..36dcd673d 100644 --- a/source/user/install.rst +++ b/source/user/install.rst @@ -45,7 +45,7 @@ will identify the best approach for you. - *Requires Docker install on machine and familiarity with Docker* -1. Run Cyclus with a Sample XML File +2. Run Cyclus with a Sample XML File ------------------------------------- Try running |Cyclus| for yourself. The result will be a :doc:`database ` named cyclus.sqlite. From 3360941046d2bac6bc5b25853d93129c5a1df023 Mon Sep 17 00:00:00 2001 From: Bachmann Date: Thu, 18 Apr 2024 09:16:16 -0500 Subject: [PATCH 77/91] remove xo dependency --- source/arche/tutorial_py/setup.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/source/arche/tutorial_py/setup.rst b/source/arche/tutorial_py/setup.rst index f79cb55b6..c8c3234a5 100644 --- a/source/arche/tutorial_py/setup.rst +++ b/source/arche/tutorial_py/setup.rst @@ -60,7 +60,6 @@ root tutorial directory. Create one that looks like: setup( name='tut', packages=['tut'], - scripts=['xo'], **setup_kwargs ) From d522328337b71bc470ae6156809e58d9d8510188 Mon Sep 17 00:00:00 2001 From: abachmann Date: Mon, 29 Apr 2024 16:04:49 -0500 Subject: [PATCH 78/91] address issues from @dean-krueger --- source/arche/dre.rst | 6 +++--- source/arche/tutorial_cpp/toolkit.rst | 2 +- source/arche/tutorial_py/state_var.rst | 6 +++--- source/user/tutorial/index.rst | 1 - 4 files changed, 7 insertions(+), 8 deletions(-) diff --git a/source/arche/dre.rst b/source/arche/dre.rst index b85c7d138..a4f9cd3fc 100644 --- a/source/arche/dre.rst +++ b/source/arche/dre.rst @@ -15,7 +15,7 @@ instance for each concrete ``Resource`` (i.e. ``Materials`` and ``Products``) of the kernel is aware. For example, there is an exchange for ``Material`` resources and another for ``Product`` resources. -The DRE is comprised of five phases which execure in series: +The DRE is comprised of five phases which execute in series: * :ref:`rfb` * :ref:`rrfb` @@ -110,10 +110,10 @@ be: def get_material_requests(self): request_qty = 10.0 # kg # Material Target A - recipe_a = self.context().get_recipe("recipeA") + recipe_a = self.context.get_recipe("recipeA") target_a = ts.Material.create_untracked(request_qty, recipe_a) # Material Target B - recipe_b = self.context().get_recipe("recipeB") + recipe_b = self.context.get_recipe("recipeB") target_b = ts.Material.create_untracked(request_qty, recipe_b) # commodity mapping to request target commods = {"FuelA": target_a, "FuelB": target_b} diff --git a/source/arche/tutorial_cpp/toolkit.rst b/source/arche/tutorial_cpp/toolkit.rst index b876e81d8..02d966097 100644 --- a/source/arche/tutorial_cpp/toolkit.rst +++ b/source/arche/tutorial_cpp/toolkit.rst @@ -73,7 +73,7 @@ thus do not need a pragma There needs to be a mechansim for keeping track of when materials enter the inventory. In order to utilize Cyclus' sophisticated restart capability, we must -choose a data structure that is compatible with the at least one of the Cyclus +choose a data structure that is compatible with at least one of the Cyclus output databases (see :ref:`dbtypes`). Given that requirement, an appropriate data structure is a `list `_. Accordingly, add the diff --git a/source/arche/tutorial_py/state_var.rst b/source/arche/tutorial_py/state_var.rst index 2def677a4..cf2bc8069 100644 --- a/source/arche/tutorial_py/state_var.rst +++ b/source/arche/tutorial_py/state_var.rst @@ -2,12 +2,12 @@ Adding State Variables ======================= In this lesson, we will: -1. Add the necessary state variables to define the storage facility -3. Modify the sample input file to include these variables +#. Add the necessary state variables to define the storage facility +#. Modify the sample input file to include these variables Add State Variables ---------------------------------------------- -The Cyclus Python interface preprocessor provides a ``typesystem`` module that help define +The Cyclus Python interface preprocessor provides a ``typesystem`` module that helps define variables that are state variables for an archetype. These state vars also allow convenient annotations. diff --git a/source/user/tutorial/index.rst b/source/user/tutorial/index.rst index 855e5c9a6..a135cc274 100644 --- a/source/user/tutorial/index.rst +++ b/source/user/tutorial/index.rst @@ -30,7 +30,6 @@ Exercise #1 add_commod_recipe add_proto add_reg_inst - launch_cyclus run_cyclus_native add_second_reactor From ce46d7499c6fffe264d4566e8ea4f69e667ca50e Mon Sep 17 00:00:00 2001 From: abachmann Date: Mon, 29 Apr 2024 16:14:13 -0500 Subject: [PATCH 79/91] add news item for Fy24 funding --- source/index.rst | 2 ++ source/news/fy24neup.rst | 21 +++++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 source/news/fy24neup.rst diff --git a/source/index.rst b/source/index.rst index 4fdc4942e..5bba072d5 100644 --- a/source/index.rst +++ b/source/index.rst @@ -56,6 +56,8 @@ Learn More News ---- +**April 29,2024:** :doc:`FY 24 Funding for Cyclus ` + **June 1st, 2018:** :doc:`Cyclus Newsletter Spring 2018 ` **October 6th, 2017:** :doc:`Cyclus Newsletter Fall 2017! ` diff --git a/source/news/fy24neup.rst b/source/news/fy24neup.rst new file mode 100644 index 000000000..ba5b5ea59 --- /dev/null +++ b/source/news/fy24neup.rst @@ -0,0 +1,21 @@ +FY2024 NEUP Funding for |Cyclus| +================================================ + +Date: April 29, 2024 + +For FY24-27 the NEUP_ program is providing $1 million in funding to +increase |Cyclus| capabilities to address current and emerging supply +chain and waste management challenges. The research team +is lead by: + +* Dr. Madicken Munk (UIUC, PI) +* Prof. Paul P.H. Wilson (UW-Madison) +* Dr. Eva Davidon, Jin Whan Bae (ORNL) + + +.. _NEUP: http://www.neup.gov + +.. _MARKAL: http://www.iea-etsap.org/web/Markal.asp + +.. _GCAM: http://www.globalchange.umd.edu/models/gcam/ + From 812a5b815c236155676c5e11ebb84db9d616a8c3 Mon Sep 17 00:00:00 2001 From: abachmann Date: Mon, 29 Apr 2024 16:28:56 -0500 Subject: [PATCH 80/91] remove data_explorer from tutorial The data_explorer page was missing figures, and used an `analysi` package that is not available through Cyclus. Use of this page was replaced with pointing to the Cymetric github for analysis and examples --- source/user/tutorial/data_explorer.rst | 636 ------------------------- 1 file changed, 636 deletions(-) delete mode 100644 source/user/tutorial/data_explorer.rst diff --git a/source/user/tutorial/data_explorer.rst b/source/user/tutorial/data_explorer.rst deleted file mode 100644 index 0209b9b40..000000000 --- a/source/user/tutorial/data_explorer.rst +++ /dev/null @@ -1,636 +0,0 @@ -An Introduction to Data Exploration -===================================== - -Cymetric provides a way to fluidly explore the -data that arises from a |cyclus| simulation. A variety of metrics, plots, and information can be -manipulated and viewed in a straightforward and interactive way to develop a thorough -understanding of the features that matter the most. - -Concept: Cyclus Output file ---------------------------- -|Cyclus| creates an SQLite (``.sqlite``) database file as its output. SQLite is a database file -type that consists of a series of tables. A few functions have been -included in ``analysis.py``, a file in downloaded the github repository of this tutorial, to pull information from the sqlite -database and create figures. - -An sqlite database can be opened by viewers like ``sqlitebrowser`` or ``sqliteman``, -but these database browsers aren't intended for powerful analysis. -Importing the data into an external function and analyzing it -is a more powerful approach. However, it can still be helpful to -open and view the tables. - -Analyze the results: -~~~~~~~~~~~~~~~~~~~~ - - -This is a view of the tables within the database -(using DB browser for SQLite). To view the data within these -tables, switch to the **Browse Data** tab and select the table of interest. -Some tables have data that may need to be manipulated or used alongside -other data in other tables, which is why using a python script is often -ideal. - -.. code:: ipython3 - - from pyne import nucname - import write as write - import analysis as analysis - import matplotlib.pyplot as plt - import numpy as np - from numpy import isclose - import matplotlib.pyplot as plt - - -.. parsed-literal:: - - Usage: python write_input.py [csv][init_date] [duration] [output_file_name] - - -First, a *cursor* that points to the sqlite file is created to the output file. A *cursor* points to the cyclus output file you wish to use and its commonly used when running analysis functions as it 'bookmarks' the file you wish to analyze. - -1. To make a cursor, use the ``analysis.cursor(output_filename)`` function where output_filename is name of the cyclus output file. - -.. code:: ipython3 - - cur = analysis.cursor('cyclus.sqlite') - -Simulation Time Info --------------------- - -.. code:: ipython3 - - init_year, init_month, duration, timestep = analysis.simulation_timesteps(cur) - print('Start year:' + str(init_year)) - print('Start month:' + str(init_month)) - print('Duration of simulation months:' + str(duration)) - print('List of timesteps:' + str(timestep[0:3]) +' . . . ' +str(timestep[-4:-1])) - - - -.. parsed-literal:: - - Start year:2018 - Start month:1 - Duration of simulation months:720 - List of timesteps:[ 0. 1. 2.] . . . [ 716. 717. 718.] - - -.. code:: ipython3 - - # prints maximum required sfr fuel throughput per timestep - fuel = cur.execute('SELECT time, sum(quantity) FROM transactions ' - 'INNER JOIN resources ON resources.resourceid = ' - 'transactions.resourceid WHERE commodity = "fresh-uox"' - ' GROUP BY time').fetchall() - - fresh_uox = np.array(fuel) - fuel_transaction = [fuel[1] for fuel in fresh_uox] - fuel_timestep = [fuel[0] for fuel in fresh_uox] - - maximum_fuel_moved = np.amax(np.array(fuel)) - print('Maximum amount of fresh-uox moved: ' + str(maximum_fuel_moved)) - - first_fuel_transaction = np.array(fuel)[0][1] - print('Amount of fresh-uox moved at first timestep: ' + str(first_fuel_transaction)) - #print(max(analysis.simulation_timesteps(fuel, duration, True))) - - plt.plot(fuel_timestep,fuel_transaction) - plt.xlabel('Time (months)') - plt.ylabel('Mass of Fresh-uox moved (kg)') - plt.title('Fresh-uox transaction timeseries') - - -.. parsed-literal:: - - Maximum amount of fresh-uox moved: 99000.0 - Amount of fresh-uox moved at first timestep: 99000.0 - - - - -.. parsed-literal:: - - Text(0.5,1,'Fresh-uox transaction timeseries') - - - - -.. image:: output_6_2.png - - -Activity: Track Uranium -+++++++++++++++++++++++ - -Total mass traded -^^^^^^^^^^^^^^^^^ - -How much :math:`^{235}`\ U left the 1178MWe BRAIDWOOD-1? To find out, -lets use the ``total_isotope_traded`` function! The -``total_isotope_traded`` takes three input arguments: - cur (cursor to -*CYCLUS* output file) - facility (facility of interest) - flux -(direction of isotope transaction) - nucid (nuclide id) - -.. raw:: html - -
    - -**Interactive Input** Using the table below, create the following -variables. Include appropriate comments. - -.. raw:: html - -
    - -+----------------+-----------------------------+----------------------------------+ -| Variable | Value | Purpose | -+================+=============================+==================================+ -| ``cur`` | ``cur`` | cursor to *CYCLUS* output file | -+----------------+-----------------------------+----------------------------------+ -| ``facility`` | ``'1178MWe BRAIDWOOD-1'`` | facility of interest | -+----------------+-----------------------------+----------------------------------+ -| ``flux`` | ``'out'`` | isotope transaction direction | -+----------------+-----------------------------+----------------------------------+ -| ``nucid`` | ``922350000`` | nuclide id | -+----------------+-----------------------------+----------------------------------+ - - -Using the table above, let's find out how much :math:`^{235}`\ U left the 1178MWe BRAIDWOOD-1? -1. In your IPython notebook create the variables: - -* ``facility`` that is equal to ``'1178MWe BRAIDWOOD-1'`` -* ``flux`` that is equal to ``'out'`` -* ``nucid`` that is equal to ``922350000`` - -.. code:: ipython3 - - cur = cur # cursor to CYCLUS output file - facility = '1178MWe BRAIDWOOD-1' # facility of interest - flux = 'out' # isotope transaction direction - nucid = 922350000 # nuclide id - print('Total amount of U235 that left the '+ str(facility) +' reactor:') - analysis.total_isotope_traded(cur,facility,flux,nucid) - - -2. When ready, click the ``run`` button. - -3. As you see the answer is: - -.. parsed-literal:: - - Total amount of U235 that left the 1178MWe BRAIDWOOD-1 reactor: - - - - -.. parsed-literal:: - - 13431.0 - - - - -Activity: Plot SNF Mass -+++++++++++++++++++++++ -Now let's plot the cumulative mass of the spent nuclear fuel that is -taken out of the 1178MWe BRAIDWOOD-1. Again, let's use the handy -``analysis.plot_out_flux_cumulative``\ function which takes input -arguments: - cur (cursor to *CYCLUS* output file) - facility (facility -of interest) - title (title of plot) - -.. raw:: html - -
    - -**Interactive Input** Using the table below, create the following -variables. Include appropriate comments. - -.. raw:: html - -
    - -+----------------+-----------------------------------------------------------+----------------------------------+ -| Variable | Value | Purpose | -+================+===========================================================+==================================+ -| ``cur`` | ``cur`` | cursor to *CYCLUS* output file | -+----------------+-----------------------------------------------------------+----------------------------------+ -| ``facility`` | ``'1178MWe BRAIDWOOD-1'`` | facility of interest | -+----------------+-----------------------------------------------------------+----------------------------------+ -| ``title`` | ``'Cumulative Isotope Outflux of 1178MWe BRAIDWOOD-1'`` | title of plot | -+----------------+-----------------------------------------------------------+----------------------------------+ - -.. code:: ipython3 - - plt.rcParams['figure.figsize'] = [10, 8] - plt.rcParams['legend.fontsize'] = 12 - facility = '1178MWe BRAIDWOOD-1' - title = 'Cumulative Isotope Outflux of 1178MWe BRAIDWOOD-1' - analysis.plot_out_flux_cumulative(cur, facility, title) - - - -Activity: Plot Fresh Fuel Mass -++++++++++++++++++++++++++++++ - Now let's plot the cumulative mass of the fresh nuclear fuel that is - put into the 1178MWe BRAIDWOOD-1. Again, let's use - ``analysis.plot_in_flux`` which takes the arguments: - - * cur - * facility = ``'1178MWe BRAIDWOOD-1'`` - * title = ``'Cumulative Isotope Influx of 1178MWe BRAIDWOOD-1'`` - -.. code:: ipython3 - - facility = '1178MWe BRAIDWOOD-1' - title = 'Cumulative Isotope Influx of 1178MWe BRAIDWOOD-1' - analysis.plot_in_flux(cur, facility, title) - - - -.. parsed-literal:: - - The agent_id for Reactor is: - - - - -.. parsed-literal:: - - ['21'] - - - -In cyclus, facilities are defined by their ``prototype_id``. For example -if the simualtion had 20 different reactors, we could still find a -certain one via its ``prototype_id``. - -.. raw:: html - -
    - -**Interactive Input** In the cell below use type, find the prototype\_id -of the ``'1178MWe BRAIDWOOD-1'`` reactor by making variable called: -``facility`` and making it equal to ``'1178MWe BRAIDWOOD-1'`` and then -run the cell. - -.. raw:: html - -
    - -.. code:: ipython3 - - facility = '1178MWe BRAIDWOOD-1' - print('The prototype_ids for' + ' ' + facility + ' ' +'' + 'are:') - analysis.prototype_id(cur, facility) - - -.. parsed-literal:: - - The prototype_ids for 1178MWe BRAIDWOOD-1 are: - - - - -.. parsed-literal:: - - ['21'] - - - -Let's find out what the ``prototype_id`` for the ``'UraniumMine'`` in -our simulation is. - -.. code:: ipython3 - - facility = 'UraniumMine' - print('The prototype_ids for' + ' ' + facility + ' ' +'' + 'are:') - analysis.prototype_id(cur, facility) - - -.. parsed-literal:: - - The prototype_ids for UraniumMine are: - - - - -.. parsed-literal:: - - ['23'] - - - -We can use these agent\_ids and prototype\_ids to find out more -information on these facilities. For example, let's say we wanted to -find out how much ``'fresh-uox'`` goes through the -``'1178MWe BRAIDWOOD-1'`` reactor? We can use the -``facility_commodity_flux`` function to find out. - -.. raw:: html - -
    - -**Interactive Input** Using the table below, create the following -variables. Include appropriate comments. - -.. raw:: html - -
    - -+----------------------------+---------------------+------------------------------------+ -| Variable | Value | Purpose | -+============================+=====================+====================================+ -| ``cur`` | ``cur`` | cursor to *CYCLUS* output file | -+----------------------------+---------------------+------------------------------------+ -| ``agentids`` | ``[21]`` | ``agent_id`` of reactor | -+----------------------------+---------------------+------------------------------------+ -| ``facility_commodities`` | ``['fresh-uox']`` | commodity of interest | -+----------------------------+---------------------+------------------------------------+ -| ``is_cum`` | True | cumulative of commodity amount | -+----------------------------+---------------------+------------------------------------+ -| ``is_outflux`` | False | Influx of commodity into reactor | -+----------------------------+---------------------+------------------------------------+ - -.. code:: ipython3 - - analysis.facility_commodity_flux(cur,agentids=[21],facility_commodities=['fresh-uox'],is_cum=True,is_outflux=False) - - - - - - -As seen above, the ``facility_commodity_flux`` function returns a -dictionary of the cumulative amount of ``fresh-uox`` fuel that enters -the reactor over time. We can make this dictionary non-cumulative by -setting ``is_cum = False`` as seen below. - -.. code:: ipython3 - - analysis.facility_commodity_flux(cur,agentids=[21],facility_commodities=['fresh-uox'],is_cum=False,is_outflux=False) - - - - - -.. code:: ipython3 - - analysis.facility_commodity_flux(cur,agentids=[21],facility_commodities=['fresh-uox'],is_cum=True,is_outflux=False) - -As expected, the only time that ``fresh-uox`` enters the reactor is at -times where the reactor is being refueled. - -Now, let's plot the storage of the sink over time to see what -commodities are stored in the sink. - -Let's take a look at the total mass of spent nuclear fuel stored at the -Nuclear Waste Repository. To plot, use the -``analysis.plot_in_flux_cumulative(cur, facility, title)`` function. - -.. raw:: html - -
    - -**Interactive Input** Using the table below, create the following -variables. Include appropriate comments. - -.. raw:: html - -
    - -+----------------+----------------------------------------------------+------------------------+ -| Variable | Value | Purpose | -+================+====================================================+========================+ -| ``facility`` | ``'NuclearRepository'`` | facility of interest | -+----------------+----------------------------------------------------+------------------------+ -| ``title`` | ``'Cumulative Isotope Inventory of Repository'`` | title of plot | -+----------------+----------------------------------------------------+------------------------+ - -.. code:: ipython3 - - facility = 'NuclearRepository' # facility of interest - title = 'Cumulative Isotope Inventory of Repository' # title of plot - - analysis.plot_commodities(cur,archetype='sink',facility_commodity=['tails','spent-uox'],title = 'Sink storage', - filename='sink',is_cum=True,is_outflux=False) - from IPython.display import Image - Image(filename='sink.png') - - - - -.. image:: output_31_0.png - - - -Now let's plot the cumulative mass of the spent nuclear fuel that is -mined from the Uranium mine. To plot the outflux of a facility, use the -analysis.plot\_out\_flux\_cumulative(cur,sender,plot title) function. - -.. code:: ipython3 - - analysis.plot_out_flux_cumulative(cur, 'UraniumMine','Cumulative Isotope Outflux of Uranium Mine') - - - - -.. image:: output_33_0.png - - -.. code:: ipython3 - - analysis.plot_out_flux_cumulative(cur, '1178MWe BRAIDWOOD-1','Cumulative Isotope Outflux of 1178MWe BRAIDWOOD-1') - - - -.. image:: output_34_0.png - - -Now let's plot the mass series and cumulative mass of the fresh nuclear -fuel that is received by the 1178MWe BRAIDWOOD-1. - -.. code:: ipython3 - - analysis.plot_in_flux(cur, '1178MWe BRAIDWOOD-1','Isotope Influx of 1178MWe BRAIDWOOD-1') - analysis.plot_in_flux_cumulative(cur, '1178MWe BRAIDWOOD-1','Cumulative Isotope Influx of 1178MWe BRAIDWOOD-1') - - - -.. image:: output_36_0.png - - - -.. image:: output_36_1.png - - -We can also find the total amount [kg] of an isotope that was used/sent -from a facility using the ``total_isotope_used`` function. For example, -if we wanted to find out how much :math:`^{235}`\ U and -:math:`^{238}`\ U was mined from the Uranium Mine, we can call: - -.. code:: ipython3 - - uranium_mined = analysis.total_isotope_used(cur, 'UraniumMine') - print("Total amount of U-235 mined:" + ' ' + str(uranium_mined['U235']) + ' ' + 'kg') - print("Total amount of U-238 mined:" + ' ' + str(uranium_mined['U238']) + ' ' + 'kg') - - - -.. parsed-literal:: - - Total amount of U-235 mined: 91599.6350365 kg - Total amount of U-238 mined: 12791612.0438 kg - - -Let's say we wanted to see the composition of the spent nuclear fuel -from the reactor. We could call ``total_isotope_used`` with ``facility`` -= ``'1178MWe BRAIDWOOD-1'`` to find out! - -.. raw:: html - -
    - -**Interactive Input** Using the table below, create the following -variable. Include appropriate comments. - -.. raw:: html - -
    - -+----------------+-----------------------------+------------------------+ -| Variable | Value | Purpose | -+================+=============================+========================+ -| ``facility`` | ``'1178MWe BRAIDWOOD-1'`` | facility of interest | -+----------------+-----------------------------+------------------------+ - -.. code:: ipython3 - - facility = '1178MWe BRAIDWOOD-1' # facility of interest - snf_comp = analysis.total_isotope_used(cur, facility) - snf_comp - isotopes = [item[0] for item in snf_comp.items()] - masses = [item[1] for item in snf_comp.items()] - plt.bar(isotopes,masses) - plt.xlabel('Isotopes') - plt.ylabel('Total Mass [kg]') - plt.title('SNF mass composition') - - - - -.. parsed-literal:: - - Text(0.5,1,'SNF mass composition') - - - - -.. image:: output_40_1.png - - -.. code:: ipython3 - - analysis.plot_uranium_utilization(cur) - - - -.. image:: output_41_0.png - - -.. code:: ipython3 - - fuel_dict = analysis.fuel_usage_timeseries(cur, ['fresh-uox']) - fuel_dict - analysis.stacked_bar_chart(fuel_dict, timestep, - 'Years', 'Mass[MTHM]', - 'Total Fresh-Uox Fuel Mass vs Time', - 'total_fuel', - init_year) - from IPython.display import Image - Image(filename='total_fuel.png') - - - - -.. image:: output_42_0.png - - - -.. code:: ipython3 - - # natural uranium demand - import collections - nat_u = collections.OrderedDict() - nat_u['nat_u'] = analysis.nat_u_timeseries(cur) - analysis.stacked_bar_chart(nat_u, timestep, - 'Years', 'Natural Uranium Mass', - 'Natural Uranium Demand vs Time', - 'nat_u', init_year) - from IPython.display import Image - Image(filename='nat_u.png') - - - - -.. image:: output_43_0.png - - - -Ask: Why is the orange line steeper in slope than the green line? ------------------------------------------------------------------ - -.. code:: ipython3 - - tails = cur.execute('SELECT time, sum(quantity) FROM transactions ' - 'INNER JOIN resources ON resources.resourceid = ' - 'transactions.resourceid WHERE commodity = "tails"' - ' GROUP BY time').fetchall() - - tails_array = np.array(fuel) - tails_transaction = [tail[1] for tail in tails_array] - tails_timeseries = [fuel[0] for fuel in tails_array] - - maximum_fuel_moved = np.amax(tails_array) - print('Maximum amount of tails moved during one time step: ' + str(maximum_fuel_moved)) - - analysis.plot_commodities(cur,archetype='sink',facility_commodity=['tails'],title='Tails in Sink',filename='tails',is_cum=True,is_outflux=False) - from IPython.display import Image - Image(filename='tails.png') - - -.. parsed-literal:: - - Maximum amount of tails moved during one time step: 99000.0 - - - - -.. image:: output_45_1.png - - - -Decay heat ----------- - -Using our ``spent`` fuel composition from above, lets see which isotope -causes the most decay heat! - -.. code:: ipython3 - - analysis.plot_reactor_events(cur,reactors = []) - - - - -.. image:: output_47_0.png - - -.. code:: ipython3 - - analysis.plot_commodity(cur,archetype='Sink',facility_commodity=['spent-uox'],is_outflux=False,is_cum=True) - from IPython.display import Image - Image(filename='cum_mass_spent-uoxdischarge.png') - - - - -.. image:: output_48_0.png From 8411de1f99427c9e05ce56a8873c4058e691c736 Mon Sep 17 00:00:00 2001 From: abachmann Date: Mon, 29 Apr 2024 16:53:19 -0500 Subject: [PATCH 81/91] add v1.5.5 notes -- to be filled in --- source/previous/v1.5.5.rst | 57 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 source/previous/v1.5.5.rst diff --git a/source/previous/v1.5.5.rst b/source/previous/v1.5.5.rst new file mode 100644 index 000000000..a7bf2d475 --- /dev/null +++ b/source/previous/v1.5.5.rst @@ -0,0 +1,57 @@ +.. _1.5.5: + +================================== +Cyclus 1.5.5 Release +================================== +:Author: Cyclus Developers +:Website: http://fuelcycle.org/ +:Contact: https://groups.google.com/forum/#!forum/cyclus-dev + +The Cyclus core team is excited to announce the latest stable version of the +Cyclus ecosystem! + +Major Features +============== + +Compatibility: + + +`Cyclus `_ +--------------------------------------------- + +Features: + + + +Bug fixes: + + + + +`Cycamore `_ +-------------------------------------------------- + + +`Cymetric `_ +-------------------------------------------------- + + +Summary +======= + +Since v1.5.0, + +* Cyclus: XXX commits resulting in YYY files changed, ZZZ insertions(+), AAA deletions(-) + +* Cycamore: XXX commits resulting in YYY files changed, ZZZ insertions(+), AAA deletions(-) + +* Cymetric: XXX commits resulting in YYY files changed, ZZZ insertions(+), AAA deletions(-) + + +Contributors +============ +The following people contributed to this release of Cyclus. A "*" by their +name indicates a first time contributor. Names follow alphabetically, + + + From 57326f9d56095604be769220ff06ca295e5e1614 Mon Sep 17 00:00:00 2001 From: abachmann Date: Mon, 29 Apr 2024 16:53:35 -0500 Subject: [PATCH 82/91] change formatting to remove build warnings --- source/cep/cep27.rst | 25 +++++++++++++++++++------ source/user/install_binary.rst | 4 ++-- 2 files changed, 21 insertions(+), 8 deletions(-) diff --git a/source/cep/cep27.rst b/source/cep/cep27.rst index 153d4a21d..ac7b511af 100644 --- a/source/cep/cep27.rst +++ b/source/cep/cep27.rst @@ -28,6 +28,7 @@ Toolkit Implementation ====================== Each |Cyclus| toolkit component will contain 3 different files: + - 2 for the definition of the feature C++ class (``cpp`` and header) that allows the use of the capabilities, and optionally to register its values in the output database, @@ -103,7 +104,9 @@ Example: Without Inheritance: -------------------- ``toolkit/my_feature_snippet.cycpp.h``: -.. highlight:: c + +.. code-block:: c + cyclus::toolkit::Position coordinates(0,0); #pragma cyclus var { \ @@ -125,7 +128,9 @@ Without Inheritance: std::vector cycpp_shape_longitude; ``my_archetype_example.h``: -.. highlight:: c + +.. code-block:: c + #include 'toolkit/Position.h' class fun_archetype : public cyclus::facility{ @@ -137,7 +142,9 @@ Without Inheritance: } ``my_archetype_example.cpp``: -.. highlight:: c + +.. code-block:: c + void fun_archetype::EnterNotify() { coordinates.set_position(latitude, longitude); coordinates.RecordPosition(this); @@ -147,7 +154,9 @@ Without Inheritance: With Inheritance: ----------------- ``toolkit/my_feature_snippet.cycpp.h``: -.. highlight:: c + +.. code-block:: c + #pragma cyclus var { \ "default": 0.0, \ "uilabel": "Geographical latitude in degrees as a double", \ @@ -167,7 +176,9 @@ With Inheritance: std::vector cycpp_shape_longitude; ``my_archetype_example.h``: -.. highlight:: c + +.. code-block:: c + #include 'toolkit/Position.h' class fun_archetype : public cyclus::facility, public Position { @@ -179,7 +190,9 @@ With Inheritance: } ``my_archetype_example.cpp``: -.. highlight:: c + +.. code-block:: c + void fun_archetype::EnterNotify() { this.set_position(latitude, longitude); this.RecordPosition(this); diff --git a/source/user/install_binary.rst b/source/user/install_binary.rst index c5a55fa0b..436a164da 100644 --- a/source/user/install_binary.rst +++ b/source/user/install_binary.rst @@ -21,8 +21,8 @@ Installing |Cyclus| with Binaries At this point |Cyclus| should be successfully installed on your system and you are ready to install Cycamore. #. Download the latest Cycamore Debian installation package `here - `_. You can - download previous/different version `here `_. + `_. Previous/different + versions are `also available `_. #. Install the package by running: From 376e6f8ec473461b52bd192098f76e21cbda014b Mon Sep 17 00:00:00 2001 From: bennibbelink <79653949+bennibbelink@users.noreply.github.com> Date: Sun, 5 May 2024 09:02:39 -0500 Subject: [PATCH 83/91] update version number in sidebar --- source/atemplates/sidebar.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/atemplates/sidebar.html b/source/atemplates/sidebar.html index bf579019e..d040d9873 100644 --- a/source/atemplates/sidebar.html +++ b/source/atemplates/sidebar.html @@ -20,7 +20,7 @@

    {{ _('Useful Pages') }}

    Get Cyclus


    - Current version: 1.5.5 + Current version: 1.6.0

    Install:
    $ conda install cyclus cycamore
    From 63b2c3e31507fe728736ce0fb615003fe2839651 Mon Sep 17 00:00:00 2001 From: abachmann Date: Mon, 6 May 2024 16:15:31 -0500 Subject: [PATCH 84/91] add Ken to PI list --- source/news/fy24neup.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/news/fy24neup.rst b/source/news/fy24neup.rst index ba5b5ea59..8625e6637 100644 --- a/source/news/fy24neup.rst +++ b/source/news/fy24neup.rst @@ -9,7 +9,7 @@ chain and waste management challenges. The research team is lead by: * Dr. Madicken Munk (UIUC, PI) -* Prof. Paul P.H. Wilson (UW-Madison) +* Prof. Paul P.H. Wilson, Ken Petersen (UW-Madison) * Dr. Eva Davidon, Jin Whan Bae (ORNL) From 18dbb439b9b67a169d974cc8dbebdfa0c115685f Mon Sep 17 00:00:00 2001 From: abachmann Date: Mon, 6 May 2024 16:26:32 -0500 Subject: [PATCH 85/91] change release notes to point to github notes --- source/previous/index.rst | 19 +-- source/previous/v0.2.rst | 112 ------------- source/previous/v0.3.rst | 325 ------------------------------------- source/previous/v0.4.rst | 97 ----------- source/previous/v1.0.rst | 98 ----------- source/previous/v1.1.rst | 58 ------- source/previous/v1.2.rst | 50 ------ source/previous/v1.3.rst | 91 ----------- source/previous/v1.5.5.rst | 57 ------- source/previous/v1.5.rst | 143 ---------------- 10 files changed, 4 insertions(+), 1046 deletions(-) delete mode 100644 source/previous/v0.2.rst delete mode 100644 source/previous/v0.3.rst delete mode 100644 source/previous/v0.4.rst delete mode 100644 source/previous/v1.0.rst delete mode 100644 source/previous/v1.1.rst delete mode 100644 source/previous/v1.2.rst delete mode 100644 source/previous/v1.3.rst delete mode 100644 source/previous/v1.5.5.rst delete mode 100644 source/previous/v1.5.rst diff --git a/source/previous/index.rst b/source/previous/index.rst index 3462e8ea2..24cf7d094 100644 --- a/source/previous/index.rst +++ b/source/previous/index.rst @@ -5,21 +5,10 @@ :align: center :scale: 50 -The following are release notes for and links to previously released versions of -|cyclus|: - -.. toctree:: - :maxdepth: 1 - - v1.5.5 - v1.5 - v1.3 - v1.2 - v1.1 - v1.0 - v0.4 - v0.3 - v0.2 +Release notes and changelogs for previous versions of |Cyclus| are +available through the `project GitHub `_. +These pages also contain zips for the source code of each version. These zip +packages are also available below. Note: As official 1.4.0 release has been skipped, all the release notes of 1.4.0 have been included in the 1.5.0. diff --git a/source/previous/v0.2.rst b/source/previous/v0.2.rst deleted file mode 100644 index af52ed61d..000000000 --- a/source/previous/v0.2.rst +++ /dev/null @@ -1,112 +0,0 @@ -======================== -Cyclus 0.2 Release Notes -======================== - -:Author: Cyclus Developers -:Website: http://cyclus.github.io/ -:Contact: cyclus-dev@googlegroups.com - -The Cyclus core team is excited to announce the second stable version -after over a year of development! This includes nearly 1300 commits by -6 developers. Major features include, - -- A module separation effort. This required major changes to the building - and testing system. See Cycamore [1]. - -- Added tests and basic convenience features to various classes, mostly with - respect to the critical material class. - -- Substantive performance improvements (~50x for some simulations). - -- Input code revamp. - -- Output recording code rewrite. - -Changes from 0.1 to 0.2 -======================= - -New features ------------- - -- Added data type specification capability to rng system. -- Made various ResourceBuffer, Material Class, and agent memory management - improvements and tests. -- Made the relaxng schema system modular. -- Made significant build system and installation changes to allow separating - the modules into Cycamore and creating CycStub. -- Moved modules into their own repository (Cycamore). -- Improved or added material convenience functions for developers such as - subtraction, un-normalization, and more. -- Added significant testing in Material, CompMap, and related classes. -- Added additional exception throwing for exceptional absorption and extraction - cases (extracted too much, absorbed negative). -- Made fixes to the build system to better address the needs of Mac OSX users. -- Added libxml++ as a dependency. -- Added features to the command line interface to allow output file - specification. -- Updated code base in accordance with Google Style Guide (0's to NULL when NULL - is intended, prepended iterators, moved curly braces, etc.) -- Expanded extraction by mass to allow various input units. -- Added functions and tests for almost equality and thresholding in the - material class. -- Created the CycArithmetic class which holds tools for more sophisticated - floating point arithmetic. -- Fixed absorption method bug (#493, https://github.com/cyclus/cyclus/issues/493). -- Substantive performance improvements (~50x for some simulations). -- Easier to create/record custom data to output. Modular, drop-in support for - different output formats. -- Top-level simulation flow broken into clear module loading, simulation - initialization/construction, simulation running, and module unloading steps. -- Added ability to invoke daily actions (technically this reduces the timestep to - a single day for modules that need to take advantage of the smaller granularity). -- IsoVector's compmap encapsulated in a separate class. -- IsoVector and material interfaces updated accordingly. -- Added an enrichment toolkit to assist with SWU/NatlU calculations. -- Added SWU/Natural uranium calculation methods. -- Added a facility-building and management interface kit, allowing for - intelligent facility build decision making. -- Added a commodity supply/demand toolkit, providing an interface for - supply/demand inquiry and supplier/demander registration with a manager. -- Added a commodity production toolkit, providing an interface to query agents - ability to produce commodities. -- Added a toolkit for agenting general symbolic functions and factory methods - to produce them. -- Added derived classes to agent linear, exponential, and piecewise functions. -- Added a robust dynamic loading interface for dynamic libraries for easy opening, - access, and closing. -- Separated unix and windows-specific helper functions for dynamic loading. -- Added a generic interface for input querying. -- Added a specific interface for loading, parsing, and querying xml files, - including rng schema verification. -- Added interleaves to cyclus.rng's institution and region sections. -- Added capacity members to cyclus.rng. - -Deprecations ------------- - -- Deprecated converter facilities. - -Known bugs ----------- - -- Known Bug (#514): decayed compositions are not recorded in output database. - - -Contributors -============ - -The following people contributed to this release of Cyclus. A "*" by their -name indicates a first time contributor. Names follow alphabetically, - -* Robert Carlsen -* Matthew Gidden -* Katy Huff -* Anthony Scopatz* -* Zach Welch* -* Paul Wilson - - -References -========== - -[1] Cycamore: https://github.com/cyclus/cycamore diff --git a/source/previous/v0.3.rst b/source/previous/v0.3.rst deleted file mode 100644 index 8cc245431..000000000 --- a/source/previous/v0.3.rst +++ /dev/null @@ -1,325 +0,0 @@ -======================== -Cyclus 0.3 Release Notes -======================== - -:Author: Cyclus Developers -:Website: http://cyclus.github.io/ -:Contact: cyclus-dev@googlegroups.com - -The Cyclus core team is excited to announce the latest stable version -after over a year of development! This includes nearly 340 commits by -6 developers. Major features include, - -- Implementation of the Cyclus Enhancment Proposal (CEP) system. - -- Merged Cyclopts into cyclus, CEP2 - -- Resource Tracking and Interfaces Re-Re-Redo, CEP17. - -- Google C++ Style Guide compliance. - -Since v0.2, 477 files have changed encompassing 52028 line insertions(+) and -51749 deletions(-). - -Changes from 0.2 to 0.3 -======================= - -New features ------------- - -- removed supply_demand and action_building namespace. closes #248. -- record agent that creates each resource in output db -- changed resource creation to take this ptr instead of context ptr. Removed context arg from Material::CreateUntracked. Made untracked resources have an id of zero instead of an id of garbage. fixed mat doc comments to use new res_buf method names. -- cleaned up resource buf interface. Added some basic templating to eliminate need for separate mat_buff -- added timestamp to resource table. -- sorted lists of files/includes alphabetically -- added header_impl file -- fixed logger macro issue from namespace removal and added a test to catch it at compile time in the future -- alphabetized cyclus.h -- moved all symfunctionptr to symfunction::ptr -- solverptr to solver::ptr -- moved function type pointers to function::ptr -- moved VariablePtr to Variable::Ptr -- removed additional cyclus:: prepends from implementation files -- removed extraneous cyclus namespace from fac_agent impl -- removed extraneous cyclus namespace from comp_math impl -- removed extraneous cyclus namespace from hdf_back impl -- moved solver interface impl under cyclus namespace -- removed extraneous cyclus namespace from commodity_producer impl -- put solver impl under cyclus namespace -- put cbc solver impl in cyclus namespace -- put variable implementation file in cyclus namespace -- removed explicit namespace usage in implementation files for function and building manager -- removed cyclus:: prefix from optim header files -- removed cylus:: prefix from non-optim files -- removed cyclus:: from building manager -- Update copyright years in license -- removed reference to include.h -- move symbolic functions into a different class name -- moved all files out of optim dirs into their respective top levels -- renamed cyclopts to optim -- change module install dir to not be split into separate fac, reg, inst subdirs. Still need to fix schema building and env class and dynamic_loading class correspondingly. made Env::ListModules more robust and include CYCLUS_MODULE_PATH env var dirs in search. Made BuildMasterSchema not care about agent type namespacing subdirs. -- fixed some gcsg issues and a typo -- made timer init method not reset previous timer config (e.g. listeners) - this caused confusion and debugging for me in the past -- made timer ticker registering more robust. Search env var dirs before install dirs for dyn modules. change default dyn module install dir to lib/cyclus instead of lib/Agents -- added hard coded version and more robust --tags flag to git describe for version. -- this should make CI pass... not sure if its what we want, though. -- updated install script with new structure -- made agent test files install to share dir, fixes #559 -- docs now in the top level directory, and a little clean up. fixes #602 -- docs currently build -- removed cyclus namespace from stubs -- moved stub directory to top level, made stubs a separate library, incorporated stub tests into cyclus unit tests -- a little cleaning before stubbing -- enabled testing in new build environment. simplified test module directory structure and building. -- gtest library builds -- added cli to at the top of the directory structure -- actually adds top level cmake file.. -- currently builds cycluscore from top-level directory -- encapsulated stubs namespace in cyclus namespace per gcsg -- redisabled facility tests as that 's a larger issue than this PR -- added include guards -- added stub market -- added stub inst and region. updated stub facility. -- removed any stubs that aren't facs, regions, insts, or agents -- updated namespace name to reflect directory name -- made mock fac/inst/region/market classes to be used with testing. added the stub facility in a new stub namespace and related tests. -- added initial stub directory and adjusted cmake files to include their tests. -- moved all dynamic loading into xml_file_loader. Added a method for listing installed/discoverable dynamic modules to env class. added rng schema methods to test agents and removed rng files from them. removed rng installation from cmake module macro. added master and module schema dumping to cyclus binary. added schema agent test (that schema parses). moved heavy stuff out of xml-file-loader constructor. renamed LoadAll to LoadSim. -- i think moving loglevel and the macros into the same namespace encapsulation is more promising... still unable to confirm. -- finishes remaining doxygen warnings -- I believe that this will fix the warning stemming from logger.h, but I do not see the warning on my machine, so I can't be sure -- fixed begincode error -- removed verbose linking flag -- fixes build error for macs, moves mac linker flag to top of cmake file to set the flag for all compiled libraries in the build -- added cli flag for printing cyclus include dir -- down-selected includes in cyclus.h. Removed remaining vestiges of converter agents -- create cyclus.h. added missing header install -- as @gonuke suggested, adding a preprocessor directive was the right way to go. tested with coin-2.3 on insam -- removed coin include prefix which causes problems on utk's darwin system -- removed unnecessary Config dir. Deleted duplicate (and outdated) LICENSE and README files. -- moved Core source files into base src/ directory. -- moved Testing dir to tests dir. Moved test modules into tests dir. Moved app.cc into new cli dir -- removed disabled tests from being found by the find test script. closes #591. -- removed pesky cout -- removed extraneous string var -- adjusted env var setting to append the current var if it was set -- added robustness in the environmental tests by resetting the environment variable and the dynamic loading tests by making sure to delete and close opened library modules. -- test driver now adds the build directory to the cyclus module path. fixes #592. note that this overwrites the global module variable only for the test driver's environment. -- Remove indirect dependencies -- main now returns 0 -- updated readline to use the decode method. the script is now python2/3 compliant. note that I tested with python3.3. -- renamed id, parentid member vars and accessors -- initfrom to CapCase -- made clone methods CapCase -- added from future import -- made print function python3-compliant -- fixed remaining coin and init issues -- doc improvement -- added python as a dependency -- adds a script to generate test names and adjust build system to add those tests to the make test target appropriately. fixes #176. -- improved clone and initfrom doc comments -- fixed resource table name -- have a working version of a ctest fix. need to clean it up and add python as a dependency before sending a PR -- fixed inst agent tests and fixed duplicate id bug in agent class if implicit copy-constructor is used -- constructor initializer list -- removed cruft from agent class. fixed to not record on undeployed decommission. improved var/accessor names -- removed unnecessary externed Destruct funcs -- fixed inst class tests -- fixed dynamic loading tests - removed redundant test with env class tests. Simplified dynamicModule further. Trying to fix inst class tests - still broken. -- updated test agents. 2 tests still failing -- updated tests to compile with new cloning and deploy semantics -- move clone method into agent class. Killed Clone[stuff] methods into single virtual clonefrom method. Change EnterSimulation[bla] methods into a single, virtual, Deploy method. Moved DynamicModule Init method into constructor. Removed redundant info from facility class (build date, etc.). -- Combiined cyclopts dependency list into cyclus dependency list. -- added file and cli flag for retrieving cyclus core and dependency versions. Fixes #578. -- Simplifying names and correcting some rst grammar. -- Add links to get sample input files. Updated dependency list. -- Update README.rst with additional information about dependencies and correct call of installation. -- removed singleton references in documentation -- undisabled building manager bug -- removed build dead code and mistakenly commited cyclus.rng file -- fixed seg fault due to double delete in tear down -- added tests for the optional query interface -- added cyclus namespace qualifier to new function usage -- moved the optional element query into its own nonmember, nonfriend templated function for easier, one-line usage. -- added tests for null queries -- removed try/catch blocks for fac agent query engine usage -- updated market agent tests for context usage -- added clarification to recipe add/get usage, closes #568 -- added clarification to recipe add/get usage -- style guide names -- style guide name changes. -- renamed externed construct/destruct functions to be CapCase -- updated facility tests to take the context constructor argument -- made a separate test context for easier testing and updated appropriate agent test files -- updated facility agent tests and fixed agent tests -- updated agent tests -- removed unncessary agent registration from context - because markets will soon be superseded by CEP18 anyway. -- updated prototype registration and agent creation to use context. recipe library become so small I moved it into xml_file_loader. renamed xml_file_loader methods according to GCSG and added a LoadAll method. -- moved control param xml parsing into xml_file_loader out of timer. Added timer init method to context. -- removed EM macro and simplified recipe library and changed it to recipe namespace -- fixed segfault issue. fiddled with includes and forward declarations -- everything compiles, but tests segfault -- more work converting core to use context - still doesn't compile -- started outline for a simulation context -- Moving include files to include/cyclus -- changes for making debian packages -- moved setup.py to install.py -- fixed var name style -- unadded redundant neg comp element check. Added test to check for exception throwing -- added missing neg quantity check -- adds comments about composition decay chaining. Remove leftover recipe_lib constructor from debugging -- fixed gcsg names in decay_handler and renamed class to decayer. fixed filename comments in product and improved a couple of guards -- fixes var names and comments to not refer/suggest anything 'vector' ish w.r.t. CompMap code. Change nextId to next_id -- re-disabled test... need more time to investigate -- added disabled building manager test -- readded disabled tests, which now pass -- removed variable bound introspection from the cbc solver. CI should build without issue now. -- moved variable bound introspection based on a VariablePtr into non member non friend functions in variable.h/cc. -- added some more simple tests for the cbc solver. two have been intentionally disabled because the maximization direction for the objective function does not appear to be working. I have double checked that the optimization direction for maximization is correct (it's 1.0) from the coin documentation. I'll investigate further. -- removed bounded 2 variable test, starting simple with 1 variable -- added a 1 variable test that should pass and a test that uses variable bounds. changed test names to better reflect the testing taxonomy -- made implicit cast a static cast -- changed Composition::Vect to CompMap -- added mat_query tests and polished mat_query doc comments -- made mat_query a proper implementation file. Removed contains for now and added almostEq to it. -- polished doc comments for compmath namespace -- fixed var name mistake in res_tracker -- polished doc comments on product, material, res_tracker, and composition classes. Added more complete error check to Product::Absorb -- polished resource class doc comments -- moved resource table all to res_tracker -- finished converting compmath tests -- doc fix -- moves resource-specific param recording into resource class and resource implementations now only record their special state. -- fixed comp_math add and sub funcs. material tests all pass -- moved unique id and bumping implementation into resource class -- fixed absorb and extract errors in material class -- finished remaining compile errors - now to fixing failed tests -- fixed material and matquery tests -- added tests and tried to consolidate iso_vector, comp_map, and material test content into material, composition and comp_math tests. -- everything compiles except tests -- literal 0 -> 0.0 for fp compares -- abs() -> fabs(), types they are a-changing. -- fixes doc errors, should clear up @gonuke's cron job errors -- fixes master schema building -- updated test files so cycamore can build -- ran all files in Core dir through astyle for style guide formatting -- updated enrichment function names -- fixed implementation issues -- fixed all compile errors -- fixed compile error and more sed replaces for typedef names -- fixed many typedefs to be CapCase -- updated macros to install in correct place -- flattened all directories, removed extraneous file, renamed all files and updated files regarding name changes -- renamed most funcs to CapCase -- finished variable-related tests, updated related api, and updated documentation. this last commit closes all code-related issues in cyclus/cyclopts#37. -- changed namespace names, closes #531 -- added tests for objective and constraint functions, updated documentation -- made constraint iterator access const as it should have been -- added tests for the function base class, updated documentation, and made slight API changes based on documentation -- prepended cyclopts to test name for easy regexp selection -- updated solver interface documentation -- made addconstituent public, removing need for friend class -- made variable tests less namespace verbose -- renamed integration tests to properly reflect that they are in fact testing the cbc solver. updates cbc solver documentation. -- added overarching but simple integration test for cyclopts -- resolve rebase compile errors -- renamed Error class files and formatted them according to style guide -- removed exception silencing from sqliteback -- fixed remaining build/run issues -- eliminated super-specific crazy exceptions. Created a few basic exception types to be used throughout cyclus core. Shortened exception class names -- added a test -- hotfix. Anthony's namespace merging wiped out my schema building invocation in XMLLoader. -- fixed header file guards in cyclopts -- fixed line lengths in header files in cyclopts -- fixed line lengths of cyclopts implementation files -- removed using namespace std from cyclopts files -- updated line lengths for header files in cyclopts -- fixed line length for Utility files touched in this PR -- added cyclus namespace on top of cyclopts namespace -- fixes a few things anthony missed -- test update. tag: move and squash -- removed find cyclopts -- updated findcyclopts -- Fixed some merge conflict -- cyclopts testing now exists is subdirectory of Testing -- ns updates finished now to mereg -- removed blas link, unnecessary. -- cyclopts headers now install in cyclopts directory -- added blas and lapack dependency for coin. tag: squash -- removed cyclus_tools in favor of explicit includes of variable and function. made cyclopts_limits limits. -- made cyclopts a subproject whose headers are now called by cyclopts/header.h -- updated readme and setup script -- cyclopts now builds as part of cyclus -- moved cyclopts files into Core directory with history -- Many testing fixes -- reverted some documentation overwrites and added some compliance -- make cyclus up to date with cyclopts google style compliance -- made input file recorded after schema validation -- added include guards as per style guide -- fixes include order, switch indentation, and adds missing map includes to csvback -- updated primary files used in this branch/PR to use google styleguide for indent/naming -- More namespace updates -- fixed Blob.hpp and other formatting. Added tests for each backend for the new blob type. -- Added cyclus::Blob type as a supported backend type for all backends. Removed unnecessary streaming operators in any.hpp. -- fixed query engine errors -- updates cyclus core to reflect cyclopts/cyclopts#33 -- fixed more error, everything is broken -- 'public, protected, private indent one space' -- fixes indent errors in DynamicModule.h described in #530. -- added ns to roesources. -- first cyclus ns changes. -- made buildSchema private. Used Agent class module type list instead of custom one. -- removed cyclus.rng.in generation - now done dynamically in cyclus core -- modified XML loading to dynamically build the master schema by searching for installed modules -- created csv backend. -- fixed name erro -- updated setup with localdir as default for some params -- added uninstall target. closes #268. -- made ~/.local the default install directory in the setup.py -- Actually have them all and they all work. -- I think that I got them all.. -- added hdf5 dep to readme instructions. fixes #520. -- fixed enum element style -- made eventmanager handle insertion of uuids into all events. backends now need to check for and handle boost::uuids::uuid value type -- wrote custom pool allocator new and delete for Event class. Created a producer/consumer type memory reuse vector in EventManager to prevent new/delete calls -- changed c cast to static_cast -- Added modified warning to any.hpp. added comment about event vals vector reserve -- added shortcut to void* in any.hpp. Simplified hdf5 backend fillBuff -- speed up event class by reserving capacity for event vals -- switched event class to use a tweaked boost::spirit::hold_any allowing non-explicit construction instead of boost::any. 30% performance boost of total inpro_low runtime. -- found out that boost has a installed called bjam. bjam has an option --layout which can take the form tagged. tagged adds -mt and - to a library. if multithreading is on (which it is by default), it must find a library with the -mt tag. I was able to turn off multi threading for it to find the boost libraries installed in filespace/groups/cnerg/cyclus_dependencies. I'd like to leave the comment there for posterity. this set of commits closes #521. -- added a message to determine which libraries were being used -- updated readme's boost version -- fixed null-padding on strings issue. changed set to group so Anthony is happy. -- changed hdf5 ext to .h5. Hdf5Back constructor takes std::string -- adds better doc comment to hdf5back class. Uncomments the db file deleting line. -- added hdf5back test -- added custom backend specification to App.cp via output file extension -- rewrote hdf5 backend to use C API. Made Sqlite destructor virtual -- refactored hdf5 back by splitting large code into smaller functions. -- created hdf5 backend - seems to be working. Probably could use some performance tweaking. - -Deprecations ------------- -N/A - -Known bugs ----------- -N/A - -Contributors -============ - -The following people contributed to this release of Cyclus. A "*" by their -name indicates a first time contributor. Names follow alphabetically, - -* Robert Carlsen -* Royal Elmore -* Matthew Gidden -* Katy Huff -* Olzhas Rakhimov* -* Anthony Scopatz -* Zach Welch -* Paul Wilson - diff --git a/source/previous/v0.4.rst b/source/previous/v0.4.rst deleted file mode 100644 index 208c49d17..000000000 --- a/source/previous/v0.4.rst +++ /dev/null @@ -1,97 +0,0 @@ -======================== -Cyclus 0.4 Release Notes -======================== - -:Author: Cyclus Developers -:Website: http://fuelcycle.org/ -:Contact: https://groups.google.com/forum/#!forum/cyclus-dev - -The Cyclus core team is excited to announce the latest stable version -of the cyclus ecosystem! This includes over 415 commits by -6 developers. Major features include, - -- Brand new Dynamic Resource Exchange Procedure, removed the previous notion - of markets, CEP18 - -- Continuous integration for all pull requests now occurs via BaTLab though - polyphemus. - -- Cleaned up API for agent instantiation and deallocation. Users no longer should - worry about memory management of their agents. - -- Added regression tests to the test suite. - -- Many bug and testing issues were fixed. - -Since v0.3, 207 files have changed encompassing a net 9173 line insertions(+) and -5043 deletions(-). - -Changes from 0.3 to 0.4 -======================= - -New features ------------- - -- added more detail about context agent ownership and stack agents are bad. (7682c6c) -- changed clone methods to use context-arg constructor (eaede68) -- changed xml Init[Core/Module]Member fan methods to be InitFrom chain. - Gave agent class a default val for *spec_* to facilitate testing of xml init - methods. (3efb2b6) -- renamed InitCoreMembers to InitFrom (f6e0add) -- fixed deploy self as parent bug in xmlfileloader. Agent class removes 'this' - from context *agent_list_* in destructor to prevent some segfaults when - agents are allocated on the stack causing a double delete (one by runtime and - one by context). Put guard on context::DelAgent to only delete if the agent is - in the *agent_list_* (53ec514) -- made context agent management more universal. Made *agent_list_* a std::set. - added doc comment about context agent management. minor tweaks (45efa47) -- removed agent_list getters from context class. agent list is now entirely - context-private (4b18f0d) -- updated exclusivity adjustment. this bug wasn't evident (or testable) because - capacity-constraints will cause tomatch < remain which then will by definition - be tomatch < excl_val of arc. all tests pass and alls well. (0ee97f2) -- made greedy algorithm a little simpler for exclusive arcs (deb90a0) -- added a namespace specifically for solver testing (9eaa900) -- exclusive bids now supported and tested (a098999) -- smaller hdf5 table chunk size and turn compression on (a3c4e98) -- trimmed fat from cyclus.rng.in and finished rng cleanup. (e1928dd) -- added authorship file (f021d01) -- moved test objects off the heap, fixes the building manager tests (d6d60e9) -- renamed timeagent ta vars to timelistener tl vars (3728fa0) -- removed boost date stuff from timer (60df1c9) -- renamed timeagent to timelistener and methods to just tick/tock. - removed daily tasks (4b07b64) -- renamed EventManager to Recorder and renamed Event to Datum and EventBackend to - RecBackend (8d2b9a6) -- initialized more members of the exchange node struct (3193d72) -- updated the initfrom interface to be easier to use/more intuitive (b2ba4e1) -- made context more resource generic (ed39a0d) -- buffers default to having a capacity (8497bf5) -- added a context helper for a facility with many input and output recipes and - commodities (13cffc7) -- added a hook for the context to register a facility (136d13a) -- added a resource exchange class (4a810d9) -- added request portfolios and associated tests. required notion of equality of - capacity constraints and requests and required notion of ordering of capacity - constraints for use as a map key, so I added an id member and associated < operator. - (f464cb8) -- added request class and associated tests for materials (202048c) - -Known bugs ----------- -N/A - -Contributors -============ - -The following people contributed to this release of Cyclus. A "*" by their -name indicates a first time contributor. Names follow alphabetically, - -* Robert Carlsen -* Royal Elmore -* Matthew Gidden -* Katy Huff -* Olzhas Rakhimov -* Anthony Scopatz -* Zach Welch -* Paul Wilson diff --git a/source/previous/v1.0.rst b/source/previous/v1.0.rst deleted file mode 100644 index 3d760acab..000000000 --- a/source/previous/v1.0.rst +++ /dev/null @@ -1,98 +0,0 @@ -======================== -Cyclus 1.0 Release Notes -======================== - -:Author: Cyclus Developers -:Website: http://fuelcycle.org/ -:Contact: https://groups.google.com/forum/#!forum/cyclus-dev - -The Cyclus core team is excited to announce the latest stable version -of the cyclus ecosystem! This includes over 5000 commits by -8 developers. - -Major features -============== - -- Cyclus Enhancement Proposal (CEP) system for large changes - -- Testing suite - - * unit tests - * integration tests (continuous through BaTLab and Polyphemus) - * regression tests - -- Resource tracking functionality and resource interface simplicity (CEP 17) - -- Complicated fuel cycles enabled via dynamic resource exchange (CEP 18) - -- Advanced time step execution for consistent agent behavior (CEP 20) - -- Basic modules in Cyclus core, advanced modules in Cycamore - - * relatedly, agent identification (CEP 21) - -- Pre-processing - - * auto-generate input/output archetype code for supported datatypes - -- Simulation initialization and restart - -- Now using PyNE for nuclear data (http://pyne.io) - -- Basic Lodtka-Volterra predator/prey-like simulation behavior demonstrated - -- Updated build system - - * kernel in ``$PREFIX/lib/`` as ``cyclus`` (i.e., ``libcyclus.so`` or - ``libcyclus.dylib``) - - * cyclus agents in ``$PREFIX/lib/cyclus`` as ``agents`` - - * cyclus generic agent archetype unit tests in ``$PREFIX/lib/cyclus`` as - ``baseagentunittests`` - - * cycamore agents in ``$PREFIX/lib/cyclus`` as ``cycamore`` - - * cyclus unit tests in ``$PREFIX/bin`` as ``cyclus_unit_tests`` - - * cycamore unit tests in ``$PREFIX/bin`` as ``cycamore_unit_tests`` - - * support for easy build/install of modules with single agent archetype and - associated tests - - * support for easy build/install of modules of group of agent archetypes and - associated tests - -- Toolkit - - * separation of additional "helper" classes and interfaces out of kernel - source directory and namespace - -- Significantly updated database schema, utilized for both canonical input and - output - - * supports variable length datatypes for both sqlite and hdf5 - -Since v0.4 - -* Cyclus: 1,125 commits resulted in 262 changed files encompassing a net 33,825 - line insertions(+) and 9,676 deletions(-). - -* Cycamore: 270 commits resulted in 133 changed files encompassing a net 2,243 - line insertions(+) and 95,294 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 -* Matthew Gidden -* Katy Huff -* Arrielle Opotowsky -* Olzhas Rakhimov -* Anthony Scopatz -* Zach Welch -* Paul Wilson - diff --git a/source/previous/v1.1.rst b/source/previous/v1.1.rst deleted file mode 100644 index b37218c1e..000000000 --- a/source/previous/v1.1.rst +++ /dev/null @@ -1,58 +0,0 @@ -======================== -Cyclus 1.1 Release Notes -======================== -:Author: Cyclus Developers -:Website: http://fuelcycle.org/ -:Contact: https://groups.google.com/forum/#!forum/cyclus-dev - -The Cyclus core team is excited to announce the latest stable version -of the cyclus ecosystem! This includes nearly 300 commits by -8 developers. - -Major features -============== -- Ability to force decay calculations off everywhere in the simulation. -- A menagerie of new datatypes: - - * ``std::vector`` - * ``std::vector`` - * ``std::set`` - * ``std::list`` - * ``std::pair`` - * ``std::map`` - * ``std::map`` - * ``std::map`` - * ``std::map`` - * ``std::map`` - -- Human-readable nuclide names may now be uses in input files. -- Memory leak bug fix. -- New 'schematype' state variable annotation allows archetype developers to - explicitly set the XML datatype in the schema for a given state variable, - rather than relying on defaults. -- Quantity-based constraints added to DRE. -- Automatic archetype discovery with '-l' and '-a' command line arguments. -- Better error handling in cycpp. -- Optional allocation optimization using tcmalloc. - -Since v1.0, - -* Cyclus: 243 commits resulted in 274 changed files encompassing a net 24,441 - line insertions(+) and 5,222 deletions(-). - -* Cycamore: 38 commits resulted in 69 changed files encompassing a net 1,948 - line insertions(+) and 1,855 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 -* Matthew Gidden -* Katy Huff -* Arrielle Opotowsky -* Olzhas Rakhimov -* Anthony Scopatz -* Zach Welch -* Paul Wilson diff --git a/source/previous/v1.2.rst b/source/previous/v1.2.rst deleted file mode 100644 index ba5372de3..000000000 --- a/source/previous/v1.2.rst +++ /dev/null @@ -1,50 +0,0 @@ -======================== -Cyclus 1.2 Release Notes -======================== -:Author: Cyclus Developers -:Website: http://fuelcycle.org/ -:Contact: https://groups.google.com/forum/#!forum/cyclus-dev - -The Cyclus core team is excited to announce the latest stable version -of the cyclus ecosystem! This includes over 125 commits by 5 developers. - -Major features -============== -- Added 'entity' key to the archetype annotations. This may take on one of the - following values: region, institution, facility, archetype, or unknown. -- Added further reflection to archetypes by including 'parents' and 'all_parents' - lists to the metadata. -- Added archetype name to metadata annotations. -- Nicer looking JSON strings. -- Fixed dynamic loading error that was triggered in weird cases on linux. -- The command ``cyclus -m`` now returns all metadata. -- Added Squash() functions to MatQuery class. -- Added 'nuclide' to availible 'uitypes'. -- Added Extra debugging info via ``CYCLUS_DEBUG_DRE`` environment variable. -- Added new experimental ResBuf class for resource buffering. -- Added optional tails buffer to enrichment class. -- Many bug fixes. - -Since v1.1, - -* Cyclus: 95 commits resulted in 644 changed files encompassing a net 2347 - line insertions(+) and 397 deletions(-). - -* Cycamore: 33 commits resulted in 15 changed files encompassing a net 93 line - insertions(+) and 91 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 -* Katy Huff -* Arrielle Opotowsky -* Olzhas Rakhimov -* Anthony Scopatz -* Zach Welch -* Paul Wilson -* John Xia* diff --git a/source/previous/v1.3.rst b/source/previous/v1.3.rst deleted file mode 100644 index 70b04dc2c..000000000 --- a/source/previous/v1.3.rst +++ /dev/null @@ -1,91 +0,0 @@ -.. _1.3: - -================================== -Cyclus 1.3 Release Notes -================================== -:Author: Cyclus Developers -:Website: http://fuelcycle.org/ -:Contact: https://groups.google.com/forum/#!forum/cyclus-dev - -The Cyclus core team is excited to announce the latest stable version of the -cyclus ecosystem! - -Major features -============== - - -`Cyclus `_ ---------------------------------------------- - -- ~3x speedups for recipe-based simulations -- Basic inventory policies added -- Support for recursive containers in archetypes -- Many new recursive containers added to sqlite backend -- Regression tests run on macs! -- A MockSim interface for full simulation testing without input files -- Added customizeable TimeSeries output for recording archetype-specific time - series -- Added json-to-xml conversion capability -- Added new ResMap container -- Decay added (via Pyne)! An input file flag can be set to - - never: never decay - - manual: archetypes must call the decay API manually - - lazy: materials are decayed as needed when their Material::comp function is - called - -`Cycamore `_ --------------------------------------------------- - -- New facility archetypes added - - Reactor - - FuelFab - - Separations - - Enrichment -- Other facility archetypes removed - - BatchReactor - - EnrichmentFacility -- Some experimental archetype APIs updated - - GrowthRegion -- Much better end-of-life fuel handling in reactors -- Regression tests run on macs! - -`Cymetric `_ --------------------------------------------------- - -- First release for a new analysis and visualization tool for Cyclus simulation output -- Command line tool and Python interface -- Calculates metrics of user interest from a Cyclus database - - Writes metrics back to database - - Simple for users to extend the suite of metrics - - Designed so calculations can be based on dependencies (other metrics or root metrics) - - Uses pandas data types - - Uses PyNE for nuclear data -- Visualization available from the command line via matplotlib - -Summary -======= - -Since v1.2.0, - -* Cyclus: 409 commits resulting in 113 files changed, 8466 insertions(+), 1760 deletions(-) - -* Cycamore: 353 commits resulting in 79 files changed, 7466 insertions(+), 6830 deletions(-) - -* Cymetric: 366 commits resulting in 49 files changed, 5978 insertions(+), 266 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 -* Denia Djokic* -* Robert Flanagan -* Matthew Gidden -* Katy Huff -* Meghan McGarry* -* Arrielle Opotowsky -* Olzhas Rakhimov -* Anthony Scopatz -* Paul Wilson -* John Xia diff --git a/source/previous/v1.5.5.rst b/source/previous/v1.5.5.rst deleted file mode 100644 index a7bf2d475..000000000 --- a/source/previous/v1.5.5.rst +++ /dev/null @@ -1,57 +0,0 @@ -.. _1.5.5: - -================================== -Cyclus 1.5.5 Release -================================== -:Author: Cyclus Developers -:Website: http://fuelcycle.org/ -:Contact: https://groups.google.com/forum/#!forum/cyclus-dev - -The Cyclus core team is excited to announce the latest stable version of the -Cyclus ecosystem! - -Major Features -============== - -Compatibility: - - -`Cyclus `_ ---------------------------------------------- - -Features: - - - -Bug fixes: - - - - -`Cycamore `_ --------------------------------------------------- - - -`Cymetric `_ --------------------------------------------------- - - -Summary -======= - -Since v1.5.0, - -* Cyclus: XXX commits resulting in YYY files changed, ZZZ insertions(+), AAA deletions(-) - -* Cycamore: XXX commits resulting in YYY files changed, ZZZ insertions(+), AAA deletions(-) - -* Cymetric: XXX commits resulting in YYY files changed, ZZZ insertions(+), AAA deletions(-) - - -Contributors -============ -The following people contributed to this release of Cyclus. A "*" by their -name indicates a first time contributor. Names follow alphabetically, - - - diff --git a/source/previous/v1.5.rst b/source/previous/v1.5.rst deleted file mode 100644 index 8af0eb79c..000000000 --- a/source/previous/v1.5.rst +++ /dev/null @@ -1,143 +0,0 @@ -.. _1.5.0: - -================================== -Cyclus 1.5.0 Release -================================== -:Author: Cyclus Developers -:Website: http://fuelcycle.org/ -:Contact: https://groups.google.com/forum/#!forum/cyclus-dev - -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 :ref:`ExplicitInventory ` and - :ref:`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 :ref:`AgentVersion ` table in the database for - provenance/reproducibility. - -* Support for new datatypes added to the sqlite backend: - - - ``std::list >`` - - ``std::map > >`` - - ``std::vector, std:map > > >`` - - -* ``cycpp`` now supports the ``internal`` 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`` and ``tolerance_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 buffer ``Pop``. - - -`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 - From 0260fb9497cab053722dc43bc3449fa44ec68448 Mon Sep 17 00:00:00 2001 From: abachmann Date: Tue, 7 May 2024 08:39:22 -0500 Subject: [PATCH 86/91] add item for v1.6 release, change other releases to GitHub release notes --- source/index.rst | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/source/index.rst b/source/index.rst index 5bba072d5..4df2362d2 100644 --- a/source/index.rst +++ b/source/index.rst @@ -56,13 +56,17 @@ Learn More News ---- +**May 4, 2024:** `Cyclus v1.6.0 is released `_ + **April 29,2024:** :doc:`FY 24 Funding for Cyclus ` +**January 14, 2020:** `Cyclus v1.5.5 is released `_ + **June 1st, 2018:** :doc:`Cyclus Newsletter Spring 2018 ` **October 6th, 2017:** :doc:`Cyclus Newsletter Fall 2017! ` -**December 13, 2016:** :doc:`Cyclus v1.5.0 is released ` +**December 13, 2016:** `Cyclus v1.5.0 is released `_ **July 6-8, 2016:** Technical workshop on Dynamic Fuel Cycle in Paris, France @@ -72,7 +76,7 @@ News **June 10, 2015:** First Cyclus :doc:`user tutorial ` and :doc:`developer tutorial ` are held at the 2015 ANS Annual Meeting in San Antonio, TX -**June 7, 2015:** :doc:`Cyclus v1.3.1 is released ` +**June 7, 2015:** `Cyclus v1.3.1 is released `_ .. _try-it: From 21e2ce0aa21f03327c6120ac2b2abb5b34b489cc Mon Sep 17 00:00:00 2001 From: abachmann Date: Tue, 7 May 2024 08:42:15 -0500 Subject: [PATCH 87/91] remove unused links --- source/news/fy24neup.rst | 5 ----- 1 file changed, 5 deletions(-) diff --git a/source/news/fy24neup.rst b/source/news/fy24neup.rst index 8625e6637..d69f1d90f 100644 --- a/source/news/fy24neup.rst +++ b/source/news/fy24neup.rst @@ -14,8 +14,3 @@ is lead by: .. _NEUP: http://www.neup.gov - -.. _MARKAL: http://www.iea-etsap.org/web/Markal.asp - -.. _GCAM: http://www.globalchange.umd.edu/models/gcam/ - From 401e58c208e309feb7c493a9ad3367dfaef300c8 Mon Sep 17 00:00:00 2001 From: abachmann Date: Tue, 7 May 2024 08:43:28 -0500 Subject: [PATCH 88/91] improve news date consistency --- source/index.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/source/index.rst b/source/index.rst index 4df2362d2..452d56f9a 100644 --- a/source/index.rst +++ b/source/index.rst @@ -58,13 +58,13 @@ News **May 4, 2024:** `Cyclus v1.6.0 is released `_ -**April 29,2024:** :doc:`FY 24 Funding for Cyclus ` +**April 29, 2024:** :doc:`FY 24 Funding for Cyclus ` **January 14, 2020:** `Cyclus v1.5.5 is released `_ -**June 1st, 2018:** :doc:`Cyclus Newsletter Spring 2018 ` +**June 1, 2018:** :doc:`Cyclus Newsletter Spring 2018 ` -**October 6th, 2017:** :doc:`Cyclus Newsletter Fall 2017! ` +**October 6, 2017:** :doc:`Cyclus Newsletter Fall 2017! ` **December 13, 2016:** `Cyclus v1.5.0 is released `_ From e8bf0fa8a8bd2223131df8d2806c67cbf094afef Mon Sep 17 00:00:00 2001 From: abachmann Date: Tue, 7 May 2024 08:44:36 -0500 Subject: [PATCH 89/91] remvoe mention of cloud service --- source/user/tutorial/install_launch_cyclus.rst | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/source/user/tutorial/install_launch_cyclus.rst b/source/user/tutorial/install_launch_cyclus.rst index 36e9c0e7e..3afb59c07 100644 --- a/source/user/tutorial/install_launch_cyclus.rst +++ b/source/user/tutorial/install_launch_cyclus.rst @@ -3,8 +3,6 @@ Installing and Launching Cyclus For this tutorial, the |Cyclus|, and Cycamore programs are utilized. You can install |Cyclus| using the following steps listed on the `Install Cyclus `_ page. -You can install Cycamore from the `Cycamore github repository `_. It is not required to -install these programs because there is a cloud service available to running |Cyclus| input files, as discussed -`here `_. +You can install Cycamore from the `Cycamore github repository `_. From 17cfef20f6eae5e66a5e6586b9b75a57ee7bf0c2 Mon Sep 17 00:00:00 2001 From: bennibbelink <79653949+bennibbelink@users.noreply.github.com> Date: Sat, 18 May 2024 13:08:00 -0500 Subject: [PATCH 90/91] remove ResourceBuff docs --- docker/Dockerfile | 2 +- source/arche/toolkit.rst | 61 ++-------------------------------------- source/cyclusagent.py | 1 - 3 files changed, 3 insertions(+), 61 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 9a16891a9..85352a876 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -2,5 +2,5 @@ FROM ghcr.io/cyclus/cymetric_22.04_apt/cymetric:latest RUN apt-get update RUN apt-get install -y --force-yes wget python3-pip -RUN python -m pip install sphinx sphinxcontrib-bibtex cloud-sptheme +RUN python3 -m pip install sphinx sphinxcontrib-bibtex cloud-sptheme diff --git a/source/arche/toolkit.rst b/source/arche/toolkit.rst index 5194c28ec..6aaa4fbee 100644 --- a/source/arche/toolkit.rst +++ b/source/arche/toolkit.rst @@ -6,66 +6,9 @@ Currently in an experimental state, the |cyclus| toolkit aims to provide functionality relevant to a variety of :term:`archetypes ` that do not belong strictly in the :term:`cyclus kernel`. -ResourceBuff -++++++++++++ -.. warning:: - - ResourceBuff will soon be deprecated in favor of ``ResBuf``. - -The ``cyclus::toolkit::ResourceBuff`` (C++) or ``cyclus.typesystem.ResourceBuff`` (Python) -class provides provides a canonical -methodology for dealing with collections of ``Resources``. -:term:`Archetypes ` in both |cyclus| and Cycamore make use of this -class. ``ResourceBuffs`` are usually used as member variables of -archetypes. The |Cyclus| preprocessor (C++) or |Cyclus| agents (Python) have special -handling for ``ResourceBuff`` -as it can generate all needed code for proper persistence and intiialization -of the buffer. For this to work, you must annotate the buffer member variable -with a Cyclus pre-processor :ref:`pragma ` (C++) or have a -special ``ResourceBuffInv`` class attribute (Python) in one of the -following ways: - -**C++:** - -.. code-block:: c++ - - // Option 1: minimum required annotation - #pragma cyclus var {} - cyclus::toolkit::ResourceBuff mybuf; - - // Option 2: you can set a specify buffer capacity - #pragma cyclus var {'capacity': 245.6} - cyclus::toolkit::ResourceBuff mybuf; - - // Option 3: you can reference another annotated member variable's value - // as the capacity - #pragma cyclus var {} - double buf_cap; - #pragma cyclus var {'capacity': 'buf_cap'} - cyclus::toolkit::ResourceBuff mybuf; +.. note:: -**Python:** - -.. code-block:: python - - from cyclus.agents import Facility - import cyclus.typesystem as ts - - class MyFacility(Facility): - # Option 1: minimum required class attribute - mybuf = ts.ResourceBuffInv() - - # Option 2: you can set a specify buffer capacity - mybuf = ts.ResourceBuffInv(capacity=245.6) - - # Option 3: you can reference another annotated member variable's value - # as the capacity - buf_cap = ts.Double() - mybuf = ts.ResourceBuffInv(capacity='buf_cap') - -You can read the `ResourceBuff API documentation -`_ for -more details on how to use the buffer. + ResourceBuff has been deprecated in favor of ``ResBuf``. ResBuf ++++++++++++ diff --git a/source/cyclusagent.py b/source/cyclusagent.py index d8843361f..cb40f8dee 100644 --- a/source/cyclusagent.py +++ b/source/cyclusagent.py @@ -46,7 +46,6 @@ def indent(text, prefix): def contains_resbuf(type_str): bufs = ('cyclus::toolkit::ResBuf', 'cyclus::toolkit::ResMap', - 'cyclus::toolkit::ResourceBuff', 'cyclus::toolkit::TotalInvTracker') for buf in bufs: if buf in type_str: From 1197675fcc32f4d29ebee49e1c0b0e9fcec7565f Mon Sep 17 00:00:00 2001 From: Ben Nibbelink Date: Mon, 20 May 2024 07:58:37 -0500 Subject: [PATCH 91/91] move note about resourcebuff deprecation --- source/arche/toolkit.rst | 232 +++++++++++++++++++-------------------- 1 file changed, 116 insertions(+), 116 deletions(-) diff --git a/source/arche/toolkit.rst b/source/arche/toolkit.rst index 6aaa4fbee..27719d0ec 100644 --- a/source/arche/toolkit.rst +++ b/source/arche/toolkit.rst @@ -1,116 +1,116 @@ -.. _toolkit: - -The (Experimental) Cyclus Toolkit -================================= -Currently in an experimental state, the |cyclus| toolkit aims to provide -functionality relevant to a variety of :term:`archetypes ` that do -not belong strictly in the :term:`cyclus kernel`. - -.. note:: - - ResourceBuff has been deprecated in favor of ``ResBuf``. - -ResBuf -++++++++++++ -The ``cyclus::toolkit::ResBuf`` (C++) or ``cyclus.typesystem.ResBuf`` (Python) class -provides provides a canonical -methodology for dealing with collections of Resources. ``ResBufs`` -are usually used as member variables of archetypes. The Cyclus preprocessor -has special handling for ``ResBuf`` as it can generate all needed code -for proper persistence and intiialization of the buffer. For this to work, -you must annotate the buffer member variable with a Cyclus pre-processor -:ref:`pragma ` (C++) or set a class attribute (Python) -in one of the following ways: - -**C++:** - -.. code-block:: c++ - - // Option 1: minimum required annotation - #pragma cyclus var {} - cyclus::toolkit::ResBuf mybuf; - - // Option 2: you can set a specify buffer capacity - #pragma cyclus var {'capacity': 245.6} - cyclus::toolkit::ResBuf mybuf; - - // Option 3: you can reference another annotated member variable's value - // as the capacity - #pragma cyclus var {} - double buf_cap; - #pragma cyclus var {'capacity': 'buf_cap'} - cyclus::toolkit::ResBuf mybuf; - -**Python:** - -.. code-block:: python - - from cyclus.agents import Facility - import cyclus.typesystem as ts - - class MyFacility(Facility): - # Option 1: minimum required annotation - mybuf = ts.ResBufMaterialInv() - - # Option 2: you can set a specify buffer capacity - mybuf = ts.ResBufMaterialInv(capacity=245.6) - - # Option 3: you can reference another annotated member variable's value - # as the capacity - buf_cap = ts.Double() - mybuf = ts.ResBufMaterialInv(capacity='buf_cap') - -You can read the `ResBuf API documentation -`_ for -more details on how to use the buffer. - -MatQuery [C++] -++++++++++++++ -The ``cyclus::toolkit::MatQuery`` class provides some easy-to-use functions that -interrogate the ``cyclus::Material`` object. For example, one can query the mass -or number of moles of a given nuclide. - -Enrichment [C++] -++++++++++++++++ -A number of functions are provided in ``toolkit/enrichment.h`` that assist in -enrichment-related calculations. Some highlights include a representation of -uranium assays in ``cyclus::toolkit::Assays``, as well as functions to calculate -feed, tails, and SWU quantity requirements. - -Commodity Recipe Context [C++] -+++++++++++++++++++++++++++++++ -The ``cyclus::toolkit::CommodityRecipeContext`` class provides a mapping between -commodities and recipes that can be updated as a simulation progresses. - -Symbolic Functions [C++] -++++++++++++++++++++++++ -The ``cyclus::toolkit::SymbolicFunction`` class and its derivatives provide an -object-oriented hierarchy to represent symbolic functions. Factory methods are -provided by the ``cyclus::toolkit::SymbFunctionFactory`` class. - -Agent Managed Classes [C++] -+++++++++++++++++++++++++++ -There are a number of interfaces provided in the |cyclus| toolkit that can be -used as either as `mixins `_ or as -composable, agent-managed state variables: - -* ``cyclus::toolkit::Builder``: an interface for adding information about agents - that can be built by the manager - -* ``cyclus::toolkit::BuildingManager``: an interface for making build decisions - based on supply, demand, and agents that can be built - -* ``cyclus::toolkit::CommodityProducer``: an interface for adding information - about commodities that can be produced by the manager - -* ``cyclus::toolkit::CommodityProducerManager``: an interface that allows an - agent to query a collection of ``cyclus::toolkit::CommodityProducers`` - -* ``cyclus::toolkit::SupplyDemandManager``: an interface for querying the supply - and demand on commodities - -Geographic Informasion System (GIS) Class [C++] -+++++++++++++++++++++++++++++++++++++++++++++++ - The ``cyclus::toolkit::GIS`` class provide an option to add geographic coordinates - of its friend classes. Haversine distance calculations between two facilities or - agents with GIS coordinates can be performed as well. +.. _toolkit: + +The (Experimental) Cyclus Toolkit +================================= +Currently in an experimental state, the |cyclus| toolkit aims to provide +functionality relevant to a variety of :term:`archetypes ` that do +not belong strictly in the :term:`cyclus kernel`. + +ResBuf +++++++++++++ +The ``cyclus::toolkit::ResBuf`` (C++) or ``cyclus.typesystem.ResBuf`` (Python) class +provides provides a canonical +methodology for dealing with collections of Resources. ``ResBufs`` +are usually used as member variables of archetypes. The Cyclus preprocessor +has special handling for ``ResBuf`` as it can generate all needed code +for proper persistence and intiialization of the buffer. For this to work, +you must annotate the buffer member variable with a Cyclus pre-processor +:ref:`pragma ` (C++) or set a class attribute (Python) +in one of the following ways: + +.. note:: + + ``ResourceBuff`` has been deprecated in favor of ``ResBuf``. + +**C++:** + +.. code-block:: c++ + + // Option 1: minimum required annotation + #pragma cyclus var {} + cyclus::toolkit::ResBuf mybuf; + + // Option 2: you can set a specify buffer capacity + #pragma cyclus var {'capacity': 245.6} + cyclus::toolkit::ResBuf mybuf; + + // Option 3: you can reference another annotated member variable's value + // as the capacity + #pragma cyclus var {} + double buf_cap; + #pragma cyclus var {'capacity': 'buf_cap'} + cyclus::toolkit::ResBuf mybuf; + +**Python:** + +.. code-block:: python + + from cyclus.agents import Facility + import cyclus.typesystem as ts + + class MyFacility(Facility): + # Option 1: minimum required annotation + mybuf = ts.ResBufMaterialInv() + + # Option 2: you can set a specify buffer capacity + mybuf = ts.ResBufMaterialInv(capacity=245.6) + + # Option 3: you can reference another annotated member variable's value + # as the capacity + buf_cap = ts.Double() + mybuf = ts.ResBufMaterialInv(capacity='buf_cap') + +You can read the `ResBuf API documentation +`_ for +more details on how to use the buffer. + +MatQuery [C++] +++++++++++++++ +The ``cyclus::toolkit::MatQuery`` class provides some easy-to-use functions that +interrogate the ``cyclus::Material`` object. For example, one can query the mass +or number of moles of a given nuclide. + +Enrichment [C++] +++++++++++++++++ +A number of functions are provided in ``toolkit/enrichment.h`` that assist in +enrichment-related calculations. Some highlights include a representation of +uranium assays in ``cyclus::toolkit::Assays``, as well as functions to calculate +feed, tails, and SWU quantity requirements. + +Commodity Recipe Context [C++] ++++++++++++++++++++++++++++++++ +The ``cyclus::toolkit::CommodityRecipeContext`` class provides a mapping between +commodities and recipes that can be updated as a simulation progresses. + +Symbolic Functions [C++] +++++++++++++++++++++++++ +The ``cyclus::toolkit::SymbolicFunction`` class and its derivatives provide an +object-oriented hierarchy to represent symbolic functions. Factory methods are +provided by the ``cyclus::toolkit::SymbFunctionFactory`` class. + +Agent Managed Classes [C++] ++++++++++++++++++++++++++++ +There are a number of interfaces provided in the |cyclus| toolkit that can be +used as either as `mixins `_ or as +composable, agent-managed state variables: + +* ``cyclus::toolkit::Builder``: an interface for adding information about agents + that can be built by the manager + +* ``cyclus::toolkit::BuildingManager``: an interface for making build decisions + based on supply, demand, and agents that can be built + +* ``cyclus::toolkit::CommodityProducer``: an interface for adding information + about commodities that can be produced by the manager + +* ``cyclus::toolkit::CommodityProducerManager``: an interface that allows an + agent to query a collection of ``cyclus::toolkit::CommodityProducers`` + +* ``cyclus::toolkit::SupplyDemandManager``: an interface for querying the supply + and demand on commodities + +Geographic Informasion System (GIS) Class [C++] ++++++++++++++++++++++++++++++++++++++++++++++++ + The ``cyclus::toolkit::GIS`` class provide an option to add geographic coordinates + of its friend classes. Haversine distance calculations between two facilities or + agents with GIS coordinates can be performed as well.