Main Content

ParallelAssembly (Generated Block)

Generated Simscape model of battery parallel assembly

Since R2022b

  • Parallel Assembly custom block

Description

The ParallelAssembly block represents a custom generated system model of a battery parallel assembly. You can create this Simscape™ block by using the buildBattery function with a ParallelAssembly object as an input argument. The ParallelAssembly generated block is inside the Simulink library that you specify in the LibraryName argument of the buildBattery function.

Note

To allow for structural changes and further customization, when you add the ParallelAssembly (Generated Block) masked library block from the parent library to a Simulink® model, the linked block does not contain the link or path to the parent library block. If you modify any of the battery structural properties, such as NumSeriesAssemblies or NumParallelCells, you must rebuild the original parent library and copy the block in your model again.

For more information about parent and linked blocks, see Linked Blocks.

Variables

To set the priority and initial target values for the block variables prior to simulation, use the Initial Targets section in the block dialog box or Property Inspector. For more information, see Set Priority and Initial Target for Block Variables.

For a detailed list of the variables in the ParallelAssembly block, see the Initial Targets (Variables) section.

Note

The values of variables for cell-level components refer to the value of a single physical cell and not that of a cell model. (since R2023a)

For example, consider a parallel assembly with 10 cells in parallel and a lumped model resolution. The ParallelAssembly generated block exposes the variable v of the cell component as vCell. For a cell with a voltage of 4.2 V, vCell is equal to 4.2 V. Before R2023a, the generated blocks exposed the cell variables with the suffix CellModel and represented the variables of the entire model they represented. For example, using the previous ParallelAssembly generated block, the block exposed a vCellModel variable with a value equal to 4.2*10 = 42V.

Nominal values provide a way to specify the expected magnitude of a variable in a model. Using system scaling based on nominal values increases the simulation robustness. Nominal values can come from different sources, one of which is the Nominal Values section in the block dialog box or Property Inspector. For more information, see System Scaling by Nominal Values.

Examples

Ports

Input

expand all

Cell balancing port, specified as a physical signal.

Dependencies

To enable this port, set the BalancingStrategy property of the ParallelAssembly object to "Passive". Alternatively, set the BalancingStrategy property to "Passive" inside the parent object of which the ParallelAssembly object is a subcomponent.

Output

expand all

Note

The output ports of this block depend on the Simscape cell model block you used to create the battery object associated with this block. If the Simscape cell model block has output ports, the Battery Builder forwards these output ports to all the parent generated blocks of which the battery object is a subcomponent.

For example, if you create a custom Simscape cell model block with a Voltage output port and eventually use it to create this block, then this block has a Voltage output port. For more information about custom cell model blocks, see the CellModelBlockPath property of the CellModelBlock object.

Since R2024b

State of charge at cell level, specified as a physical signal.

Dependencies

To enable this port, use the Battery (Table-Based) block as the component model block for the Cell child object of this block and enable the SOC port.

Conserving

expand all

Electrical conserving port associated with the positive terminal of the battery parallel assembly.

Electrical conserving port associated with the negative terminal of the battery parallel assembly.

Thermal conserving port associated with the ambient thermal path.

Dependencies

To enable this port, set the AmbientThermalPath property of the ParallelAssembly object to "CellBasedThermalResistance". Alternatively, set the AmbientThermalPath property to "CellBasedThermalResistance" inside the parent object of which the ParallelAssembly object is a subcomponent.

Thermal conserving port associated with the coolant thermal path.

Dependencies

To enable this port, set the CoolantThermalPath property of the ParallelAssembly object to "CellBasedThermalResistance". Alternatively, set the CoolantThermalPath property to "CellBasedThermalResistance" inside the parent object of which the ParallelAssembly object is a subcomponent.

Note

If you set the CoolingPlate property to either "Top" or "Bottom" inside the ParallelAssembly object or inside the top-level parent object of which the ParallelAssembly object is a subcomponent, then this port is not enabled.

Since R2024a

Thermal conserving port associated with the minimum X-axis surface boundary, specified as an N-by-1 vector or a scalar.

Dependencies

