.. Auto-generated by scripts/generate_problem_catalog_docs.py. Do not edit by hand. 18650 open-ended battery-pack graph grammar =========================================== An explicit-circuit grammar for adding 18650 cells one at a time, wiring arbitrary valid interconnects, and evaluating the resulting pack with a shared circuit backend. See :doc:`../grammar` for the grammar family index. Quick Facts ----------- .. list-table:: :header-rows: 1 :widths: 20 80 * - Field - Value * - Problem ID - ``battery_pack_18650_open_ended`` * - Problem Family - grammar * - Implementation - ``design_research_problems.problems.grammar._battery_pack_open:BatteryPack18650OpenEndedProblem`` * - Capabilities - ``discrete-actions``, ``external-adapter``, ``optional-evaluator``, ``serializable-state``, ``statement-markdown`` * - Study Suitability - none * - Tags - ``grammar``, ``battery``, ``graph-netlist``, ``layout``, ``co-design`` Taxonomy -------- Formulation discrete_grammar Convexity not_applicable Design Variable Type discrete Is Dynamic no Orientation engineering_practical Feasibility Ratio Hint 0.05 Objective Mode multi Constraint Nature hard Bounds Summary explicit 3D cell coordinates inside a fixed envelope plus an explicit battery-circuit netlist capped at 16 cells Tags ``grammar``, ``battery``, ``graph-netlist``, ``layout``, ``co-design`` Statement --------- Design a battery pack using 18650 cells under an explicit electrical graph model. The grammar starts with a single cell and lets designers add one cell at a time already tied into the circuit, remove cells, move cells in space, add or remove interconnects between cell terminals, and choose the positive and negative pack terminals directly. The benchmark target is a ``14.8V`` pack with at least ``10Ah`` capacity and at least ``60A`` continuous current, under a ``500mm x 500mm x 250mm`` envelope. The evaluation path applies deterministic geometry and graph-validity checks first, then uses a shared library-owned equivalent-circuit simulation informed by a single-cell ``pybamm`` integration. Problem Shape ------------- .. list-table:: :header-rows: 1 :widths: 25 75 * - Field - Value * - State Type - BatteryCircuitState * - Initial Transition Count - 31 * - Initial Rule Names - ``add_cell``, ``add_connection``, ``move_cell``, ``set_pack_terminals`` Manifest Parameters ------------------- .. list-table:: :header-rows: 1 :widths: 25 75 * - Key - Value * - max_cell_count - 16 * - max_depth_mm - 500 * - max_height_mm - 250 * - max_width_mm - 500 * - minimum_capacity_ah - 10 * - minimum_current_a - 60 * - target_voltage_v - 14.8 * - voltage_tolerance_v - 0.1 Initial Transition Summary -------------------------- .. list-table:: :header-rows: 1 :widths: 70 30 * - Rule Name - Transition Count * - add_cell - 21 * - add_connection - 1 * - move_cell - 7 * - set_pack_terminals - 2 Library Interface ----------------- - ``initial_state()`` - ``enumerate_transitions(state)`` - ``enumerate_next_states(state)`` - ``evaluate(state)``