RapidNet
Fast Stochastic MPC for Drinking Water Networks
 All Classes Files Functions Variables Typedefs Macros Pages
Public Member Functions | List of all members
Engine Class Reference

Public Member Functions

 Engine (DwnNetwork *network, ScenarioTree *scenarioTree, SmpcConfiguration *smpcConfig)
 
 Engine (SmpcConfiguration *smpcConfig)
 
void eliminateInputDistubanceCoupling (real_t *nominalDemand, real_t *nominalPrices)
 
void updateStateControl (real_t *currentX, real_t *prevU, real_t *prevDemand)
 
void factorStep ()
 
ScenarioTreegetScenarioTree ()
 
DwnNetworkgetDwnNetwork ()
 
real_tgetSysMatB ()
 
real_tgetSysMatF ()
 
real_tgetSysMatG ()
 
real_tgetSysMatL ()
 
real_tgetSysMatLhat ()
 
real_t ** getPtrSysMatB ()
 
real_t ** getPtrSysMatF ()
 
real_t ** getPtrSysMatG ()
 
real_t ** getPtrSysMatL ()
 
real_t ** getPtrSysMatLhat ()
 
real_tgetVecPreviousControl ()
 
real_tgetVecCurrentState ()
 
real_tgetVecPreviousUhat ()
 
real_tgetVecDemand ()
 
real_tgetMatPhi ()
 
real_tgetMatPsi ()
 
real_tgetMatTheta ()
 
real_tgetMatOmega ()
 
real_tgetMatSigma ()
 
real_tgetMatD ()
 
real_tgetMatF ()
 
real_tgetMatG ()
 
real_t ** getPtrMatPhi ()
 
real_t ** getPtrMatPsi ()
 
real_t ** getPtrMatTheta ()
 
real_t ** getPtrMatOmega ()
 
real_t ** getPtrMatSigma ()
 
real_t ** getPtrMatD ()
 
real_t ** getPtrMatF ()
 
real_t ** getPtrMatG ()
 
real_tgetVecUhat ()
 
real_tgetVecBeta ()
 
real_tgetVecE ()
 
cublasHandle_t getCublasHandle ()
 
uint_tgetTreeStages ()
 
uint_tgetTreeNodesPerStage ()
 
uint_tgetTreeNodesPerStageCumul ()
 
uint_tgetTreeLeaves ()
 
uint_tgetTreeNumChildren ()
 
uint_tgetTreeAncestor ()
 
uint_tgetTreeNumChildrenCumul ()
 
real_tgetTreeProb ()
 
real_tgetTreeErrorDemand ()
 
real_tgetTreeErrorPrices ()
 
real_tgetSysXmin ()
 
real_tgetSysXmax ()
 
real_tgetSysXs ()
 
real_tgetSysXsUpper ()
 
real_tgetSysUmin ()
 
real_tgetSysUmax ()
 
 ~Engine ()
 

Detailed Description

TODO Document this class (what is its purpose)

Constructor & Destructor Documentation

Engine::Engine ( DwnNetwork network,
ScenarioTree scenarioTree,
SmpcConfiguration smpcConfig 
)
Parameters
network
forecaster
Todo:
remove SmpcConfig from here

Here is the call graph for this function:

Engine::Engine ( SmpcConfiguration smpcConfig)
Parameters
network
forecaster
Todo:
remove SmpcConfig from here

Here is the call graph for this function:

Engine::~Engine ( )

Destructor

Member Function Documentation

void Engine::eliminateInputDistubanceCoupling ( real_t nominalDemand,
real_t nominalPrices 
)

Eliminate input-demand coupling equations

Parameters
nominalDemanddemand predicted
nominalPriceprice prediction

Here is the call graph for this function:

Here is the caller graph for this function:

void Engine::factorStep ( )

Implements the Factor step that calculates all the constant matrices of the APG algorithm - refer to Appendix B in the paper

Here is the call graph for this function:

Here is the caller graph for this function:

cublasHandle_t Engine::getCublasHandle ( )

handle cublasHandle

cublasHandle

Here is the caller graph for this function:

DwnNetwork * Engine::getDwnNetwork ( )

pointer to the DWN network

Here is the caller graph for this function:

real_t * Engine::getMatD ( )

matrix D

real_t * Engine::getMatF ( )

matrix F (Factor step)

real_t * Engine::getMatG ( )

matrix G (Facotr step)

matrix G (Factor step)

real_t * Engine::getMatOmega ( )

matrix Theta

real_t * Engine::getMatPhi ( )

previous v reduced control dimensions-—GETTER'S FOR FACTOR MATRICES-— matrix Phi

-—GETTER'S FOR THE FACTOR STEP— matrix Phi

real_t * Engine::getMatPsi ( )