To enable this port, set the XminThermalNodes property of the ParallelAssembly object to "Scalar" or "Vectorized". Alternatively, set the XminThermalNodes property to "Scalar" or "Vectorized" inside the parent Module object of which the ParallelAssembly object is a subcomponent.

Since R2024a

Thermal conserving port associated with the maximum X-axis surface boundary, specified as an N-by-1 vector or a scalar.

Dependencies

To enable this port, set the XmaxThermalNodes property of the ParallelAssembly object to "Scalar" or "Vectorized". Alternatively, set the XmaxThermalNodes property to "Scalar" or "Vectorized" inside the parent Module object of which the ParallelAssembly object is a subcomponent.

Since R2024a

Thermal conserving port associated with the minimum Y-axis surface boundary, specified as an N-by-1 vector or a scalar.

Dependencies

To enable this port, set the YminThermalNodes property of the ParallelAssembly object to "Scalar" or "Vectorized". Alternatively, set the YminThermalNodes property to "Scalar" or "Vectorized" inside the parent Module object of which the ParallelAssembly object is a subcomponent.

Since R2024a

Thermal conserving port associated with the maximum Y-axis surface boundary, specified as an N-by-1 vector or a scalar.

Dependencies

To enable this port, set the YmaxThermalNodes property of the ParallelAssembly object to "Scalar" or "Vectorized". Alternatively, set the YmaxThermalNodes property to "Scalar" or "Vectorized" inside the parent Module object of which the ParallelAssembly object is a subcomponent.

Since R2024a

Thermal conserving port associated with the serpentine cooling plate boundary.

Dependencies

To enable this port, set the SerpentineCoolingPlate property of the ParallelAssembly object to "SingleSidedAlongStackingAxis" or "DoubleSidedAlongStackingAxis". Alternatively, set the SerpentineCoolingPlate property to "SingleSidedAlongStackingAxis" or "DoubleSidedAlongStackingAxis" inside the parent Module object of which the ParallelAssembly object is a subcomponent.

Since R2023a

Thermal conserving port associated with the inter-cell thermal path.

Dependencies

To enable this port, set either the InterCellThermalPath or the InterCellRadiativeThermalPath properties of the ParallelAssembly object to "on".

Thermal conserving port used to connect the top side of the module with a cooling plate. The size of this port depends on the number of models in the system. If you set the ModelResolution property to “Lumped”, this port outputs a scalar. If you set the ModelResolution property to “Detailed”, this port outputs a vector of size equal to the number of cells in the system. If you set the ModelResolution property to “Grouped”, this port outputs a vector of size depending on the grouping strategy.

Dependencies

To enable this port, set the CoolingPlate property of the ParallelAssembly object to "Top". Alternatively, set the CoolingPlate property to "Top" inside the parent object of which the ParallelAssembly object is a subcomponent.

Thermal conserving port used to connect the bottom side of the module with a cooling plate. The size of this port depends on the number of models in the system. If you set the ModelResolution property to “Lumped”, this port outputs a scalar. If you set the ModelResolution property to “Detailed”, this port outputs a vector of size equal to the number of cells in the system. If you set the ModelResolution property to “Grouped”, this port outputs a vector of size depending on the grouping strategy.

Dependencies

To enable this port, set the CoolingPlate property of the ParallelAssembly object to "Bottom". Alternatively, set the CoolingPlate property to "Bottom" inside the parent object of which the ParallelAssembly object is a subcomponent.

Since R2024a

Electrical array-of-nodes conserving port associated with the positive terminal of the parallel assembly.

Dependencies

To enable this port, set the BalancingStrategy property of the ParallelAssembly object to "External". Alternatively, set the BalancingStrategy property to "External" inside any of the parent battery objects of which the ParallelAssembly object is a subcomponent.

Since R2024a

Electrical array-of-nodes conserving port associated with the positive terminal of the parallel assembly.

Dependencies

To enable this port, set the BalancingStrategy property of the ParallelAssembly object to "External". Alternatively, set the BalancingStrategy property to "External" inside any of the parent battery objects of which the ParallelAssembly object is a subcomponent.

Parameters

expand all

Note

