Class AbstractDevice

  • Direct Known Subclasses:
    Device

    public abstract class AbstractDevice
    extends Object
    Represents a storage device of any kind (e.g. LiIon, pumped-hydro) in its abstract form, i.e. without a specific state of charge
    Author:
    Christoph Schimeczek
    • Field Detail

      • internalPowerInMW

        protected double internalPowerInMW
        internal maximum charging / discharging power in MW
      • energyStorageCapacityInMWH

        protected double energyStorageCapacityInMWH
        internal energy storage capacity in MWh
    • Constructor Detail

      • AbstractDevice

        protected AbstractDevice​(double energyToPowerRatio,
                                 double selfDischargeRatePerHour,
                                 double chargingEfficiency,
                                 double dischargingEfficiency)
        Creates an AbstractDevice
        Parameters:
        energyToPowerRatio - ratio of energy capacity to maximum internal charging and dis-charging power (assumed symmetric)
        selfDischargeRatePerHour - relative share of energy lost per hour proportional to state of charge [0..1]
        chargingEfficiency - efficiency during charging [0..1]; affects maximum external charging power
        dischargingEfficiency - efficiency during discharging [0..1]; affects maximum external discharging power
    • Method Detail

      • getInternalPowerInMW

        public double getInternalPowerInMW()
        Returns:
        internal charging / discharging power maximum in MW
      • setInternalPowerInMW

        public void setInternalPowerInMW​(double internalPowerInMW)
        Set internal charging / discharging power maximum in MW; energy storage capacity is adapted accordingly
        Parameters:
        internalPowerInMW - new internal power
      • getEnergyStorageCapacityInMWH

        public double getEnergyStorageCapacityInMWH()
        Returns:
        internal energy storage capacity in MWh
      • getEnergyToPowerRatio

        public double getEnergyToPowerRatio()
        Returns:
        the energy-to-power ratio of this storage; equals the time needed to fully charge / discharge the storage
      • getSelfDischargeRatePerHour

        public double getSelfDischargeRatePerHour()
        Returns:
        self discharge rate per hour; values between 0 and 1
      • calcInternalSelfDischargeInMWH

        public double calcInternalSelfDischargeInMWH​(double energyInStorageInMWH)
        Returns energy losses due to self discharge based on given energy in storage
        Parameters:
        energyInStorageInMWH - to be considered
        Returns:
        energy loss in one hour due to self discharge based on given energy in storage
      • getChargingEfficiency

        public double getChargingEfficiency()
        Returns:
        relative charging efficiency [0..1]
      • getDischargingEfficiency

        public double getDischargingEfficiency()
        Returns:
        relative discharging efficiency [0..1]
      • getNetChargingLossFactor

        public double getNetChargingLossFactor()
        Returns:
        net charging loss factor, to be multiplied to the net energy difference during charging (i.e. the effective internal energy amount charged)
      • getGrossDepletionLossFactor

        public double getGrossDepletionLossFactor()
        Returns:
        gross depletion loss factor, to be multiplied to the gross energy difference during depletion (i.e. the internal energy amount depleted)
      • externalToInternalEnergy

        public double externalToInternalEnergy​(double externalEnergyDelta)
        Return internal energy delta equivalent of given external energy delta
        Parameters:
        externalEnergyDelta - > 0: charging; < 0: depleting
        Returns:
        corresponding internal energy delta equivalent
      • internalToExternalEnergy

        public double internalToExternalEnergy​(double internalEnergyDelta)
        Return external energy delta equivalent of given internal energy delta
        Parameters:
        internalEnergyDelta - > 0: charging; < 0: depleting
        Returns:
        external energy delta equivalent
      • getExternalChargingPowerInMW

        public double getExternalChargingPowerInMW()
        Returns:
        maximum external charging power
      • getExternalDischargingPowerInMW

        public double getExternalDischargingPowerInMW()
        Returns:
        maximum external discharging power