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
¶
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
¶
Get the bottom overhang of the anode when in a layup or stack.
:return: Bottom overhang of the anode in mm.
porosity_range
property
¶
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').