CYCAMORE
|
FuelFab takes in 2 streams of material and mixes them in ratios in order to supply material that matches some neutronics properties of reqeusted material. More...
#include <fuel_fab.h>
Public Member Functions | |
virtual void | AcceptMatlTrades (const std::vector< std::pair< cyclus::Trade< cyclus::Material >, cyclus::Material::Ptr > > &responses) |
virtual void | AcceptMatlTrades (const std::vector< std::pair< cyclus::Trade< cyclus::Material >, cyclus::Material::Ptr > > &responses) |
virtual Json::Value | annotations () |
virtual cyclus::Agent * | Clone () |
virtual void | EnterNotify () |
virtual void | EnterNotify () |
FuelFab (cyclus::Context *ctx) | |
FuelFab (cyclus::Context *ctx) | |
virtual std::set< cyclus::BidPortfolio< cyclus::Material >::Ptr > | GetMatlBids (cyclus::CommodMap< cyclus::Material >::type &commod_requests) |
virtual std::set< cyclus::BidPortfolio< cyclus::Material >::Ptr > | GetMatlBids (cyclus::CommodMap< cyclus::Material >::type &commod_requests) |
virtual std::set< cyclus::RequestPortfolio< cyclus::Material >::Ptr > | GetMatlRequests () |
virtual std::set< cyclus::RequestPortfolio< cyclus::Material >::Ptr > | GetMatlRequests () |
virtual void | GetMatlTrades (const std::vector< cyclus::Trade< cyclus::Material > > &trades, std::vector< std::pair< cyclus::Trade< cyclus::Material >, cyclus::Material::Ptr > > &responses) |
virtual void | GetMatlTrades (const std::vector< cyclus::Trade< cyclus::Material > > &trades, std::vector< std::pair< cyclus::Trade< cyclus::Material >, cyclus::Material::Ptr > > &responses) |
virtual void | InfileToDb (cyclus::InfileTree *tree, cyclus::DbInit di) |
virtual void | InitFrom (cycamore::FuelFab *m) |
virtual void | InitFrom (cyclus::QueryableBackend *b) |
virtual void | InitInv (cyclus::Inventories &inv) |
virtual std::string | schema () |
virtual void | Snapshot (cyclus::DbInit di) |
virtual cyclus::Inventories | SnapshotInv () |
virtual void | Tick () |
virtual void | Tick () |
virtual void | Tock () |
virtual void | Tock () |
virtual std::string | version () |
virtual std::string | version () |
virtual | ~FuelFab () |
virtual | ~FuelFab () |
Private Member Functions | |
void | RecordPosition () |
Records an agent's latitude and longitude to the output db. More... | |
void | RecordPosition () |
Records an agent's latitude and longitude to the output db. More... | |
Private Attributes | |
cyclus::toolkit::Position | coordinates |
std::vector< int > | cycpp_shape_fill |
std::vector< int > | cycpp_shape_fill_commod_prefs |
std::vector< int > | cycpp_shape_fill_commods |
std::vector< int > | cycpp_shape_fill_recipe |
std::vector< int > | cycpp_shape_fill_size |
std::vector< int > | cycpp_shape_fiss |
std::vector< int > | cycpp_shape_fiss_commod_prefs |
std::vector< int > | cycpp_shape_fiss_commods |
std::vector< int > | cycpp_shape_fiss_recipe |
std::vector< int > | cycpp_shape_fiss_size |
std::vector< int > | cycpp_shape_latitude |
std::vector< int > | cycpp_shape_longitude |
std::vector< int > | cycpp_shape_outcommod |
std::vector< int > | cycpp_shape_spectrum |
std::vector< int > | cycpp_shape_throughput |
std::vector< int > | cycpp_shape_topup |
std::vector< int > | cycpp_shape_topup_commod |
std::vector< int > | cycpp_shape_topup_pref |
std::vector< int > | cycpp_shape_topup_recipe |
std::vector< int > | cycpp_shape_topup_size |
cyclus::toolkit::ResBuf< cyclus::Material > | fill |
std::vector< double > | fill_commod_prefs |
std::vector< std::string > | fill_commods |
std::string | fill_recipe |
double | fill_size |
cyclus::toolkit::ResBuf< cyclus::Material > | fiss |
std::vector< double > | fiss_commod_prefs |
std::vector< std::string > | fiss_commods |
std::string | fiss_recipe |
double | fiss_size |
double | latitude |
double | longitude |
std::string | outcommod |
std::map< cyclus::Request< cyclus::Material > *, std::string > | req_inventories_ |
std::string | spectrum |
double | throughput |
cyclus::toolkit::ResBuf< cyclus::Material > | topup |
std::string | topup_commod |
double | topup_pref |
std::string | topup_recipe |
double | topup_size |
FuelFab takes in 2 streams of material and mixes them in ratios in order to supply material that matches some neutronics properties of reqeusted material.
It uses an equivalence type method [1] inspired by a similar approach in the COSI fuel cycle simulator.
The FuelFab has 3 input inventories: fissile stream, filler stream, and an optional top-up inventory. All materials received into each inventory are always combined into a single material (i.e. a single fissile material, a single filler material, etc.). The input streams and requested fuel composition are each assigned weights based on summing:
N * (p_i - p_U238) / (p_Pu239 - p_U238)
for each nuclide where:
- p = nu*sigma_f - sigma_a for the nuclide - p_U238 is p for pure U238 - p_Pu239 is p for pure Pu239 - N is the nuclide's atom fraction - nu is the average # neutrons per fission - sigma_f is the microscopic fission cross-section - sigma_a is the microscopic neutron absorption cross-section
The cross sections are from the simple cross section library in PyNE. They can be set to either a thermal or fast neutron spectrum. A linear interpolation is performed using the weights of the fissile, filler, and target streams. The interpolation is used to compute a mixing ratio of the input streams that matches the target weight. In the event that the target weight is higher than the fissile stream weight, the FuelFab will attempt to use the top-up and fissile input streams together instead of the fissile and filler streams. All supplied material will always have the same weight as the requested material.
The supplying of mixed material is constrained by available inventory quantities and a per time step throughput limit. Requests for fuel material larger than the throughput can never be met. Fissile inventory can be requested/received via one or more commodities. The DRE request preference for each of these commodities can also optionally be specified. By default, the top-up inventory size is zero, and it is not used for mixing.
Definition at line 58 of file _tmp_build/cycamore/fuel_fab.h.
cycamore::FuelFab::FuelFab | ( | cyclus::Context * | ctx | ) |
Definition at line 134 of file _tmp_build/cycamore/fuel_fab.cc.
Referenced by cycamore::ConstructFuelFab(), and cycamore::TopupConverter::convert().
|
inlinevirtual |
Definition at line 65 of file _tmp_build/cycamore/fuel_fab.h.
cycamore::FuelFab::FuelFab | ( | cyclus::Context * | ctx | ) |
|
inlinevirtual |
Definition at line 110 of file src/fuel_fab.h.
|
virtual |
|
virtual |
Referenced by cycamore::Contains(), cycamore::TopupConverter::convert(), and Tock().
|
inlinevirtual |
Definition at line 535 of file _tmp_build/cycamore/fuel_fab.h.
|
inlinevirtual |
Definition at line 436 of file _tmp_build/cycamore/fuel_fab.h.
References InitFrom().
|
virtual |
|
virtual |
Definition at line 143 of file _tmp_build/cycamore/fuel_fab.cc.
References fill_commod_prefs, fill_commods, fiss_commod_prefs, fiss_commods, and RecordPosition().
Referenced by cycamore::TopupConverter::convert(), and Tock().
|
virtual |
|
virtual |
Referenced by cycamore::Contains(), cycamore::TopupConverter::convert(), and Tock().
|
virtual |
|
virtual |
Definition at line 170 of file _tmp_build/cycamore/fuel_fab.cc.
References fill, fill_commod_prefs, fill_commods, fill_recipe, fiss, fiss_commod_prefs, fiss_commods, fiss_recipe, req_inventories_, cycamore::string, topup, topup_commod, topup_pref, and topup_recipe.
Referenced by cycamore::TopupConverter::convert(), and Tock().
|
virtual |
|
virtual |
Referenced by cycamore::Contains(), cycamore::TopupConverter::convert(), and Tock().
|
inlinevirtual |
Definition at line 198 of file _tmp_build/cycamore/fuel_fab.h.
References cycpp_shape_fill, cycpp_shape_fill_commod_prefs, cycpp_shape_fill_commods, cycpp_shape_fill_recipe, cycpp_shape_fill_size, cycpp_shape_fiss, cycpp_shape_fiss_commod_prefs, cycpp_shape_fiss_commods, cycpp_shape_fiss_recipe, cycpp_shape_fiss_size, cycpp_shape_latitude, cycpp_shape_longitude, cycpp_shape_outcommod, cycpp_shape_spectrum, cycpp_shape_throughput, cycpp_shape_topup, cycpp_shape_topup_commod, cycpp_shape_topup_pref, cycpp_shape_topup_recipe, cycpp_shape_topup_size, fill_commod_prefs, fill_commods, fill_recipe, fill_size, fiss_commod_prefs, fiss_commods, fiss_recipe, fiss_size, latitude, longitude, outcommod, spectrum, cycamore::string, throughput, topup_commod, topup_pref, topup_recipe, and topup_size.
|
inlinevirtual |
Definition at line 68 of file _tmp_build/cycamore/fuel_fab.h.
References cycpp_shape_fill, cycpp_shape_fill_commod_prefs, cycpp_shape_fill_commods, cycpp_shape_fill_recipe, cycpp_shape_fill_size, cycpp_shape_fiss, cycpp_shape_fiss_commod_prefs, cycpp_shape_fiss_commods, cycpp_shape_fiss_recipe, cycpp_shape_fiss_size, cycpp_shape_latitude, cycpp_shape_longitude, cycpp_shape_outcommod, cycpp_shape_spectrum, cycpp_shape_throughput, cycpp_shape_topup, cycpp_shape_topup_commod, cycpp_shape_topup_pref, cycpp_shape_topup_recipe, cycpp_shape_topup_size, fill, fill_commod_prefs, fill_commods, fill_recipe, fill_size, fiss, fiss_commod_prefs, fiss_commods, fiss_recipe, fiss_size, latitude, longitude, outcommod, spectrum, throughput, topup, topup_commod, topup_pref, topup_recipe, and topup_size.
Referenced by Clone().
|
inlinevirtual |
Definition at line 133 of file _tmp_build/cycamore/fuel_fab.h.
References cycpp_shape_fill, cycpp_shape_fill_commod_prefs, cycpp_shape_fill_commods, cycpp_shape_fill_recipe, cycpp_shape_fill_size, cycpp_shape_fiss, cycpp_shape_fiss_commod_prefs, cycpp_shape_fiss_commods, cycpp_shape_fiss_recipe, cycpp_shape_fiss_size, cycpp_shape_latitude, cycpp_shape_longitude, cycpp_shape_outcommod, cycpp_shape_spectrum, cycpp_shape_throughput, cycpp_shape_topup, cycpp_shape_topup_commod, cycpp_shape_topup_pref, cycpp_shape_topup_recipe, cycpp_shape_topup_size, fill, fill_commod_prefs, fill_commods, fill_recipe, fill_size, fiss, fiss_commod_prefs, fiss_commods, fiss_recipe, fiss_size, latitude, longitude, outcommod, spectrum, cycamore::string, throughput, topup, topup_commod, topup_pref, topup_recipe, and topup_size.
|
inlinevirtual |
Definition at line 704 of file _tmp_build/cycamore/fuel_fab.h.
|
private |
Records an agent's latitude and longitude to the output db.
|
private |
Records an agent's latitude and longitude to the output db.
Definition at line 499 of file _tmp_build/cycamore/fuel_fab.cc.
References latitude, longitude, and cycamore::string.
Referenced by cycamore::TopupConverter::convert(), EnterNotify(), and Tock().
|
inlinevirtual |
Definition at line 442 of file _tmp_build/cycamore/fuel_fab.h.
|
inlinevirtual |
Definition at line 722 of file _tmp_build/cycamore/fuel_fab.h.
References cycpp_shape_fill_commod_prefs, cycpp_shape_fill_commods, cycpp_shape_fill_recipe, cycpp_shape_fill_size, cycpp_shape_fiss_commod_prefs, cycpp_shape_fiss_commods, cycpp_shape_fiss_recipe, cycpp_shape_fiss_size, cycpp_shape_latitude, cycpp_shape_longitude, cycpp_shape_outcommod, cycpp_shape_spectrum, cycpp_shape_throughput, cycpp_shape_topup_commod, cycpp_shape_topup_pref, cycpp_shape_topup_recipe, cycpp_shape_topup_size, fill_commod_prefs, fill_commods, fill_recipe, fill_size, fiss_commod_prefs, fiss_commods, fiss_recipe, fiss_size, latitude, longitude, outcommod, spectrum, throughput, topup_commod, topup_pref, topup_recipe, and topup_size.
|
inlinevirtual |
Definition at line 711 of file _tmp_build/cycamore/fuel_fab.h.
|
inlinevirtual |
Definition at line 116 of file src/fuel_fab.h.
|
inlinevirtual |
Definition at line 745 of file _tmp_build/cycamore/fuel_fab.h.
|
inlinevirtual |
Definition at line 117 of file src/fuel_fab.h.
References AcceptMatlTrades(), cycamore::AtomToMassFrac(), coordinates, cycamore::CosiWeight(), EnterNotify(), fill, fill_commod_prefs, fill_commods, fill_recipe, fill_size, fiss, fiss_commod_prefs, fiss_commods, fiss_recipe, fiss_size, GetMatlBids(), GetMatlRequests(), GetMatlTrades(), cycamore::HighFrac(), latitude, longitude, cycamore::LowFrac(), outcommod, RecordPosition(), req_inventories_, spectrum, cycamore::string, throughput, topup, topup_commod, topup_pref, topup_recipe, topup_size, and cycamore::ValidWeights().
|
inlinevirtual |
Definition at line 746 of file _tmp_build/cycamore/fuel_fab.h.
References AcceptMatlTrades(), EnterNotify(), GetMatlBids(), GetMatlRequests(), and GetMatlTrades().
|
inlinevirtual |
Definition at line 67 of file _tmp_build/cycamore/fuel_fab.h.
References CYCAMORE_VERSION.
|
inlinevirtual |
Definition at line 112 of file src/fuel_fab.h.
References CYCAMORE_VERSION.
|
private |
Definition at line 885 of file _tmp_build/cycamore/fuel_fab.h.
Referenced by Tock().
|
private |
Definition at line 787 of file _tmp_build/cycamore/fuel_fab.h.
Referenced by InfileToDb(), and InitFrom().
|
private |
Definition at line 772 of file _tmp_build/cycamore/fuel_fab.h.
Referenced by InfileToDb(), InitFrom(), and Snapshot().
|
private |
Definition at line 767 of file _tmp_build/cycamore/fuel_fab.h.
Referenced by InfileToDb(), InitFrom(), and Snapshot().
|
private |
Definition at line 777 of file _tmp_build/cycamore/fuel_fab.h.
Referenced by InfileToDb(), InitFrom(), and Snapshot().
|
private |
Definition at line 782 of file _tmp_build/cycamore/fuel_fab.h.
Referenced by InfileToDb(), InitFrom(), and Snapshot().
|
private |
Definition at line 814 of file _tmp_build/cycamore/fuel_fab.h.
Referenced by InfileToDb(), and InitFrom().
|
private |
Definition at line 799 of file _tmp_build/cycamore/fuel_fab.h.
Referenced by InfileToDb(), InitFrom(), and Snapshot().
|
private |
Definition at line 794 of file _tmp_build/cycamore/fuel_fab.h.
Referenced by InfileToDb(), InitFrom(), and Snapshot().
|
private |
Definition at line 804 of file _tmp_build/cycamore/fuel_fab.h.
Referenced by InfileToDb(), InitFrom(), and Snapshot().
|
private |
Definition at line 809 of file _tmp_build/cycamore/fuel_fab.h.
Referenced by InfileToDb(), InitFrom(), and Snapshot().
|
private |
Definition at line 874 of file _tmp_build/cycamore/fuel_fab.h.
Referenced by InfileToDb(), InitFrom(), and Snapshot().
|
private |
Definition at line 881 of file _tmp_build/cycamore/fuel_fab.h.
Referenced by InfileToDb(), InitFrom(), and Snapshot().
|
private |
Definition at line 849 of file _tmp_build/cycamore/fuel_fab.h.
Referenced by InfileToDb(), InitFrom(), and Snapshot().
|
private |
Definition at line 863 of file _tmp_build/cycamore/fuel_fab.h.
Referenced by InfileToDb(), InitFrom(), and Snapshot().
|
private |
Definition at line 856 of file _tmp_build/cycamore/fuel_fab.h.
Referenced by InfileToDb(), InitFrom(), and Snapshot().
|
private |
Definition at line 842 of file _tmp_build/cycamore/fuel_fab.h.
Referenced by InfileToDb(), and InitFrom().
|
private |
Definition at line 821 of file _tmp_build/cycamore/fuel_fab.h.
Referenced by InfileToDb(), InitFrom(), and Snapshot().
|
private |
Definition at line 826 of file _tmp_build/cycamore/fuel_fab.h.
Referenced by InfileToDb(), InitFrom(), and Snapshot().
|
private |
Definition at line 832 of file _tmp_build/cycamore/fuel_fab.h.
Referenced by InfileToDb(), InitFrom(), and Snapshot().
|
private |
Definition at line 837 of file _tmp_build/cycamore/fuel_fab.h.
Referenced by InfileToDb(), InitFrom(), and Snapshot().
|
private |
Definition at line 786 of file _tmp_build/cycamore/fuel_fab.h.
Referenced by cycamore::Contains(), GetMatlRequests(), InitFrom(), InitInv(), SnapshotInv(), and Tock().
|
private |
Definition at line 771 of file _tmp_build/cycamore/fuel_fab.h.
Referenced by EnterNotify(), GetMatlRequests(), InfileToDb(), InitFrom(), Snapshot(), and Tock().
|
private |
Definition at line 766 of file _tmp_build/cycamore/fuel_fab.h.
Referenced by EnterNotify(), GetMatlRequests(), InfileToDb(), InitFrom(), Snapshot(), and Tock().
|
private |
Definition at line 776 of file _tmp_build/cycamore/fuel_fab.h.
Referenced by cycamore::Contains(), GetMatlRequests(), InfileToDb(), InitFrom(), Snapshot(), and Tock().
|
private |
Definition at line 781 of file _tmp_build/cycamore/fuel_fab.h.
Referenced by InfileToDb(), InitFrom(), Snapshot(), and Tock().
|
private |
Definition at line 813 of file _tmp_build/cycamore/fuel_fab.h.
Referenced by cycamore::Contains(), cycamore::CosiWeight(), GetMatlRequests(), InitFrom(), InitInv(), SnapshotInv(), and Tock().
|
private |
Definition at line 798 of file _tmp_build/cycamore/fuel_fab.h.
Referenced by EnterNotify(), GetMatlRequests(), InfileToDb(), InitFrom(), Snapshot(), and Tock().
|
private |
Definition at line 793 of file _tmp_build/cycamore/fuel_fab.h.
Referenced by EnterNotify(), GetMatlRequests(), InfileToDb(), InitFrom(), Snapshot(), and Tock().
|
private |
Definition at line 803 of file _tmp_build/cycamore/fuel_fab.h.
Referenced by cycamore::Contains(), GetMatlRequests(), InfileToDb(), InitFrom(), Snapshot(), and Tock().
|
private |
Definition at line 808 of file _tmp_build/cycamore/fuel_fab.h.
Referenced by InfileToDb(), InitFrom(), Snapshot(), and Tock().
|
private |
Definition at line 873 of file _tmp_build/cycamore/fuel_fab.h.
Referenced by InfileToDb(), InitFrom(), RecordPosition(), Snapshot(), and Tock().
|
private |
Definition at line 880 of file _tmp_build/cycamore/fuel_fab.h.
Referenced by InfileToDb(), InitFrom(), RecordPosition(), Snapshot(), and Tock().
|
private |
Definition at line 848 of file _tmp_build/cycamore/fuel_fab.h.
Referenced by cycamore::Contains(), InfileToDb(), InitFrom(), Snapshot(), and Tock().
|
private |
Definition at line 869 of file _tmp_build/cycamore/fuel_fab.h.
Referenced by cycamore::Contains(), GetMatlRequests(), and Tock().
|
private |
Definition at line 862 of file _tmp_build/cycamore/fuel_fab.h.
Referenced by cycamore::Contains(), InfileToDb(), InitFrom(), Snapshot(), and Tock().
|
private |
Definition at line 855 of file _tmp_build/cycamore/fuel_fab.h.
Referenced by cycamore::Contains(), InfileToDb(), InitFrom(), Snapshot(), and Tock().
|
private |
Definition at line 841 of file _tmp_build/cycamore/fuel_fab.h.
Referenced by cycamore::Contains(), GetMatlRequests(), InitFrom(), InitInv(), SnapshotInv(), and Tock().
|
private |
Definition at line 820 of file _tmp_build/cycamore/fuel_fab.h.
Referenced by GetMatlRequests(), InfileToDb(), InitFrom(), Snapshot(), and Tock().
|
private |
Definition at line 825 of file _tmp_build/cycamore/fuel_fab.h.
Referenced by GetMatlRequests(), InfileToDb(), InitFrom(), Snapshot(), and Tock().
|
private |
Definition at line 831 of file _tmp_build/cycamore/fuel_fab.h.
Referenced by cycamore::Contains(), GetMatlRequests(), InfileToDb(), InitFrom(), Snapshot(), and Tock().
|
private |
Definition at line 836 of file _tmp_build/cycamore/fuel_fab.h.
Referenced by InfileToDb(), InitFrom(), Snapshot(), and Tock().