Battery Geometries
Description of the models that are used to setup the geometry
BatteryGenerator1D

- class BatteryGenerator1D
setup 1D grid
- xlength
vector of component lengths
x(1) : length of negative current collector (default = 25 micro meter)
x(2) : length of negative active material (default = 64 micro meter)
x(3) : length of separator (default = 15 micro meter)
x(4) : length of positive active material (default = 57 micro meter)
x(5) : length of positive current collector (default = 15 micro meter)
- sepnx
discretization number for negative current collector (default = 10)
- nenx
discretization number for negative active material (default = 10)
- penx
discretization number for separator (default = 10)
- nenr
discretization for solid diffusion (default = 10)
- penr
discretization for solid diffusion (default = 10)
- ccnenx
discretization number for positive current collector (default = 10)
- ccpenx
discretization number for positive active material (default = 10)
- fac
refinement factor (can be used to easily increase discretization refinement) see applyResolutionFactors method
- include_current_collectors
boolean : true if grid for current collectors should be included
- use_thermal
Face area in the transversal direction (default = 1)
BatteryGenerator2D

- class BatteryGenerator2D
Setup 2D grid
- xlength
Vector of components lengths in x direction
x(1) : length of negative current collector (default: 10 micrometer)
x(2) : length of negative active material (default: 100 micrometer)
x(3) : length of separator (default: 50 micrometer)
x(4) : length of positive active material (default: 80 micrometer)
x(5) : length of positive current collector (default: 10 micrometer)
- ylength
length in y direction (default: 1 cm)
- ccnenx
discretization number for negative current collector (default: 10)
- nenx
discretization number for negative active material (default: 30)
- sepnx
discretization number for separator (default: 30)
- penx
discretization number for positive active material (default: 30)
- ccpenx
discretization number for positive current collector (default: 10)
- ny
discretization number in y direction (default: 10)
- include_current_collectors
boolean: true if grid for current collectors should be included
- use_thermal
boolean true if grid for thermal model should be setup.
- externalHeatTransferCoefficientTab
heat transfer coefficient at tab boundary (default: 1e3)
- externalHeatTransferCoefficient
heat transfer coefficient at boundary (default: 1e3)
BatteryGenerator3D

- class BatteryGenerator3D
Setup 3D grid with tab
- xlength
vector of x-lengths
x(1) : x-length of first tab (default: 4cm)
x(2) : x-length between the tabs (default: 2cm)
x(3) : x-length of last tab (default: 4cm)
- ylength
vector of y-lengths
x(1) : y-length of first tab (default : 1mm)
x(2) : y-length between the tabs (default : 2cm)
x(3) : y-length of last tab (default : 1mm)
- zlength
Vector of components lengths in z direction
z(1) : length of negative current collector (default: 10 micrometer)
z(2) : length of negative active material (default: 100 micrometer)
z(3) : length of separator (default: 50 micrometer)
z(4) : length of positive active material (default: 80 micrometer)
z(5) : length of positive current collector (default: 10 micrometer)
- sep_nz
discretization number in z-direction for separator (default: 3)
- ne_am_nz
discretization number in z-direction for positive active material (default: 3)
- pe_am_nz
discretization number in z-direction for negative active material (default: 3)
- ne_cc_nz
discretization number in z-direction for negative current collector (default: 3)
- pe_cc_nz
discretization number in z-direction for positive current collector (default: 3)
- int_elyte_nx
discretization number in x-direction interior region (default: 3)
- ne_cc_nx
discretization number in x-direction negative tab region (default: 3)
- pe_cc_nx
discretization number in x-direction positive tab region (default: 3)
- elyte_ny
discretization number in y-direction interior region (default: 3)
- ne_cc_ny
discretization number in y-direction negative tab region (default: 3)
- pe_cc_ny
discretization number in y-direction positive tab region (default: 3)
- externalHeatTransferCoefficientTab
Heat transfer coefficient at the tab
- externalHeatTransferCoefficient
Heat transfer coefficient for the non-tab regions
- setupGrid(gen, paramobj, params)
shorthands
SpiralBatteryGenerator

