Fast-charge lithium-ion DFN anchor optimization#

High-fidelity electrochemical anchor benchmark for fast-charge cell design, packaged with a deterministic baseline/reference search.

See Optimization Problem Catalog for the optimization family index.

Quick Facts#

Field

Value

Problem ID

battery_fast_charge_dfn_anchor_opt

Problem Family

optimization

Implementation

design_research_problems.problems.optimization._battery_fast_charge:BatteryFastChargeDFNAnchorOptimizationProblem

Capabilities

baseline-solver, bounded-variables, statement-markdown

Study Suitability

none

Tags

optimization, battery, fast-charge, anchor, pybamm, dfn

Taxonomy#

Formulation

continuous_optimization

Convexity

nonconvex

Design Variable Type

continuous

Is Dynamic

yes

Orientation

engineering_practical

Feasibility Ratio Hint

0.1

Objective Mode

single

Constraint Nature

hard

Bounds Summary

bounded electrode, separator, porosity, particle-radius, and active-fraction variables

Tags

optimization, battery, fast-charge, anchor, pybamm, dfn

Benchmark Contract#

Benchmark Question

How well do methods handle a higher-fidelity electrochemical battery benchmark when each evaluation is comparatively expensive?

Physically Modeled

PyBaMM DFN electrochemistry; Lumped thermal dynamics during fast charging; Lithium plating and solvent-diffusion-limited SEI side reactions

Deliberate Surrogates

The packaged solve routine is a deterministic baseline/reference search, not a strong optimizer; Failure cases are converted into finite benchmark metrics rather than raised as structural solver errors

Representation Mode

fast_charge_cell

Default Evaluation Mode

electrochemical_anchor

Supported Evaluation Modes

electrochemical_anchor

Validation Scope

PyBaMM model and solver reproducibility checks

Solver Role

deterministic baseline/reference search

Statement#

Optimize a lithium-ion cell design for faster charging while respecting plating-risk and thermal safety limits. This benchmark is adapted from the fast-charge DesignBench battery case and re-packaged for the design-research-problems optimization API.

The design variables are bounded cell-level parameters taken from a Chen2020 style PyBaMM parameterization:

  • negative electrode thickness

  • positive electrode thickness

  • separator thickness

  • negative electrode porosity

  • positive electrode porosity

  • negative particle radius

  • positive particle radius

  • negative active-material volume fraction

  • positive active-material volume fraction

The evaluation path uses a PyBaMM DFN model with:

  • lumped thermal dynamics

  • partially reversible lithium plating

  • solvent-diffusion-limited SEI growth

  • a fast-charge CC-CV experiment

Primary objective:

  • minimize time to move from the configured low-SOC window edge to the

configured high-SOC window edge

Hard constraints:

  • maximum cell temperature

  • maximum plated-lithium concentration proxy

  • optional minimum energy-density floor

  • non-negative inactive volume fraction in each electrode

Reported metrics:

  • charge time in minutes

  • maximum plated lithium concentration

  • maximum cell temperature

  • practical energy density in Wh/L

  • solver success flag

Problem Shape#

Field

Value

Design Variable Count

9

Bound Summary

bounded electrode, separator, porosity, particle-radius, and active-fraction variables

Total Constraint Count

5

Equality Constraint Count

0

Inequality Constraint Count

5

Variable Bounds#

Variable

Lower Bound

Upper Bound

x[0]

1e-05

0.001

x[1]

1e-05

0.001

x[2]

5e-06

5e-05

x[3]

0.1

0.7

x[4]

0.1

0.7

x[5]

1e-07

5e-05

x[6]

1e-07

5e-05

x[7]

0.2

0.85

x[8]

0.2

0.85

Manifest Parameters#

Key

Value

ambient_temperature_c

25

charge_c_rate

1.5

cv_cutoff_denominator

50

evaluation_mode

electrochemical_anchor

failure_charge_time_min

999

heat_transfer_coefficient_w_per_m2k

10

initial_soc_fraction

0

max_voltage_v

4.2

maximum_plating_mol_m3

1e-05

maximum_temperature_c

50

mesh_points

10

minimum_energy_density_wh_per_l

0

packaging_efficiency

0.86

parameter_set

Chen2020

rest_after_charge_min

30

rest_before_charge_min

2

target_soc_end

0.8

target_soc_start

0.1

Library Interface#

  • generate_initial_solution(seed=None)

  • objective(x)

  • evaluate(x)

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