OS-HM-T: 9005 Darcy Flow - Battery Pack Cooling Convection Topology Optimization

Tutorial Level: Advanced This tutorial uses OptiStruct's topology optimization functionality to generate a design for a cooling channel of a Battery Pack and show how Darcy Flow analysis is used for the design.

Before you begin, copy the file(s) used in this tutorial to your working directory.
The finite element mesh contains of non-design solid (red), non-design solid with thermal loading (yellow), non-design fluid (green) and the design space (blue), which is a layer between upper and lower plate.
Figure 1. Model


Figure 2. Design Space


The finite element model representing the designable and non-designable material is imported into HyperMesh. Appropriate properties, boundary conditions, loads, and optimization parameters are defined and the OptiStruct software determines the optimal cooling channel.

The following exercises are included:
  • Import the model into HyperMesh.
  • Set up the design and solid material.
  • Set up the optimization.
  • View the results in HyperView.

Launch HyperMesh

  1. Launch HyperMesh.
  2. In the New Session window, select HyperMesh from the list of tools.
  3. For Profile, select OptiStruct.
  4. Click Create Session.
    Figure 3. Create New Session


    This loads the user profile, including the appropriate template, menus, and functionalities of HyperMesh relevant for generating models for OptiStruct.

Open the Model File

  1. On the menu bar, select File > Open > HyperMesh Model.
  2. Navigate to and select the Battery_pack_base.hm file saved in your working directory.
  3. Click Open.
    The Battery_pack_base.hm database is loaded into the current HyperMesh session, replacing any existing data.
    Figure 4. Model Import Options


    Tip: Alternatively, you can drag and drop the file onto the viewport from the file browser window.

Set Up the Model

When building models, it is encouraged to create the material and property collectors before creating the component collectors. This is the most efficient way of setting up the file since components need to reference properties and materials.

The outline of the fatigue analysis setup in this tutorial is shown in the block diagram.
Figure 5. Fatigue Setup Sine Sweep - SN Damage


Apply Heat Flux

  1. In the Model Browser, double-click Components to open the Components Browser.
  2. Right-click on the PSOLID_4 component and select Isolate.
  3. From the menu bar, open the Analyze ribbon.
  4. On the ribbon, select Heat Flux.
    Figure 6. Select Heat Flux Load


  5. For ELSETID, select the hamburger menu and click Create.
  6. For Name, accept the default Set 1.
  7. Select elements by faces and choose the front faces of the PSOLID_4 component.
  8. For QBDY1 Option, ensure Q0 is set to 4.0.
  9. Click Close.
    Figure 7. Choose Surface for Heat Flux Load


Create Inlet Node Set

  1. Un-isolate all other parts.
  2. In the Model Browser, right-click and select Create > Set.
  3. For Name, enter inlet.
  4. For Card Image, select SET_GRID.
  5. For Entities, select the nodes as shown in Figure 8.
    Figure 8. Selection of Inlet Nodes


    Figure 9. Create Inlet Node Set


  6. Click Close.

Create Outlet Node Set

  1. In the Model Browser, right-click and select Create > Set.
  2. For Name, enter outlet.
  3. For Card Image, select SET_GRID.
  4. For Entities, select the nodes as shown in Figure 10.
    Figure 10. Selection of Outlet Nodes


    Figure 11. Create Outlet Node Set


  5. Click Close.

Assign Thermal Boundary Condition

  1. In the Model Browser, right-click and select Create > Load Collector.
    A default load collector displays in the Entity Editor.
  2. For Name, enter loadcol1.
  3. Click Close.
  4. From the menu bar, open the Analyze ribbon.
  5. On the ribbon, click Constraints.
    Figure 12. Assign Thermal Boundary


  6. For Entities, select Nodes.
  7. Select the nodes of the inlet faces.
  8. Clear the check boxes for DOF1, DOF2, DOF3, DOF4, DOF5, and DOF6.
  9. Click Create and Close.