The names of these parameters and variables depend on the block you have specified in the CellModelOptions property of the underlying Cell object that constitutes this parallel assembly.

The names of the parameters and variables in this page refer to a Cell object with the Battery (Table-Based) block as the cell component model block. If you specify a custom block for the cell component model, the names of the parameters and variables might differ.

The parameters of this block need to be set for the cell-level and depend on how you define the ParallelAssembly object that you use to generate this custom model. The block parameters are divided into these sections:

  • Main

  • Dynamics

  • Fade

  • Calendar Aging

  • Thermal

  • Cell Balancing

The visibility of each section also depends on the generating ParallelAssembly object.

For a list of the parameters in the Main, Dynamics, Fade, and Calendar Aging sections, see the documentation page of the Battery (Table-Based) block.

If, in the ParallelAssembly object that you use to generate this custom model, you set the CellParameterDeviation property to "PercentDeviation", each cell parameter (that is not an enumeration or a boolean) has an associated Percent deviation parameter:

Since R2023b

Percent deviation of the value of the corresponding cell parameter k for each cell model in the battery. k is the name of the cell parameter associated with this percent deviation.

The number of parameters of this type is equal to the number of cell parameters in this block. Parameters of type enumeration and boolean do not have an associated Percent deviation parameter.

The value of the corresponding cell parameter with the deviation applied is equal to:

cellParameter=1+(cellParameterDeviation100)exposedCellParameter.

For this parameter, you can specify either:

  • A vector, with one element for each cell model in the battery. These elements are concatenated vertically. For example, for a Module object with two parallel assemblies, three cells, and the ModelResolution property set to "Detailed", this vector requires six elements.

  • A matrix, where each element of the matrix is either a scalar or a matrix of the same size of the underlying associated cell parameter. The parameter deviation elements are concatenated vertically. For example, if a cell parameter has a size of [2,7] and a detailed parallel assembly comprises two cells, then the size of the Percent Deviation for this parameter is equal to [4,7].

For more information about cell-to-cell parameter variation, see the Apply Temperature-Dependent Cell Parameter Variation in Battery Module example.

Dependencies

To enable this parameter, set the CellParameterDeviation property of the ParallelAssembly object to "PercentDeviation".

Thermal

Thermal inertia of a single battery cell. This value represents the energy required to raise the temperature of the thermal port by one degree.

The ParallelAssembly block automatically scales this value up to the system level.

Resistance of the coolant thermal path at the cell level.

Dependencies

To enable this parameter, set the CoolantThermalPath property of the ParallelAssembly object to "CellBasedThermalResistance". Alternatively, set the CoolantThermalPath property to "CellBasedThermalResistance" inside the parent object of which the ParallelAssembly object is a subcomponent.

Resistance of the ambient thermal path at the cell level. The size of this parameter is equal to the total number of electrical models in the system.

Dependencies

To enable this parameter, set the CoolantThermalPath property of the ParallelAssembly object to "CellBasedThermalResistance". Alternatively, set the CoolantThermalPath property to "CellBasedThermalResistance" inside the parent object of which the ParallelAssembly object is a subcomponent.

Since R2023a

Resistance of the thermal path between the cells inside the parallel assembly. The size of this parameter must be equal to the number of inter-cell thermal connections that this block models.

Dependencies

To enable this parameter, set the InterCellThermalPath property of the ParallelAssembly object to "On". Alternatively, set the InterCellThermalPath property to "On" inside the parent object of which the ParallelAssembly object is a subcomponent.

Since R2023a

Area of the radiation heat transfer between the cells inside the parallel assembly. The size of this parameter must be equal to the number of inter-cell thermal connections that this block models.

Dependencies

To enable this parameter, set the InterCellRadiativeThermalPath property of the ParallelAssembly object to "On". Alternatively, set the InterCellRadiativeThermalPath property to "On" inside the parent object of which the ParallelAssembly object is a subcomponent.

Since R2023a

Coefficient of the radiation heat transfer between the cells inside the parallel assembly. The size of this parameter must be equal to the number of inter-cell thermal connections that this block models.

Dependencies

