Skip to content

Commit be8f0d4

Browse files
committed
actually adding the packaging page this time
1 parent 7b08b94 commit be8f0d4

File tree

1 file changed

+137
-0
lines changed

1 file changed

+137
-0
lines changed
Lines changed: 137 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,137 @@
1+
``Package`` and ``TransportUnit`` - Package and Transport Unit Definition (optional, may appear multiple times)
2+
================================================================================================================
3+
4+
Package types are a fundamental parameter of resources in Cyclus, with a
5+
default of ``unpackaged``, with no restrictions. The user can define their own
6+
package types as well. Currently, packaging is available in the Material Sell
7+
Policy (see Cyclus Toolkit), and is implemented in the Cycamore:Storage
8+
facility archetype; Storage re-packages outgoing commodidies as they are being
9+
traded to another agent.
10+
11+
Packaging is currently available in the Material Sell Policy (see Cyclus Toolkit),
12+
and is implemented in cyc
13+
14+
A ``package`` block has the following sections:
15+
16+
* ``name`` (required once) - the unique name for this type of packaging
17+
18+
* ``fill_min`` - the minimum amount of material that can be in the package
19+
(default: 0)
20+
21+
* ``fill_max`` - the maximum amount of material that can be in the package
22+
(default: infinity)
23+
24+
* ``strategy`` - The algorithm used to determine the quantity of material
25+
placed in a package when more than ``fill_max`` is available to package.
26+
Current options are:
27+
28+
* ``first`` - Packages are filled up to the ``fill_max`` one by one,
29+
until less than ``fill_min`` is left to package.
30+
* ``equal`` - Given the amount of material available to package,
31+
all packages are filled to the same level.
32+
33+
Example (item)
34+
++++++++++++++
35+
This example defines a PWR fuel assembly package. Item packages (where the
36+
``fill_min`` and ``fill_max`` are the same) do not need to specify the
37+
``strategy`` value.
38+
39+
.. code-block:: xml
40+
41+
<package>
42+
<name>pwr_assembly</name>
43+
<fill_min>615.2</fill_min>
44+
<fill_max>615.2</fill_max>
45+
</package>
46+
47+
Example (bulk)
48+
++++++++++++++
49+
This example defines a UF6 cylinder package.
50+
51+
.. code-block:: xml
52+
53+
<package>
54+
<name>UF6_cylinder</name>
55+
<fill_min>1</fill_min>
56+
<fill_max>0.8</fill_max>
57+
<fill_strategy>first</fill_strategy>
58+
</package>
59+
60+
TransportUnit
61+
+++++++++++++
62+
63+
Transport units are a way to furhter restrict the movement of resources in a
64+
simulation. Unlike packages (above), ``TransportUnit``s are not a parameter of
65+
resources, but rather a restriction available in the Material Sell Policy
66+
(see Cyclus Toolkit) to restrict trades to an integer number of packages.
67+
68+
A ``TransportUnit`` block has the following sections:
69+
70+
* ``name`` (required once) - the unique name for this type of transport unit
71+
72+
* ``fill_min`` - the minimum number of packages that can be in the transport
73+
unit, integer (default: 0)
74+
75+
* ``fill_max`` - the maximum number of packages that can be in the transport
76+
unit, integer (default: infinity)
77+
78+
* ``strategy`` - the algorith used to determine the number of packages placed
79+
in a transport unit when more than ``fill_max`` are available to package.
80+
Current options are:
81+
82+
* ``first`` - Transport units are filled up to the ``fill_max`` one by
83+
one, until less than ``fill_min`` is left to package.
84+
* ``equal`` - Given the number of packages available to package, all
85+
transport units are filled to the same level.
86+
* ``hybrid`` - Fill transport units iteratively, re-calculating the
87+
number of packages to place in each transport unit based on the
88+
remaining packages. More efficient than ``equal`` or ``first`` at
89+
sending the maximum number of packages.
90+
91+
Transport Unit Example
92+
+++++++++++++++++
93+
This example requires that three or four UF6 cylinders be shipped in the same
94+
flatrack.
95+
96+
**XML:**
97+
98+
.. code-block:: xml
99+
100+
<transportunit>
101+
<name>UF6_flatrack</name>
102+
<fill_min>3</fill_min>
103+
<fill_max>4</fill_max>
104+
<strategy>hybrid</strategy>
105+
</transportunit>
106+
107+
.. rst-class:: html-toggle
108+
109+
Grammar Definition
110+
++++++++++++++++++
111+
112+
**Packaging XML:**
113+
114+
.. code-block:: xml
115+
116+
<element name="package">
117+
<interleave>
118+
<element name="name"><text/></element>
119+
<element name="fill_min"><data type="double"/></element>
120+
<element name="fill_max"><data type="double"/></element>
121+
<element name="strategy"><text/></element>
122+
</interleave>
123+
</element>
124+
125+
126+
**Transport Unit XML:**
127+
128+
.. code-block:: xml
129+
130+
<element name="transportunit">
131+
<interleave>
132+
<element name="name"><text/></element>
133+
<element name="fill_min"><data type="nonNegativeInteger"/></element>
134+
<element name="fill_max"><data type="nonNegativeInteger"/></element>
135+
<element name="strategy"><text/></element>
136+
</interleave>
137+
</element>

0 commit comments

Comments
 (0)