ParallelAssembly
Description
Use ParallelAssembly
to create a battery parallel assembly object
that represents a number of cells connected electrically in parallel under a specific
topological configuration or geometrical arrangement. You can use this object as an input to
the Module
object.
To specify the number of cells connected in parallel, use the
NumParallelCells
property. To generate a Simscape™ model of your ParallelAssembly
object, use the buildBattery
function. This object only supports the definition of structural or design parameters. You can
modify the run-time parameters for this model block and its constituent cells after you create
the model.
The ParallelAssembly
object is the second stage of a battery pack system
model in a bottom-up approach. Pack models are required for architecture evaluation in early
development stages, software and hardware development, system integration and requirement
evaluation, cooling system design, control strategy development hardware-in-the-loop, and many
more applications.
Topology of Parallel Assembly
To meet battery system packaging and space requirements, you can arrange the battery cells
in many different topologies or geometrical configurations. Use the
Topology
property of the ParallelAssembly
object to
define the geometrical arrangement of your battery in a 3-D Cartesian coordinate
system.
The topology of the parallel assembly depends on the format of the battery cells that
comprise the assembly. Depending on the value of the Topology
property,
you can modify the Rows
property to best represent your specific design.
The Rows
property is defined with respect to
the x-axis of the Cartesian coordinate system. By default, the cells are
stacked along the y-axis.
This figure shows the different topologies of a parallel assembly according to the format of the battery cells that comprise the assembly:
To modify the number of cells connected in parallel, use the
NumParallelCells
property. You can modify the topology of the parallel
assembly by using the Topology
property, which depends on the cell
format. The Rows
property is defined with respect to the
x-axis of the Cartesian system. By default, cells are stacked along the
y-axis.
Thermal Boundary Conditions
Thermal boundary conditions define the specific heat transfer mechanisms that occur at each interface of a cell thermal model and its surroundings. In battery systems, cells are typically thermally coupled to different heat sources and sinks, all of which have an effect on the battery cell temperature. The number and type of thermal boundary conditions for a cell model depends on the thermal and mechanical design of the battery system.
For example, you can place cells on an aluminium cooling plate to enhance heat removal and, at the same time, join them together mechanically with a potting compound that effectively eliminates or decreases the inter-cell heat exchange path. The cell temperature has a direct impact on battery performance and lifetime. Therefore, it is crucial to predict this state in dynamic simulation.
Inside a battery object, you can set up a thermal network of lumped-thermal-mass cell models to simultaneously capture the thermal paths to the ambient, the coolant, and/or the cooling plate:
These options are not mutually exclusive. For example, your battery model can combine both the coolant thermal path and the cooling thermal plates to model individual thermal resistances between the individual cells and the sections of the cooling plate.
For more information about thermal paths, see the AmbientThermalPath, CoolantThermalPath, and CoolingPlate properties.
Cell-to-Cell Heat Exchange
You can also model direct cell-to-cell heat exchange. This is important when you want to simulate more detailed thermal management strategies or even thermal propagation scenarios where inter-cell heat transfer happens at faster rates than ambient or coolant rates. In the battery industry, you can link battery cells to each other through many different means. For example, you can link cylindrical cells by using potting compounds for mechanical rigidity, stability, and thermal isolation, or other types of thermal interface materials. You can also use dielectric fluids or other compounds to heat or cool down cylindrical cells, as well as forced air convection.
You can define the thermal parameters for the inter-cell heat exchange after you create the battery model. You can find these parameters from first principles calculations and more detailed 3D simulations.
These options are not mutually exclusive.
For more information about inter-cell thermal paths, see the InterCellThermalPath and InterCellRadiativeThermalPath properties.
Thermal Nodes at Surface Boundaries (since R2024a)
For a more detailed thermal modeling of the battery cells in the battery pack environment, you can also expose the thermal nodes for the cells located at the surface boundaries of the parallel assembly:
To expose the thermal nodes at a specific surface boundary, specify the
XminThermalNodes
, XmaxThermalNodes
,
YminThermalNodes
, and YmaxThermalNodes
properties
accordingly.
For parallel assemblies with hexagonal cylindrical cells, you can also enable the heat
transfer between the cells of the parallel assembly and a serpentine cooling plate. To expose
the thermal nodes at a serpentine cooling plate inside the parallel assembly, specify the
SerpentineCoolingPlate
property. You can then further define the
fraction of the circumference and height of the cylindrical cells used as heat exchange
interface in serpentine cooling plates by specifying the
FractionOfCellCircumferenceForHeatExchange
and
FractionOfCellHeightForHeatExchange
properties.
This table shows the relationship between the surface thermal boundaries and the affected cells:
Parallel Assembly Thermal Boundary | Model | Simulation Output | Layout |
---|---|---|---|
Model Resolution: Detailed |
|
| Layout 1 6 11 16 21 26 2 7 12 17 22 27 3 8 13 18 23 28 4 9 14 19 24 29 5 10 15 20 25 30 CellsAtXminBoundary 1 6 11 16 21 26 |
Model Resolution: Detailed |
|
| CellsAtXmaxBoundary 5 10 15 20 25 30 |
Model Resolution: Detailed |
|
| CellsAtXminBoundary 1 6 11 16 21 26 CellsAtXmaxBoundary 5 10 15 20 25 30 CellsAtYminBoundary 1 2 3 4 5 CellsAtYmaxBoundary 26 27 28 29 30 |
Model Resolution: Lumped |
|
| CellsAtXminBoundary 1 6 11 16 21 26 |
Model Resolution: Detailed |
|
| Layout 1 6 11 16 21 26 2 7 12 17 22 27 3 8 13 18 23 28 4 9 14 19 24 29 5 10 15 20 25 30 CellsAtXminBoundary 1 6 11 16 21 26 |
Model Resolution: Detailed |
|
| CellsAtXmaxBoundary 5 10 15 20 25 30 |
Model Resolution: Detailed |
|
| CellsAtXminBoundary 1 6 11 16 21 26 CellsAtXmaxBoundary 5 10 15 20 25 30 CellsAtYminBoundary 1 2 3 4 5 CellsAtYmaxBoundary 26 27 28 29 30 |
For an example on how to implement scalar and vectorized thermal boundary conditions, see Add Vectorized and Scalar Thermal Boundary Conditions to Battery Models.
Creation
Syntax
Description
Note
To quickly create a ParallelAssembly
object, use the batteryParallelAssembly
function. By using this function, you avoid
importing the namespace, using the full class name, or dealing only with name-value
arguments when creating the object. (since R2024a)
To use this object, at the MATLAB® Command Window, run this command at least once each MATLAB session:
import simscape.battery.builder.*;
creates a parallel assembly that comprises battery cells with default property
values.batteryParallelAssembly
= ParallelAssembly
sets Properties using one or more name-value
arguments. For example, create a parallel assembly with 48 cylindrical cells stacked in a
square topology over four rows with an intercell gap equal to 0.001
m.batteryParallelAssembly
= ParallelAssembly(Name=Value
)
parallelAssembly = ParallelAssembly(... NumParallelCells=48, ... Cell=Cell(Geometry=CylindricalGeometry), ... Topology="Square", ... Rows=4, ... InterCellGap=simscape.Value(0.001,"m"));