ISEAFrame
2.26.1
|
The parametrization of the thermal model is done by the use of a xml file. The aim is to construct a regular base structure, which could be expanded on demand to include single irregular structures. The basic idea of the developed concept is to parse the xml file twice in the same order (once for the electrical and once for the thermal model). Thereby the connection between both models is done by identical structural order. The basis of the thermal model are the thermal blocks and the cooling. The thermal blocks define all important data, which are given in a particular space. The cooling, thermal materials and thermal blocks are addressed in more detail in other context. Standard cooling is applied to each surface, which is open to the environment.This can be adjusted in the options. Global options can be adjusted in the <Options>-node.
The software workflow of the thermal model should be shortly outlined in the following paragraph (see picture):
Heat generation can be devided into two parts, irreversible and reversible heat.
\[ P_{gesamt} = P_{revsible} + P_{irrevsible} \]
The irreversible heat, also called joule heating, can be caluclated from the ohmic losses of the impedance an is usally proportinal to the quadratic current. The reversible heat, caused by change in entropy, can be evaluated by a lookup. The heat generation is linear to the current. The underlaying formula that is used is as follows:
\[ p= i \cdot T \frac{dV(SOC, T)}{dT} \]
The lookup can be influenced by the xml node <ReversibleHeat/>.
Firstly, following nodes are parsed consecutively:
Afterwards, the actual parse process begins. The parser of the thermal model parses the xml nodes recursively, until
<RootElement class="SerialTwoPort"> <Children count="3" dx="0.05"> <Line class="ParallelTwoPort"> <Children count="5" dy="0.04"> <Cell ref="MyCellElement1"/> <Cell ref="MyCellElement1" dz="0.03"/> </Children> </Line> </Children> </RootElement> <MyCellElement1 class="CellElement" observable="True"> ... <ReversibleHeat class="ConstObj"><Value>1e-4<Value></ReversibleHeat> <ThermalBlock ref="SupercapCellBlock"/> <UnheatedBlocks> <Block1 ref="BlockType1"/> <Block2 ref="BlockType1" dy="0.075"/> </UnheatedBlocks> </MyCellElement1>
The position of the thermal blocks is controlled by the attributes "dx", "dy" and "dz". Those attributes can appear at three different places.
They define the shift in the global cartesian coordinate system. Starting at the global origing, the placement point is shifted in each case by the corresponding value. This placement point is then passed recursively. The exact system is as follows:
By the use of <ThermalProbe>-nodes, sensors can be added at arbitrary point. They can be deposited as X,Y,Z tuples in the subnode <Position>. The sensors compute the nearest centre of a finite volume and output the volumes temperature. This function can be useful to examine suspected hotspots in detail or recreate measuring points in real packs.
<ThermalProbe> <Position> 0.3370, 0.5500, -0.1260; 0.3370, 0.5500, -0.0720; 0.3370, 0.5500, -0.0180; 0.5710, 0.4720, -0.0180; 0.3343, 0.2344, 0.1340; 0.3343, 0.2344, 0.0820; 0.3343, 0.2344, 0.0300; 0.3370, 0.1560, -0.1260; 0.3370, 0.1560, -0.0720; 0.3370, 0.1560, -0.0180; </Position> </ThermalProbe>