Project

Numerical Simulation of Battery Cooling system using OpenFOAM

Abstract:

The development of electric vehicles has led to increased attention in the thermal management of Li-ion batteries. In this report, the liquid cooling system of a standard battery module is simulated including the cooling plates using an open-source numerical tool, OpenFOAM. The results of the simulation are validated using data from the literature.

Introduction:

The lithium-ion battery is being increasingly used because of the rising popularity of electric vehicles. As the batteries are charged or discharged, it produces heat which needs to be removed. Effective thermal management of the batteries will lead to longer life and higher performance. Air cooling is not able to provide effective thermal management and so liquid cooling system are increasingly used in electric vehicles. The liquid cooling system of BMW I3 and Tesla remove heat from the batteries in such a way that it leads to a uniform temperature distribution in the battery modules. BMW I3 uses the prismatic battery in contrast to the cylindrical batteries used by Tesla models and each has its unique cooling plate design.

A numerical analysis of the battery module arrangement and the cooling system helps us to design the best cooling plates for the effective temperature removal. Several kinds of research are carried out to determine the optimal cooling plate design for several battery systems. In the beginning, a single battery numerical model was created and simulated to validate the thermal model used. This study focuses on replicating the simulation performed in [1] in an open-source CFD solver, OpenFOAM. The results of the simulation were validated using the experimental data available in the same. The simulation was extended by including linearly varying heat source instead of constant heat source used in [1].

Case Description:

A standard battery module used in this study consists of 15 prismatic lithium iron phosphate batteries with a cooling plate placed on the top and bottom of the battery module. This module replicates the battery pack module used in electric vehicles. The working parameters of the battery are shown in table 1.

The interior of the battery was simplified as an equivalent solid model and the following assumptions were made:

  1. The material properties in lithium batteries were uniformly distributed. Because of multi-layer structure and the manufacturing process, the thermal conductivity was considered anisotropic.
  2. Thermal radiation and convection are neglected inside the battery.
  3. The specific heat constant and thermal conductivity of materials inside the battery were assumed to be constant and independent of temperature.
  4. When the battery is charged or discharged, the current and heat generation was considered to be uniformly distributed.

It is difficult to obtain accurately the heat generation rate due to different operating conditions and environment. The heat generation rate of the battery was calculated by the model proposed by [2] and the model is shown as follows

Where

V – Volume (m3)

Uo – Open circuit voltage (V)

T – Temperature (K)

The low value of dU/dT determined experimentally can be neglected. And the heat generation was determined to be 29,359.953 W/m3 corresponding to the 2C discharge rate.

First, a single battery model is developed as shown in figure 1a and it is simulated in a closed enclosure to determine the maximum temperature attainable without cooling as shown in figure 1b.

The maximum temperature attained is considered as a base value against which the effectiveness of the cooling system will be compared.

As a second step, a battery module is designed as shown in figure 2. The module will be simulated until a steady state is reached. The maximum temperature of the battery and the outlet coolant temperature are used as criteria to validate our simulation.

The simulation will be extended for the same setup by replacing the constant heat source with a linearly varying heat source. A preliminary analytical calculation will be used to validate the model.

The report is organized as follows. In the first section, the selection of solver is explained followed by an explanation of each case. The first case of natural cooling with constant heat generation is explained in detail the mesh generation and solver setup which would be referred to by the other cases. The complete files used in the simulation are added at the end in the annex.

Solving the problem in OpenFOAM involves a series of steps: the selection of solver, setup of the case, boundary conditions and property definitions which would be explained in the following sections.

Solver selection:

The problem deals with heat transfer simulation across multiple regions. The major governing equations are

Defining a new solver for our case is a tedious task. So, the governing equations are compared with the equations solved by pre-existing solvers. On comparison, chtMultiRegionFoam was selected as the apt solver for our case.

The tutorial case "multiRegionHeater" is copied into the working directory and it is edited to solve this case. This is a standard procedure as creating a case from scratch can be time-consuming and tedious.

Case 1: Natural cooling with constant heat generation

Mesh Generation:

BlockMesh:

It is executed using the command in the UNIX terminal

  • blockMesh

