CYCLUS
|
An ExchangeGraph is a resource-neutral representation of a ResourceExchange.
In general, it is produced via translation by an ExchangeTranslator. It is comprised of ExchangeNodes that are collected into ExchangeNodeGroups. Arcs are defined, connecting ExchangeNodes to each other. An ExchangeSolver can solve a given instance of an ExchangeGraph, and the solution is stored on the Graph in the form of Matches.
Definition at line 207 of file exchange_graph.h.
#include <exchange_graph.h>
Public Types | |
typedef boost::shared_ptr< ExchangeGraph > | Ptr |
Public Member Functions | |
void | AddArc (const Arc &a) |
void | AddMatch (const Arc &a, double qty) |
void | AddRequestGroup (RequestGroup::Ptr prs) |
void | AddSupplyGroup (ExchangeNodeGroup::Ptr prs) |
std::map< int, Arc > & | arc_by_id () |
const std::map< int, Arc > & | arc_by_id () const |
std::map< Arc, int > & | arc_ids () |
const std::map< Arc, int > & | arc_ids () const |
std::vector< Arc > & | arcs () |
const std::vector< Arc > & | arcs () const |
void | ClearMatches () |
ExchangeGraph () | |
const std::vector< Match > & | matches () |
std::map< ExchangeNode::Ptr, std::vector< Arc > > & | node_arc_map () |
const std::map< ExchangeNode::Ptr, std::vector< Arc > > & | node_arc_map () const |
std::vector< RequestGroup::Ptr > & | request_groups () |
const std::vector< RequestGroup::Ptr > & | request_groups () const |
std::vector< ExchangeNodeGroup::Ptr > & | supply_groups () |
const std::vector< ExchangeNodeGroup::Ptr > & | supply_groups () const |
typedef boost::shared_ptr<ExchangeGraph> cyclus::ExchangeGraph::Ptr |
Definition at line 209 of file exchange_graph.h.
cyclus::ExchangeGraph::ExchangeGraph | ( | ) |
Definition at line 114 of file exchange_graph.cc.
adds an arc to the graph
Definition at line 127 of file exchange_graph.cc.
adds a match for a quanity of flow along an arc
pa | the arc corresponding to a match |
qty | the amount of flow corresponding to a match |
Definition at line 137 of file exchange_graph.cc.
void cyclus::ExchangeGraph::AddRequestGroup | ( | RequestGroup::Ptr | prs | ) |
adds a request group to the graph
Definition at line 117 of file exchange_graph.cc.
void cyclus::ExchangeGraph::AddSupplyGroup | ( | ExchangeNodeGroup::Ptr | prs | ) |
adds a supply group to the graph
Definition at line 122 of file exchange_graph.cc.
Definition at line 262 of file exchange_graph.h.
Definition at line 261 of file exchange_graph.h.
Definition at line 259 of file exchange_graph.h.
Definition at line 258 of file exchange_graph.h.
|
inline |
Definition at line 256 of file exchange_graph.h.
Definition at line 255 of file exchange_graph.h.
|
inline |
clears all matches
Definition at line 229 of file exchange_graph.h.
Definition at line 253 of file exchange_graph.h.
|
inline |
Definition at line 249 of file exchange_graph.h.
|
inline |
Definition at line 246 of file exchange_graph.h.
|
inline |
Definition at line 234 of file exchange_graph.h.
|
inline |
Definition at line 231 of file exchange_graph.h.
|
inline |
Definition at line 241 of file exchange_graph.h.
|
inline |
Definition at line 238 of file exchange_graph.h.