CcBatteryPack

Package: inet.power.storage

simple module CcBatteryPack

Models a battery pack consisting of multiple identical cells arranged in series or parallel. Calculates the overall capacity, voltage, and internal resistance based on the cell properties and their arrangement. In a serial arrangement, voltages and internal resistances add up. In a parallel arrangement, capacities add up and internal resistance decreases.

inet.power.storage.CcBatteryPackCcBatteryPacksimple

Inheritance diagram

Extends

Name

Type

Description

SimpleCcBattery

simple module

This battery model maintains a residual charge capacity by integrating the difference between the total consumed current and the total generated current over time. This model uses a charge-independent ideal voltage source and a charge-independent internal resistance. It initiates node crash when the residual charge capacity reaches zero. See the base module for signals and statistics.

Parameters

Name

Type

Default value

Description

displayStringTextFormat

string

“%c (%p)”

Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information

nominalCapacity

double

numberOfCells * cellNominalCapacity

Maximum amount of charge stored

initialCapacity

double

nominalCapacity

The initially stored amount of charge

nominalVoltage

double

arrangement == “serial” ? numberOfCells * cellNominalVoltage : cellNominalVoltage

Open circuit voltage at maximum charge

internalResistance

double

arrangement == “serial” ? numberOfCells * cellInternalResistance : cellInternalResistance / numberOfCells

Internal resistance

numberOfCells

int

1

Number of cells in the battery pack

arrangement

string

“serial”

cellNominalCapacity

double

7200 C

Typical capacity of an AA battery is 2 Ah = 7200 C

cellNominalVoltage

double

1.5 V

cellInternalResistance

double

0.1 Ohm

Properties

Name

Value

Description

class

SimpleCcBattery

display

i=block/plug

Signals

Name

Type

Unit

Description

currentConsumptionChanged

currentGenerationChanged

residualChargeCapacityChanged

Statistics

Name

Title

Source

Record

Unit

Interpolation Mode

Description

currentConsumption

Current consumption

currentConsumptionChanged

vector

A

sample-hold

currentGeneration

Current generation

currentGenerationChanged

vector

A

sample-hold

residualChargeCapacity

Residual charge capacity

residualChargeCapacityChanged

vector

C

linear

Source code

//
// Models a battery pack consisting of multiple identical cells arranged in
// series or parallel. Calculates the overall capacity, voltage, and internal
// resistance based on the cell properties and their arrangement. In a serial
// arrangement, voltages and internal resistances add up. In a parallel
// arrangement, capacities add up and internal resistance decreases.
//
simple CcBatteryPack extends SimpleCcBattery
{
   parameters:
     int numberOfCells = default(1); // Number of cells in the battery pack
     string arrangement @enum("serial", "parallel") = default("serial");
     double cellNominalCapacity @unit(C) = default(7200 C); // Typical capacity of an AA battery is 2 Ah = 7200 C
     double cellNominalVoltage @unit(V) = default(1.5 V);
     double cellInternalResistance @unit(Ohm) = default(0.1 Ohm);
     nominalCapacity = default(numberOfCells * cellNominalCapacity); // Cell capacities are added when arranged in parallel
     nominalVoltage = default(arrangement == "serial" ? numberOfCells * cellNominalVoltage : cellNominalVoltage); // Voltage is added when cells are arranged in series
     internalResistance = default(arrangement == "serial" ? numberOfCells * cellInternalResistance : cellInternalResistance / numberOfCells); // Internal resistance is added when cells are arranged in series
}

File: src/inet/power/storage/CcBatteryPack.ned