Geometry models
Description of the models that are used to setup the geometry
Base class
- 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 setup by function setupBatteryGrid
- 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)
main function : add grid and coupling to paramobj structure
- setupGrid(gen, paramobj, params)
paramobj is instance of BatteryInputParams setup paramobj.G and update gen.G
- setupThermalModel(gen, paramobj, params)
paramobj is instance of BatteryInputParams
- setupElectrolyte(gen, paramobj, params)
paramobj is instance of ElectrolyteInputParams
- setupElectrolyteGrid(gen, paramobj, params)
paramobj is instance of ElectrolyteInputParams setup paramobj.G
- setupSeparatorGrid(gen, paramobj, params)
paramobj is instance of SeparatorInputParams setup paramobj.G
- setupElectrodes(gen, paramobj, params)
paramobj is instance of BatteryInputParams
- setupElectrode(gen, paramobj, params)
paramobj is instance of ElectrodeInputParams
- setupElectrodeGrid(gen, paramobj, params)
paramobj is instance of ElectrodeInputParams setup paramobj.G
- setupActiveMaterialGrid(gen, paramobj, params)
paramobj is instance of ActiveMaterialInputParams setup paramobj.G
- setupCurrentCollector(gen, paramobj, params)
paramobj is instance of CurrentCollectorInputParams
- setupCurrentCollectorGrid(gen, paramobj, params)
paramobj is instance of CurrentCollectorInputParams setup paramobj.G
- setupElectrodeElectrolyteCoupTerm(gen, paramobj, params)
paramobj is instance of BatteryInputParams setup paramobj.couplingTerms
- setupCurrentCollectorActiveMaterialCoupTerm(gen, paramobj, params)
paramobj is instance of ElectrodeInputParams setup paramobj.couplingTerm
- setupCurrentCollectorBcCoupTerm(gen, paramobj, params)
paramobj is instance of CurrentCollectorInputParams setup paramobj.couplingTerm
- setupActiveMaterialBcCoupTerm(gen, paramobj, params)
default setup
BatteryGenerator1D
- class BatteryGenerator1D
setup 1D grid
- xlength
length of components in x direction - default values
- sepnx
discretization number for negative current collector - default value
- nenx
discretization number for negative active material - default value
- penx
discretization number for separator - default value
- nenr
discretization for solid diffusion - default value
- penr
discretization for solid diffusion - default value
- ccnenx
discretization number for positive current collector - default value
- ccpenx
discretization number for positive active material - default value
- fac
refinement factor (can be used to easily increase discretization refinement) see applyResolutionFactors method
- include_current_collectors
flag : true if grid for current collectors should be included
- setupGrid(gen, paramobj, ~)
paramobj is instance of BatteryInputParams setup paramobj.G
- setupThermalModel(gen, paramobj, params)
paramobj is instance of BatteryInputParams
BatteryGenerator2D
- class BatteryGenerator2D
Setup 2D grid
- xlength
length of components in x direction - default values
- ylength
length in y direction - default values
- ccnenx
discretization number for negative current collector - default value
- nenx
discretization number for negative active material - default value
- sepnx
discretization number for separator - default value
- penx
discretization number for positive active material - default value
- ccpenx
discretization number for positive current collector - default value
- ny
discretization number in y direction - default value
- include_current_collectors
flag: true if grid for current collectors should be included
- use_thermal
flag, true if grid for thermal model should be setup.
- externalHeatTransferCoefficientTab
heat transfer coefficient at tab boundary - default value
- externalHeatTransferCoefficient
heat transfer coefficient at boundary - default value
- setupElectrodes(gen, paramobj, params)
setup grid and coupling term
- setupThermalModel(gen, paramobj, params)
paramobj is instance of BatteryInputParams
We recover the external coupling terms
CoinCellBatteryGenerator
- class CoinCellBatteryGenerator
- compDims
Design params for the components (electrodes, current collectors etc)
- tagdict
dictionary giving the component number
- negativeExtCurrentFaces
Heat parameters
- setupElectrodes(gen, paramobj, params)
shorthands
- setupCurrentCollectorBcCoupTerm(gen, paramobj, params)
paramobj is instance of CurrentCollectorInputParams
- setupThermalModel(gen, paramobj, params)
paramobj is instance of BatteryInputParams
CoinCellSectorBatteryGenerator
- class CoinCellSectorBatteryGenerator
- thickness
Design params
- angle
cell-valued vector giving component number (indexing is given by tagdict)
- tagdict
dictionary giving the component number
- setupElectrodes(gen, paramobj, params)
shorthands
- setupCurrentCollectorBcCoupTerm(gen, paramobj, params)
paramobj is instance of CurrentCollectorInputParams
- setupThermalModel(gen, paramobj, params)
paramobj is instance of BatteryInputParams
SpiralBatteryGenerator
- class SpiralBatteryGenerator
Setup 3D grid with tab
- nwindings
number of windings in the spiral
- rInner
Inner Radius (for the empty space in the middle)
- widthDict
dictionary of widths for each component. The required key names for the dictionary are
- nrDict
‘Separator’
‘NegativeActiveMaterial’
‘NegativeCurrentCollector’
‘PositiveActiveMaterial’
‘PositiveCurrentCollector’
- L
length of the battery
- nas
number of cells in the angular direction
- nL
number of discretization cells in the longitudonal
- angleuniform
- tag
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)
- windingnumbers
for the tabs (implemented only for aligned tabs now)
- setupElectrodes(gen, paramobj, params)
shorthands
- setupCurrentCollectorBcCoupTerm(gen, paramobj, params)
paramobj is instance of CurrentCollectorInputParams
- setupThermalModel(gen, paramobj, params)
paramobj is instance of BatteryInputParams
We recover the external coupling terms for the current collectors