T4 18650 thermal hybrid 2-RC optimization#

Tier-4 thermo-topological battery benchmark variant that keeps hybrid thermal scoring while selecting a manifest-backed PyBaMM 2-RC backend configuration.

See Optimization Problem Catalog for the optimization family index.

Quick Facts#

Field

Value

Problem ID

battery_18650_t4_thermal_hybrid_2rc_opt

Problem Family

optimization

Implementation

design_research_problems.problems.optimization._battery_tiers:Battery18650T4ThermalHybridOptimizationProblem

Capabilities

baseline-solver, bounded-variables, statement-markdown

Study Suitability

none

Tags

optimization, battery, tiered, tier-4, thermal-topology, backend-config-example, pybamm-ecm-2rc

Taxonomy#

Formulation

mixed_discrete_optimization

Convexity

nonconvex

Design Variable Type

mixed

Is Dynamic

no

Orientation

engineering_practical

Feasibility Ratio Hint

0.02

Objective Mode

single

Constraint Nature

hard

Bounds Summary

tier-3 topology schema plus thermal-system variables

Tags

optimization, battery, tiered, tier-4, thermal-topology, backend-config-example, pybamm-ecm-2rc

Benchmark Contract#

Benchmark Question

How well do methods co-design topology, geometry, and thermal controls when evaluator fidelity can be stepped up without changing representation?

Physically Modeled

Tier-3 topology allocation and pose geometry; Thermal control variables for convection, passive cooling, and ambient conditions; PyBaMM-derived thermal priors and steady-state thermal-network evaluation in hybrid mode

Deliberate Surrogates

Electrical scoring still projects topology-allocation candidates to a canonical explicit netlist; The hybrid thermal network remains steady-state rather than a full transient pack simulation; This packaged variant demonstrates backend selection through manifest configuration rather than a new representation

Representation Mode

thermal_topology

Default Evaluation Mode

hybrid_thermal

Supported Evaluation Modes

analytic_surrogate, explicit_circuit, hybrid_thermal

Validation Scope

Qualitative thermal trend validation; Mode-consistency checks across analytic, explicit, and hybrid evaluators

Solver Role

deterministic baseline search

Statement#

Optimize battery topology and layout jointly with thermal-system variables for the highest-freedom battery design rung. This packaged variant keeps the hybrid thermal tier-4 evaluator contract while selecting a non-default shared 2-RC backend configuration directly from the manifest.

Tier-4 retains tier-3 topology and geometry decisions and adds:

  • convective cooling coefficient h

  • passive cooling conductance G_passive

  • ambient temperature T_ambient

  • thermal model selector: lumped vs multi_node_2node

Thermal heating term (from PyBaMM-derived resistance prior):

  • I_cell = I_load / P_eq

  • q_i = I_cell^2 * R_eff(SOC_ref)

Lumped mode (ablation):

  • T_max = T_ambient + (N_cells * q_i) / G_eff

Multi-node mode (default):

  • Nodes are [core_i, surface_i, coolant].

  • Core balance: G_cs * (T_core_i - T_surface_i) = q_i

  • Surface balance: G_cs(T_surface_i - T_core_i) + sum_j G_ij(T_surface_i - T_surface_j)

  • G_sc,i(T_surface_i - T_cool) = 0

  • Coolant balance: sum_i G_sc,i(T_cool - T_surface_i) + G_cool_amb(T_cool - T_ambient) = 0

  • Reported T_max is max_i(T_core_i) (conservative hotspot metric).

Problem Shape#

Field

Value

Design Variable Count

173

Bound Summary

tier-3 topology schema plus thermal-system variables

Total Constraint Count

10

Equality Constraint Count

0

Inequality Constraint Count

10

Variable Bounds#

Variable

Lower Bound

Upper Bound

x[0]

1

24

x[1]

1

24

x[2]

0

500

x[3]

0

500

x[4]

0

250

x[5]

-180

180

x[6]

-180

180

x[7]

-180

180

x[8]

0

23

x[9]

0

500

x[10]

0

500

x[11]

0

250

x[12]

-180

180

x[13]

-180

180

x[14]

-180

180

x[15]

0

23

x[16]

0

500

x[17]

0

500

x[18]

0

250

x[19]

-180

180

x[20]

-180

180

x[21]

-180

180

x[22]

0

23

x[23]

0

500

x[24]

0

500

x[25]

0

250

x[26]

-180

180

x[27]

-180

180

x[28]

-180

180

x[29]

0

23

x[30]

0

500

x[31]

0

500

x[32]

0

250

x[33]

-180

180

x[34]

-180

180

x[35]

-180

180

x[36]

0

23

