Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Module Sim Investigation

Introduction

The module thermal sim investigation is an investigation to determine optimal sets of independent variables, or the relation of several output variables to input variables of a single battery pack module.

...

The geometry of the simulation fed into SimScale differs from the illustrative geometry shown above the model. The geometry has been halved, and the tail end of the flow region has been lengthened to allow for total resolution of fluid flow. This allows any air jets, vortices, convection zones, etc to combine, mix and homogenize.

Image RemovedImage Added

The source of the geometry is a Solidworks assembly called [name] using design tables to generate configurations. Currently, all configurations have been generated, and to use one, one must only select the correct configuration, rebuild the geometry, and save the file.

...

In a steady-state simulation, any set of initial conditions will (theoretically) lead to the same result[citation needed]. As such, we will use a set of initial conditions very close to the theoretical end results calculated with other simulations for faster convergence”, the condition when the imbalances in mass, energy, and other conserved quantities in the simulation drop below a critical threshold.

As such, change the following variables:

...

The finer the mesh, the more accurate the results may be. This trades off with computing power, and free plans on SimScale only have limited computing power. Additionally, often, there is a mesh fineness level after which drastically diminishing returns in precision occurs. To find out if you have attained this level, it is useful to run a mesh independence study.

Automatic Boundary Layers:

This setting allows SimScale to automatically generate cells to accurately model the boundary layers near solid surfaces. We will leave this on, as for surfaces of concern, we will use a boundary layer refinement to manually set the boundary layers.

Physics-based meshing:

Leave this on for better results

Hex element core:

Improves CFD efficacy by replacing tetrahedral cells with hexahedral cells whenever possible.

Advanced Settings:

Small feature suppression: 5e-7

Merges cells below a certain size threshold with larger ones so as to not have too many small cells increasing the runtime of the simulation

Should be set small enough such that your smallest cells (usually boundary layers) are not suppressed.

Gap refinement factor: 0.05

A setting used to control the minimum number of cells in a small “gap”. There should be no gaps in our model, as to improve the simplicity of the model

Global gradation rate: 1.22

Ratio of sizes between neighboring cells. Can be any value between 1 and 3, depending on the opinion on the simulationist.

Refinements

Refinements are adjustments made to mesh characteristics to improve the performance of the simulation.

We use region refinements and boundary layer refinements to improve the mesh characteristics.

Region Refinement

...

With a region refinement, we will set a maximum edge length for cells inside of a defined region to improve the accuracy inside of it. This region will be the area with the cells and the area 10cm downstream, to allow for any vortices or high-speed airflows to properly resolve.

To create a region refinement, create a new region refinement, and a new geometry primitive to represent the refinement region.

Inflate Boundary Layer Refinement

...

Otherwise called an “inflation layer refinement”, we will “inflate” the layers near boundary layers of concern to accurately capture them. This refinement has 3 settings: the number of layers, overall relative thickness, and growth rate. These quantities are determinable by solving a series of equations, however, there are also calculators online which can be used to find an ideal boundary layer size.

The boundary layer height that should be captured is represented by δ99 on the calculator. By leaving viscosity and density as their default values, the length scale as ½ the circumference of the battery cell (as any given air particle in the boundary layer passes over ½ of the battery at one time), velocity as the free-stream velocity (a good starting point is equal to the inlet area divided by the area displaced by the battery cells at their widest point, all multiplied by the inlet velocity, however, a preliminary simulation with coarse settings will find a better free-stream velocity), and any number of layers. I have accidentally used the inlet velocity before, but the simulations have still converged. 

The number of boundary layers should be between roughly 7 and 20, and a good target y+ value is slightly above 1. To convert the values given by the calculator to a relative thickness, divide the value given for δ99 by the refinement region maximum size.

Assign this refinement to all the inside faces of the flow domain which touch the cells.

Mesh Quality

...

After generating the mesh, one should inspect the mesh quality in the Meshing Log. This log contains a set of values which have acceptable ranges. If a value is outside of the acceptable range, you can use the Mesh quality tab to filter for the cells and areas of concern. If the non-orthogonality is between 70 and 80, you can use one non-orthogonality corrector in the Numerics tab to compensate. Between 80 and 90, you can use two. The more non-orthogonality correctors you add, the longer the simulation time. Please see How to Check and Improve Mesh Quality | SimScale.

Simulating

Only a few more things must be done before simulation begins.

Numerics

Numerics is the tab which controls many factors of the simulation solver. Relaxation may be left as it is by default. It determines the amount the results may change between iterations. The number of non-orthogonal correctors may be changed from 0, if the mesh quality suffers from high non-orthogonality. In Darton’s simulations, all other numerics tabs have been left as their default values.

Simulation Control

Simulation control allows for the user to set an end time for the simulation, a “delta t”, for each “time step” the simulation takes, a data write interval, a maximum real-life runtime, and a decompose algorithm. The end time settings only come into play if the residuals do not decrease to a point under the thresholds set in the numerics tab. I have set the end time for 7000s, a delta t of 1s, a write interval of For this specific simulation case, a global fineness of 3.0 is sufficient, as the important features of the simulation are refined with a much finer region refinement. Any level of global fineness for this specific simulation case should be permissible, as long as it is balanced out with the correct combination of a decreased global gradation rate and does not cause mesh-dependency in results, i.e. seeing sharp shifts in the velocity gradients across mesh boundaries.