To enable this parameter, set the InterCellRadiativeThermalPath property of the ParallelAssembly object to "On". Alternatively, set the InterCellRadiativeThermalPath property to "On" inside the parent object of which the ParallelAssembly object is a subcomponent.

Since R2024a

Resistance of the thermal path at the cell level at the minimum X-axis boundary. The size of this parameter is equal to the total number of Xmin thermal connections that the block models.

Dependencies

To enable this port, set the XminThermalNodes property of the ParallelAssembly object to "Scalar" or "Vectorized". Alternatively, set the XminThermalNodes property to "Scalar" or "Vectorized" inside the parent Module object of which the ParallelAssembly object is a subcomponent.

Since R2024a

Resistance of the thermal path at the cell level at the maximum X-axis boundary. The size of this parameter is equal to the total number of Xmax thermal connections that the block models.

Dependencies

To enable this port, set the XmaxThermalNodes property of the ParallelAssembly object to "Scalar" or "Vectorized". Alternatively, set the XmaxThermalNodes property to "Scalar" or "Vectorized" inside the parent Module object of which the ParallelAssembly object is a subcomponent.

Since R2024a

Resistance of the thermal path at the cell level at the minimum Y-axis boundary. The size of this parameter is equal to the total number of Ymin thermal connections that the block models.

Dependencies

To enable this port, set the YminThermalNodes property of the ParallelAssembly object to "Scalar" or "Vectorized". Alternatively, set the YminThermalNodes property to "Scalar" or "Vectorized" inside the parent Module object of which the ParallelAssembly object is a subcomponent.

Since R2024a

Resistance of the thermal path at the cell level at the maximum Y-axis boundary. The size of this parameter is equal to the total number of Ymax thermal connections that the block models.

Dependencies

To enable this port, set the YmaxThermalNodes property of the ParallelAssembly object to "Scalar" or "Vectorized". Alternatively, set the YmaxThermalNodes property to "Scalar" or "Vectorized" inside the parent Module object of which the ParallelAssembly object is a subcomponent.

Since R2024a

Resistance of the thermal path at the cell level at the serpentine boundary. The size of this parameter is equal to the total number of serpentine thermal connections that the block models.

Dependencies

To enable this port, set the SerpentineCoolingPlate property of the ParallelAssembly object to "SingleSidedAlongStackingAxis" or "DoubleSidedAlongStackingAxis". Alternatively, set the SerpentineCoolingPlate property to "SingleSidedAlongStackingAxis" or "DoubleSidedAlongStackingAxis" inside the parent Module object of which the ParallelAssembly object is a subcomponent.

Parallel Assembly

Non-cell electrical resistance of each parallel assembly in the module.

Dependencies

To enable this parameter, set the NonCellResistance property of the ParallelAssembly object to "On". Alternatively, set the NonCellResistance property to "On" inside the parent object of which the ParallelAssembly object is a subcomponent.

Cell Balancing

Closed resistance of the cell balancing switch.

Open conductance of the cell balancing switch.

Threshold to activate the cell balancing switch operation.

Resistance of the cell balancing shunt.

Initial Targets (Variables)

The size of these variables is equal to the total number of electrical models in the system. For example, in a Module block with 2 parallel assemblies and 2 series cells, the size of the variables depends on the ModelResolution property of the Module object and is equal to 4 for Detailed, 1 for Lumped, or 3 when the SeriesGrouping property is equal to [1 1] and the ParallelGrouping property is equal to [1 2].

Current at the cell level. The size of this variable is equal to the total number of electrical models in the system.

Voltages at the cell level. The size of this signal is equal to the total number of electrical models in the system.

State of charge at cell level. The value of this variable typically varies between 0 and 1. The size of this signal is equal to the total number of electrical models in the system.

Cell-level number of cycles related to battery aging. The size of this signal is equal to the total number of electrical models in the system.

Temperature at the cell level. The size of this signal is equal to the total number of electrical models in the system.

Voltages at the parallel assembly level. The size of this signal is equal to the total number of electrical models in the system.

State of charge at the parallel assembly level. The size of this signal is equal to the total number of electrical models in the system.

Version History

Introduced in R2022b

expand all