CYCAMORE
Public Member Functions | Private 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:
Inheritance graph
[legend]
Collaboration diagram for cycamore::Separations:
Collaboration graph
[legend]

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 Member Functions

void Record (std::string name, double val, std::string type)
 
void Record (std::string name, double val, std::string type)
 
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< 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_latitude
 
std::vector< intcycpp_shape_leftover
 
std::vector< intcycpp_shape_leftover_commod
 
std::vector< intcycpp_shape_leftoverbuf_size
 
std::vector< intcycpp_shape_longitude
 
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
 
double latitude
 
cyclus::toolkit::ResBuf< cyclus::Material > leftover
 
std::string leftover_commod
 
double leftoverbuf_size
 
double longitude
 
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

◆ Separations() [1/2]

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

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

Referenced by cycamore::ConstructSeparations().

◆ ~Separations() [1/2]

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

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

◆ Separations() [2/2]

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

◆ ~Separations() [2/2]

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

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

Member Function Documentation

◆ AcceptMatlTrades() [1/2]

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

Referenced by GetMatlRequests(), and version().

◆ AcceptMatlTrades() [2/2]

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

◆ annotations()

virtual Json::Value cycamore::Separations::annotations ( )
inlinevirtual

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

◆ CheckDecommissionCondition() [1/2]

bool cycamore::Separations::CheckDecommissionCondition ( )
virtual

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

References leftover, and streambufs.

Referenced by version().

◆ CheckDecommissionCondition() [2/2]

virtual bool cycamore::Separations::CheckDecommissionCondition ( )
virtual

◆ Clone()

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

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

References InitFrom().

Here is the call graph for this function:

◆ EnterNotify() [1/2]

void cycamore::Separations::EnterNotify ( )
virtual

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

References feed_commod_prefs, feed_commods, RecordPosition(), streambufs, streams_, and cycamore::string.

Referenced by version().

Here is the call graph for this function:

◆ EnterNotify() [2/2]

virtual void cycamore::Separations::EnterNotify ( )
virtual

◆ GetMatlBids() [1/2]

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

Referenced by GetMatlRequests(), and version().

◆ GetMatlBids() [2/2]

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

◆ GetMatlRequests() [1/2]

std::set< cyclus::RequestPortfolio< Material >::Ptr > cycamore::Separations::GetMatlRequests ( )
virtual

◆ GetMatlRequests() [2/2]

virtual std::set<cyclus::RequestPortfolio<cyclus::Material>::Ptr> cycamore::Separations::GetMatlRequests ( )
virtual

◆ GetMatlTrades() [1/2]

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().

◆ GetMatlTrades() [2/2]

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

◆ InfileToDb()

virtual void cycamore::Separations::InfileToDb ( cyclus::InfileTree *  tree,
cyclus::DbInit  di 
)
inlinevirtual

◆ InitFrom() [1/2]

virtual void cycamore::Separations::InitFrom ( cycamore::Separations m)
inlinevirtual

◆ InitFrom() [2/2]

virtual void cycamore::Separations::InitFrom ( cyclus::QueryableBackend *  b)
inlinevirtual

◆ InitInv() [1/2]

virtual void cycamore::Separations::InitInv ( cyclus::Inventories &  inv)
virtual

◆ InitInv() [2/2]

void cycamore::Separations::InitInv ( cyclus::Inventories &  inv)
virtual

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

References feed, leftover, and streambufs.

Referenced by Snapshot(), and version().

◆ Record() [1/2]

void cycamore::Separations::Record ( std::string  name,
double  val,
std::string  type 
)
private

◆ Record() [2/2]

void cycamore::Separations::Record ( std::string  name,
double  val,
std::string  type 
)
private

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

Referenced by Tick(), and version().

◆ RecordPosition() [1/2]

void cycamore::Separations::RecordPosition ( )
private

Records an agent's latitude and longitude to the output db.

◆ RecordPosition() [2/2]

void cycamore::Separations::RecordPosition ( )
private

Records an agent's latitude and longitude to the output db.

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

References latitude, longitude, and cycamore::string.

Referenced by EnterNotify(), and version().

◆ schema()

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

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

◆ Snapshot()

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

◆ SnapshotInv() [1/2]

virtual cyclus::Inventories cycamore::Separations::SnapshotInv ( )
virtual

◆ SnapshotInv() [2/2]

cyclus::Inventories cycamore::Separations::SnapshotInv ( )
virtual

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

References feed, leftover, and streambufs.

Referenced by Snapshot(), and version().

◆ Tick() [1/2]

void cycamore::Separations::Tick ( )
virtual

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

References feed, leftover, leftover_commod, Record(), cycamore::SepMaterial(), streambufs, streams_, cycamore::string, and throughput.

Referenced by version().

Here is the call graph for this function:

◆ Tick() [2/2]

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

◆ Tock() [1/2]

void cycamore::Separations::Tock ( )
virtual

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

Referenced by version().

◆ Tock() [2/2]

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

◆ version() [1/2]

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

◆ version() [2/2]

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

Member Data Documentation

◆ coordinates

cyclus::toolkit::Position cycamore::Separations::coordinates
private

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

Referenced by version().

◆ cycpp_shape_feed

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

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

Referenced by InfileToDb(), and InitFrom().

◆ cycpp_shape_feed_commod_prefs

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

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

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

◆ cycpp_shape_feed_commods

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

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

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

◆ cycpp_shape_feed_recipe

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

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

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

◆ cycpp_shape_feedbuf_size

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

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

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

◆ cycpp_shape_latitude

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

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

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

◆ cycpp_shape_leftover

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

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

Referenced by InfileToDb(), and InitFrom().

◆ cycpp_shape_leftover_commod

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

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

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

◆ cycpp_shape_leftoverbuf_size

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

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

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

◆ cycpp_shape_longitude

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

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

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

◆ cycpp_shape_streams_

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

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

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

◆ cycpp_shape_throughput

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

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

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

◆ feed

cyclus::toolkit::ResBuf< cyclus::Material > cycamore::Separations::feed
private

◆ feed_commod_prefs

std::vector< double > cycamore::Separations::feed_commod_prefs
private

◆ feed_commods

std::vector< std::string > cycamore::Separations::feed_commods
private

◆ feed_recipe

std::string cycamore::Separations::feed_recipe
private

◆ feedbuf_size

double cycamore::Separations::feedbuf_size
private

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

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

◆ latitude

double cycamore::Separations::latitude
private

◆ leftover

cyclus::toolkit::ResBuf< cyclus::Material > cycamore::Separations::leftover
private

◆ leftover_commod

std::string cycamore::Separations::leftover_commod
private

◆ leftoverbuf_size

double cycamore::Separations::leftoverbuf_size
private

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

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

◆ longitude

double cycamore::Separations::longitude
private

◆ streambufs

std::map< std::string, cyclus::toolkit::ResBuf< cyclus::Material > > cycamore::Separations::streambufs
private

◆ streams_

std::map< std::string, std::pair< double, std::map< int, double > > > cycamore::Separations::streams_
private

◆ throughput

double cycamore::Separations::throughput
private

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