Skip to content

Commit

Permalink
starting to add to toolkit page and starting packaging page
Browse files Browse the repository at this point in the history
  • Loading branch information
nuclearkatie committed Jul 3, 2024
1 parent 7f73fc1 commit 0145d1c
Show file tree
Hide file tree
Showing 2 changed files with 59 additions and 0 deletions.
58 changes: 58 additions & 0 deletions source/arche/toolkit.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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.
1 change: 1 addition & 0 deletions source/user/writing_input.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
--------------------
Expand Down

0 comments on commit 0145d1c

Please sign in to comment.