CYCAMORE
|
This region determines if there is a need to meet a certain capacity (as defined via input) at each time step. More...
#include <growth_region.h>
Public Member Functions | |
virtual Json::Value | annotations () |
virtual cyclus::Agent * | Clone () |
virtual void | DecomNotify (Agent *m) |
unregister a child | |
virtual void | DecomNotify (Agent *m) |
unregister a child | |
virtual void | EnterNotify () |
enter the simulation and register any children present | |
virtual void | EnterNotify () |
enter the simulation and register any children present | |
GrowthRegion (cyclus::Context *ctx) | |
The default constructor for the GrowthRegion. | |
GrowthRegion (cyclus::Context *ctx) | |
The default constructor for the GrowthRegion. | |
virtual void | InfileToDb (cyclus::InfileTree *tree, cyclus::DbInit di) |
virtual void | InitFrom (cycamore::GrowthRegion *m) |
virtual void | InitFrom (cyclus::QueryableBackend *b) |
virtual void | InitInv (cyclus::Inventories &inv) |
virtual std::string | schema () |
cyclus::toolkit::SupplyDemandManager * | sdmanager () |
cyclus::toolkit::SupplyDemandManager * | sdmanager () |
virtual void | Snapshot (cyclus::DbInit di) |
virtual cyclus::Inventories | SnapshotInv () |
virtual void | Tick () |
On each tick, the GrowthRegion queries its supply demand manager to determine if there exists some demand. | |
virtual void | Tick () |
On each tick, the GrowthRegion queries its supply demand manager to determine if there exists some demand. | |
virtual std::string | version () |
virtual std::string | version () |
virtual | ~GrowthRegion () |
The default destructor for the GrowthRegion. | |
virtual | ~GrowthRegion () |
The default destructor for the GrowthRegion. | |
Protected Member Functions | |
void | AddCommodityDemand_ (std::string commod, Demand &demand) |
add a demand for a commodity on which this region request that facilities be built | |
*The type name is the lower case name of the | function (e.g., " " 'linear', 'exponential', etc.)." "\n\n" " *The parameters associated with each function type can be found on their " "respective documentation pages." |
void | OrderBuilds (cyclus::toolkit::Commodity &commodity, double unmetdemand) |
orders builds given a commodity and an unmet demand for production capacity of that commodity | |
void | Register_ (cyclus::Agent *agent) |
register a child | |
void | Unregister_ (cyclus::Agent *agent) |
unregister a child | |
Protected Attributes | |
std::map< std::string, std::vector< std::pair< int, std::pair< std::string, std::string > > > > | commodity_demand |
std::vector< int > | cycpp_shape_commodity_demand |
cyclus::toolkit::SupplyDemandManager | sdmanager_ |
manager for Supply and demand | |
Private Member Functions | |
void | RecordPosition () |
Records an agent's latitude and longitude to the output db. | |
Private Attributes | |
cyclus::toolkit::Position | coordinates |
std::vector< int > | cycpp_shape_latitude |
std::vector< int > | cycpp_shape_longitude |
double | latitude |
double | longitude |
Friends | |
class | GrowthRegionTests |
This region determines if there is a need to meet a certain capacity (as defined via input) at each time step.
If there is such a need, the region will determine how many of each facility type are required and then determine, facility by facility, which of its institutions are available to build each facility.
@TODO In order to make GrowthRegion copacetic with init/restart, its input parameter space was simplified. For now it can only provide growth support for a single demanded commodity. A relatively simple next step will be to determin an input API and corresponding implementation that again supports multiple commodities being demanded.
Definition at line 40 of file build/cycamore/growth_region.h.
cycamore::GrowthRegion::GrowthRegion | ( | cyclus::Context * | ctx | ) |
The default constructor for the GrowthRegion.
Definition at line 7 of file build/cycamore/growth_region.cc.
|
virtual |
The default destructor for the GrowthRegion.
Definition at line 18 of file build/cycamore/growth_region.cc.
cycamore::GrowthRegion::GrowthRegion | ( | cyclus::Context * | ctx | ) |
The default constructor for the GrowthRegion.
|
virtual |
The default destructor for the GrowthRegion.
|
protected |
add a demand for a commodity on which this region request that facilities be built
Definition at line 20 of file build/cycamore/growth_region.cc.
References sdmanager_.
Referenced by EnterNotify().
|
inlinevirtual |
Definition at line 226 of file build/cycamore/growth_region.h.
|
inlinevirtual |
Definition at line 172 of file build/cycamore/growth_region.h.
|
virtual |
unregister a child
Definition at line 62 of file build/cycamore/growth_region.cc.
References Unregister_().
|
virtual |
unregister a child
|
virtual |
enter the simulation and register any children present
Definition at line 43 of file build/cycamore/growth_region.cc.
References AddCommodityDemand_(), commodity_demand, RecordPosition(), and Register_().
|
virtual |
enter the simulation and register any children present
|
protected |
|
inlinevirtual |
Definition at line 80 of file build/cycamore/growth_region.h.
References commodity_demand, cycpp_shape_commodity_demand, cycpp_shape_latitude, cycpp_shape_longitude, latitude, and longitude.
|
inlinevirtual |
Definition at line 51 of file build/cycamore/growth_region.h.
References commodity_demand, cycpp_shape_commodity_demand, cycpp_shape_latitude, cycpp_shape_longitude, latitude, and longitude.
|
inlinevirtual |
Definition at line 65 of file build/cycamore/growth_region.h.
References commodity_demand, cycpp_shape_commodity_demand, cycpp_shape_latitude, cycpp_shape_longitude, latitude, and longitude.
|
inlinevirtual |
Definition at line 289 of file build/cycamore/growth_region.h.
|
protected |
orders builds given a commodity and an unmet demand for production capacity of that commodity
commodity | the commodity being demanded |
unmetdemand | the unmet demand |
Definition at line 136 of file build/cycamore/growth_region.cc.
Referenced by Tick().
|
private |
Records an agent's latitude and longitude to the output db.
Definition at line 178 of file build/cycamore/growth_region.cc.
References latitude, and longitude.
Referenced by EnterNotify().
|
protected |
register a child
Definition at line 66 of file build/cycamore/growth_region.cc.
References sdmanager_.
Referenced by EnterNotify().
|
inlinevirtual |
Definition at line 178 of file build/cycamore/growth_region.h.
|
inline |
Definition at line 321 of file build/cycamore/growth_region.h.
References sdmanager_.
|
inline |
Definition at line 68 of file src/growth_region.h.
References sdmanager_.
|
inlinevirtual |
Definition at line 297 of file build/cycamore/growth_region.h.
References commodity_demand, cycpp_shape_commodity_demand, cycpp_shape_latitude, cycpp_shape_longitude, latitude, and longitude.
|
inlinevirtual |
Definition at line 292 of file build/cycamore/growth_region.h.
|
virtual |
On each tick, the GrowthRegion queries its supply demand manager to determine if there exists some demand.
If demand for a commodity exists, then the correct build order for that demand is constructed and executed.
time | is the time to perform the tick |
Definition at line 110 of file build/cycamore/growth_region.cc.
References commodity_demand, OrderBuilds(), and sdmanager_.
|
virtual |
On each tick, the GrowthRegion queries its supply demand manager to determine if there exists some demand.
If demand for a commodity exists, then the correct build order for that demand is constructed and executed.
time | is the time to perform the tick |
|
protected |
unregister a child
Definition at line 92 of file build/cycamore/growth_region.cc.
References sdmanager_.
Referenced by DecomNotify().
|
inlinevirtual |
Definition at line 50 of file build/cycamore/growth_region.h.
References CYCAMORE_VERSION.
|
inlinevirtual |
Definition at line 48 of file src/growth_region.h.
References CYCAMORE_VERSION.
|
friend |
Definition at line 42 of file build/cycamore/growth_region.h.
|
protected |
Definition at line 327 of file build/cycamore/growth_region.h.
Referenced by EnterNotify(), InfileToDb(), InitFrom(), InitFrom(), Snapshot(), and Tick().
|
private |
Definition at line 371 of file build/cycamore/growth_region.h.
|
protected |
Definition at line 328 of file build/cycamore/growth_region.h.
Referenced by InfileToDb(), InitFrom(), InitFrom(), and Snapshot().
|
private |
Definition at line 360 of file build/cycamore/growth_region.h.
Referenced by InfileToDb(), InitFrom(), InitFrom(), and Snapshot().
|
private |
Definition at line 367 of file build/cycamore/growth_region.h.
Referenced by InfileToDb(), InitFrom(), InitFrom(), and Snapshot().
|
private |
Definition at line 359 of file build/cycamore/growth_region.h.
Referenced by InfileToDb(), InitFrom(), InitFrom(), RecordPosition(), and Snapshot().
|
private |
Definition at line 366 of file build/cycamore/growth_region.h.
Referenced by InfileToDb(), InitFrom(), InitFrom(), RecordPosition(), and Snapshot().
|
protected |
manager for Supply and demand
Definition at line 338 of file build/cycamore/growth_region.h.
Referenced by AddCommodityDemand_(), Register_(), sdmanager(), Tick(), and Unregister_().