CYCAMORE
Loading...
Searching...
No Matches
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 Member Functions

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

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 41 of file build/cycamore/separations.h.

Constructor & Destructor Documentation

◆ Separations() [1/2]

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

Definition at line 13 of file build/cycamore/separations.cc.

◆ ~Separations() [1/2]

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

Definition at line 48 of file build/cycamore/separations.h.

◆ Separations() [2/2]

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

◆ ~Separations() [2/2]

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

Definition at line 67 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

◆ 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 442 of file build/cycamore/separations.h.

◆ CheckDecommissionCondition() [1/2]

bool cycamore::Separations::CheckDecommissionCondition ( )
virtual

Definition at line 355 of file build/cycamore/separations.cc.

References leftover, and streambufs.

◆ CheckDecommissionCondition() [2/2]

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

◆ Clone()

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

Definition at line 71 of file build/cycamore/separations.h.

References InitFrom().

◆ EnterNotify() [1/2]

void cycamore::Separations::EnterNotify ( )
virtual

Definition at line 49 of file build/cycamore/separations.cc.

References feed_commod_prefs, feed_commods, streambufs, and streams_.

◆ 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

◆ 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

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

◆ InitFrom() [1/2]

◆ InitFrom() [2/2]

◆ InitInv() [1/2]

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

Definition at line 36 of file build/cycamore/separations.cc.

References feed, leftover, and streambufs.

◆ InitInv() [2/2]

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

◆ Record() [1/2]

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

Definition at line 370 of file build/cycamore/separations.cc.

Referenced by Tick().

◆ Record() [2/2]

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

◆ schema()

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

Definition at line 348 of file build/cycamore/separations.h.

◆ Snapshot()

◆ SnapshotInv() [1/2]

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

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

References feed, leftover, and streambufs.

◆ SnapshotInv() [2/2]

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

◆ Tick() [1/2]

void cycamore::Separations::Tick ( )
virtual

◆ Tick() [2/2]

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

◆ Tock() [1/2]

void cycamore::Separations::Tock ( )
virtual

Definition at line 353 of file build/cycamore/separations.cc.

◆ Tock() [2/2]

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

◆ version() [1/2]

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

Definition at line 50 of file build/cycamore/separations.h.

References CYCAMORE_VERSION.

◆ version() [2/2]

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

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

References CYCAMORE_VERSION.

Member Data Documentation

◆ cycpp_shape_feed

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

Definition at line 633 of file build/cycamore/separations.h.

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

◆ cycpp_shape_feed_commod_prefs

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

Definition at line 612 of file build/cycamore/separations.h.

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

◆ cycpp_shape_feed_commods

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

Definition at line 605 of file build/cycamore/separations.h.

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

◆ cycpp_shape_feed_recipe

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

Definition at line 619 of file build/cycamore/separations.h.

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

◆ cycpp_shape_feedbuf_size

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

Definition at line 626 of file build/cycamore/separations.h.

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

◆ cycpp_shape_leftover

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

Definition at line 661 of file build/cycamore/separations.h.

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

◆ cycpp_shape_leftover_commod

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

Definition at line 647 of file build/cycamore/separations.h.

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

◆ cycpp_shape_leftoverbuf_size

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

Definition at line 654 of file build/cycamore/separations.h.

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

◆ cycpp_shape_streams_

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

Definition at line 668 of file build/cycamore/separations.h.

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

◆ cycpp_shape_throughput

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

Definition at line 640 of file build/cycamore/separations.h.

Referenced by InfileToDb(), InitFrom(), 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 625 of file build/cycamore/separations.h.

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

◆ leftover

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

◆ leftover_commod

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

Definition at line 646 of file build/cycamore/separations.h.

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

◆ leftoverbuf_size

double cycamore::Separations::leftoverbuf_size
private

Definition at line 653 of file build/cycamore/separations.h.

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

◆ 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: