Based on the information you have provided, it seems like there might be a misunderstanding or a potential oversight in the implementation of the reversible heat calculation in the Simscape model you are working with. When dealing with units in physical modeling, it is crucial that all quantities are correctly scaled to ensure the equations reflect the actual physical phenomena in an accurate manner.
Given that the entropic coefficient is inputted in millivolts per kelvin (mV/K) but you suspect it is being used as if it were in volts per kelvin (V/K), your observation about the resulting reversible heat terms being unexpectedly high makes sense. The entropic coefficient represents the change in cell voltage with temperature (dV/dT), and its correct application is essential for accurately calculating the reversible heat generated in the battery.
The reversible heat generated in a battery due to entropy changes can be calculated through
where
is the reversible heat, I is the battery current,
is the change in voltage due to temperature change, which is given by
,
is the entropic coefficient,
is the change in temperature.
If the entropic coefficient is indeed being inputted as mV/K but used directly without converting to V/K (i.e., dividing by 1000), then the calculated reversible heat would indeed be a thousand times larger than it should be.
EntropicCoefficient = {[0 0 0 0 0 0 0],'mV/K'};
reversibleHeatInternal = batteryCurrent * batteryTemperature * tablelookup(SOCBreakpoints, ...
EntropicCoefficient,stateOfCharge,interpolation=linear, ...
extrapolation=ExtrapolationMethod);
It does not explicitly show the conversion from mV/K to V/K, which would involve dividing the entropic coefficient by 1000 before using it in the calculation for reversible heat. If such a conversion is indeed missing, and there is no division by 1000 anywhere in the calculation, then your assessment seems correct. To address this, you would need to ensure that the entropic coefficient is correctly scaled to V/K before it is used in the reversible heat equation. If modifying the source code directly is an option, you could adjust the entropic coefficient by dividing by 1000 at the point of its use in the calculation:
reversibleHeatInternal = batteryCurrent * batteryTemperature *
(tablelookup(SOCBreakpoints,EntropicCoefficient,...
stateOfCharge,interpolation=linear,extrapolation=ExtrapolationMethod) / 1000);
I hope this helps.