Package agents.storage
Class Device
- java.lang.Object
-
- agents.storage.AbstractDevice
-
- agents.storage.Device
-
public class Device extends AbstractDevice
Represents a physical energy storage device (e.g. LiIon battery or pumped-hydro plant)- Author:
- Christoph Schimeczek
-
-
Field Summary
Fields Modifier and Type Field Description static de.dlr.gitlab.fame.agent.input.Tree
parameters
Input parameters of a storageDevice
-
Fields inherited from class agents.storage.AbstractDevice
energyStorageCapacityInMWH, internalPowerInMW
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double
chargeInMW(double externalChargingPower)
(Dis-)charges this device according to given external energy deltadouble
getAccountedFullStorageCycles()
double
getAccountedInternalEnergyFlowsInMWH()
double
getCurrentEnergyInStorageInMWH()
void
resetEnergyAccounting()
Reset tracked internal energy flows and full storage cycles to 0void
setInternalPowerInMW(double internalPowerInMW)
Updates internal charging and discharging power of thisDevice
.-
Methods inherited from class agents.storage.AbstractDevice
calcInternalSelfDischargeInMWH, externalToInternalEnergy, getChargingEfficiency, getDischargingEfficiency, getEnergyStorageCapacityInMWH, getEnergyToPowerRatio, getExternalChargingPowerInMW, getExternalDischargingPowerInMW, getGrossDepletionLossFactor, getInternalPowerInMW, getNetChargingLossFactor, getSelfDischargeRatePerHour, internalToExternalEnergy
-
-
-
-
Field Detail
-
parameters
public static final de.dlr.gitlab.fame.agent.input.Tree parameters
Input parameters of a storageDevice
-
-
Constructor Detail
-
Device
public Device(de.dlr.gitlab.fame.agent.input.ParameterData input) throws de.dlr.gitlab.fame.agent.input.ParameterData.MissingDataException
Creates a physicalDevice
- Parameters:
input
- ParameterData group to match theparameters
Tree- Throws:
de.dlr.gitlab.fame.agent.input.ParameterData.MissingDataException
- if any required data is not provided
-
-
Method Detail
-
setInternalPowerInMW
public void setInternalPowerInMW(double internalPowerInMW)
Updates internal charging and discharging power of thisDevice
. Since E2P ratio is fixed this will also change the storage capacity.- Overrides:
setInternalPowerInMW
in classAbstractDevice
- Parameters:
internalPowerInMW
- new internal power
-
resetEnergyAccounting
public void resetEnergyAccounting()
Reset tracked internal energy flows and full storage cycles to 0
-
chargeInMW
public double chargeInMW(double externalChargingPower)
(Dis-)charges this device according to given external energy delta- Parameters:
externalChargingPower
-- externalChargingPower > 0: charging
- externalChargingPower < 0: depleting
- Returns:
- actual external charging power, considering power and energy capacity restrictions of this device
-
getAccountedInternalEnergyFlowsInMWH
public double getAccountedInternalEnergyFlowsInMWH()
- Returns:
- total of accounted internal energy flows
-
getAccountedFullStorageCycles
public double getAccountedFullStorageCycles()
- Returns:
- total of accounted full storage cycles
-
getCurrentEnergyInStorageInMWH
public double getCurrentEnergyInStorageInMWH()
- Returns:
- current (internal) energy content in storage
-
-