x[37]

0

500

x[38]

0

500

x[39]

0

250

x[40]

-180

180

x[41]

-180

180

x[42]

-180

180

x[43]

0

23

x[44]

0

500

x[45]

0

500

x[46]

0

250

x[47]

-180

180

x[48]

-180

180

x[49]

-180

180

x[50]

0

23

x[51]

0

500

x[52]

0

500

x[53]

0

250

x[54]

-180

180

x[55]

-180

180

x[56]

-180

180

x[57]

0

23

x[58]

0

500

x[59]

0

500

x[60]

0

250

x[61]

-180

180

x[62]

-180

180

x[63]

-180

180

x[64]

0

23

x[65]

0

500

x[66]

0

500

x[67]

0

250

x[68]

-180

180

x[69]

-180

180

x[70]

-180

180

x[71]

0

23

x[72]

0

500

x[73]

0

500

x[74]

0

250

x[75]

-180

180

x[76]

-180

180

x[77]

-180

180

x[78]

0

23

x[79]

0

500

x[80]

0

500

x[81]

0

250

x[82]

-180

180

x[83]

-180

180

x[84]

-180

180

x[85]

0

23

x[86]

0

500

x[87]

0

500

x[88]

0

250

x[89]

-180

180

x[90]

-180

180

x[91]

-180

180

x[92]

0

23

x[93]

0

500

x[94]

0

500

x[95]

0

250

x[96]

-180

180

x[97]

-180

180

x[98]

-180

180

x[99]

0

23

x[100]

0

500

x[101]

0

500

x[102]

0

250

x[103]

-180

180

x[104]

-180

180

x[105]

-180

180

x[106]

0

23

x[107]

0

500

x[108]

0

500

x[109]

0

250

x[110]

-180

180

x[111]

-180

180

x[112]

-180

180

x[113]

0

23

x[114]

0

500

x[115]

0

500

x[116]

0

250

x[117]

-180

180

x[118]

-180

180

x[119]

-180

180

x[120]

0

23

x[121]

0

500

x[122]

0

500

x[123]

0

250

x[124]

-180

180

x[125]

-180

180

x[126]

-180

180

x[127]

0

23

x[128]

0

500

x[129]

0

500

x[130]

0

250

x[131]

-180

180

x[132]

-180

180

x[133]

-180

180

x[134]

0

23

x[135]

0

500

x[136]

0

500

x[137]

0

250

x[138]

-180

180

x[139]

-180

180

x[140]

-180

180

x[141]

0

23

x[142]

0

500

x[143]

0

500

x[144]

0

250

x[145]

-180

180

x[146]

-180

180

x[147]

-180

180

x[148]

0

23

x[149]

0

500

x[150]

0

500

x[151]

0

250

x[152]

-180

180

x[153]

-180

180

x[154]

-180

180

x[155]

0

23

x[156]

0

500

x[157]

0

500

x[158]

0

250

x[159]

-180

180

x[160]

-180

180

x[161]

-180

180

x[162]

0

23

x[163]

0

500

x[164]

0

500

x[165]

0

250

x[166]

-180

180

x[167]

-180

180

x[168]

-180

180

x[169]

0

23

x[170]

5

50

x[171]

0.1

10

x[172]

5

45

Manifest Parameters#

Key

Value

ambient_temperature_bounds

{“lower”: 5.0, “upper”: 45.0}

battery_backend

{“cell_model_mode”: “pybamm_ecm_2rc”, “parameterization”: {“parameter_set”: “Marquis2019”}, “thermal_mode”: “isothermal”}

cooling_coefficient_bounds

{“lower”: 5.0, “upper”: 50.0}

evaluation_mode

hybrid_thermal

imbalance_model

min_stage

load_current_a

60

max_cell_count

24

max_depth_mm

500

max_height_mm

250

max_width_mm

500

maximum_temperature_c

60

minimum_capacity_ah

10

minimum_current_a

60

minimum_spacing_mm

2

objective_weights

{“cost”: 0.25, “temperature”: 0.4, “volume”: 0.35}

passive_cooling_bounds

{“lower”: 0.1, “upper”: 10.0}

target_voltage_v

14.8

thermal_airflow_axis

x

thermal_contact_decay_mm

2

thermal_contact_resistance_k_per_w

2.5

thermal_flow_shadowing_factor

0.25

thermal_model

multi_node_2node

thermal_neighbor_clearance_mm

8

thermal_reference_soc

0.5

voltage_tolerance_v

0.1

Library Interface#

  • generate_initial_solution(seed=None)

  • objective(x)

  • evaluate(x)

  • solve(initial_solution=None, seed=None, maxiter=200)