2#line 1 "/cycamore/src/conversion.h"
3#ifndef CYCAMORE_SRC_CONVERSION_H_
4#define CYCAMORE_SRC_CONVERSION_H_
15#pragma cyclus exec from cyclus.system import CY_LARGE_DOUBLE, CY_LARGE_INT, CY_NEAR_ZERO
26 :
public cyclus::Facility,
27 public cyclus::toolkit::Position {
36 #pragma cyclus note { "doc": " A conversion facility that accepts materials and products and with a \n" " fixed throughput (per time step) converts them into its outcommod. " }
37#line 39 "/cycamore/src/conversion.h"
41 virtual void InitFrom(cyclus::QueryableBackend* b);
43 virtual void InfileToDb(cyclus::InfileTree* tree, cyclus::DbInit di);
45 virtual cyclus::Agent*
Clone();
47 virtual std::string
schema();
51 virtual void InitInv(cyclus::Inventories& inv);
55 virtual void Snapshot(cyclus::DbInit di);
56#line 41 "/cycamore/src/conversion.h"
59 virtual std::string
str();
73 virtual std::set<cyclus::RequestPortfolio<cyclus::Material>::Ptr>
76 virtual std::set<cyclus::BidPortfolio<cyclus::Material>::Ptr>
81 const std::vector< cyclus::Trade<cyclus::Material> >& trades,
82 std::vector<std::pair<cyclus::Trade<cyclus::Material>,
83 cyclus::Material::Ptr> >& responses);
87 const std::vector< std::pair<cyclus::Trade<cyclus::Material>,
88 cyclus::Material::Ptr> >& responses);
94 #include "toolkit/position.cycpp.h"
98 #pragma cyclus var { "tooltip": "input commodities", "doc": "commodities that the conversion facility accepts", "uilabel": "List of Input Commodities", "uitype": ["oneormore", "incommodity"] }
99#line 88 "/cycamore/src/conversion.h"
102#line 89 "/cycamore/src/conversion.h"
105 #pragma cyclus var { "tooltip": "output commodity", "doc": "Output commodity on which the conversion facility offers material.", "uilabel": "Output Commodity", "uitype": "outcommodity", }
106#line 96 "/cycamore/src/conversion.h"
110#line 97 "/cycamore/src/conversion.h"
113 #pragma cyclus var { "default": CY_LARGE_DOUBLE, "tooltip": "conversion throughput per timestep", "uilabel": "Maximum conversion throughput", "uitype": "range", "range": [0.0, CY_LARGE_DOUBLE], "doc": "throughput the facility can convert at each time step" }
114#line 107 "/cycamore/src/conversion.h"
117#line 108 "/cycamore/src/conversion.h"
120 #pragma cyclus var { "default": CY_LARGE_DOUBLE, "tooltip": "input buffer capacity", "uilabel": "Maximum Storage of Input Buffer", "uitype": "range", "range": [0.0, CY_LARGE_DOUBLE], "doc": "Total capacity of the input buffer. The amount requested per " "time step is the minimum the conversion throughput and this capacity " "minus the amount of material in the input buffer." }
121#line 119 "/cycamore/src/conversion.h"
125#line 120 "/cycamore/src/conversion.h"
128 #pragma cyclus var {'capacity': 'input_capacity'}
129 cyclus::toolkit::ResBuf<cyclus::Material>
input;
132#line 124 "/cycamore/src/conversion.h"
135 cyclus::toolkit::ResBuf<cyclus::Material>
output;
This facility acts as a simple conversion facility from its input commodity to its output commodity.
double throughput
Conversion throughput per timestep.
cyclus::toolkit::ResBuf< cyclus::Material > input
this facility holds a certain amount of material
virtual std::string version()
std::vector< int > cycpp_shape_input
virtual std::set< cyclus::RequestPortfolio< cyclus::Material >::Ptr > GetMatlRequests()
Conversion Facilities request Materials of their given commodity.
virtual void InitInv(cyclus::Inventories &inv)
virtual void Snapshot(cyclus::DbInit di)
double AvailableFeedstockCapacity()
virtual std::string schema()
virtual void InfileToDb(cyclus::InfileTree *tree, cyclus::DbInit di)
virtual std::string str()
virtual cyclus::Agent * Clone()
virtual Json::Value annotations()
virtual void EnterNotify()
cyclus::toolkit::ResBuf< cyclus::Material > output
a buffer for outgoing material
std::vector< int > cycpp_shape_outcommod
virtual std::set< cyclus::BidPortfolio< cyclus::Material >::Ptr > GetMatlBids(cyclus::CommodMap< cyclus::Material >::type &commod_requests)
virtual void AcceptMatlTrades(const std::vector< std::pair< cyclus::Trade< cyclus::Material >, cyclus::Material::Ptr > > &responses)
Conversion Facilities place accepted trade Materials in their Inventory.
virtual void InitFrom(cycamore::Conversion *m)
virtual cyclus::Inventories SnapshotInv()
virtual void GetMatlTrades(const std::vector< cyclus::Trade< cyclus::Material > > &trades, std::vector< std::pair< cyclus::Trade< cyclus::Material >, cyclus::Material::Ptr > > &responses)
std::vector< int > cycpp_shape_throughput
std::vector< int > cycpp_shape_input_capacity
Conversion(cyclus::Context *ctx)
std::vector< int > cycpp_shape_incommods
std::vector< std::string > incommods
all facilities must have at least one input commodity