- class SpiralBatteryGenerator
Setup a grid Jelly Roll model
- nwindings
number of windings in the spiral
- rInner
Inner Radius correspoding to the empty space in the middle
- widthDict
Dictionary of widths for each component. The required key names for the dictionary are
‘Separator’
‘NegativeActiveMaterial’
‘NegativeCurrentCollector’
‘PositiveActiveMaterial’
‘PositiveCurrentCollector’
- nrDict
length of the battery
- nas
number of cells in the angular direction
- nL
number of discretization cells in the longitudonal
- angleuniform
cell-valued vector giving component number (indexing is given by tagdict)
- tagdict
dictionary giving the component number
- tabparams
parameters for the tab on the positive current collector
- positiveExtCurrentFaces
computed tab width (due to discretization, we cannot enforce the tab widths)
- tabwidths
for the tabs (implemented only for aligned tabs now)
- setupThermalModel(gen, paramobj, params)
paramobj is instance of BatteryInputParams
We recover the external coupling terms for the current collectors
CoinCellBatteryGenerator

- class CoinCellBatteryGenerator
- compDims
Design params for the components
The format is a matlab table structure where the rows are labeled with
NegativeCurrentCollector
NegativeActiveMaterial
ElectrolyteSeparator
PositiveActiveMaterial
PositiveCurrentCollector
and the corresponding columns
thickness
diameter
numCellLayers : Discretization number in the layer
see example
runCR
- numAngular
Discretization number if the angular direction
BlockBatteryGenerator
not yet documented
CoinCellSectorBatteryGenerator
not yet documented
FlatBatteryGenerator
not yet documented
SectorBatteryGenerator
not yet documented
Base class
This is the base class that gather the methods to setup the different grid. This class will be usefull if you want to setup your own tailored grid.
- class BatteryGenerator
Base class that add grids and coupling terms to a paramobj instance of BatteryInputParams (through method updateBatteryInputParams)
This class goes through the whole grid setup and is meant to be used as a base class.
Example :
BatteryGenerator1D
,BatteryGenerator2D
,BatteryGenerator3D
- G
Global grid It is stored here because is shared by many setup functions. It is constructed by the methode
setupGrid()
- updateBatteryInputParams(gen, paramobj, params)
This function is the main class function as it returns an updated
paramobj
object with grid structure
- setupBatteryInputParams(gen, paramobj, params)
This is the main function which should be called by the derived class at the end of the
updateBatteryInputParams()
method The function set up the grid and the coupling terms and add those in theparamobj
structure which is an instance ofBatteryInputParams
- setupGrid(gen, paramobj, params)
setup
paramobj.G
and updateG
Here,paramobj
is an instance ofBatteryInputParams
- setupThermalModel(gen, paramobj, params)
Method that setups the grid and the coupling for the thermal model
- setupElectrolyte(gen, paramobj, params)
Method that setups the grid and the coupling for the electrolyte model Here,
paramobj
is instance ofElectrolyteInputParams
- setupElectrolyteGrid(gen, paramobj, params)
Setup the grid for the electrolyte Here,
paramobj
is instance ofElectrolyteInputParams
- setupSeparatorGrid(gen, paramobj, params)
Setup the grid for the separator Here,
paramobj
is instance ofBatteryInputParams
- setupElectrodes(gen, paramobj, params)
Method that setups the grid and the coupling terms for both electrodes
- setupElectrode(gen, paramobj, params)
Method that setups the grid and the coupling terms for an electrode Here,
paramobj
is instance ofElectrodeInputParams
- setupElectrodeGrid(gen, paramobj, params)
Setup the grid for an electrode Here,
paramobj
is instance ofElectrodeInputParams
- setupActiveMaterialGrid(gen, paramobj, params)
Setup the grid for the active material Here,
paramobj
is instance ofActiveMaterialInputParams
- setupCurrentCollector(gen, paramobj, params)
Method that setups the grid and coupling terms for the current collectors Here,
paramobj
is instance ofCurrentCollectorInputParams
- setupCurrentCollectorGrid(gen, paramobj, params)
Setup a grid for a current collector Here,
paramobj
is instance ofCurrentCollectorInputParams
- setupElectrodeElectrolyteCoupTerm(gen, paramobj, params)
Setup the coupling terms between the electrode and electrolyte Here,
paramobj
is instance ofBatteryInputParams
- setupCurrentCollectorActiveMaterialCoupTerm(gen, paramobj, params)
Setup the coupling term between the current collector and the active material Here,
paramobj
is instance ofElectrodeInputParams
- setupCurrentCollectorBcCoupTerm(gen, paramobj, params)
Setup the boundary locations for the current collector
- setupActiveMaterialBcCoupTerm(gen, paramobj, params)
Setup the boundary locations for the active material (used in the absence of current collectors)