matrix Psi

real_t * Engine::getMatSigma ( )

matrix Sigma

Here is the caller graph for this function:

real_t * Engine::getMatTheta ( )

matrix Theta

real_t ** Engine::getPtrMatD ( )

pointer matrix D

Here is the caller graph for this function:

real_t ** Engine::getPtrMatF ( )

pointer matrix F (Factor step)

Here is the caller graph for this function:

real_t ** Engine::getPtrMatG ( )

pointer matrix G (Factor step)

Here is the caller graph for this function:

real_t ** Engine::getPtrMatOmega ( )

pointer matrix Omega

Here is the caller graph for this function:

real_t ** Engine::getPtrMatPhi ( )

pointer matrix Phi

Here is the caller graph for this function:

real_t ** Engine::getPtrMatPsi ( )

pointer matrix Psi

Here is the caller graph for this function:

real_t ** Engine::getPtrMatSigma ( )

pointer matrix Sigma

Here is the caller graph for this function:

real_t ** Engine::getPtrMatTheta ( )

pointer matrix Theta

Here is the caller graph for this function:

real_t ** Engine::getPtrSysMatB ( )

pointer to Matrix B

real_t ** Engine::getPtrSysMatF ( )

pointer to matrix F

Here is the caller graph for this function:

real_t ** Engine::getPtrSysMatG ( )

pointer to matrix G

Here is the caller graph for this function:

real_t ** Engine::getPtrSysMatL ( )

pointer to matrix L

real_t ** Engine::getPtrSysMatLhat ( )

pointer to matrix Lhat

ScenarioTree * Engine::getScenarioTree ( )

pointer to the scenario tree

Here is the caller graph for this function:

real_t * Engine::getSysMatB ( )

System matrix B

—GETTER'S FOR THE SYSTEM MATRICES

Here is the caller graph for this function:

real_t * Engine::getSysMatF ( )

constraints matrix F

real_t * Engine::getSysMatG ( )

constraints matrix G

real_t * Engine::getSysMatL ( )

matrix L

Here is the caller graph for this function:

real_t * Engine::getSysMatLhat ( )

matrix Lhat

real_t * Engine::getSysUmax ( )

actuator/cotrol maximum

actuator/control maximum

Here is the caller graph for this function:

real_t * Engine::getSysUmin ( )

actuator/control minimum

Here is the caller graph for this function:

real_t * Engine::getSysXmax ( )

state/volume maximum

Here is the caller graph for this function:

real_t * Engine::getSysXmin ( )

state/volume minimum

-—GETTER'S OF NETWORK CONSTRAINTS-— state/volume minimum

Here is the caller graph for this function:

real_t * Engine::getSysXs ( )

state/volume safe level

Here is the caller graph for this function:

real_t * Engine::getSysXsUpper ( )

dummy state/volume safe level

Here is the caller graph for this function:

uint_t * Engine::getTreeAncestor ( )

Array of ancestor

Here is the caller graph for this function:

real_t * Engine::getTreeErrorDemand ( )

Array of the error in the demand

real_t * Engine::getTreeErrorPrices ( )

Array of the error in the prices

uint_t * Engine::getTreeLeaves ( )

Array of the leaves

uint_t * Engine::getTreeNodesPerStage ( )

Array of nodes per stage

uint_t * Engine::getTreeNodesPerStageCumul ( )

Array of past nodes

uint_t * Engine::getTreeNumChildren ( )

Array number of children

Here is the caller graph for this function:

uint_t * Engine::getTreeNumChildrenCumul ( )

Array of past cumulative children

Here is the caller graph for this function:

real_t * Engine::getTreeProb ( )

Array of the probability

uint_t * Engine::getTreeStages ( )

Array of stages

-—GETTER'S FOR THE SCENARIO TREE-— Array of the stage of the nodes at the tree

real_t * Engine::getVecBeta ( )

beta control-distribution elimination

Here is the caller graph for this function:

real_t * Engine::getVecCurrentState ( )

current state

Here is the caller graph for this function:

real_t * Engine::getVecDemand ( )

previous demand

real_t * Engine::getVecE ( )

e control-disturbance elimination

Here is the caller graph for this function:

real_t * Engine::getVecPreviousControl ( )

previous control

Here is the caller graph for this function:

real_t * Engine::getVecPreviousUhat ( )

previous uhat

Here is the caller graph for this function:

real_t * Engine::getVecUhat ( )

uhat

Here is the caller graph for this function:

void Engine::updateStateControl ( real_t currentX,
real_t prevU,
real_t prevDemand 
)

Update the state and control in the device

Parameters
currentXcurrent level of tanks in the system
prevUprevious control action
prevDemandprevious demand

Here is the call graph for this function:

Here is the caller graph for this function:


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