The blockMesh utility of OpenFOAM is used to create the mesh. The defined vertices are used by the blockMesh to create one simple hex block. The vertices, the blocks and the faces are included in the blockMeshDict, situated inside the system folder. The cells in the single block are grouped into two regions: battery1 and Air.

topoSet:

This particular utility helps us to group the cells which belong to a particular region. In this case, there are two regions, Air and the battery. The following command is used in executing the utility,

  • topoSet

the name of the region and the cells belonging to the region are defined in the topoSetDict as shown in figure 4, and it should be situated in the system directory.

The keyword boxToCell groups the cells with the center included in the box defined by the two given vertices. This command is used to select cells for the battery1 region.

The Air region is created by selecting the battery1 region and inverting it. The invert keyword selects all the cells other than the one specified, in our case, the battery1 cell set.

Split Mesh:

This utility helps in splitting the cells into different regions so that respective region properties can be assigned to them for the simulation. It is executed by the command

  • splitMeshRegions -cellZones -overwrite

The completed mesh is shown in figure 5.

Thermophysical properties:

The thermophysical properties have to be defined for the particular regions according to the values as shown in table 2. The values are derived from [1].

Equation of state in the thermo model defines the variation of density with temperature. The density of the battery is assumed constant and hence the keyword const retains the constant density value while solving.

The keyword perfectGas is used for air whose density will vary with temperature according to the perfect gas law. It allows for more real-world environment.

Boundary conditions:

Boundary conditions must be specified for solving the problem. The boundary conditions must be specified for every internal field separately and it must be repeated for all the regions. The table 3 summarises the boundary conditions used in the simulation.

Battery1

Air

Solver Setup:

The boundary conditions and the respective region properties are set. Now, the solver should be told which regions are solids and which are liquids so that it can solver the corresponding governing equation. This is executed by the file “regionProperties” in the constant directory.

The heat source is specified by the fvOptions utility of the OpenFOAM. A semi-implicit scalar heat source is used in the simulation and a constant heat source of 29,359.953 W/m3 is specified as shown in figure 6.

The start time, end time and the time step are defined in the controlDict file in the system directory. The solver options (fvSchemes and fvSolutions) are retained as default from the tutorial case “multiRegionHeater” available in OpenFOAM.

Results:

The simulation is run for 540 seconds. After the simulation is complete, enter the post process window using the command

  • paraFoam -touchAll
  • paraFoam

paraFoam -touchAll creates files for individual regions. The temperature distribution on the surface of the battery was plotted as a contour plot shown in figure 7.

The maximum temperature is attained at the center of the battery and the minimum temperature at the corners. This can be explained by the high heat transfer coefficient at the sharp corners. This temperature contour is similar to the one obtained in [1].

The variation of maximum temperature is plotted vs time as shown in figure 8. It can be seen that the maximum temperature obtained after 540 s is 308.5 K. The value obtained in the experiments is 310 K leading to an error of less than 5% in the simulation result.

The figure 9 displays the velocity streamlines around the battery. It can be observed that the maximum velocity of air occurs near the battery surface.

Although the maximum temperature values are within the error range, the fixedValue boundary conditions in the Air region used do not capture the real-time phenomenon correctly. It can be observed that the air recirculates at the top which would not be true for a real case where the room would be very large compared to the battery and no recirculation will occur. This problem can be overcome by using a larger enclosure or a different boundary condition “ freeStreamVelocity” and “freeStreamPressure.”

Case 2: Forced Liquid cooling

Case Description:

This case is a symmetrical case. So, only half of the setup is simulated to reduce the simulation time. And the cooling plate is simple without any internal cooling channel. the coolant used here is a 50% ethylene glycol mixture. The coolant is entering the channel with a velocity of 0.5 m/s and a temperature of 298 K. The inlet channel dimensions are 15 mm x 1 mm.

Mesh:

Block Mesh is used in creating the hex mesh for this case also. Here 8 blocks were created in total.

The toposet was again used to group cells for different regions and split mesh command was used to define the cells into respective regions. The different regions defined are Air, Batteries, silicaGel, topCoolant, and bottomCoolant and their respective thermophysical properties are

The fvOptions file is the same as for the above case and the boundary conditions are specified in the annex.

