2#line 1 "/cycamore/src/storage.h"
3#ifndef CYCLUS_STORAGES_STORAGE_H_
4#define CYCLUS_STORAGES_STORAGE_H_
13#include "boost/shared_ptr.hpp"
15#pragma cyclus exec from cyclus.system import CY_LARGE_DOUBLE, CY_LARGE_INT, CY_NEAR_ZERO
104 :
public cyclus::Facility,
105 public cyclus::toolkit::CommodityProducer,
106 public cyclus::toolkit::Position {
111#line 108 "/cycamore/src/storage.h"
113 virtual void InitFrom(cyclus::QueryableBackend* b);
114#line 110 "/cycamore/src/storage.h"
116 virtual void InfileToDb(cyclus::InfileTree* tree, cyclus::DbInit di);
118 virtual cyclus::Agent*
Clone();
120 virtual std::string
schema();
124 virtual void InitInv(cyclus::Inventories& inv);
128 virtual void Snapshot(cyclus::DbInit di);
130 #pragma cyclus note {"doc": "Storage is a simple facility which accepts any number of commodities " "and holds them for a user specified amount of time. The commodities accepted " "are chosen based on the specified preferences list. Once the desired amount of material " "has entered the facility it is passed into a 'processing' buffer where it is held until " "the residence time has passed. The material is then passed into a 'ready' buffer where it is " "queued for removal. Currently, all input commodities are lumped into a single output commodity. " "Storage also has the functionality to handle materials in discrete or continuous batches. Discrete " "mode, which is the default, does not split or combine material batches. Continuous mode, however, " "divides material batches if necessary in order to push materials through the facility as quickly " "as possible."}
131#line 121 "/cycamore/src/storage.h"
134 virtual std::string
str();
156 void AddMat_(cyclus::Material::Ptr mat);
168#line 159 "/cycamore/src/storage.h"
179#line 169 "/cycamore/src/storage.h"
181 #pragma cyclus var {"tooltip":"input commodity", "doc":"commodities accepted by this facility", "uilabel":"Input Commodities", "uitype":["oneormore","incommodity"]}
184#line 171 "/cycamore/src/storage.h"
186#line 177 "/cycamore/src/storage.h"
188 #pragma cyclus var {"default": [], "doc":"preferences for each of the given commodities, in the same order." "Defauts to 1 if unspecified", "uilabel":"In Commody Preferences", "range": [None, [CY_NEAR_ZERO, CY_LARGE_DOUBLE]], "uitype":["oneormore", "range"]}
189#line 184 "/cycamore/src/storage.h"
192#line 185 "/cycamore/src/storage.h"
195 #pragma cyclus var {"tooltip":"output commodity", "doc":"commodity produced by this facility. Multiple commodity tracking is" " currently not supported, one output commodity catches all input commodities.", "uilabel":"Output Commodities", "uitype":["oneormore","outcommodity"]}
196#line 191 "/cycamore/src/storage.h"
199#line 192 "/cycamore/src/storage.h"
202 #pragma cyclus var {"default":"", "tooltip":"input recipe", "doc":"recipe accepted by this facility, if unspecified a dummy recipe is used", "uilabel":"Input Recipe", "uitype":"inrecipe"}
203#line 198 "/cycamore/src/storage.h"
206#line 199 "/cycamore/src/storage.h"
209 #pragma cyclus var {"default": 0, "tooltip":"residence time (timesteps)", "doc":"the minimum holding time for a received commodity (timesteps).", "units":"time steps", "uilabel":"Residence Time", "uitype": "range", "range": [0, 12000]}
210#line 207 "/cycamore/src/storage.h"
213#line 208 "/cycamore/src/storage.h"
216 #pragma cyclus var {"default": 0, "tooltip":"sell quantity (kg)", "doc":"material will be sold in integer multiples of this quantity. If" " the buffer contains less than the sell quantity, no material will be" " offered", "uilabel":"Sell Quantity", "uitype": "range", "range": [0.0, CY_LARGE_DOUBLE], "units": "kg"}
217#line 218 "/cycamore/src/storage.h"
220#line 219 "/cycamore/src/storage.h"
223 #pragma cyclus var {"default": CY_LARGE_DOUBLE, "tooltip":"throughput per timestep (kg)", "doc":"the max amount that can be moved through the facility per timestep (kg)", "uilabel":"Throughput", "uitype": "range", "range": [0.0, CY_LARGE_DOUBLE], "units":"kg"}
224#line 227 "/cycamore/src/storage.h"
227#line 228 "/cycamore/src/storage.h"
230 #pragma cyclus var {"default": CY_LARGE_DOUBLE, "tooltip":"maximum inventory size (kg)", "doc":"the maximum amount of material that can be in all storage buffer stages", "uilabel":"Maximum Inventory Size", "uitype": "range", "range": [0.0, CY_LARGE_DOUBLE], "units":"kg"}
231#line 236 "/cycamore/src/storage.h"
234#line 237 "/cycamore/src/storage.h"
237 #pragma cyclus var {"default": False, "tooltip":"Bool to determine how Storage handles batches", "doc":"Determines if Storage will divide resource objects. Only controls material " "handling within this facility, has no effect on DRE material handling. " "If true, batches are handled as discrete quanta, neither split nor combined. " "Otherwise, batches may be divided during processing. Default to false (continuous))", "uilabel":"Batch Handling"}
238#line 245 "/cycamore/src/storage.h"
241#line 246 "/cycamore/src/storage.h"
244 #pragma cyclus var {"default": "Fixed", "tooltip": "Type of active buying frequency", "doc": "Options: Fixed, Uniform, Normal, Binomial, FixedWithDisruption. " "Fixed requires active_buying_val. Uniform " "requires active_buying_min and active_buying_max. Normal " "requires active_buying_mean and active_buying_std, with optional " "active_buying_min and active_buying_max. Binomial requires active_buying_end_probability." "FixedWithDisruption has a probability that any given cycle will have a disrupted, " "active length. Once per cycle, a Bernoulli distribution (Binomial dist " "with N=1) will be sampled to determine if typical or disrupted cycle. If typical, " "active_buying_val is cycle length. If disrupted, active_buying_disruption.", "uitype": "combobox", "categorical": ["Fixed", "Uniform", "Normal", "Binomial", "FixedWithDisruption"], "uilabel": "Active Buying Frequency Type"}
245#line 261 "/cycamore/src/storage.h"
248#line 262 "/cycamore/src/storage.h"
251 #pragma cyclus var {"default": -1, "tooltip": "Fixed active buying frequency", "doc": "The length in time steps of the active buying period. Required for fixed " "active_buying_frequency_type. Must be greater than or equal to 1 (i.e., agent " "cannot always be dormant)", "uitype": "range", "range": [1, CY_LARGE_INT], "uilabel": "Active Buying Frequency Value"}
252#line 271 "/cycamore/src/storage.h"
255#line 272 "/cycamore/src/storage.h"
258 #pragma cyclus var {"default": -1, "tooltip": "Active buying distribution minimum", "doc": "The minimum length in time steps of the active buying period. Required for " "Uniform and optional for Normal active_buying_frequency_type. Must be greater than " "or equal to 1 ", "uitype": "range", "range": [1, CY_LARGE_INT], "uilabel": "Active Buying Frequency Minimum"}
259#line 281 "/cycamore/src/storage.h"
262#line 282 "/cycamore/src/storage.h"
265 #pragma cyclus var {"default": -1, "tooltip": "Active buying distribution maximum", "doc": "The maximum length in time steps of the active buying period. Required for " "Uniform active_buying_frequency_type, optional for Normal. Must be greater than or equal to active_buying_min ", "uitype": "range", "range": [1, CY_LARGE_INT], "uilabel": "Active Buying Frequency Maximum"}
266#line 290 "/cycamore/src/storage.h"
269#line 291 "/cycamore/src/storage.h"
272 #pragma cyclus var {"default": -1, "tooltip": "Active buying distribution mean", "doc": "The mean length in time steps of the active buying period. Required for " "Normal active_buying_frequency_type. Must be greater than or equal to 1 ", "uitype": "range", "range": [1.0, CY_LARGE_DOUBLE], "uilabel": "Active Buying Frequency Mean"}
273#line 299 "/cycamore/src/storage.h"
276#line 300 "/cycamore/src/storage.h"
279 #pragma cyclus var {"default": -1, "tooltip": "Active buying distribution standard deviation", "doc": "The standard deviation of the length in time steps of the active buying period. " "Required for Normal active_buying_frequency_type. Must be greater than or equal to 0 ", "uitype": "range", "range": [0.0, CY_LARGE_DOUBLE], "uilabel": "Active Buying Frequency Standard Deviation"}
280#line 308 "/cycamore/src/storage.h"
283#line 309 "/cycamore/src/storage.h"
286 #pragma cyclus var {"default": 0, "tooltip": "Probability that agent will go offline during the next time step", "doc": "Binomial distribution has a fixed probability of going dormant at any given " "timestep, like a weighted coin flip. Required for Binomial active_buying_frequency_type. " "Must be between 0 and 1", "uitype": "range", "range": [0.0, 1.0], "uilabel": "Active Buying Offline Probability"}
287#line 318 "/cycamore/src/storage.h"
290#line 319 "/cycamore/src/storage.h"
293 #pragma cyclus var {"default": 0, "tooltip": "Probability that a cycle contains a disruption", "doc": "Probability that the agent undergoes a disruption (disrupted active period) " "during any given cycle. Required for FixedWithDisruption active_buying_frequency_type.", "uitype": "range", "range": [0.0, 1.0], "uilabel": "Active Buying Disruption Probability"}
294#line 327 "/cycamore/src/storage.h"
297#line 328 "/cycamore/src/storage.h"
300 #pragma cyclus var {"default": -1, "tooltip": "Fixed length of disrupted active cycle", "doc": "When a active cycle is disrupted, this is length of the active period instead " "of active_buying_val. Required for FixedWithDisruption active_buying_frequency_type", "uitype": "range", "range": [0, CY_LARGE_INT]}
301#line 335 "/cycamore/src/storage.h"
304#line 336 "/cycamore/src/storage.h"
307 #pragma cyclus var {"default": "Fixed", "tooltip": "Type of dormant buying frequency", "doc": "Options: Fixed, Uniform, Normal, Binomial, FixedWithDisruption. " "Fixed requires dormant_buying_val. " "Uniform requires dormant_buying_min and dormant_buying_max. Normal requires " "dormant_buying_mean and dormant_buying_std, with optional dormant_buying_min " "and dormant_buying_max. Binomial requires dormant_buying_end_probability. " "FixedWithDisruption has a probability that any given cycle will have a disrupted, " "or long, outage. Once per cycle, a Bernoulli distribution (Binomial dist " "with N=1) will be sampled to determine if typical or disrupted cycle. If typical, " "dormant_buying_val is cycle length. If disrupted, dormant_buying_disruption.", "uitype": "combobox", "categorical": ["Fixed", "Uniform", "Normal", "Binomial", "FixedWithDisruption"], "uilabel": "Dormant Buying Frequency Type"}
308#line 351 "/cycamore/src/storage.h"
311#line 352 "/cycamore/src/storage.h"
314 #pragma cyclus var {"default": -1, "tooltip": "Fixed dormant buying frequency", "doc": "The length in time steps of the dormant buying period. Required for fixed " "dormant_buying_frequency_type. Default is -1, agent has no dormant period and stays active.", "uitype": "range", "range": [-1, CY_LARGE_INT], "uilabel": "Dormant Buying Frequency Value"}
315#line 360 "/cycamore/src/storage.h"
318#line 361 "/cycamore/src/storage.h"
321 #pragma cyclus var {"default": -1, "tooltip": "Dormant buying distribution minimum", "doc": "The minimum length in time steps of the dormant buying period. Required for Uniform and optional for " "Normal dormant_buying_frequency_type.", "uitype": "range", "range": [0, CY_LARGE_INT], "uilabel": "Dormant Buying Frequency Minimum"}
322#line 369 "/cycamore/src/storage.h"
325#line 370 "/cycamore/src/storage.h"
328 #pragma cyclus var {"default": -1, "tooltip": "Dormant buying distribution maximum", "doc": "The maximum length in time steps of the dormant buying period. Required for " "Uniform dormant_buying_frequency_type, optional for Normal. Must be greater than or equal to dormant_buying_min ", "uitype": "range", "range": [0, CY_LARGE_INT], "uilabel": "Dormant Buying Frequency Maximum"}
329#line 378 "/cycamore/src/storage.h"
332#line 379 "/cycamore/src/storage.h"
335 #pragma cyclus var {"default": -1, "tooltip": "Dormant buying distribution mean", "doc": "The mean length in time steps of the dormant buying period. Required for " "Normal dormant_buying_frequency_type. Must be greater than or equal to 0 ", "uitype": "range", "range": [0.0, CY_LARGE_DOUBLE], "uilabel": "Dormant Buying Frequency Mean"}
336#line 387 "/cycamore/src/storage.h"
339#line 388 "/cycamore/src/storage.h"
342 #pragma cyclus var {"default": -1, "tooltip": "Dormant buying distribution standard deviation", "doc": "The standard deviation of the length in time steps of the dormant buying period. " "Required for Normal dormant_buying_frequency_type. Must be greater than or equal to 0 ", "uitype": "range", "range": [0.0, CY_LARGE_DOUBLE], "uilabel": "Dormant Buying Frequency Standard Deviation"}
343#line 396 "/cycamore/src/storage.h"
346#line 397 "/cycamore/src/storage.h"
349 #pragma cyclus var {"default": 0, "tooltip": "Probability that agent will return to active during the next time step", "doc": "Binomial distribution has a fixed probability of going active at any given " "timestep, like a weighted coin flip. Required for Binomial dormant_buying_frequency_type. " "Must be between 0 and 1", "uitype": "range", "range": [0.0, 1.0], "uilabel": "Dormant Buying Binomial Offline Probability"}
350#line 406 "/cycamore/src/storage.h"
353#line 407 "/cycamore/src/storage.h"
356 #pragma cyclus var {"default": 0, "tooltip": "Probability that a cycle contains a disruption", "doc": "Probability that the agent undergoes a disruption (longer offline period) " "during any given cycle. Required for FixedWithDisruption dormant_buying_frequency_type.", "uitype": "range", "range": [0.0, 1.0], "uilabel": "Dormant Buying Disruption Probability"}
357#line 415 "/cycamore/src/storage.h"
360#line 416 "/cycamore/src/storage.h"
363 #pragma cyclus var {"default": -1, "tooltip": "Fixed length of disrupted cycle", "doc": "When a dormant cycle is disrupted, this is length of the offline period instead " "of dormant_buying_val. Required for FixedWithDisruption dormant_buying_frequency_type", "uitype": "range", "range": [0, CY_LARGE_INT]}
364#line 423 "/cycamore/src/storage.h"
367#line 424 "/cycamore/src/storage.h"
370 #pragma cyclus var {"default": "Fixed", "tooltip": "Type of behavior used to determine size of buy request", "doc": "Behavior function used to determine the size of requests made. All values are " "a fraction of maximum capacity, determined by the throughput and capacity remaining." " Options: Fixed, Uniform, Normal. Fixed is default behavior. Uniform requires " "buying_size_min and buying_size_max. Normal requires " "buying_size_mean and buying_size_stddev, optional buying_size_min and " "buying_size_max.", "uitype": "combobox", "categorical": ["Fixed", "Uniform", "Normal"], "uilabel": "Buying Size Type"}
371#line 436 "/cycamore/src/storage.h"
374#line 437 "/cycamore/src/storage.h"
377 #pragma cyclus var {"default": 1.0, "tooltip": "Fixed buying size", "doc": "The size of the buy request as a fraction of maximum capacity. Optional for Fixed " "buying_size_type. Must be greater than or equal to 0.0", "uitype": "range", "range": [0.0, 1.0], "uilabel": "Buying Size Value"}
378#line 445 "/cycamore/src/storage.h"
381#line 446 "/cycamore/src/storage.h"
384 #pragma cyclus var {"default": -1.0, "tooltip": "Buying size distribution minimum", "doc": "The minimum size of the buy request as a fraction of maximum capacity. " "Required for Uniform and optional for Normal buying_size_type. Must be greater than " "or equal to zero.", "uitype": "range", "range": [0.0, 1.0], "uilabel": "Buying Size Minimum"}
385#line 455 "/cycamore/src/storage.h"
388#line 456 "/cycamore/src/storage.h"
391 #pragma cyclus var {"default": -1.0, "tooltip": "Buying size distribution maximum", "doc": "The maximum size of the buy request as a fraction of maximum capacity. " "Required for Uniform buying_size_type, optional for Normal. Must be greater than " "or equal to buying_size_min ", "uitype": "range", "range": [0.0, 1.0], "uilabel": "Buying Size Maximum"}
392#line 465 "/cycamore/src/storage.h"
395#line 466 "/cycamore/src/storage.h"
398 #pragma cyclus var {"default": -1.0, "tooltip": "Buying size distribution mean", "doc": "The mean size of the buy request as a fraction of maximum capacity. " "Required for Normal buying_size_type.", "uitype": "range", "range": [0.0, 1.0], "uilabel": "Buying Size Mean"}
399#line 474 "/cycamore/src/storage.h"
402#line 475 "/cycamore/src/storage.h"
405 #pragma cyclus var {"default": -1.0, "tooltip": "Buying size distribution standard deviation", "doc": "The standard deviation of the size of the buy request as a fraction of " "maximum capacity. Required for Normal buying_size_type.", "uitype": "range", "range": [0.0, 1.0], "uilabel": "Buying Size Standard Deviation"}
406#line 483 "/cycamore/src/storage.h"
409#line 484 "/cycamore/src/storage.h"
412 #pragma cyclus var {"default": -1, "tooltip":"Reorder point", "doc":"The point at which the facility will request more material. " "Above this point, no request will be made. Must be less than max_inv_size." "If paired with reorder_quantity, this agent will have an (R,Q) inventory policy. " "If reorder_point is used alone, this agent will have an (s,S) inventory policy, " " with S (the maximum) being set at max_inv_size.", "uilabel":"Reorder Point"}
413#line 493 "/cycamore/src/storage.h"
416#line 494 "/cycamore/src/storage.h"
419 #pragma cyclus var {"default": -1, "tooltip":"Reorder amount (R,Q inventory policy)", "doc":"The amount of material that will be requested when the reorder point is reached. " "Exclusive request, so will demand exactly reorder_quantity." "Reorder_point + reorder_quantity must be less than max_inv_size.", "uilabel":"Reorder Quantity"}
420#line 501 "/cycamore/src/storage.h"
423#line 502 "/cycamore/src/storage.h"
426 #pragma cyclus var {"default": -1, "tooltip": "Total amount of material that can be recieved per cycle.", "doc": "After receiving this much material cumulatively, the agent will go dormant. " "Must be paired with dormant_buying_frequency_type and any other dormant parameters. " "The per-time step demand is unchanged except the cycle cap is almost reached.", "uilabel": "Cumulative Cap"}
427#line 509 "/cycamore/src/storage.h"
430#line 510 "/cycamore/src/storage.h"
433 #pragma cyclus var {"default": "unpackaged", "tooltip": "Output package", "doc": "Outgoing material will be packaged when trading.", "uitype": "package", "uilabel": "Package"}
434#line 516 "/cycamore/src/storage.h"
437#line 517 "/cycamore/src/storage.h"
440 #pragma cyclus var {"default": "unrestricted", "tooltip": "Output transport unit", "doc": "Outgoing material, after packaging, will be " "further restricted by transport unit when trading.", "uitype": "transportunit", "uilabel": "Transport Unit"}
441#line 524 "/cycamore/src/storage.h"
445#line 525 "/cycamore/src/storage.h"
447 #pragma cyclus var {"tooltip":"Incoming material buffer"}
451#line 528 "/cycamore/src/storage.h"
453 #pragma cyclus var {"tooltip":"Output material buffer"}
454 cyclus::toolkit::ResBuf<cyclus::Material>
stocks;
457#line 531 "/cycamore/src/storage.h"
459 #pragma cyclus var {"tooltip":"Buffer for material held for required residence_time"}
460 cyclus::toolkit::ResBuf<cyclus::Material>
ready;
463#line 534 "/cycamore/src/storage.h"
466 #pragma cyclus var{"default": [], "internal": True}
467#line 538 "/cycamore/src/storage.h"
470 #pragma cyclus var {"tooltip":"Buffer for material still waiting for required residence_time"}
474#line 542 "/cycamore/src/storage.h"
476 #pragma cyclus var {"tooltip": "Total Inventory Tracker to restrict maximum agent inventory"}
480#line 545 "/cycamore/src/storage.h"
488 #pragma cyclus var { "default": 0.0, "uilabel": "Geographical latitude in degrees as a double", "doc": "Latitude of the agent's geographical position. The value should " "be expressed in degrees as a double." }
489#line 558 "/cycamore/src/storage.h"
492#line 559 "/cycamore/src/storage.h"
495 #pragma cyclus var { "default": 0.0, "uilabel": "Geographical longitude in degrees as a double", "doc": "Longitude of the agent's geographical position. The value should " "be expressed in degrees as a double." }
496#line 566 "/cycamore/src/storage.h"
500#line 567 "/cycamore/src/storage.h"
This Facility is intended to hold materials for a user specified amount of time in order to model a s...
Storage(cyclus::Context *ctx)
void AddMat_(cyclus::Material::Ptr mat)
adds a material into the incoming commodity inventory
std::string transport_unit
std::vector< int > cycpp_shape_dormant_buying_min
virtual std::string str()
A verbose printer for the Storage Facility.
std::vector< int > cycpp_shape_inventory_tracker
double active_buying_disruption_probability
double current_capacity()
current maximum amount that can be added to processing
std::vector< int > cycpp_shape_buying_size_stddev
cyclus::IntDistribution::Ptr active_dist_
cyclus::toolkit::MatlSellPolicy sell_policy
std::vector< int > cycpp_shape_buying_size_max
std::vector< int > cycpp_shape_active_buying_val
virtual std::string schema()
std::vector< int > cycpp_shape_processing
cyclus::toolkit::ResBuf< cyclus::Material > ready
cyclus::DoubleDistribution::Ptr size_dist_
std::vector< int > cycpp_shape_reorder_point
std::vector< int > cycpp_shape_cumulative_cap
std::vector< int > cycpp_shape_active_buying_end_probability
std::vector< double > in_commod_prefs
double active_buying_stddev
std::vector< int > cycpp_shape_longitude
std::vector< int > cycpp_shape_dormant_buying_max
std::vector< int > cycpp_shape_dormant_buying_mean
std::vector< int > cycpp_shape_buying_size_type
cyclus::toolkit::ResBuf< cyclus::Material > processing
double dormant_buying_disruption_probability
std::vector< int > cycpp_shape_active_buying_disruption_probability
virtual void InitFrom(cycamore::Storage *m)
std::vector< int > cycpp_shape_residence_time
std::vector< int > cycpp_shape_out_commods
cyclus::toolkit::TotalInvTracker inventory_tracker
std::vector< int > cycpp_shape_dormant_buying_stddev
virtual cyclus::Agent * Clone()
std::vector< int > cycpp_shape_package
std::vector< int > cycpp_shape_in_commods
double dormant_buying_mean
virtual void InfileToDb(cyclus::InfileTree *tree, cyclus::DbInit di)
std::vector< std::string > in_commods
std::vector< int > cycpp_shape_active_buying_stddev
int active_buying_disruption
cyclus::IntDistribution::Ptr dormant_dist_
std::vector< int > cycpp_shape_buying_size_min
virtual void Tock()
The handleTick function specific to the Storage.
std::vector< int > cycpp_shape_dormant_buying_end_probability
std::vector< int > cycpp_shape_max_inv_size
void InitBuyPolicyParameters()
sets up the distributions for the buy policy
double active_buying_end_probability
std::vector< int > cycpp_shape_buying_size_mean
std::string active_buying_frequency_type
virtual std::string version()
std::string dormant_buying_frequency_type
cyclus::toolkit::ResBuf< cyclus::Material > inventory
int ready_time()
returns the time key for ready materials
std::vector< int > cycpp_shape_buying_size_val
std::vector< int > cycpp_shape_dormant_buying_val
void ProcessMat_(double cap)
Move as many ready resources as allowable into stocks.
std::vector< int > cycpp_shape_discrete_handling
std::vector< int > cycpp_shape_sell_quantity
std::vector< int > cycpp_shape_reorder_quantity
virtual void InitInv(cyclus::Inventories &inv)
std::vector< int > cycpp_shape_active_buying_min
std::vector< std::string > out_commods
std::list< int > entry_times
std::vector< int > cycpp_shape_dormant_buying_disruption_probability
std::vector< int > cycpp_shape_dormant_buying_frequency_type
std::vector< int > cycpp_shape_latitude
std::vector< int > cycpp_shape_active_buying_max
std::vector< int > cycpp_shape_dormant_buying_disruption
double active_buying_mean
double dormant_buying_stddev
void ReadyMatl_(int time)
move ready resources from processing to ready at a certain time
std::string buying_size_type
std::vector< int > cycpp_shape_active_buying_mean
double dormant_buying_end_probability
double buying_size_stddev
std::vector< int > cycpp_shape_active_buying_frequency_type
void BeginProcessing_()
Move all unprocessed inventory to processing.
std::vector< int > cycpp_shape_inventory
std::vector< int > cycpp_shape_transport_unit
cyclus::toolkit::ResBuf< cyclus::Material > stocks
int dormant_buying_disruption
cyclus::toolkit::Position coordinates
std::vector< int > cycpp_shape_active_buying_disruption
virtual void EnterNotify()
Sets up the Storage Facility's trade requests.
virtual Json::Value annotations()
double capacity()
returns total capacity
std::vector< int > cycpp_shape_in_commod_prefs
virtual cyclus::Inventories SnapshotInv()
std::vector< int > cycpp_shape_stocks
virtual void Snapshot(cyclus::DbInit di)
std::vector< int > cycpp_shape_throughput
cyclus::toolkit::MatlBuyPolicy buy_policy
std::vector< int > cycpp_shape_ready
virtual void Tick()
The handleTick function specific to the Storage.
std::vector< int > cycpp_shape_in_recipe