Create Inlet Pressure and Outlet Pressure

  1. In the Model Browser, right-click and select Create > Load Collector.
    A default load collector displays in the Entity Editor.
  2. For Name, enter loadcol2.
  3. Click Close.
  4. In the Model Browser, right-click and select Create > Load.
  5. For Load Type, select SPCP.
  6. For GSETID, select Unspecified > Set > inlet.
  7. For D, enter 0.109.
  8. Click Close.
    Figure 13. Create Inlet Pressure


  9. Similarly, create the outlet pressure under the same load collector. In the Model Browser, right-click and select Create > Load.
  10. For Load Type, select SPCP.
  11. For GSETID, select Unspecified > Set > outlet.
  12. For D, enter 0.1.
  13. Click Close.
    Figure 14. Create Outlet Pressure


Create Subcase

  1. In the Model Browser, right-click and select Create > Load Step.
  2. For Name, enter loadstep1.
  3. For Analysis type, select Heat Transfer (Steady State).
  4. In the Select Loadcol dialog for SPC, select loadcol_1.
  5. For LOAD, select auto_1.
  6. For SPCP, select loadcol_2.
  7. Click Close.
    Figure 15. Create Load Step


Set Up the Optimization

Create Topology Design Space

  1. From the menu bar, open the Optimize ribbon.
  2. On the ribbon, select Topology.
  3. For Name, enter DTPL.
  4. For Property Type, select PSOLID.
  5. For List Of Properties, select property PSOLID_3.
    Figure 16. Create Design Variable


Create Responses

  1. From the menu bar, open the Optimize ribbon.
  2. On the ribbon, select Responses.
  3. For Name, enter VOL.
  4. For Response Type, select volume.
  5. For Property, select PSOLID.
  6. For Property Type, select by entity.
  7. For List Of Properties, select property PSOLID_3.
  8. Click Close.
    Figure 17. Create Optimization Responses


  9. Similarly, create another response and name it tcomp.
  10. For Response Type, select Thermal compliance.
  11. Click Close.

Create Objective

  1. From the menu bar, open the Optimize ribbon.
  2. On the ribbon, select Objectives.
  3. For Objective Type, select Minimize.
  4. For Response Id, click Optimization Response > tcomp.
  5. For Loadstep Id, click Optimization Response > loadstep1.
  6. Click Close.
    Figure 18. Create Objective


Create Constraints

  1. From the menu bar, open the Optimize ribbon.
  2. On the ribbon, select Constraints.
  3. For Name, enter DCONST.
  4. For Response, click Optimization Response > VOL.
  5. For Lower Options, select Lower Bound and enter 756973 in the text box.
  6. Click Close.
    Figure 19. Create Constraints


Submit the Job

Run OptiStruct.

  1. From the Analyze ribbon, click Run OptiStruct Solver.
    Figure 20. Select Run OptiStruct Solver


  2. Select the directory where you want to write the OptiStruct model file.
  3. For File name, enter battery_pack.
    The .fem filename extension is the recommended extension for Bulk Data Format input decks.
  4. Click Save.
  5. Click Export.
  6. For export options, toggle all.
  7. For run options, toggle analysisoptimization.
  8. For memory options, toggle memory default.
  9. In the Altair Compute Console, click Run.
    If the job is successful, an "ANALYSIS COMPLETED" message appears in the Compute Console Solver View Message Log. New results files are in the directory where the model file was written. The battery_pack.out file is a good place to look for error messages that could help debug the input deck if any errors are present.
    The default files written to your directory are:
    battery_pack.html
    HTML report of the analysis, providing a summary of the problem formulation and the analysis results.
    battery_pack.out
    OptiStruct output file containing specific information on the file setup, the setup of your optimization problem, estimates for the amount of RAM and disk space required for the run, information for each of the optimization iterations, and compute time information. Review this file for warnings and errors.
    battery_pack.h3d
    HyperView compressed binary results file.
    battery_pack.res
    HyperMesh binary results file.
    battery_pack.stat
    Summary of analysis process, providing CPU information for each step during process.

View Contour Plot

  1. Launch HyperView and open the result file.
  2. Click Contour.
    Figure 21.
  3. For Result type, select Element Densities (s) from the first pull-down menu.
    Figure 22. Element Densities Contour Plot


    Figure 23. Grid Temperature Contour Plot


1 Dienemann, R., Schewe, F. & Elham, A. Industrial application of topology optimization for forced convection based on Darcy flow. Struct Multidisc Optim 65, 265 (2022). https://doi.org/10.1007/s00158-022-03328-4