A transient simulation was run for 540 s with a deltaT value of 0.002. The deltaT value was calculated from the CFL condition for an explicit time marching solver.

On visualising the residuals, it was observed that a steady state was reached at 20 -30 s. The steady state solutions are presented as follows. Figure 11 shows the temperature distribution of the batteries. It can be observed that the maximum temperature of 305.6K was observed at the centre of the batteries near the outlet of the coolant.

The temperature distribution of the cooling plate is shown in the figure 11

The temperature distribution is similar to the literature. In this study, a simple cooling plate with no distinct cooling channels was used resulting in the distinct temperature bars. The maximum temperature of the coolant at the outlet was 298.5 K leading to a 0.5 K temperature difference between the inlet and outlet. This value is the same as obtained by analytical calculations.

N – number of batteries

Φ0– heat generation rate

min – mass flow rate

Cp – specific heat capacity

The velocity streamlines in the coolant region are shown as follows

It can be observed that the absence of internal cooling channels leads to a non-uniform distribution of temperature. So, this is a bad design for the cooling plate

Case 3: Natural cooling with linear heat source

The mesh and properties of case 2 are retained here. The fvOptions files is modified to include a time-varying heat source as shown in figure 14. A scalar coded source is used in the fvOptions. This type allows us to define the source as an expression. The linear volumetric heat source used is

Hesource = 200*t W/m3, where t is the time in seconds.

This linear heat source is assumed to represent the heat produced as a result of constant acceleration in electric vehicles.

The temperature contour is similar to the one in case 1 but the maximum temperature attained is 318K.

A simple analytical calculation shows that in the absence of convection, the maximum temperature attained by the battery after 540 seconds is 318.31K

Case 4: Cooling of battery module with a linear heat source

The mesh and properties of case 2 are retained. And the fvOptions file of case 3 is used in this simulation.

The contour plots of temperature and velocity are similar to that of the case 2. But the maximum temperature attained by the battery is 314.5K and the temperature difference of the coolant is 3K.

Conclusion:

The conjugate heat transfer simulation of a battery module along with the cooling plate is simulated using OpenFOAM. The solver was selected and simulation was successfully setup and the results of the simulation are validated using the experimental data available in [1]. It is observed that the with 2C discharge rate, the temperature of the battery will exceed the operating temperature range of the li-ion batteries and hence the liquid cooling system is adopted in electric vehicles. The study also shows that the design of the cooling plate with internal cooling channels will enable a uniform temperature distribution on the surface of the cooling plate.

References:

  1. Ye, Ben, Md Rashedul Haque Rubel, and Hongjun Li. "Design and Optimization of Cooling Plate for Battery Module of an Electric Vehicle." Applied Sciences4 (2019): 754.
  2. Bernardi, D., E. Pawlikowski, and John Newman. "A general energy balance for battery systems." Journal of the electrochemical society1 (1985): 5-12.

Annex:

Case 1:

https://drive.google.com/open?id=1Sra2usQbQxyx14aScxlaNQMSqnrFgcFj

Case 2:

https://drive.google.com/open?id=1XhKkPw1UvZVVoNvQLSPYTNgMdSDQV2AH

Case 3 & Case 4:

https://drive.google.com/open?id=1ORQQDgHMjNJHU7ufsfkpff3zWg7oo1l4

3 comments
  1. Dingandrew96Dear surya, thank for your share. it's really helpful. But in my case, the solution of pressure is not be done. I don't know why.
  2. Georgi Atanasov GechevWould it be possible to upload the whole case with every folder in it?
  3. Sachin BHi Surya, I hope Dr.Sambath had gave an intro about me, I am Sachin. We are currently working on openFoam CFD for battery heat optimization and came across your work, it was very good. I am trying to recreate your project and I am facing some problems with that! I wont be taking much of your time with this and I need your help to understand and complete this. Also I am from Vellore, Tamil Nadu. we can connect through mail or call anything of your comfort. Kindly let me know when are you available! mail-> [email protected] ph.no-> 6363672875 Thanks and Regards, Sachin B
Your portfolio, next

Ship work like this
in your own course.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.

Talk to a career counsellor

Free 20-minute call. We'll map the right course to where you want to work.

By submitting you agree to our Terms and Privacy Policy.