Connect Cooling Plate to Battery Blocks
Simscape™ Battery™ includes blocks and functionalities that model battery cooling plates for thermal management. You can define the thermal boundary conditions and thermal interfaces of your battery system and automatically generate a Simulink® library. This Simulink library then contains battery models that are thermally coupled to Simscape Battery cooling plate blocks. These cooling plate blocks contain both thermal and thermal-liquid domain connections:
To interface to or from battery blocks that include a thermal model, use the thermal domain nodes.
To specify coolant inlet and outlet properties and operating conditions, use the thermal-liquid domain nodes.
The cooling plate blocks in Simscape Battery model flat cooling plates with internal channels where a coolant can flow. These blocks support three main flow configurations:
Parallel Channels — Model a battery cooling plate with multiple channels and a pair of distributor channels for inlet and outlet flow
U-shaped Channels — Model a battery cooling plate with flat channels.
Edge Cooling — Model a battery cooling plate with edge cooling. In this configuration, the coolant flows at one end of the flat plate and all the heat from the battery cells is transferred via conduction within the cooling plate material.
You can discretize these cooling plates into elements to closely capture temperature spreads resulting from the dynamic interaction with the battery and the coolant flow. The discretization of the cooling plate is independent of the battery and of the battery model resolution.
This figure shows the connection between a module with two prismatic cells with detailed model resolution and a 2-by-2 discretized cooling plate with two cooling channels in the Y dimension. Each numbered element of the figure represents a different part of the thermal model:
The software models the cooling channels using four pipe elements, based on the 2-by-2 discretization of the cooling plate. For more information, see Discretize Cooling Plates.
The cooling plate comprises four regions. The value of the thermal mass that models each region depends on the plate properties. The thermal mass of each region then connects to a pipe element.
To account for the heat exchange through conduction inside the plate, the neighboring thermal masses of the plate connects to each other with thermal conductivity elements. For more information, see Heat Transfer Inside Plate.
Each thermal mass of the plate connects with the thermal masses of the battery pack. In this figure, there are only two cells and therefore two thermal masses. Each cell connects to two different regions of the plate. For more information, see Array of Thermal Nodes.
Discretize Cooling Plates
To model the cooling channels in a cooling plate, Simscape Battery uses Pipe (TL) elements. The number of Pipe (TL) elements and their connection to the plate depend on the discretization.
The Number of partitions in X direction and Number of partitions in Y direction parameters of the cooling plate blocks control the discretization of the cooling plate. This example shows the effect of varying these two parameters using the Parallel Channels cooling plate block. The coolant channels are places along the X direction.
If you set the Number of partitions in X direction and Number of partitions in Y direction parameters to 1, the cooling plate is a lumped mass with a single thermal mass value. The software calculates this thermal mass from the value of the parameters in the Plate Material settings of the cooling plate block. In this example, the value of the Number of coolant channels parameter is equal to 2. The software then places two Pipe (TL) elements and connects them to the cooling plate. During the simulation, the cooling plate has one temperature value at each time step. Consequently, each cell of the battery pack connected to this cooling plate measures the same plate temperature value.
To increase the model fidelity, change the value of the Number of partitions in X direction to 2. The software now divides the cooling plate along the X dimension in two regions. Each region comprises a separate thermal mass. With this configuration, each Pipe (TL) element connects to a different region of the plate. During the simulation, the cooling plate has two different temperature values, one for each region of the plate.
To increase the model fidelity even further, change the value of the Number of partitions in Y direction to 3. The software discretizes the cooling plate along the Y dimension in three regions. The total number of regions in the cooling plate is now six. Since the Y direction is also the direction of the coolant flow, the software discretizes the cooling pipes as well. Instead of one Pipe (TL) element per cooling channel, this configuration comprises three pipe elements per cooling channel. Each region of the plate then connects to a different Pipe (TL) element. During the simulation, this cooling plate has six different temperature values at each time step. Consequently, the cells of the battery pack connected to this plate measure a temperature value that depends on the position of the cells.
Heat Transfer Inside Plate
A cooling plate also models the heat conduction within the plate itself. These heat conduction effects are active only if the plate comprises more than one region. This figure shows how the heat conduction works inside a cooling plate with a six-regions discretization. The software uses a Conductive Heat Transfer block to connect each region of the plate with its neighbouring region. The parameter values of each Conductive Heat Transfer block depends on the Thermal conductivity of cooling plate material parameter of the cooling plate.
Array of Thermal Nodes
To connect a battery block to a cooling plate block, you must use an array of nodes. An array of nodes is a multi-dimensional or vectorized thermal domain connector that provides an easy way to specify element-wise connections between two or more parametric-sized arrays of components. For more information, see Arrays of Nodes. An array of nodes denotes multi-dimensional connections such as the ones between the battery cells and the surface of a cooling plate.
As with a scalar thermal domain node, an array of thermal nodes conveys vectorized
heat and temperature information for every element in the array. However, an array of
thermal nodes does not include additional information such as the heat exchange area,
location of each area, and the length of the array. You can obtain this additional
information by querying the
ThermalNodes property of the battery
objects that you create in Simscape
To generate a battery block with a vectorized thermal node, you must first specify the
CoolingPlate property of the
objects. Then you can connect this vectorized thermal node to a cooling plate block.
You can link a cooling plate to a battery block manually or automatically.
Connect Battery Block to Cooling Plate Block Manually
To manually connect a cooling plate to a battery block:
Define your battery object. Set the
CoolingPlateproperty of your battery object to either
"Top". This ensures that the generated battery block contains a vectorized thermal node.
To display the required thermal interface characteristics for cooling plate coupling in the form of a structure, access the
ThermalNodesproperty of your battery object.
Generate the battery object using the
Drag and drop your battery block and the required cooling plate block in your Simulink model and connect the thermal domain nodes of the two blocks.
Input the required ThermalNodes information into the cooling plate block. This information includes the number of nodes, 2-D location of nodes, and dimensions of nodes.
When you connect the thermal ports of a cooling plate to a battery block, the
software automatically fits the total length and width of the cooling plate to the
battery block based on the
Connect Battery Block to Cooling Plate Block Automatically
This option applies only to
Pack object. To automatically connect a cooling plate to a
Pack block, at the time of
creation of your battery object, in the
property, specify the path of the cooling system block that you want to use from the
Thermal library. When you build your battery object, the
software automatically links the battery block to the specified cooling plate block
at the boundary that you defined in the
This figure shows the internal structure of a module assembly when you set the
CoolingPlate property to
"Bottom" and the
CoolingPlateBlockPath property to
For example, consider a module that contains six parallel assemblies with six
cells in parallel. You can choose to thermally simulate this module using three
thermal models by setting the
SeriesGrouping property to
[1,4,1]. In this case, the length of the thermal node array
is equal to 3. This figure shows the thermal linkage that occurs when you link this
battery module to one of the cooling plates from the Thermal
library in Simscape Battery. The right-hand side of the figure shows the equivalent
Simscape thermal network that models the connection between a battery and a cooling plate.
Alternatively, you can increase the model resolution to five thermal models by
SeriesGrouping property to
[1,1,2,1,1]. Here, the length of the thermal node array
increases to 5. The size of the
ThermalNodes property changes
to reflect this increased level of resolution. This also changes the area and
location of the thermal nodes in the battery block. This figure shows the thermal
linkage that occurs when you link this battery module to one of the cooling plates
from the Thermal library in Simscape Battery. The right-hand
side of the figure shows the equivalent Simscape thermal network that models the
connection between a battery and a cooling plate.
For more information on how to automatically connect battery blocks to cooling plate blocks, see the Build Model of Battery Module Assembly with Multi-Module Cooling Plate and Build Model of Battery Pack with Multi-Module Cooling Plate examples.