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)
 
void RecordPosition ()
 Records an agent's latitude and longitude to the output db.
 
void RecordPosition ()
 Records an agent's latitude and longitude to the output db.
 

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

◆ CheckDecommissionCondition() [1/2]

bool cycamore::Separations::CheckDecommissionCondition ( )
virtual

Definition at line 357 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.

◆ EnterNotify() [1/2]

void cycamore::Separations::EnterNotify ( )
virtual

◆ 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 39 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 384 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

◆ RecordPosition() [1/2]

void cycamore::Separations::RecordPosition ( )
private

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

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

References latitude, and longitude.

Referenced by EnterNotify().

◆ RecordPosition() [2/2]

void cycamore::Separations::RecordPosition ( )
private

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

◆ 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 19 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 355 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

◆ coordinates

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

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

◆ cycpp_shape_feed

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

Definition at line 622 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 601 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 594 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 608 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 615 of file build/cycamore/separations.h.

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

◆ cycpp_shape_latitude

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

Definition at line 668 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 650 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 636 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 643 of file build/cycamore/separations.h.

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

◆ cycpp_shape_longitude

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

Definition at line 675 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 657 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 629 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 614 of file build/cycamore/separations.h.

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

◆ 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

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

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

◆ leftoverbuf_size

double cycamore::Separations::leftoverbuf_size
private

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

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

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