Documentation of UrbanFireXDT
Documentation of UrbanFireXDT
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
BaseComponentSemiFlexible Class Referenceabstract

#include <components.h>

Inheritance diagram for BaseComponentSemiFlexible:
Inheritance graph

Public Member Functions

 BaseComponentSemiFlexible ()
 
 ~BaseComponentSemiFlexible ()
 
virtual double get_currentDemand_kW () const =0
 
const std::vector< double > * get_future_max_consumption_kWh () const
 
const std::vector< double > * get_future_min_consumption_kWh () const
 
void set_horizon_in_ts (unsigned int new_horizon)
 
virtual void setDemandToProfileData (unsigned long ts)=0
 
virtual bool setDemandToGivenValue (double new_demand_kW)=0
 
- Public Member Functions inherited from BaseComponent
virtual ~BaseComponent ()
 
virtual void resetInternalState ()=0
 Resets the internal simulation state (like counters), but retains the structural state like attached sub-components.
 
virtual void resetWeeklyCounter ()=0
 Resets the internal, weekly counters.
 

Protected Attributes

std::vector< double > future_maxE_storage
 
std::vector< double > future_minE_storage
 

Detailed Description

An abstract class acting as super-class for all components that can be controlled, but still have to fulfil a task. An example would be a heat pump or an individual EV. Both offer flexibility to some extend, but their main purpose is to generate heat or to drive. Thus their control is semi-flexible, as the main purpose still has to be fulfilled.

Instead, a battery storage is a fully-flexible controlable element, as it has no other task to fulfil.

Constructor & Destructor Documentation

◆ BaseComponentSemiFlexible()

BaseComponentSemiFlexible::BaseComponentSemiFlexible ( )

◆ ~BaseComponentSemiFlexible()

BaseComponentSemiFlexible::~BaseComponentSemiFlexible ( )

Member Function Documentation

◆ get_currentDemand_kW()

virtual double BaseComponentSemiFlexible::get_currentDemand_kW ( ) const
pure virtual

Implemented in ComponentHP, EVFSM, ComponentHP, and EVFSM.

◆ get_future_max_consumption_kWh()

const std::vector< double > * BaseComponentSemiFlexible::get_future_max_consumption_kWh ( ) const
inline

Returns the maximum electricity consumption of a component for the next n time steps (given some flexibility). This means that the value at position 0 returns the maximum cummulated consumption AT THE END of the current time step. This method assumes to start in the current time step, i.e. the consumption up to the current time step is considered to be 0. The length of the resulting vector is set using BaseComponentSemiFlexible::set_horizon_in_ts(). Attention: The object the returned pointer referes to is overwritten on subsequent calls!

Returns
: Returns a pointer to a vector storing min/max demand per future time step - READ THE ATTENTION NOTICE

◆ get_future_min_consumption_kWh()

const std::vector< double > * BaseComponentSemiFlexible::get_future_min_consumption_kWh ( ) const
inline

Returns the minimum electricity consumption of a component for the next n time steps (given some flexibility). This means that the value at position 0 returns the minimum cummulated consumption AT THE END of the current time step. This method assumes to start in the current time step, i.e. the consumption up to the current time step is considered to be 0. The length of the resulting vector is set using BaseComponentSemiFlexible::set_horizon_in_ts(). Attention: The object the returned pointer referes to is overwritten on subsequent calls!

Returns
: Returns a pointer to a vector storing min/max demand per future time step - READ THE ATTENTION NOTICE

◆ set_horizon_in_ts()

void BaseComponentSemiFlexible::set_horizon_in_ts ( unsigned int  new_horizon)

Sets another horizon for the number of time steps returned by BaseComponentSemiFlexible::get_future_min_max_demand()

◆ setDemandToGivenValue()

virtual bool BaseComponentSemiFlexible::setDemandToGivenValue ( double  new_demand_kW)
pure virtual

Changes the (shiftable) demand of the component for the current time step. It must be called before the current demand and total consumption values are set correctly. If this function is called, BaseComponentSemiFlexible::setDemandToProfileData() must not be called anymore.

Parameters
new_demand_kWThe new power for this time step in kW.
Returns
true if no error occured or false, if the upper or lower bound was violated

Implemented in ComponentHP, EVFSM, ComponentHP, and EVFSM.

◆ setDemandToProfileData()

virtual void BaseComponentSemiFlexible::setDemandToProfileData ( unsigned long  ts)
pure virtual

Sets the demand value to the value as given in the data. If this function is called, BaseComponentSemiFlexible::setDemandToGivenValues() must not be called anymore.

Implemented in ComponentHP, EVFSM, ComponentHP, and EVFSM.

Member Data Documentation

◆ future_maxE_storage

std::vector<double> BaseComponentSemiFlexible::future_maxE_storage
protected

Internal storage of an object that is outputted by BaseComponentSemiFlexible::get_future_max_consumption(), only required that we do not need to reserve / allocate a new vector with every call of BaseComponentSemiFlexible::get_future_max_consumption()

◆ future_minE_storage

std::vector<double> BaseComponentSemiFlexible::future_minE_storage
protected

Internal storage of an object that is outputted by BaseComponentSemiFlexible::get_future_min_consumption(), only required that we do not need to reserve / allocate a new vector with every call of BaseComponentSemiFlexible::get_future_min_consumption()


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