1 #ifndef CYCAMORE_SRC_SOURCE_H_ 2 #define CYCAMORE_SRC_SOURCE_H_ 23 class Source :
public cyclus::Facility,
24 public cyclus::toolkit::CommodityProducer,
25 public cyclus::toolkit::Position {
29 Source(cyclus::Context* ctx);
35 #pragma cyclus note { \ 36 "doc": "This facility acts as a source of material with a fixed throughput (per\n" \ 37 "time step) capacity and a lifetime capacity defined by a total inventory\n" \ 38 "size. It offers its material as a single commodity. If a composition\n" \ 39 "recipe is specified, it provides that single material composition to\n" \ 40 "requesters. If unspecified, the source provides materials with the exact\n" \ 41 "requested compositions. The inventory size and throughput both default to\n" \ 42 "infinite. Supplies material results in corresponding decrease in\n" \ 43 "inventory, and when the inventory size reaches zero, the source can provide\n" \ 44 "no more material.\n" \ 48 #pragma cyclus def clone 49 #pragma cyclus def schema 50 #pragma cyclus def annotations 51 #pragma cyclus def infiletodb 52 #pragma cyclus def snapshot 53 #pragma cyclus def snapshotinv 54 #pragma cyclus def initinv 58 virtual void InitFrom(cyclus::QueryableBackend* b);
66 virtual std::set<cyclus::BidPortfolio<cyclus::Material>::Ptr>
67 GetMatlBids(cyclus::CommodMap<cyclus::Material>::type&
71 const std::vector< cyclus::Trade<cyclus::Material> >& trades,
72 std::vector<std::pair<cyclus::Trade<cyclus::Material>,
73 cyclus::Material::Ptr> >& responses);
76 #pragma cyclus var { \ 77 "tooltip": "source output commodity", \ 78 "doc": "Output commodity on which the source offers material.", \ 79 "uilabel": "Output Commodity", \ 80 "uitype": "outcommodity", \ 84 #pragma cyclus var { \ 85 "tooltip": "name of material recipe to provide", \ 86 "doc": "Name of composition recipe that this source provides regardless " \ 87 "of requested composition. If empty, source creates and provides " \ 88 "whatever compositions are requested.", \ 89 "uilabel": "Output Recipe", \ 91 "uitype": "outrecipe", \ 95 #pragma cyclus var { \ 96 "doc": "Total amount of material this source has remaining." \ 97 " Every trade decreases this value by the supplied material " \ 98 "quantity. When it reaches zero, the source cannot provide any " \ 102 "range": [0.0, 1e299], \ 103 "uilabel": "Initial Inventory", \ 108 #pragma cyclus var { \ 110 "tooltip": "per time step throughput", \ 111 "units": "kg/(time step)", \ 112 "uilabel": "Maximum Throughput", \ 114 "range": [0.0, 1e299], \ 115 "doc": "amount of commodity that can be supplied at each time step", \ 119 #pragma cyclus var { \ 121 "uilabel": "Geographical latitude in degrees as a double", \ 122 "doc": "Latitude of the agent's geographical position. The value should " \ 123 "be expressed in degrees as a double." \ 127 #pragma cyclus var { \ 129 "uilabel": "Geographical longitude in degrees as a double", \ 130 "doc": "Longitude of the agent's geographical position. The value should " \ 131 "be expressed in degrees as a double." \ 142 #endif // CYCAMORE_SRC_SOURCE_H_ This facility acts as a source of material with a fixed throughput (per time step) capacity and a lif...
cyclus::toolkit::Position coordinates
virtual std::set< cyclus::BidPortfolio< cyclus::Material >::Ptr > GetMatlBids(cyclus::CommodMap< cyclus::Material >::type &commod_requests)
cycamore::GrowthRegion string
virtual std::string str()
virtual void InitFrom(Source *m)
Source(cyclus::Context *ctx)
virtual std::string version()
virtual void GetMatlTrades(const std::vector< cyclus::Trade< cyclus::Material > > &trades, std::vector< std::pair< cyclus::Trade< cyclus::Material >, cyclus::Material::Ptr > > &responses)