CYCAMORE
Public Member Functions | Private Attributes | List of all members
cycamore::Separations Class Reference

Separations processes feed material into one or more streams containing specific elements and/or nuclides. More...

#include <separations.h>

Inheritance diagram for cycamore::Separations:

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 bool CheckDecommissionCondition ()
 
virtual bool CheckDecommissionCondition ()
 
virtual cyclus::Agent * Clone ()
 
virtual void EnterNotify ()
 
virtual void EnterNotify ()
 
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::Separations *m)
 
virtual void InitFrom (cyclus::QueryableBackend *b)
 
virtual void InitInv (cyclus::Inventories &inv)
 
virtual void InitInv (cyclus::Inventories &inv)
 
virtual std::string schema ()
 
 Separations (cyclus::Context *ctx)
 
 Separations (cyclus::Context *ctx)
 
virtual void Snapshot (cyclus::DbInit di)
 
virtual cyclus::Inventories SnapshotInv ()
 
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 ~Separations ()
 
virtual ~Separations ()
 

Private Attributes

std::vector< intcycpp_shape_feed
 
std::vector< intcycpp_shape_feed_commod_prefs
 
std::vector< intcycpp_shape_feed_commods
 
std::vector< intcycpp_shape_feed_recipe
 
std::vector< intcycpp_shape_feedbuf_size
 
std::vector< intcycpp_shape_leftover
 
std::vector< intcycpp_shape_leftover_commod
 
std::vector< intcycpp_shape_leftoverbuf_size
 
std::vector< intcycpp_shape_streams_
 
std::vector< intcycpp_shape_throughput
 
cyclus::toolkit::ResBuf< cyclus::Material > feed
 
std::vector< double > feed_commod_prefs
 
std::vector< std::string > feed_commods
 
std::string feed_recipe
 
double feedbuf_size
 
cyclus::toolkit::ResBuf< cyclus::Material > leftover
 
std::string leftover_commod
 
double leftoverbuf_size
 
std::map< std::string, cyclus::toolkit::ResBuf< cyclus::Material > > streambufs
 
std::map< std::string, std::pair< double, std::map< int, double > > > streams_
 
double throughput
 

Detailed Description

Separations processes feed material into one or more streams containing specific elements and/or nuclides.

It uses mass-based efficiencies.

User defined separations streams are specified as groups of component-efficiency pairs where 'component' means either a particular element or a particular nuclide. Each component's paired efficiency represents the mass fraction of that component in the feed that is separated into that stream. The efficiencies of a particular component across all streams must sum up to less than or equal to one. If less than one, the remainining material is sent to a waste inventory and (potentially) traded away from there.

The facility receives material into a feed inventory that it processes with a specified throughput each time step. Each output stream has a corresponding output inventory size/limit. If the facility is unable to reduce its stocks by trading and hits this limit for any of its output streams, further processing/separations of feed material will halt until room is again available in the output streams.

Definition at line 39 of file _tmp_build/cycamore/separations.h.

Constructor & Destructor Documentation

cycamore::Separations::Separations ( cyclus::Context *  ctx)

Definition at line 16 of file _tmp_build/cycamore/separations.cc.

Referenced by cycamore::ConstructSeparations().

virtual cycamore::Separations::~Separations ( )
inlinevirtual

Definition at line 44 of file _tmp_build/cycamore/separations.h.

cycamore::Separations::Separations ( cyclus::Context *  ctx)
virtual cycamore::Separations::~Separations ( )
inlinevirtual

Definition at line 63 of file src/separations.h.

Member Function Documentation

virtual void cycamore::Separations::AcceptMatlTrades ( const std::vector< std::pair< cyclus::Trade< cyclus::Material >, cyclus::Material::Ptr > > &  responses)
virtual

Referenced by GetMatlRequests(), and version().

virtual void cycamore::Separations::AcceptMatlTrades ( const std::vector< std::pair< cyclus::Trade< cyclus::Material >, cyclus::Material::Ptr > > &  responses)
virtual
virtual Json::Value cycamore::Separations::annotations ( )
inlinevirtual

Definition at line 385 of file _tmp_build/cycamore/separations.h.

bool cycamore::Separations::CheckDecommissionCondition ( )
virtual

Definition at line 333 of file _tmp_build/cycamore/separations.cc.

References leftover, and streambufs.

Referenced by version().

virtual bool cycamore::Separations::CheckDecommissionCondition ( )
virtual
virtual cyclus::Agent* cycamore::Separations::Clone ( )
inlinevirtual

Definition at line 67 of file _tmp_build/cycamore/separations.h.

References InitFrom(), and m.

void cycamore::Separations::EnterNotify ( )
virtual

Definition at line 51 of file _tmp_build/cycamore/separations.cc.

References feed_commod_prefs, feed_commods, streambufs, streams_, and cycamore::string.

Referenced by version().

virtual void cycamore::Separations::EnterNotify ( )
virtual
virtual std::set<cyclus::BidPortfolio<cyclus::Material>::Ptr> cycamore::Separations::GetMatlBids ( cyclus::CommodMap< cyclus::Material >::type &  commod_requests)
virtual

Referenced by GetMatlRequests(), and version().

virtual std::set<cyclus::BidPortfolio<cyclus::Material>::Ptr> cycamore::Separations::GetMatlBids ( cyclus::CommodMap< cyclus::Material >::type &  commod_requests)
virtual
std::set< cyclus::RequestPortfolio< Material >::Ptr > cycamore::Separations::GetMatlRequests ( )
virtual
virtual std::set<cyclus::RequestPortfolio<cyclus::Material>::Ptr> cycamore::Separations::GetMatlRequests ( )
virtual
virtual void cycamore::Separations::GetMatlTrades ( const std::vector< cyclus::Trade< cyclus::Material > > &  trades,
std::vector< std::pair< cyclus::Trade< cyclus::Material >, cyclus::Material::Ptr > > &  responses 
)
virtual

