Skip to content

Commit

Permalink
Adapting StorageModel.
Browse files Browse the repository at this point in the history
  • Loading branch information
staudtMarius committed Jul 8, 2024
1 parent 2ef0f5a commit 06c8306
Showing 1 changed file with 9 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@
package edu.ie3.simona.model.participant

import edu.ie3.datamodel.models.input.system.StorageInput
import edu.ie3.simona.agent.participant.data.Data.PrimaryData.ApparentPower
import edu.ie3.simona.agent.participant.data.Data.PrimaryData.{
ApparentPower => ComplexPower
}
import edu.ie3.simona.model.SystemComponent
import edu.ie3.simona.model.participant.StorageModel.{
RefTargetSocParams,
Expand All @@ -20,6 +22,7 @@ import edu.ie3.simona.ontology.messages.flex.MinMaxFlexibilityMessage.ProvideMin
import edu.ie3.util.quantities.PowerSystemUnits
import edu.ie3.util.scala.OperationInterval
import edu.ie3.util.scala.quantities.DefaultQuantities._
import edu.ie3.util.scala.quantities.{ApparentPower, Kilovoltamperes}
import squants.energy.{KilowattHours, Kilowatts}
import squants.{Dimensionless, Each, Energy, Power, Seconds}

Expand All @@ -31,14 +34,14 @@ final case class StorageModel(
id: String,
operationInterval: OperationInterval,
qControl: QControl,
sRated: Power,
sRated: ApparentPower,
cosPhiRated: Double,
eStorage: Energy,
pMax: Power,
eta: Dimensionless,
initialSoc: Double,
targetSoc: Option[Double],
) extends SystemParticipant[StorageRelevantData, ApparentPower, StorageState](
) extends SystemParticipant[StorageRelevantData, ComplexPower, StorageState](
uuid,
id,
operationInterval,
Expand Down Expand Up @@ -103,7 +106,7 @@ final case class StorageModel(
voltage: Dimensionless,
modelState: StorageState,
data: StorageRelevantData,
): ApparentPower =
): ComplexPower =
throw new NotImplementedError(
"Storage model cannot calculate power without flexibility control."
)
Expand Down Expand Up @@ -354,9 +357,9 @@ object StorageModel {
scaledInput.getId,
operationInterval,
QControl.apply(scaledInput.getqCharacteristics),
Kilowatts(
Kilovoltamperes(
scaledInput.getType.getsRated
.to(PowerSystemUnits.KILOWATT)
.to(PowerSystemUnits.KILOVOLTAMPERE)
.getValue
.doubleValue
),
Expand Down

0 comments on commit 06c8306

Please sign in to comment.