diff --git a/source/arche/toolkit.rst b/source/arche/toolkit.rst index 27719d0e..07077f35 100644 --- a/source/arche/toolkit.rst +++ b/source/arche/toolkit.rst @@ -114,3 +114,61 @@ 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. + +Multi-Resource Buffer Inventory Tracker [C++] ++++++++++++++++++++++++++++++++++++++++++++++ + The ``cyclus::toolkit::TotalInvTracker`` class tracks the total quantity of + resources held across multiple Resource Buffers. The Tracker may have a + total inventory limit separate from any individual Resource Buffer limits. + + Implementing a tracker can be useful in replicating a facility-wide limit. + A TotalInvTracker is required to initialize the Material Buy Policy. + +Material Buy Policy Class [C++] ++++++++++++++++++++++++++++++++ + The ``cyclus::toolkit::MatlBuyPolicy`` class manages the process of requesting + a particular commodity. + + The following inventory management strategies are available: + + * Active and dormant cycles. Developer must create two random distributions + using the ``cyclus::RandomNumberGenerator`` class. The active distribution is + sampled to determine the length of time steps that the agent will be actively + requesting its incommodity. The dormant distribution is sampled to determine + the length of time steps that the agent will be dormant, placing no requests + regardless of whether inventory space is available at the time. + + * Cumulative capacity. Cumulative capacity is a type of active-dormant cycle + where the active phase is determined not by sampling from a random distribution, + but by the cumulative quantity of incommodity that the agent has received + during this cycle. The facility will stay active until the cumulative quantity + is reached, at which point it will enter the dormant phase. The dormant + phase functions exactly as in the active-dormant cycle. + + * Buying size distribution. Similar to active and dormant cycles, the size of + request placed by an agent can be determined by a random distribution. The + sampled value is a fraction of the maximum available request, which is + determined by the throughput and inventory space available both in the receiving + ``ResBuf`` and in the entire facility, using the ``TotalInvTracker``. + + * Quantized buying. The agent can be set to request a fixed quantity of its + incommodity, when space allows. It will not accept partial fulfillment of its + request. + + * Inventory policies. Two standard inventory policies are available, called + reorder point-reorder quantity or (R,Q), and minimum-maximum or (s,S). The + ``inv_policy`` parameter must be set to either "RQ" or "sS" to use these. Two + additional parameters determine the behavior, ``req_at`` and ``fill_behav``. + For both policies, ``req_at`` is the inventory quantity at which new + incommodity should be ordered. Above this point, the agent will not place a + request. Below this point, the agent will place a request. For the (R,Q) + policy, ``fill_behav`` is the Q, or quantity of incommodity that the agent + will request. This functions similar to quantized buying, where the agent + seeks to buy exactly Q / ``fill_behav`` quantity of incommodity. For the (s,S) + policy, ``fill_behav`` is the S, or the maximum quantity of incommodity that + the agent will accept. The agent will request S minus the current inventory. + +Material Sell Policy Class [C++] +++++++++++++++++++++++++++++++++ + The ``cyclus::toolkit::MatlSellPolicy`` class manages the process of providing + a particular commodity to the DRE. \ No newline at end of file diff --git a/source/user/writing_input.rst b/source/user/writing_input.rst index 5ac25c45..3297ca34 100644 --- a/source/user/writing_input.rst +++ b/source/user/writing_input.rst @@ -135,6 +135,7 @@ any order in the input file: input_specs/region input_specs/inst input_specs/recipe + input_specs/package Including XML Files --------------------