Automatic Boundary Layers:

This setting allows SimScale to automatically generate cells to accurately model the boundary layers near solid surfaces. We will leave this on, as for surfaces of concern, we will use a boundary layer refinement to manually set the boundary layers.

Physics-based meshing:

Leave this on for better results

Hex element core:

Improves CFD efficacy by replacing tetrahedral cells with hexahedral cells whenever possible.

Advanced Settings:

Small feature suppression: 5e-7

Merges cells below a certain size threshold with larger ones so as to not have too many small cells increasing the runtime of the simulation

Should be set small enough such that your smallest cells (usually boundary layers) are not suppressed.

Gap refinement factor: 0.05

A setting used to control the minimum number of cells in a small “gap”. There should be no gaps in our model, as to improve the simplicity of the model

Global gradation rate: 1.22

Maximum ratio of sizes between neighboring cells. Can be any value between 1 and 3, depending on the opinion of the simulationist.

The smaller this value is, the smoother the gradient between fine and coarse cells. If using especially coarse meshes, the global gradation rate should be decreased to prevent mesh dependency.

Refinements

Refinements are adjustments made to mesh characteristics to improve the performance of the simulation.

We use region refinements and boundary layer refinements to improve the mesh characteristics.

Region Refinement

...

With a region refinement, we will set a maximum edge length for cells inside of a defined region to improve the accuracy inside of it. This region will be the area with the cells and the area 10cm downstream, to allow for any vortices or high-speed airflows to properly resolve.

To create a region refinement, create a new region refinement, and a new geometry primitive to represent the refinement region.

Inflate Boundary Layer Refinement

...

Otherwise called an “inflation layer refinement”, we will “inflate” the layers near boundary layers of concern to accurately capture them. This refinement has 3 settings: the number of layers, overall relative thickness, and growth rate. These quantities are determinable by solving a series of equations, however, there are also calculators online which can be used to find an ideal boundary layer size.

The boundary layer height that should be captured is represented by δ99 on the calculator. By leaving viscosity and density as their default values, the length scale as ½ the circumference of the battery cell (as any given air particle in the boundary layer passes over ½ of the battery at one time), velocity as the free-stream velocity (a good starting point is equal to the inlet area divided by the area displaced by the battery cells at their widest point, all multiplied by the inlet velocity, however, a preliminary simulation with coarse settings will find a better free-stream velocity), and any number of layers. I have accidentally used the inlet velocity before, but the simulations have still converged. 

The number of boundary layers should be between roughly 7 and 20, and a good target y+ value is slightly above 1. To convert the values given by the calculator to a relative thickness, divide the value given for δ99 by the refinement region maximum size.

Assign this refinement to all the inside faces of the flow domain which touch the cells.

Mesh Quality

...

After generating the mesh, one should inspect the mesh quality in the Meshing Log. This log contains a set of values which have acceptable ranges. If a value is outside of the acceptable range, you can use the Mesh quality tab to filter for the cells and areas of concern. If the non-orthogonality is between 70 and 80, you can use one non-orthogonality corrector in the Numerics tab to compensate. Between 80 and 90, you can use two. The more non-orthogonality correctors you add, the longer the simulation time. Please see How to Check and Improve Mesh Quality | SimScale.

Simulating

Only a few more things must be done before simulation begins.

Numerics

Numerics is the tab which controls many factors of the simulation solver. Relaxation may be left as it is by default. It determines the amount the results may change between iterations. The number of non-orthogonal correctors may be changed from 0, if the mesh quality suffers from high non-orthogonality. In Darton’s simulations, all other numerics tabs have been left as their default values.

Simulation Control

Simulation control allows for the user to set an end time for the simulation, a “delta t”, for each “time step” the simulation takes, a data write interval, a maximum real-life runtime, and a decompose algorithm. The end time settings only come into play if the residuals do not decrease to a point under the thresholds set in the numerics tab. I have set the end time for 7000s, a delta t of 1s, a write interval of 250 time steps, and a maximum runtime of 30000s, the maximum max runtime under a free account.

...

Running a mesh independence study is useful to assess if the results of the simulation are “independent” from the mesh fineness level by simulating with progressively finer meshes and comparing their results. At some point, results (especially thermal probe point results) should start to “converge” convergebetween mesh fineness levels. The simulationist should find the coarsest mesh possible with still accurate results with a given geometry and use it as the base mesh for future simulations.

...

To run the experiment, first:

  1. Prepare a geometry

  2. Import the geometry

  3. Create a simulation for the geometry

  4. Run a mesh independence study for the geometry at 1m/s

    1. (Optional) Run simulations with different air velocities using the coarsest level of mesh independent mesh

  5. Take the average of the converged probe points and plot them

...

  1. the spreadsheet

  2. Repeat for a different geometry

Note: You will have to make multiple SimScale accounts. If you want to use the same email account for all of them, if you use gmail, you can add a “+” and text before the @ to reuse the same email. e.g. placeholder+1@gmail.com, placeholder+2@gmail.com, etc

Design Log

https://docs.google.com/presentation/d/1MHdJ954tNe6LjBfGjypy8glz35UrmO3hQx6L3k3Hv7M/edit?usp=sharing