S. Battery Cell Keyword Format
Appendix S: Battery Cell Keyword Format
A battery definition is stored in a keyword file after the Ansys LS-DYNA *END card which allows PRIMER to recognise and manipulate battery data.
Details of *BATT_CELL Cards
The battery cell post *END section contains information about battery structure properties, Randles properties, relevant analysis data and composite entities for a given battery definition and it is organised as follows:
*BATT_CELL_START
<label> <title>
<row count> <modelling scale> <meshless mode> <local csys>
| label | I10 | The label of this battery definition |
|---|---|---|
| title | A70 | The title of this definition |
| row count | I10 | Number of rows to process in this card (for maintenance purposes) |
| modelling scale | I10 | Randles modelling scale |
| meshless mode | I10 | Meshless connected to Macro structure mode |
| local csys | I10 | Battery local coordinate system |
*BATT_CELL_LAYER
<row count> <created flag> <width> <height> <origin mode> <origin node / origin x> <origin y> <origin z>
<row count> <mesh mode> <mesh x count/size> <mesh y count/size> <mesh z count/size>
<row count> <layers count> <cell multi repetition> <cell repetition x> <cell separation x> <common sections> <em_mat flag> <cell repetition y> <cell separation y>
The following rows are included if the <modelling scale> is set to 0 or 1 (Micro or Meso scale):
<row count> <layer 1 material> <layer 1 thermal material> <layer 1 thickness> <layer 1 conductivity>
...
<row count> <layer 5 material> <layer 5 thermal material> <layer 5 thickness> <layer 5 conductivity>
The following row is included if the <modelling scale> is set to 2 or 3 and <meshless mode> set to 1 (Macro or Meshless scale connected to Macro structure):
<row count> <cell material> <cell thermal material> <cell thickness> <cell positive conductivity> <cell negative conductivity>
row count | I10 | Number of rows to process in this card (for maintenance purposes) |
|---|---|---|
| created flag | I10 | Flags whether the layers structure has been created for this definition |
| width | E10 | Y length of the layers |
| height | E10 | Z length of the layers |
| origin mode | I10 | Definition type of the origin point of the layers (node or coordinates) |
| origin node / origin x | I10/E10 | Origin node (if <origin mode> is 0) or the x coordinate of the origin (if <origin mode> is 1) |
| origin y | E10 | Y coordinate of the origin |
| origin z | E10 | Z coordinate of the origin |
| row count | I10 | Number of rows to process in this card (for maintenance purposes) |
| mesh mode | I10 | Mesh density definition mode |
| mesh x count/size | I10/E10 | Mesh element count (if <mesh mode> is 0) or size (if <mesh mode> is 1) in the x-direction |
| mesh y count/size | I10/E10 | Mesh element count (if <mesh mode> is 0) or size (if <mesh mode> is 1) in the y-direction |
| mesh z count/size | I10/E10 | Mesh element count (if <mesh mode> is 0) or size (if <mesh mode> is 1) in the z-direction |
| row count | I10 | Number of rows to process in this card (for maintenance purposes) |
| layers count | I10 | Number of layers per unit cell |
| cell multi repetition | I10 | Multiple unit cell mode |
| cell repetition x | I10 | Number of unit cell repetitions in x direction |
| cell separation x | E10 | Separation between unit cells in x direction |
| common sections | I10 | Controls whether unit cell repetitions reference common *SECTIONs |
| em_mat flag | I10 | Controls the automatic creation of *EM_MATs by PRIMER |
| cell repetition y | I10 | Number of unit cell repetitions in y direction |
| cell separation y | E10 | Separation between unit cells in y direction |
| The following rows are included if the <modelling scale> is set to 0 or 1 (Micro or Meso scale) | ||
| row count | I10 | Number of rows to process in this card (for maintenance purposes) |
| layer 1 material, ... | I10 | Material used by layer 1, ...5 (PCC...NCC) |
| layer 1 thermal material, ... | I10 | Thermal material used by layer 1, ...5 (PCC...NCC) |
| layer 1 thickness, ... | E10 | Thickness of layer 1, ...5 (PCC...NCC) |
| layer 1 conductivity, ... | E10 | Conductivity of layer 1, ...5 (PCC...NCC) |
| The following row is included if the <modelling scale> is set to 2 or 3 and <meshless mode> set to 1 (Macro or Meshless scale connected to Macro structure) | ||
| row count | I10 | Number of rows to process in this card (for maintenance purposes) |
| cell material | I10 | Material used by the layers cell part |
| cell thermal material | I10 | Thermal material used by the layers cell part |
| cell thickness | E10 | Thickness of a unit cell |
| cell positive conductivity | E10 | Positive conductivity of the unit cell |
| cell negative conductivity | E10 | Negative conductivity of the unit cell |
*BATT_CELL_TAB
<row count> <created flag> <position> <width> <length> <separation> <alternate polarities x> <alternate polarities y>
<row count> <mesh mode> <mesh x count/size> <mesh y count/size> <mesh z count/size> <nrbc flag>
<row count> <positive tab material> <positive tab thermal material> <positive tab conductivity>
<row count> <negative tab material> <negative tab thermal material> <negative tab conductivity>
<row count> <connecting isopotentials flag> <free isopotentials flag> <isopotential connections flag> <isopotential connections mode> <wire resistance>
| row count | I10 | Number of rows to process in this card (for maintenance purposes) |
| created flag | I10 | Flags whether the tabs structure has been created for this definition |
| position | I10 | Position configuration of the tabs |
| width | E10 | Y length of the tabs |
| length | E10 | Z length of the tabs |
| separation | E10 | Separation between the tabs (only applies for <position> 0 and 1) |
| alternate polarities x | I10 | Option to alternate the tabs polarities every other cell in x direction |
| alternate polarities y | I10 | Option to alternate the tabs polarities every other cell in y direction |
| row count | I10 | Number of rows to process in this card (for maintenance purposes) |
| mesh mode | I10 | Mesh density definition mode |
| mesh x count/size | I10/E10 | Mesh element count (if <mesh mode> is 0) or size (if <mesh mode> is 1) in the x-direction |
| mesh y count/size | I10/E10 | Mesh element count (if <mesh mode> is 0) or size (if <mesh mode> is 1) in the y-direction |
| mesh z count/size | I10/E10 | Mesh element count (if <mesh mode> is 0) or size (if <mesh mode> is 1) in the z-direction |
| nrbc flag | I10 | Controls the creation of *CONSTRAINED_NODAL_RIGID_BODYs |
| row count | I10 | Number of rows to process in this card (for maintenance purposes) |
| positive tab material | I10 | Material used by the positive tab |
| positive tab thermal material | I10 | Thermal material used by the positive tab |
| positive tab conductivity | E10 | Conductivity of the positive tab |
| negative tab material | I10 | Material used by the negative tab |
| negative tab thermal material | I10 | Thermal material used by the negative tab |
| negative tab conductivity | E10 | Conductivity of the negative tab |
| row count | I10 | Number of rows to process in this card (for maintenance purposes) |
| connecting isopotentials flag | I10 | Controls the creation of *EM_RANDLES_ISOPOTENTIALs at the layers-tab connection |
| free isopotentials flag | I10 | Controls the creation of *EM_RANDLES_ISOPOTENTIALs at the free surfaces of the tabs |
| isopotential connections flag | I10 | Controls the creation of *EM_RANDLES_ISOPOTENTIAL_CONNECTs between tabs |
| isopotential connections mode | I10 | Configuration of the isopotential connections between tabs |
| wire resistance | E10 | Wire resistance of the connections between tabs |
*BATT_CELL_RANDLES
<row count> <created flag> <rdlarea> <q> <socint> <cq> <soctou type> <soctou value>
<row count> <rdltype> <same type> <definition type>
<R0 charge mode> <R10 charge mode> <C10 charge mode> <R20 charge mode> <C20 charge mode> <R30 charge mode> <C30 charge mode>
<R0 charge> <R10 charge > <C10 charge> <R20 charge > <C20 charge > <R30 charge > <C30 charge >
<R0 discharge mode> <R10 discharge mode> <C10 discharge mode> <R20 discharge mode> <C20 discharge mode> <R30 discharge mode> <C30 discharge mode>
<R0 discharge> <R10 discharge > <C10 discharge> <R20 discharge> <C20 discharge> <R30 discharge> <C30 discharge>
<row count> <frther> <temp> <tempu> <dudt> <r0toth>
<row count> <usesocs> <tau> <flcid>
| row count | I10 | Number of rows to process in this card (for maintenance purposes) |
|---|---|---|
| created flag | I10 | Flags whether the *EM_RANDLES_ cards have been created for this definition |
| rdlarea | I10 | Randles area type |
| q | E10 | Cell capacity |
| socint | E10 | Initial SOC |
| cq | E10 | SOC conversion factor |
| soctou type | I10 | Equilibrium voltage type |
| soctou value | E10/I10 | Equilibrium voltage value (constant if <soctou type> is 0 and a curve if 1) |
| row count | I10 | Number of rows to process in this card (for maintenance purposes) |
| rdltype | I10 | Randles circuit type |
| same type | I10 | Controls whether the same definition type is used for all charge/discharge parameters |
| definition type | I10 | Common definition type used for all charge/discharge parameters |
| R0-C30 charge mode | 7I10 | Randles circuit charge properties definition mode |
| R0-C30 charge | 7E10/7I10 | Randles circuit charge properties value (constant if corresponding <charge mode> is 0 and curve if 1) |
| R0-C30 discharge mode | 7I10 | Randles circuit discharge properties definition mode |
| R0-C30 discharge | 7E10 | Randles circuit discharge properties value (constant if corresponding <discharge mode> is 0 and curve if 1) |
| row count | I10 | Number of rows to process in this card (for maintenance purposes) |
| frther | I10 | Flag setting where the temperature is coming from |
| temp | E10 | Constant temperature value used for the Randles circuit parameters (only applies if <frther> is 0) |
| tempu | I10 | Temperature unit |
| dudt | I10 | Load curve ID of the reversible heat as a function of SOC |
| r0toth | I10 | r0 to Thermal |
| row count | I10 | Number of rows to process in this card (for maintenance purposes) |
| usesocs | I10 | Flag determining if SOC shift is used |
| tau | E10 | Damping time in the SOC shift equation |
| flcid | I10 | Load curve giving f(i) where i is the total current in the unit cell |
*BATT_CELL_ANALYSIS
<row count> <ctrl sol flag> <ctrl term flag> <ctrl time flag>
<row count> <ctrl sol type> <ctrl term time> <ctrl time step>
<row count> <ctrl thml time flag> <ctrl thml sol flag>
<row count> <ctrl thml time step> <ctrl thml sol atype> <ctrl thml sol ptype>
<row count> <em ctrl flag> <em ctrl time flag> <em exoth flag> <em short flag>
<row count> <fem> <bem> <em time step> <em assembly out> <em solver out>
<row count> <heat area type> <res area type> <exoth function> <short function>
| row count | I10 | Number of rows to process in this card (for maintenance purposes) |
| created flag | I10 | Flags whether the analysis cards have been created for this definition |
| ctrl sol flag | I10 | Flag determining the activation of *CONTROL_SOLUTION |
| ctrl term flag | I10 | Flag determining the activation of *CONTROL_TERMINATION |
| ctrl time flag | I10 | Flag determining the activation of *CONTROL_TIMESTEP |
| row count | I10 | Number of rows to process in this card (for maintenance purposes) |
| ctrl sol type | I10 | Analysis type for *CONTROL_SOLUTION |
| ctrl term time | E10 | Termination time for *CONTROL_TERMINATION |
| ctrl time step | E10 | Initial time step for *CONTROL_TIMESTEP |
| row count | I10 | Number of rows to process in this card (for maintenance purposes) |
| ctrl thml time flag | I10 | Flag determining the activation of *CONTROL_THERMAL_TIMESTEP |
| ctrl thml sol flag | I10 | Flag determining the activation of *CONTROL_THERMAL_SOLVER |
| row count | I10 | Number of rows to process in this card (for maintenance purposes) |
| ctrl thml time step | E10 | Time step for *CONTROL_THERMAL_TIMESTEP |
| ctrl thml sol atype | I10 | Analysis type for *CONTROL_THERMAL_SOLVER |
| ctrl thml sol ptype | I10 | Problem type for *CONTROL_THERMAL_SOLVER |
| row count | I10 | Number of rows to process in this card (for maintenance purposes) |
| em ctrl flag | I10 | Flag determining the activation of *EM_CONTROL |
| em ctrl time flag | I10 | Flag determining the activation of *EM_CONTROL_TIMESTEP |
| em out flag | Flag determining the activation of *EM_OUTPUT | |
| em exoth flag | I10 | Flag determining the activation of *EM_RANDLES_EXOTHERMIC_REACTION |
| em short flag | I10 | Flag determining the activation of *EM_RANDLES_SHORT |
| row count | I10 | Number of rows to process in this card (for maintenance purposes) |
| fem | I10 | EM cycles for FEM for *EM_CONTROL |
| bem | I10 | EM cycles for BEM for *EM_CONTROL |
| em time step | E10 | Time step for *EM_CONTROL_TIMESTEP |
| em assembly out | I10 | Level of matrix assembly output for *EM_OUTPUT |
| em solver out | I10 | Level of solver output for *EM_OUTPUT |
| row count | I10 | Number of rows to process in this card (for maintenance purposes) |
| heat area type | I10 | Heat source area type for *EM_RANDLES_EXOTHERMIC_REACTION |
| res area type | I10 | Resistance area type for *EM_RANDLES_SHORT |
| exoth function | I10 | Function for *EM_RANDLES_EXOTHERMIC_REACTION |
| short function | I10 | Function for *EM_RANDLES_SHORT |
*BATT_CELL_LAYER_PARTS
<top nset> <bottom nset>
The following rows are included if the <modelling scale> is set to 0 (Micro scale):
<pcc part 1> <cathode part 1> <separator part 1> <anode part 1> <ncc part 1>
....
<pcc part n> <cathode part n> <separator part n> <anode part n> <ncc part n>
The following rows are included if the <modelling scale> is set to 1, 2, or 3 (Meso, Macro and Meshless connected to Macro scales):
<layers cell pset 1>
....
<layers cell pset n>
| top nset | I10 | Node set containing all nodes at the top surfaces of all layers |
| bottom nset | I10 | Node set containing all nodes at the bottom surfaces of all layers |
| The following rows are included if the <modelling scale> is set to 0 (Micro scale) | ||
| pcc part 1... | I10 | Part modelling the PCC layer for unit cell 1,... |
| cathode part 1... | I10 | Part modelling the cathode layer for unit cell 1,... |
| separator part 1... | I10 | Part modelling the separator layer for unit cell 1,... |
| anode part 1... | I10 | Part modelling the anode layer for unit cell 1,... |
| ncc part 1... | I10 | Part modelling the NCC layer for unit cell 1,... |
| The following rows are included if the <modelling scale> is set to 1, 2, or 3 (Meso, Macro and Meshless connected to Macro scales) | ||
| layers cell pset 1... | I10 | Part set containing the part modelling unit cell 1,... |
*BATT_CELL_TAB_PARTS
<pos tab nset> <neg tab nset>
<pos tab part 1> <neg tab part 1>
...
<pos tab part n> <neg tab part n>
| pos tab nset | I10 | Node set containing all nodes at the top and bottom surfaces of all positive tabs |
| neg tab nset | I10 | Node set containing all nodes at the top and bottom surfaces of all negative tabs |
| pos tab part 1... | I10 | Part modelling the positive tab for unit cell 1,... |
| neg tab part 1... | I10 | Part modelling the negative tab for unit cell 1,... |
*BATT_CELL_TAB_NRB
<pos tab nrbc 1> <neg tab nrbc 1>
...
<pos tab nrbc n> <neg tab nrbc n>
| pos tab nrbc 1... | I10 | Id of the *CONSTRAINED_NODAL_RIGID_BODY at the positive tab-layers connection for unit cell 1, ... |
| neg tab nrbc 1... | I10 | Id of the *CONSTRAINED_NODAL_RIGID_BODY at the negative tab-layers connection for unit cell 1, ... |
The following keyword is included if the <modelling scale> is set to 0 or 1 (Micro and Meso scales) and <connecting isopotentials flag> is 1:
*BATT_CELL_TAB_CON_ISOP
<pos tab-layer isop 1> <neg tab-layer isop 1>
...
<pos tab-layer isop n> <neg tab-layer isop n>
| pos tab-layer isop 1... | I10 | Id of the *EM_RANDLES_ISOPOTENTIAL at the positive tab-layers connection for unit cell 1, ... |
| neg tab-layer isop 1... | I10 | Id of the *EM_RANDLES_ISOPOTENTIAL at the negative tab-layers connection for unit cell 1, ... |
The following keyword is included if the <modelling scale> is set to 2 or 3 (Macro and Meshless connected to Macro scales) and <connecting isopotentials flag> is 1:
*BATT_CELL_TAB_CON_ISCO
<pos tab-layer isco 1> <neg tab-layer isco1>
...
<pos tab-layer isco n> <neg tab-layer isco n>
| pos tab-layer isco1... | I10 | Id of the *EM_RANDLES_ISOPOTENTIAL_CONNECT at the positive tab-layers connection for unit cell 1, ... |
| neg tab-layer isco1... | I10 | Id of the *EM_RANDLES_ISOPOTENTIAL_CONNECT at the negative tab-layers connection for unit cell 1, ... |
*BATT_CELL_TAB_FREE_ISOP
<pos tab free isop 1> <neg tab free isop 1>
...
<pos tab free isop n> <neg tab free isop n>
| pos tab free isop 1... | I10 | Id of the *EM_RANDLES_ISOPOTENTIAL at the free surface of the positive tab for unit cell 1, ... |
| neg tab free isop 1... | I10 | Id of the *EM_RANDLES_ISOPOTENTIAL at the free surface of the negative tab for unit cell 1, ... |
*BATT_CELL_INTER_TAB_ISCO
<inter tab isco 1>
...
<inter tab isco n>
| inter tab isco 1... | I10 | Id of the *EM_RANDLES_ISOPOTENTIAL_CONNECT modelling the inter-tab connection 1, ... |
*BATT_CELL_SECT_LIST
<section 1>
...
<section n>
| section 1... | I10 | All *SECTIONs created by the tool and used by the layers and tabs parts |
*BATT_CELL_RAND_LIST
<randles 1>
...
<randles n>
| randles 1... | I10 | *EM_RANDLES_SOLID or *EM_RANDLES_TSHELL or *EM_RANDLES_BATMAC or *EM_RANDLES_MESHLESS (depending in the selected Randles modelling scale) for unit cell 1, ... |
*BATT_CELL_END
No data fields.