Skip to content

Separators

Porous separator membranes placed between electrodes. Separator pore volume contributes to the electrolyte fill calculation.

separator = ocd.Separator(
    material=separator_material,
    thickness=25,    # μm
    width=310,       # mm
    length=5000,     # mm
)

Separators

Separator component for battery cells.

Classes

Separator

Separator(material: SeparatorMaterial, thickness: float, width: float = None, length: float = None, name: str = 'Separator', datum: Tuple[float, float, float] = (0, 0, 0))

Bases: CoordinateMixin, DatumMixin, ValidationMixin, DunderMixin, PlotterMixin, PropagationMixin, SerializerMixin

Porous separator membrane that electrically isolates the anode from the cathode while allowing ion transport. Manages separator geometry (length, width, thickness), coordinates, and Plotly visualization traces.

Initialize an object that represents a separator

Parameters

material : SeparatorMaterial Material of the separator. thickness : float Thickness of the separator in um. width : float, optional Width of the separator in mm. If None, bulk properties won't be calculated until set. length : float, optional Length of the separator in mm. If None, bulk properties won't be calculated until set. name : str, optional Name of the separator. Defaults to 'Separator'. datum : Tuple[float, float, float], optional Datum point for the separator, used for positioning in 3D space. Defaults to (0, 0, 0).

Attributes
coordinates property
coordinates: DataFrame

Get the separator boundary coordinates as a DataFrame in mm.

top_down_trace property
top_down_trace: Scatter

Get the Plotly trace for the top-down separator view.

right_left_trace property
right_left_trace: Scatter

Get the Plotly trace for the right-left separator view.

bottom_up_trace property
bottom_up_trace: Scatter

Get the Plotly trace for the bottom-up separator view.

cost property
cost: float

Get the total separator cost in $.

mass property
mass: float

Get the total separator mass in g.

area property
area: float

Get the separator area in cm².

areal_cost property writable
areal_cost: float

Get the separator areal cost in $/m².

areal_cost_range property
areal_cost_range: Tuple[float, float]

Get the allowable areal cost range in $/cm².

pore_volume property
pore_volume: float

Get the separator pore volume in mm³.

name property writable
name: str

Get the separator name.

length property writable
length: float

Get the separator length in mm.

length_range property
length_range

Get the allowable separator length range in mm.

width property writable
width: float

Get the separator width in mm.

width_range property
width_range

Get the allowable separator width range in mm.

material property writable

Get the separator material.

thickness property writable
thickness

Get the separator thickness in um.

thickness_range property
thickness_range

Get the allowable separator thickness range in um.

Methods:
plot_top_down_view
plot_top_down_view(**kwargs) -> Figure

Generate a top-down Plotly figure of the separator.

plot_right_left_view
plot_right_left_view(**kwargs) -> Figure

Generate a right-left (side) Plotly figure of the separator.

plot_bottom_up_view
plot_bottom_up_view(**kwargs) -> Figure

Generate a bottom-up Plotly figure of the separator.

get_center_line
get_center_line() -> ndarray

Get the center line coordinates of the separator.