Index
JuliaSimBatteries.DFN
JuliaSimBatteries.SPM
JuliaSimBatteries.SPMe
JuliaSimBatteries.LCO
JuliaSimBatteries.LFP
JuliaSimBatteries.NCA
JuliaSimBatteries.NMC
JuliaSimBatteries.NMC_LiMetal
JuliaSimBatteries.aluminum_current_collector
JuliaSimBatteries.capacity_cell
JuliaSimBatteries.capacity_pack
JuliaSimBatteries.charge
JuliaSimBatteries.charge_current
JuliaSimBatteries.charge_power
JuliaSimBatteries.copper_current_collector
JuliaSimBatteries.discharge
JuliaSimBatteries.discharge_current
JuliaSimBatteries.discharge_power
JuliaSimBatteries.power
JuliaSimBatteries.rest
JuliaSimBatteries.voltage
Docstrings
JuliaSimBatteries
JuliaSimBatteries.DFN
— TypeDFN(chemistry; options...)
DFN()
The Doyle-Fuller-Newman (`DFN`) model is an advanced pseudo-2D battery model. It accurately represents electrochemical processes within a lithium-ion battery, including diffusion, reactions, and concentration gradients in both electrodes. This model offers high-fidelity simulations, enabling analysis and optimization of battery performance under various operating conditions.
JuliaSimBatteries.SPM
— TypeSPM(chemistry; options...)
SPM()
The Single-Particle Model (`SPM`) model is a simplified version of the `SPMe` model, commonly used by technical battery engineers for quick and computationally efficient simulations. It represents the battery as single particles in both electrodes without considering the electrolyte dynamics. While less detailed than the `DFN` or `SPMe` models, the `SPM` model is effective for initial assessments, rapid battery analysis, and large-scale pack simulations.
JuliaSimBatteries.SPMe
— TypeSPMe(chemistry; options...)
SPMe()
The Single-Particle Model with electrolyte (`SPMe`) is a popular model to understand lithium-ion battery behavior. It simplifies the battery into a single particle for each electrode, considering electrolyte dynamics within the cell. This model allows for efficient simulations and provides valuable insights into cell-level behavior and degradation mechanisms.
JuliaSimBatteries.LCO
— MethodLCO()
Default parameters for a lithium cobalt oxide (LCO) cell.
JuliaSimBatteries.LFP
— MethodLFP()
Default parameters for a lithium iron phosphate (LFP) cell.
JuliaSimBatteries.NCA
— MethodNCA()
Default parameters for a lithium nickel cobalt aluminum oxide (NCA) cell [1].
[1] Kim, G. H., Smith, K., Lee, K. J., Santhanagopalan, S., & Pesaran, A.
(2011). Multi-domain modeling of lithium-ion batteries encompassing
multi-physics in varied length scales. Journal of The Electrochemical
Society, 158(8), A955-A969.
JuliaSimBatteries.NMC
— MethodNMC()
Default parameters for a lithium nickel manganese cobalt oxide (NMC) cell.
JuliaSimBatteries.NMC_LiMetal
— MethodNMC_LiMetal()
Default parameters for an NMC-Li metal cell.
JuliaSimBatteries.aluminum_current_collector
— Methodaluminum_current_collector()
Default parameters for an aluminum current collector.
JuliaSimBatteries.capacity_cell
— Methodcapacity_cell(battery)
Average capacity of a single cell in the battery pack [A*hr]
JuliaSimBatteries.capacity_pack
— Methodcapacity_pack(battery)
Capacity of the battery pack [A*hr]
JuliaSimBatteries.charge
— Methodcharge(input; time, bounds)
Setup for a charge experiment.
Arguments:
input
: Current input with units ofA
orC
(C-rate) or power input with units ofW
.time
: Optional argument to set a maximum experiment time.bounds
: Optional argument to denote experiment-specific stop conditions.
JuliaSimBatteries.charge_current
— Methodcharge_current(input; time, bounds)
Setup for a current experiment to charge the battery.
Arguments:
input
: Current input with units ofA
orC
(C-rate).time
: Optional argument to set a maximum experiment time.bounds
: Optional argument to denote experiment-specific stop conditions.
JuliaSimBatteries.charge_power
— Methodcharge_power(input; time, bounds)
Setup for a power experiment to charge the battery.
Arguments:
input
: Power input with units ofW
.time
: Optional argument to set a maximum experiment time.bounds
: Optional argument to denote experiment-specific stop conditions.
JuliaSimBatteries.copper_current_collector
— Methodcopper_current_collector()
Default parameters for a copper current collector.
JuliaSimBatteries.discharge
— Methoddischarge(input; time, bounds)
Setup for a discharge experiment.
Arguments:
input
: Current input with units ofA
orC
(C-rate) or power input with units ofW
.time
: Optional argument to set a maximum experiment time.bounds
: Optional argument to denote experiment-specific stop conditions.
JuliaSimBatteries.discharge_current
— Methoddischarge_current(input; time, bounds)
Setup for a current experiment to discharge the battery.
Arguments:
input
: Current input with units ofA
orC
(C-rate).time
: Optional argument to set a maximum experiment time.bounds
: Optional argument to denote experiment-specific stop conditions.
JuliaSimBatteries.discharge_power
— Methoddischarge_power(input; time, bounds)
Setup for a power experiment to discharge the battery.
Arguments:
input
: Power input with units ofW
.time
: Optional argument to set a maximum experiment time.bounds
: Optional argument to denote experiment-specific stop conditions.
JuliaSimBatteries.power
— Methodpower(input; time, bounds)
Setup for a power experiment. By convention, positive power is discharging and negative power is charging.
Arguments:
input
: Power input with units ofW
.time
: Optional argument to set a maximum experiment time.bounds
: Optional argument to denote experiment-specific stop conditions.
JuliaSimBatteries.rest
— Methodrest(; time, bounds)
Setup for a rest experiment. This is a special case of a current
experiment where the current is zero.
Arguments:
time
: Required argument to set a maximum experiment time.bounds
: Optional argument to denote experiment-specific stop conditions.
JuliaSimBatteries.voltage
— Methodvoltage(input; time, bounds)
Setup for a voltage experiment.
Arguments:
input
: Voltage input with units ofV
.time
: Optional argument to set a maximum experiment time.bounds
: Optional argument to denote experiment-specific stop conditions.