Skip to content

Electrodes

Electrodes combine a formulation with a current collector and coating parameters (mass loading, calender density, insulation). Key settable properties include mass_loading, calender_density, coating_thickness, and porosity—changing one automatically recalculates the others based on the active control_mode. reversible_areal_capacity is an inverse setter over the same group: it solves for the mass loading that reaches a target capacity, always at constant calender density.

cathode = ocd.Cathode(
    formulation=cathode_formulation,
    mass_loading=12,               # mg/cm²
    current_collector=cathode_cc,
    calender_density=2.60,         # g/cm³
    insulation_material=insulation,
    insulation_thickness=10,       # μm
)

Electrodes

Electrode definitions combining formulations with current collectors and coating parameters.

Attributes

Classes

ElectrodeControlMode

Bases: Enum

Control modes for electrode property interdependencies.

Anode

Anode(formulation: Optional[AnodeFormulation] = None, mass_loading: Optional[float] = None, current_collector: _CurrentCollector = None, calender_density: Optional[float] = None, insulation_material: InsulationMaterial = None, insulation_thickness: float = 0.0, name: str = 'Anode')

Bases: _Electrode

A class representing an anode in a battery system, inheriting from the _Electrode base class.

For anode-free designs, pass formulation=None (and omit mass_loading and calender_density). The resulting electrode is a bare current collector with no areal capacity curve (_areal_capacity_curve = None). The V = 0 integration is handled higher up in the cell hierarchy.

Initialize an object that represents an anode.

Parameters:

formulation : AnodeFormulation or None The formulation of the anode. Pass None for an anode-free design (bare current collector, no areal capacity curve). mass_loading : float or None The mass loading of the anode in mg/cm^2. Required when a formulation is provided, and must be omitted when formulation is None. current_collector : _CurrentCollector The current collector used in the anode. calender_density : float or None The density of the anode after calendering in g/cm^3. Required when a formulation is provided, and must be omitted when formulation is None. insulation_material : InsulationMaterial, optional The insulation material used in the anode (default is None). insulation_thickness : float, optional The thickness of the insulation material in micrometers (default is 0.0). name : str, optional The name of the anode (default is 'Anode').


Attributes
top_overhang property writable
top_overhang: float

Get the top overhang of the anode when in a layup or stack.

:return: Top overhang of the anode in mm.

bottom_overhang property writable
bottom_overhang: float

Get the bottom overhang of the anode when in a layup or stack.

:return: Bottom overhang of the anode in mm.

porosity_range property
porosity_range: Tuple[float, float]

Get the range of porosity of the electrode.

:return: Tuple containing the minimum and maximum porosity in percentage.

Cathode

Cathode(formulation: CathodeFormulation, mass_loading: Optional[float], current_collector: _CurrentCollector, calender_density: Optional[float], insulation_material: InsulationMaterial = None, insulation_thickness: float = 0.0, name: str = 'Cathode')

Bases: _Electrode

A class representing a cathode in a battery system, inheriting from the _Electrode base class.

Initialize an object that represents a cathode.

Parameters

formulation : CathodeFormulation The formulation of the cathode. Unlike an anode this cannot be None — there is no formulation-free cathode. mass_loading : float The mass loading of the cathode in mg/cm². Required. current_collector : _CurrentCollector The current collector used in the cathode. calender_density : float The density of the cathode after calendering in g/cm³. Required. insulation_material : InsulationMaterial, optional The insulation material used in the cathode (default is None). insulation_thickness : float, optional The thickness of the insulation in micrometers (default is 0.0). name : str, optional The name of the cathode (default is 'Cathode').

Attributes
porosity_range property
porosity_range: Tuple[float, float]

Get the range of porosity of the electrode.

:return: Tuple containing the minimum and maximum porosity in percentage.