MSMR functions¶
- class ionworkspipeline.calculations.MSMRFunction(electrode, direction=None, phase=None)¶
Create the MSMR lithiation function for an electrode.
Creates a lithiation function \(\theta(U)\) from MSMR parameters that maps voltage to stoichiometry. This is the inverse of a typical OCP curve.
Parameters¶
- electrodestr
The electrode: “positive” or “negative”.
- directionstr, optional
The direction for hysteretic materials: “lithiation” or “delithiation”. Default is None (no directionality).
- phasestr, optional
The phase for composite electrodes: “primary” or “secondary”. Default is None (single phase).
Notes¶
The lithiation/delithiation terminology refers to the electrode, not the cell. For the positive electrode, lithiation occurs during cell discharge.
For composite electrodes (e.g., silicon-graphite blends), each phase has its own set of MSMR species with separate parameters.
Examples¶
Basic usage:
>>> import ionworkspipeline as iwp >>> calc = iwp.calculations.MSMRFunction(electrode="positive")
Direction-dependent MSMR for materials with hysteresis:
>>> calc_lith = iwp.calculations.MSMRFunction( ... electrode="positive", direction="lithiation" ... ) >>> calc_delith = iwp.calculations.MSMRFunction( ... electrode="positive", direction="delithiation" ... )
Composite electrode:
>>> calc_primary = iwp.calculations.MSMRFunction( ... electrode="negative", phase="primary" ... )
Extends:
ionworkspipeline.calculations.calculation.Calculation- run(parameter_values: ParameterValues) ParameterValues¶
Execute the calculation to derive new parameters from inputs.
Parameters¶
- parameter_valuesiwp.ParameterValues
Input parameters providing the values needed for this calculation.
Returns¶
- iwp.ParameterValues
Newly calculated parameters to add to the pipeline.
- class ionworkspipeline.calculations.AverageMSMRParameters(electrode, options=None)¶
Average MSMR parameters over lithiation and delithiation directions.
After fitting MSMR parameters separately to lithiation and delithiation data, this calculation produces a single averaged parameter set for simulation. It averages:
\(U_j^0\) values (standard potentials)
\(X_j\) values (host site fractions)
\(\omega_j\) values (ideality factors)
The resulting parameters represent the “hysteresis-free” OCP that lies between the lithiation and delithiation curves.
Parameters¶
- electrodestr
The electrode: “positive” or “negative”.
- optionsdict, optional
Calculation options:
species_format: str, default=”Xj” The format of the species: “Xj” (occupancy fraction) or “Qj” (capacity).phase: str, default=None The phase for composite electrodes: “primary” or “secondary”.
Examples¶
Requires lithiation and delithiation MSMR parameters. Short example:
>>> import ionworkspipeline as iwp >>> calc = iwp.calculations.AverageMSMRParameters(electrode="positive") >>> # result = calc.run(params)
Extends:
ionworkspipeline.calculations.calculation.Calculation- run(parameter_values: ParameterValues) ParameterValues¶
Execute the calculation to derive new parameters from inputs.
Parameters¶
- parameter_valuesiwp.ParameterValues
Input parameters providing the values needed for this calculation.
Returns¶
- iwp.ParameterValues
Newly calculated parameters to add to the pipeline.