Referenced by GetMatlRequests(), and version().

virtual void cycamore::Separations::GetMatlTrades ( const std::vector< cyclus::Trade< cyclus::Material > > &  trades,
std::vector< std::pair< cyclus::Trade< cyclus::Material >, cyclus::Material::Ptr > > &  responses 
)
virtual
virtual void cycamore::Separations::InfileToDb ( cyclus::InfileTree *  tree,
cyclus::DbInit  di 
)
inlinevirtual
virtual void cycamore::Separations::InitFrom ( cycamore::Separations m)
inlinevirtual
virtual void cycamore::Separations::InitFrom ( cyclus::QueryableBackend *  b)
inlinevirtual
virtual void cycamore::Separations::InitInv ( cyclus::Inventories &  inv)
virtual
void cycamore::Separations::InitInv ( cyclus::Inventories &  inv)
virtual

Definition at line 38 of file _tmp_build/cycamore/separations.cc.

References feed, leftover, and streambufs.

Referenced by Snapshot(), and version().

virtual std::string cycamore::Separations::schema ( )
inlinevirtual

Definition at line 308 of file _tmp_build/cycamore/separations.h.

virtual void cycamore::Separations::Snapshot ( cyclus::DbInit  di)
inlinevirtual
virtual cyclus::Inventories cycamore::Separations::SnapshotInv ( )
virtual
cyclus::Inventories cycamore::Separations::SnapshotInv ( )
virtual

Definition at line 18 of file _tmp_build/cycamore/separations.cc.

References feed, leftover, and streambufs.

Referenced by Snapshot(), and version().

void cycamore::Separations::Tick ( )
virtual
virtual void cycamore::Separations::Tick ( )
virtual
void cycamore::Separations::Tock ( )
virtual

Definition at line 331 of file _tmp_build/cycamore/separations.cc.

Referenced by version().

virtual void cycamore::Separations::Tock ( )
virtual
virtual std::string cycamore::Separations::version ( )
inlinevirtual
virtual std::string cycamore::Separations::version ( )
inlinevirtual

Member Data Documentation

std::vector<int> cycamore::Separations::cycpp_shape_feed
private

Definition at line 553 of file _tmp_build/cycamore/separations.h.

Referenced by InfileToDb(), and InitFrom().

std::vector<int> cycamore::Separations::cycpp_shape_feed_commod_prefs
private

Definition at line 532 of file _tmp_build/cycamore/separations.h.

Referenced by InfileToDb(), InitFrom(), and Snapshot().

std::vector<int> cycamore::Separations::cycpp_shape_feed_commods
private

Definition at line 525 of file _tmp_build/cycamore/separations.h.

Referenced by InfileToDb(), InitFrom(), and Snapshot().

std::vector<int> cycamore::Separations::cycpp_shape_feed_recipe
private

Definition at line 539 of file _tmp_build/cycamore/separations.h.

Referenced by InfileToDb(), InitFrom(), and Snapshot().

std::vector<int> cycamore::Separations::cycpp_shape_feedbuf_size
private

Definition at line 546 of file _tmp_build/cycamore/separations.h.

Referenced by InfileToDb(), InitFrom(), and Snapshot().

std::vector<int> cycamore::Separations::cycpp_shape_leftover
private

Definition at line 581 of file _tmp_build/cycamore/separations.h.

Referenced by InfileToDb(), and InitFrom().

std::vector<int> cycamore::Separations::cycpp_shape_leftover_commod
private

Definition at line 567 of file _tmp_build/cycamore/separations.h.

Referenced by InfileToDb(), InitFrom(), and Snapshot().

std::vector<int> cycamore::Separations::cycpp_shape_leftoverbuf_size
private

Definition at line 574 of file _tmp_build/cycamore/separations.h.

Referenced by InfileToDb(), InitFrom(), and Snapshot().

std::vector<int> cycamore::Separations::cycpp_shape_streams_
private

Definition at line 588 of file _tmp_build/cycamore/separations.h.

Referenced by InfileToDb(), InitFrom(), and Snapshot().

std::vector<int> cycamore::Separations::cycpp_shape_throughput
private

Definition at line 560 of file _tmp_build/cycamore/separations.h.

Referenced by InfileToDb(), InitFrom(), and Snapshot().

cyclus::toolkit::ResBuf< cyclus::Material > cycamore::Separations::feed
private
std::vector< double > cycamore::Separations::feed_commod_prefs
private
std::vector< std::string > cycamore::Separations::feed_commods
private
std::string cycamore::Separations::feed_recipe
private
double cycamore::Separations::feedbuf_size
private

Definition at line 545 of file _tmp_build/cycamore/separations.h.

Referenced by InfileToDb(), InitFrom(), Snapshot(), and version().

cyclus::toolkit::ResBuf< cyclus::Material > cycamore::Separations::leftover
private
std::string cycamore::Separations::leftover_commod
private
double cycamore::Separations::leftoverbuf_size
private

Definition at line 573 of file _tmp_build/cycamore/separations.h.

Referenced by InfileToDb(), InitFrom(), Snapshot(), and version().

std::map< std::string, cyclus::toolkit::ResBuf< cyclus::Material > > cycamore::Separations::streambufs
private
std::map< std::string, std::pair< double, std::map< int, double > > > cycamore::Separations::streams_
private
double cycamore::Separations::throughput
private

The documentation for this class was generated from the following files: