diff --git a/src/deploy_inst.h b/src/deploy_inst.h index 87b86da8f7..4d839cdaff 100644 --- a/src/deploy_inst.h +++ b/src/deploy_inst.h @@ -21,13 +21,14 @@ typedef std::map > BuildSched; class DeployInst : public cyclus::Institution { #pragma cyclus note { \ "doc": \ - "Builds and manages agents (facilities) according to a manually specified" \ - " deployment schedule. Deployed agents are automatically decommissioned at" \ - " the end of their lifetime. The user specifies a list of prototypes for" \ + "Builds and manages agents (facilities) according to a manually" \ + " specified deployment schedule. Deployed agents are automatically" \ + " decommissioned at the end of their lifetime. The user specifies a" \ + " list of prototypes for" \ " each and corresponding build times, number to build, and (optionally)" \ - " lifetimes. The same prototype can be specified multiple times with any" \ - " combination of the same or different build times, build number, and" \ - " lifetimes. " \ + " lifetimes. The same prototype can be specified multiple times with" \ + " any combination of the same or different build times, build number," \ + " and lifetimes. " \ } public: DeployInst(cyclus::Context* ctx); @@ -49,23 +50,30 @@ class DeployInst : public cyclus::Institution { std::vector prototypes; #pragma cyclus var { \ - "doc": "Time step on which to deploy agents given in prototype list (same order).", \ - "uilabel": "Deployment times", \ + "doc": "Time step on which to deploy agents given in prototype list " \ + "(same order).", \ + "uilabel": "Deployment times", \ } std::vector build_times; #pragma cyclus var { \ - "doc": "Number of each prototype given in prototype list that should be deployed (same order).", \ + "doc": "Number of each prototype given in prototype list that should be " \ + "deployed (same order).", \ "uilabel": "Number to deploy", \ } std::vector n_build; - #pragma cyclus var { \ + +#pragma cyclus var { \ "doc": "Lifetimes for each prototype in prototype list (same order)." \ - " These lifetimes override the lifetimes in the original prototype definition." \ - " If unspecified, lifetimes from the original prototype definitions are used." \ - " Although a new prototype is created in the Prototypes table for each lifetime with the suffix '_life_[lifetime]'," \ - " all deployed agents themselves will have the same original prototype name (and so will the Agents tables).", \ + " These lifetimes override the lifetimes in the original prototype" \ + " definition." \ + " If unspecified, lifetimes from the original prototype definitions"\ + " are used." \ + " Although a new prototype is created in the Prototypes table for" \ + " each lifetime with the suffix '_life_[lifetime]'," \ + " all deployed agents themselves will have the same original" \ + " prototype name (and so will the Agents tables).", \ "default": [], \ "uilabel": "Lifetimes" \ } diff --git a/src/enrichment.h b/src/enrichment.h index 38a32f4051..9ce7550583 100644 --- a/src/enrichment.h +++ b/src/enrichment.h @@ -267,13 +267,7 @@ class Enrichment : public cyclus::Facility { "uitype": "incommodity" \ } std::string feed_commod; - #pragma cyclus var { \ - "tooltip": "product commodity", \ - "doc": "product commodity that the enrichment facility generates", \ - "uilabel": "Product Commodity", \ - "uitype": "outcommodity" \ - } - std::string product_commod; + #pragma cyclus var { \ "tooltip": "feed recipe", \ "doc": "recipe for enrichment facility feed commodity", \ @@ -281,28 +275,39 @@ class Enrichment : public cyclus::Facility { "uitype": "recipe" \ } std::string feed_recipe; + #pragma cyclus var { \ + "tooltip": "product commodity", \ + "doc": "product commodity that the enrichment facility generates", \ + "uilabel": "Product Commodity", \ + "uitype": "outcommodity" \ + } + std::string product_commod; + + #pragma cyclus var { \ "tooltip": "tails commodity", \ "doc": "tails commodity supplied by enrichment facility", \ "uilabel": "Tails Commodity", \ "uitype": "outcommodity" \ } std::string tails_commod; - #pragma cyclus var { \ + + #pragma cyclus var { \ "default": 0.003, "tooltip": "tails assay", \ "uilabel": "Tails Assay", \ "doc": "tails assay from the enrichment process", \ } double tails_assay; - #pragma cyclus var { \ - "default": 1e299, \ - "tooltip": "SWU capacity (kgSWU/month)", \ - "uilabel": "SWU Capacity", \ - "doc": "separative work unit (SWU) capacity of enrichment " \ - "facility (kgSWU/month) " \ + + #pragma cyclus var { \ + "default": 0, "tooltip": "initial uranium reserves (kg)", \ + "uilabel": "Initial Feed Inventory", \ + "doc": "amount of natural uranium stored at the enrichment " \ + "facility at the beginning of the simulation (kg)" \ } - double swu_capacity; - #pragma cyclus var { \ + double initial_feed; + + #pragma cyclus var { \ "default": 1e299, "tooltip": "max inventory of feed material (kg)", \ "uilabel": "Maximum Feed Inventory", \ "doc": "maximum total inventory of natural uranium in " \ @@ -326,23 +331,25 @@ class Enrichment : public cyclus::Facility { } double max_enrich; - #pragma cyclus var { \ - "default": 0, "tooltip": "initial uranium reserves (kg)", \ - "uilabel": "Initial Feed Inventory", \ - "doc": "amount of natural uranium stored at the enrichment " \ - "facility at the beginning of the simulation (kg)" \ - } - double initial_feed; #pragma cyclus var { \ "default": 1, \ "userlevel": 10, \ - "tooltip": "order material requests by U235 content", \ + "tooltip": "Rank Material Requests by U235 Content", \ "uilabel": "Prefer feed with higher U235 content", \ "doc": "turn on preference ordering for input material " \ "so that EF chooses higher U235 content first" \ } bool order_prefs; + #pragma cyclus var { \ + "default": 1e299, \ + "tooltip": "SWU capacity (kgSWU/month)", \ + "uilabel": "SWU Capacity", \ + "doc": "separative work unit (SWU) capacity of enrichment " \ + "facility (kgSWU/timestep) " \ + } + double swu_capacity; + double current_swu_capacity; #pragma cyclus var { 'capacity': 'max_feed_inventory' } diff --git a/src/fuel_fab.h b/src/fuel_fab.h index 5facb27cff..b7892a924a 100644 --- a/src/fuel_fab.h +++ b/src/fuel_fab.h @@ -132,13 +132,7 @@ class FuelFab : public cyclus::Facility { "uilabel": "Filler Stream Commodities", \ "uitype": ["oneormore", "incommodity"], \ } - std::vector fill_commods; - #pragma cyclus var { \ - "doc": "Name of recipe to be used in filler material stream requests.", \ - "uilabel": "Filler Stream Recipe", \ - "uitype": "recipe", \ - } - std::string fill_recipe; + std::vector fill_commods; #pragma cyclus var { \ "default": [], \ "uilabel": "Filler Stream Preferences", \ @@ -146,6 +140,12 @@ class FuelFab : public cyclus::Facility { " If unspecified, default is to use 1.0 for all preferences.", \ } std::vector fill_commod_prefs; + #pragma cyclus var { \ + "doc": "Name of recipe to be used in filler material stream requests.", \ + "uilabel": "Filler Stream Recipe", \ + "uitype": "recipe", \ + } + std::string fill_recipe; #pragma cyclus var { \ "doc": "Size of filler material stream inventory.", \ "uilabel": "Filler Stream Inventory Capacity", \ @@ -172,7 +172,7 @@ class FuelFab : public cyclus::Facility { "doc": "Name for recipe to be used in fissile stream requests." \ " Empty string results in use of an empty dummy recipe.", \ "uitype": "recipe", \ - "uilabel": "Fissile Stream Recipes", \ + "uilabel": "Fissile Stream Recipe", \ "default": "", \ } std::string fiss_recipe; @@ -193,6 +193,12 @@ class FuelFab : public cyclus::Facility { "uitype": "incommodity", \ } std::string topup_commod; + #pragma cyclus var { \ + "doc": "Top-up material stream request preference.", \ + "uilabel": "Top-up Stream Preference", \ + "default": 0, \ + } + double topup_pref; #pragma cyclus var { \ "doc": "Name of recipe to be used in top-up material stream requests." \ " This MUST be set if 'topup_size > 0'.", \ @@ -201,12 +207,6 @@ class FuelFab : public cyclus::Facility { "default": "", \ } std::string topup_recipe; - #pragma cyclus var { \ - "doc": "Top-up material stream request preference.", \ - "uilabel": "Top-up Stream Preference", \ - "default": 0, \ - } - double topup_pref; #pragma cyclus var { \ "doc": "Size of top-up material stream inventory.", \ "uilabel": "Top-up Stream Inventory Capacity", \ @@ -217,14 +217,6 @@ class FuelFab : public cyclus::Facility { #pragma cyclus var {"capacity": "topup_size"} cyclus::toolkit::ResBuf topup; - #pragma cyclus var { \ - "uilabel": "Spectrum type", \ - "categorical": ['fission_spectrum_ave','thermal'], \ - "doc": "The type of cross-sections to use for composition property calculation." \ - " Use 'fission_spectrum_ave' for fast reactor compositions or 'thermal' for thermal reactors.", \ - } - std::string spectrum; - #pragma cyclus var { \ "doc": "Commodity on which to offer/supply mixed fuel material.", \ "uilabel": "Output Commodity", \ @@ -239,6 +231,14 @@ class FuelFab : public cyclus::Facility { } double throughput; + #pragma cyclus var { \ + "uilabel": "Spectrum type", \ + "categorical": ['fission_spectrum_ave','thermal'], \ + "doc": "The type of cross-sections to use for composition property calculation." \ + " Use 'fission_spectrum_ave' for fast reactor compositions or 'thermal' for thermal reactors.", \ + } + std::string spectrum; + // intra-time-step state - no need to be a state var // map std::map*, std::string> req_inventories_; diff --git a/src/reactor.h b/src/reactor.h index a6aa645dbf..2ea0b55cdb 100644 --- a/src/reactor.h +++ b/src/reactor.h @@ -172,50 +172,104 @@ class Reactor : public cyclus::Facility, /// Returns all spent assemblies indexed by outcommod without removing them /// from the spent fuel buffer. std::map PeekSpent(); + + /////// fuel specifications ///////// + #pragma cyclus var { \ + "uitype": ["oneormore", "incommodity"], \ + "uilabel": "Fresh Fuel Commodity List", \ + "doc": "Ordered list of input commodities on which to requesting fuel.", \ + } + std::vector fuel_incommods; + #pragma cyclus var { \ + "uitype": ["oneormore", "recipe"], \ + "uilabel": "Fresh Fuel Recipe List", \ + "doc": "Fresh fuel recipes to request for each of the given fuel input " \ + "commodities (same order).", \ + } + std::vector fuel_inrecipes; - - //////////// power params //////////// #pragma cyclus var { \ - "default": 0, \ - "doc": "Amount of electrical power the facility produces when operating normally.", \ - "uilabel": "Nominal Reactor Power", \ - "units": "MWe", \ + "default": [], \ + "uilabel": "Fresh Fuel Preference List", \ + "doc": "The preference for each type of fresh fuel requested corresponding"\ + " to each input commodity (same order). If no preferences are " \ + "specified, zero is used for all fuel requests (default).", \ } - double power_cap; + std::vector fuel_prefs; + #pragma cyclus var { \ + "uitype": ["oneormore", "outcommodity"], \ + "uilabel": "Spent Fuel Commodity List", \ + "doc": "Output commodities on which to offer spent fuel originally " \ + "received as each particular input commodity (same order)." \ + } + std::vector fuel_outcommods; + #pragma cyclus var { \ + "uitype": ["oneormore", "recipe"], \ + "uilabel": "Spent Fuel Recipe List", \ + "doc": "Spent fuel recipes corresponding to the given fuel input " \ + "commodities (same order)." \ + " Fuel received via a particular input commodity is transmuted to " \ + "the recipe specified here after being burned during a cycle.", \ + } + std::vector fuel_outrecipes; + ///////////// recipe changes /////////// #pragma cyclus var { \ - "default": "power", \ - "uilabel": "Power Commodity Name", \ - "doc": "The name of the 'power' commodity used in conjunction with a deployment curve.", \ + "default": [], \ + "uilabel": "Time to Change Fresh/Spent Fuel Recipe", \ + "doc": "A time step on which to change the input-output recipe pair for " \ + "a requested fresh fuel.", \ } - std::string power_name; - - //////////// inventory and core params //////////// + std::vector recipe_change_times; #pragma cyclus var { \ - "uilabel": "Number of Assemblies per Batch", \ - "doc": "Number of assemblies that constitute a single batch." \ - "This is the number of assemblies discharged from the core fully burned each cycle." \ - "Batch size is equivalent to ``n_assem_batch / n_assem_core``.", \ + "default": [], \ + "uilabel": "Commodity for Changed Fresh/Spent Fuel Recipe", \ + "doc": "The input commodity indicating fresh fuel for which recipes will " \ + "be changed. Same order as and direct correspondence to the " \ + "specified recipe change times.", \ + "uitype": ["oneormore", "incommodity"], \ } - int n_assem_batch; + std::vector recipe_change_commods; + #pragma cyclus var { \ + "default": [], \ + "uilabel": "New Recipe for Fresh Fuel", \ + "doc": "The new input recipe to use for this recipe change." \ + " Same order as and direct correspondence to the specified recipe " \ + "change times.", \ + "uitype": ["oneormore", "recipe"], \ + } + std::vector recipe_change_in; #pragma cyclus var { \ - "doc": "Mass (kg) of a single assembly.", \ - "uilabels": "Assembly Mass", \ + "default": [], \ + "uilabel": "New Recipe for Spent Fuel", \ + "doc": "The new output recipe to use for this recipe change." \ + " Same order as and direct correspondence to the specified recipe " \ + "change times.", \ + "uitype": ["oneormore", "recipe"], \ + } + std::vector recipe_change_out; + + //////////// inventory and core params //////////// + #pragma cyclus var { \ + "doc": "Mass (kg) of a single assembly.", \ + "uilabel": "Assembly Mass", \ "units": "kg", \ } double assem_size; + + #pragma cyclus var { \ + "uilabel": "Number of Assemblies per Batch", \ + "doc": "Number of assemblies that constitute a single batch. " \ + "This is the number of assemblies discharged from the core fully " \ + "burned each cycle." \ + "Batch size is equivalent to ``n_assem_batch / n_assem_core``.", \ + } + int n_assem_batch; #pragma cyclus var { \ "uilabel": "Number of Assemblies in Core", \ "doc": "Number of assemblies that constitute a full core.", \ } int n_assem_core; - #pragma cyclus var { \ - "default": 1000000000, \ - "uilabel": "Maximum Spent Fuel Inventory", \ - "units": "assemblies", \ - "doc": "Number of spent fuel assemblies that can be stored on-site before reactor operation stalls.", \ - } - int n_assem_spent; #pragma cyclus var { \ "default": 0, \ "uilabel": "Minimum Fresh Fuel Inventory", \ @@ -223,17 +277,26 @@ class Reactor : public cyclus::Facility, "doc": "Number of fresh fuel assemblies to keep on-hand if possible.", \ } int n_assem_fresh; + #pragma cyclus var { \ + "default": 1000000000, \ + "uilabel": "Maximum Spent Fuel Inventory", \ + "units": "assemblies", \ + "doc": "Number of spent fuel assemblies that can be stored on-site before" \ + " reactor operation stalls.", \ + } + int n_assem_spent; - ///////// cycle params /////////// + ///////// cycle params /////////// #pragma cyclus var { \ - "doc": "The duration of a full operational cycle (excluding refueling time) in time steps.", \ + "doc": "The duration of a full operational cycle (excluding refueling " \ + "time) in time steps.", \ "uilabel": "Cycle Length", \ "units": "time steps", \ } int cycle_time; #pragma cyclus var { \ - "doc": "The duration of a full refueling period - the minimum time between" \ - " a cycle end and the start of the next cycle.", \ + "doc": "The duration of a full refueling period - the minimum time between"\ + " the end of a cycle and the start of the next cycle.", \ "uilabel": "Refueling Outage Duration", \ "units": "time steps", \ } @@ -247,51 +310,23 @@ class Reactor : public cyclus::Facility, } int cycle_step; - /////// fuel specifications ///////// - #pragma cyclus var { \ - "uitype": ["oneormore", "incommodity"], \ - "uilabel": "Fresh Fuel Commodity List", \ - "doc": "Ordered list of input commodities on which to requesting fuel.", \ - } - std::vector fuel_incommods; - #pragma cyclus var { \ - "uitype": ["oneormore", "recipe"], \ - "uilabel": "Fresh Fuel Recipe List", \ - "doc": "Fresh fuel recipes to request for each of the given fuel input commodities (same order).", \ - } - std::vector fuel_inrecipes; - #pragma cyclus var { \ - "uitype": ["oneormore", "recipe"], \ - "uilabel": "Spent Fuel Recipe List", \ - "doc": "Spent fuel recipes corresponding to the given fuel input commodities (same order)." \ - " Fuel received via a particular input commodity is transmuted to the recipe specified" \ - " here after being burned during a cycle.", \ - } - std::vector fuel_outrecipes; + //////////// power params //////////// #pragma cyclus var { \ - "uitype": ["oneormore", "outcommodity"], \ - "uilabel": "Spent Fuel Commodity List", \ - "doc": "Output commodities on which to offer spent fuel originally received as each particular " \ - " input commodity (same order)." \ + "default": 0, \ + "doc": "Amount of electrical power the facility produces when operating " \ + "normally.", \ + "uilabel": "Nominal Reactor Power", \ + "units": "MWe", \ } - std::vector fuel_outcommods; + double power_cap; + #pragma cyclus var { \ - "default": [], \ - "uilabel": "Fresh Fuel Preference List", \ - "doc": "The preference for each type of fresh fuel requested corresponding to each input" \ - " commodity (same order). If no preferences are specified, zero is" \ - " used for all fuel requests (default).", \ + "default": "power", \ + "uilabel": "Power Commodity Name", \ + "doc": "The name of the 'power' commodity used in conjunction with a " \ + "deployment curve.", \ } - std::vector fuel_prefs; - - // Resource inventories - these must be defined AFTER/BELOW the member vars - // referenced (e.g. n_batch_fresh, assem_size, etc.). - #pragma cyclus var {"capacity": "n_assem_fresh * assem_size"} - cyclus::toolkit::ResBuf fresh; - #pragma cyclus var {"capacity": "n_assem_core * assem_size"} - cyclus::toolkit::ResBuf core; - #pragma cyclus var {"capacity": "n_assem_spent * assem_size"} - cyclus::toolkit::ResBuf spent; + std::string power_name; /////////// preference changes /////////// #pragma cyclus var { \ @@ -303,8 +338,9 @@ class Reactor : public cyclus::Facility, std::vector pref_change_times; #pragma cyclus var { \ "default": [], \ - "doc": "The input commodity for a particular fuel preference change." \ - " Same order as and direct correspondence to the specified preference change times.", \ + "doc": "The input commodity for a particular fuel preference change. " \ + "Same order as and direct correspondence to the specified " \ + "preference change times.", \ "uilabel": "Commodity for Changed Fresh Fuel Preference", \ "uitype": ["oneormore", "incommodity"], \ } @@ -313,52 +349,31 @@ class Reactor : public cyclus::Facility, "default": [], \ "uilabel": "Changed Fresh Fuel Preference", \ "doc": "The new/changed request preference for a particular fresh fuel." \ - " Same order as and direct correspondence to the specified preference change times.", \ + " Same order as and direct correspondence to the specified " \ + "preference change times.", \ } std::vector pref_change_values; - ///////////// recipe changes /////////// - #pragma cyclus var { \ - "default": [], \ - "uilabel": "Time to Change Fresh/Spent Fuel Recipe", \ - "doc": "A time step on which to change the input-output recipe pair for a requested fresh fuel.", \ - } - std::vector recipe_change_times; - #pragma cyclus var { \ - "default": [], \ - "uilabel": "Commodity for Changed Fresh/Spent Fuel Recipe", \ - "doc": "The input commodity indicating fresh fuel for which recipes will be changed." \ - " Same order as and direct correspondence to the specified recipe change times.", \ - "uitype": ["oneormore", "incommodity"], \ - } - std::vector recipe_change_commods; - #pragma cyclus var { \ - "default": [], \ - "uilabel": "New Recipe for Fresh Fuel", \ - "doc": "The new input recipe to use for this recipe change." \ - " Same order as and direct correspondence to the specified recipe change times.", \ - "uitype": ["oneormore", "recipe"], \ - } - std::vector recipe_change_in; - #pragma cyclus var { \ - "default": [], \ - "uilabel": "New Recipe for Spent Fuel", \ - "doc": "The new output recipe to use for this recipe change." \ - " Same order as and direct correspondence to the specified recipe change times.", \ - "uitype": ["oneormore", "recipe"], \ - } - std::vector recipe_change_out; + // Resource inventories - these must be defined AFTER/BELOW the member vars + // referenced (e.g. n_batch_fresh, assem_size, etc.). + #pragma cyclus var {"capacity": "n_assem_fresh * assem_size"} + cyclus::toolkit::ResBuf fresh; + #pragma cyclus var {"capacity": "n_assem_core * assem_size"} + cyclus::toolkit::ResBuf core; + #pragma cyclus var {"capacity": "n_assem_spent * assem_size"} + cyclus::toolkit::ResBuf spent; + // should be hidden in ui (internal only). True if fuel has already been // discharged this cycle. - #pragma cyclus var {"default": 0, "doc": "This should NEVER be set manually.", \ + #pragma cyclus var {"default": 0, "doc": "This should NEVER be set manually",\ "internal": True \ } bool discharged; // This variable should be hidden/unavailable in ui. Maps resource object // id's to the index for the incommod through which they were received. - #pragma cyclus var {"default": {}, "doc": "This should NEVER be set manually.", \ + #pragma cyclus var {"default": {}, "doc": "This should NEVER be set manually", \ "internal": True \ } std::map res_indexes; diff --git a/src/separations.h b/src/separations.h index 809f7b212b..7b9df15f76 100644 --- a/src/separations.h +++ b/src/separations.h @@ -97,15 +97,9 @@ class Separations : public cyclus::Facility { private: #pragma cyclus var { \ - "doc" : "Maximum quantity of feed material that can be processed per time step.", \ - "uilabel": "Maximum Separations Throughput", \ - "units": "kg", \ - } - double throughput; - - #pragma cyclus var { \ - "doc": "Ordered list of commodities on which to request feed material to separate." \ - " Order only matters for matching up with feed commodity preferences if specified.", \ + "doc": "Ordered list of commodities on which to request feed material to " \ + "separate. Order only matters for matching up with feed commodity " \ + "preferences if specified.", \ "uilabel": "Feed Commodity List", \ "uitype": ["oneormore", "incommodity"], \ } @@ -114,7 +108,8 @@ class Separations : public cyclus::Facility { #pragma cyclus var { \ "default": [], \ "uilabel": "Feed Commodity Preference List", \ - "doc": "Feed commodity request preferences for each of the given feed commodities (same order)." \ + "doc": "Feed commodity request preferences for each of the given feed " \ + "commodities (same order)." \ " If unspecified, default is to use zero for all preferences.", \ } std::vector feed_commod_prefs; @@ -141,18 +136,17 @@ class Separations : public cyclus::Facility { cyclus::toolkit::ResBuf feed; #pragma cyclus var { \ - "doc" : "Maximum amount of leftover separated material (not included in" \ - " any other stream) that can be stored." \ - " If full, the facility halts operation until space becomes available.", \ - "uilabel": "Maximum Leftover Inventory", \ - "default": 1e299, \ + "doc" : "Maximum quantity of feed material that can be processed per time "\ + "step.", \ + "uilabel": "Maximum Separations Throughput", \ "units": "kg", \ } - double leftoverbuf_size; + double throughput; #pragma cyclus var { \ - "doc": "Commodity on which to trade the leftover separated material stream." \ - " This MUST NOT be the same as any commodity used to define the other separations streams.", \ + "doc": "Commodity on which to trade the leftover separated material " \ + "stream. This MUST NOT be the same as any commodity used to define "\ + "the other separations streams.", \ "uitype": "outcommodity", \ "uilabel": "Leftover Commodity", \ "default": "default-waste-stream", \ @@ -160,6 +154,17 @@ class Separations : public cyclus::Facility { std::string leftover_commod; #pragma cyclus var { \ + "doc" : "Maximum amount of leftover separated material (not included in" \ + " any other stream) that can be stored." \ + " If full, the facility halts operation until space becomes " \ + "available.", \ + "uilabel": "Maximum Leftover Inventory", \ + "default": 1e299, \ + "units": "kg", \ + } + double leftoverbuf_size; + + #pragma cyclus var { \ "capacity" : "leftoverbuf_size", \ } cyclus::toolkit::ResBuf leftover; @@ -169,14 +174,17 @@ class Separations : public cyclus::Facility { "uitype": ["oneormore", "outcommodity", ["pair", "double", ["oneormore", "nuclide", "double"]]], \ "uilabel": "Separations Streams and Efficiencies", \ "doc": "Output streams for separations." \ - " Each stream must have a unique name identifying the commodity on which its material is traded," \ + " Each stream must have a unique name identifying the commodity on "\ + " which its material is traded," \ " a max buffer capacity in kg (neg values indicate infinite size)," \ " and a set of component efficiencies." \ " 'comp' is a component to be separated into the stream" \ - " (e.g. U, Pu, etc.) and 'eff' is the mass fraction of the component" \ - " that is separated from the feed into this output stream." \ - " If any stream buffer is full, the facility halts operation until space becomes available." \ - " The sum total of all component efficiencies across streams must be less than or equal to 1" \ + " (e.g. U, Pu, etc.) and 'eff' is the mass fraction of the" \ + " component that is separated from the feed into this output" \ + " stream. If any stream buffer is full, the facility halts" \ + " operation until space becomes available." \ + " The sum total of all component efficiencies across streams must" \ + " be less than or equal to 1" \ " (e.g. sum of U efficiencies for all streams must be <= 1).", \ } std::map > > streams_; diff --git a/src/sink.h b/src/sink.h index 7c07609d9b..5dc3cedfb3 100644 --- a/src/sink.h +++ b/src/sink.h @@ -104,16 +104,10 @@ class Sink : public cyclus::Facility { "uitype": ["oneormore", "incommodity"]} std::vector in_commods; - /// monthly acceptance capacity - #pragma cyclus var {"default": 1e299, "tooltip": "sink capacity", \ - "uilabel": "Maximum Throughput", \ - "doc": "capacity the sink facility can " \ - "accept at each time step"} - double capacity; - #pragma cyclus var {"default": "", "tooltip": "requested composition", \ - "doc": "name of recipe to use for material requests, where " \ - "the default (empty string) is to accept everything", \ + "doc": "name of recipe to use for material requests, " \ + "where the default (empty string) is to accept " \ + "everything", \ "uilabel": "Input Recipe", \ "uitype": "recipe"} std::string recipe_name; @@ -125,6 +119,13 @@ class Sink : public cyclus::Facility { "doc": "total maximum inventory size of sink facility"} double max_inv_size; + /// monthly acceptance capacity + #pragma cyclus var {"default": 1e299, "tooltip": "sink capacity", \ + "uilabel": "Maximum Throughput", \ + "doc": "capacity the sink facility can " \ + "accept at each time step"} + double capacity; + /// this facility holds material in storage. #pragma cyclus var {'capacity': 'max_inv_size'} cyclus::toolkit::ResBuf inventory; diff --git a/src/source.h b/src/source.h index fdc5d27008..5927e3782d 100644 --- a/src/source.h +++ b/src/source.h @@ -79,8 +79,9 @@ class Source : public cyclus::Facility, #pragma cyclus var { \ "tooltip": "name of material recipe to provide", \ - "doc": "Name of composition recipe that this source provides regardless of requested composition." \ - " If empty, source creates and provides whatever compositions are requested.", \ + "doc": "Name of composition recipe that this source provides regardless " \ + "of requested composition. If empty, source creates and provides " \ + "whatever compositions are requested.", \ "uilabel": "Output Recipe", \ "default": "", \ "uitype": "recipe", \ @@ -88,6 +89,17 @@ class Source : public cyclus::Facility, std::string outrecipe; #pragma cyclus var { \ + "doc": "Total amount of material this source has remaining." \ + " Every trade decreases this value by the supplied material " \ + "quantity. When it reaches zero, the source cannot provide any " \ + " more material.", \ + "default": 1e299, \ + "uilabel": "Initial Inventory", \ + "units": "kg", \ + } + double inventory_size; + + #pragma cyclus var { \ "default": 1e299, \ "tooltip": "per time step throughput", \ "units": "kg/(time step)", \ @@ -96,15 +108,6 @@ class Source : public cyclus::Facility, } double throughput; - #pragma cyclus var { \ - "doc": "Total amount of material this source has remaining." \ - " Every trade decreases this value by the supplied material quantity'." \ - " When it reaches zero, the source cannot provide any more material.", \ - "default": 1e299, \ - "uilabel": "Initial Inventory", \ - "units": "kg", \ - } - double inventory_size; }; } // namespace cycamore