Thermal Management System Design for Battery-Electric Vehicles
By Wolfram R&D
Summary
Topics Covered
- Simple Models Beat Complex Ones
- Spiral Backward to Move Forward
- Train AI Control Systems With Simulation Data
- Fix Bugs Years Before Vehicles Exist
Full Transcript
Hello everybody.
I will now speak on the topic of thermal management system design for battery electric vehicles. Does everybody hear
electric vehicles. Does everybody hear me? Okay.
me? Okay.
Yes, we can hear you Martin. Thank you.
Thank you very much.
I can start with saying that in essence all models are wrong. There's no perfect model. There's no model detailed enough
model. There's no model detailed enough that it captures everything in reality.
And on the other hand, some are useful uh as George box said in 1979.
Um, and this is not all bad because a simple model uh purposely built not to contain
everything is often more than its accuracy and and level of detail is often more than enough.
And it often beats [snorts] a very detailed and complex model, not least when you're debugging it. Because trying to
debugging it. Because trying to calibrate it to data, you will find yourself with the huge model will take days and weeks to calibrate. Whereas a
simple model will not reach the same level of accuracy, but it's much more nimble, it's faster, and you can work it
more. uh and I'll come back to that.
more. uh and I'll come back to that.
So why does this even matter?
Well, [snorts] I work with thermal systems for battery electric vehicles uh of vehicles of the
larger kind. Uh but this is applicable
larger kind. Uh but this is applicable to most vehicles that have a thermal system or even you can extend it to any thermal system or actually any system.
Uh but I focus on the thermal kind. Uh
also for maybe a building or a vehicle that's not running on on the ground.
This could be for aircraft, thermal systems, ships, what have you. Doesn't
really matter.
Um modern systems include for battery electric vehicles often include heat pumps to save on battery energy.
uh we want to recycle residual heat uh from various components. For example,
the drivetrain contains a lot of heat that we can reuse on a cold day to um to heat the cab uh the cabin uh via the
heat pump. So these systems function in
heat pump. So these systems function in a multitude of modes depending on if it's hot outside, if it's moderate hot,
very hot, cold, super cold around this freezing point and what do I do with my vehicle? Do I uh do I have a heavy load?
vehicle? Do I uh do I have a heavy load?
I'm driving uphill, downhill, so on. So
they have to do a lot of things.
And as such, they contain a lot of stuff. Uh for example, the system I'm
stuff. Uh for example, the system I'm just working on has seven valves, four pumps, one electrical fan, one heat pump, one electrical heater, and the
different combinations of settings for all these components which are 14 in this example.
There are so many you see a small sample on the screen just to show you that this is a lot. Um
we um we really can't do everything like manually.
Uh we we can't control the system manually. So how do we decide when when
manually. So how do we decide when when to use what settings and how were things ever going to be optimal or optimally operated uh to preserve as much energy
in in our in our uh battery system as possible?
Well, it's it's no mean feat because even though it's a simple we we we we we pump around uh coolant uh glycol and water combination in in in in hoses and
pipes using standard turb machinery pumps the combinations the number of the sheer number of combinations in these systems for it for their operation it's
enormous.
So, we have some examples on the screen which I uh happily stole from the from the internet because if they're public on the internet, I could share them. I
thought you have the references there.
Here's the Tesla Model 3. This is
something from the Sheffra group automotive subsuplier on the screen. And
this is from a paper. Uh you can see it here if you're interested in it. Uh I
didn't read the paper. I just nicked the picture. Uh but you can see here that we
picture. Uh but you can see here that we have um an HVAC unit with a positive temperature coefficient electric heater.
We have a blower, we have valves, we have pumps, we have high voltage batteries, we have um the power train, we have
another pump, we have a chiller, fan. There's a lot of stuff and how to
fan. There's a lot of stuff and how to operate these simultaneously, it's a huge question.
So what to do? Well, if you look at all these details at once, you quickly become very lost very quickly.
Uh one solution is to segment the model buildup meaning um you have different levels of details in your model for different
project tasks or phases meaning oh I don't build a model of this particular thermal system for this particular vehicle I build a family of models which I use and I use different members of
these family for different task usually the simpler models early when you have more concepts to to develop Uh another complimentary approach is also to work with large experiment
matrices. Meaning I use my model
matrices. Meaning I use my model simplicity and speed to my advantage and then I spiral back. So meaning instead of as management theory always goes is
that our development is linear and then you you start with a wide range here wide scope and then you go on here.
Actually you do spiral back a lot. You defi you define your things. You you you design it, you test it virtually or in a test
rig, then you go on take your feedback, you define it again and so you spiral back and you see that you actually move backwards in some respects.
So there is one there is one logical line going this way in in in that in that logic or in that space you actually move backwards but at the same time you move forward along the spiral which is
in another dimension if you want. So you
actually move forward along these lines but in in some respects you actually go back. So you can back from all my more
back. So you can back from all my more detailed models. Oh, I have to go back
detailed models. Oh, I have to go back because my test show me I have to redefine and then I move along and then I test again and see now you move further along according to both dimensions. So this is how I like to
dimensions. So this is how I like to think that it's no it's no disaster or it's no not a bad thing to actually move backwards in your simulation hierarchy.
Uh so how we did we do it? Well, we
created two new fluid libraries because I work with thermal systems. It's a lot of fluids. uh coolant liquid and air uh
of fluids. uh coolant liquid and air uh incompressible air incompressible air in this case. So we don't have to do any
this case. So we don't have to do any fancy stuff for incompressible or for compressible flow high mac number flu.
We created two libraries. We decided to call them thermofluid and flow. The
names are almost arbitrary. We created
them from scratch. Uh we had a new interface definition. We created new
interface definition. We created new media models based on the structure that we wanted. I will show you some
we wanted. I will show you some examples. Uh we created a full set of
examples. Uh we created a full set of components. Uh
components. Uh and as a design principle for these libraries, we use limited extends in modality. You can extend forever if you
modality. You can extend forever if you want, but we'd have limited extends and we don't use very many partial models, which goes contrary to the to the
software engineers thing that you should reuse and make maintenance easy and bug fixes only in one place and so on. We
since not everybody will be expert users we created these models from the perspective of ease of understanding and ease of reviewing rather than so so
if we introduce a bug it's possible you this approach it will actually be multiple places but most of the code is very similar in each component so it should be easy to find
but we do that because having an overview of almost the complete model at once actually also helps uh debugging and uh
introduction to model ease of understanding introduction to this library. So that's why we chose that uh
library. So that's why we chose that uh as a guiding principle when we wrote the library. We created everything you see
library. We created everything you see on screen we created uh components for and we created icons and everything from scratch.
So the connector we did in the flow library, the thermofluid I will not show because it's almost duplicate. Uh the
difference between the two libraries if I move back is that this deals with energy balances, heat heat flows and
energy flows but does not do any hydraulic calculations. If you're interested in
calculations. If you're interested in pressure drop and flow balances and stuff, you will have to use this in this library which is used for conceptual development. you will have to in each
development. you will have to in each branch of the system define your flow volume flow or mass flow it's your choice explicitly so I use this a lot
for concept development but then when I design my system I go to this one I will come back to this eventually so we uh had a fluid port you have to
have a flow variable uh we chose mass flow we have a uh potential variable pressure is an obvious choice in in fluid fluid
systems we have two stream variables. We
used enthalpy and we use a mass fraction X. Uh but in all practicality you can
X. Uh but in all practicality you can use X. X can be almost whatever uh
use X. X can be almost whatever uh depending on how you write your your um uh your your media model.
Uh the media model is uh written according to the uh this principle. We
created first a template uh and all uh functions are are have a name like property underscore and these are the input variables and for this for the flow library we take pressure
temperature and and and the variable x as input if we use them or not that's really not the question here we that's what each function needs to fun uh to
work and then uh we create a template and then uh we extend that template and for liquids we typically be populated directly with equations for the fluid
properties. In our case, uh different
properties. In our case, uh different versions of ethylene glycol. Um some of them are hard have a doesn't use X because they're hardcoded for certain
certain glycol concentrations. Some have
X as a um as an input. Uh and then you can vary uh very easily without changing the media. You can sh the glycol
the media. You can sh the glycol concentration. For idle gases, we did
concentration. For idle gases, we did little different approach because a lot of gases have you can use the same set of state equations and just change uh the coefficients.
For example, when you define viscosity, you use Southerntherland's law and they have the same type of coefficients regardless of the um
of uh of the gas if it's nitrogen or air or hydrogen for example. Same thing with uh if you use a variable CP you can use the NASA Glen coefficient
uh often called the Burkat Berkeley coefficients or polomials. Uh you can download a set of those uh for many different gases from from the web and and implement that. So that's how we did
it for gases. It's just more practical uh because those libraries are already there doesn't really exist for for different coolants. So there we
different coolants. So there we implement them directly.
Uh then we build a conceptual model. Uh
this the example shown here is not really it's a lot simplified from uh what we would have in a vehicle because here we have a radiator uh in the simplified uh thermofluid
library which is yellow. I call it the yellow library. Uh we don't have a
yellow library. Uh we don't have a pressure drop or anything. So we don't have fan to drive the flow through radiator. So that's explicitly input. We
radiator. So that's explicitly input. We
have a subcircuit here for something we can say it's it's the battery. uh have a heat pump or a refrigeration system with a refrigerant um not modeled. We model
we model its behavior not its internals.
Uh then we have um uh two um two branches of um coolant going to the drivetrain to my little drivetrain model. Uh one for the gearbox and one
model. Uh one for the gearbox and one for the uh the motor uh inverter combination. And then this little
combination. And then this little drivetrain pushes on our our vehicle model and then some controls into that.
And then yeah we can drive this. We can
define a drive profile here. So we can drive from E to B as it happens. I will
show you some results later.
Uh so this is the library where I mentioned we have energy balances and heat flow only. Uh we will have to you can see here I I put in my in this my my pump I'm going I actually put in
explicitly what my mass flow should be and also in the subcircuit here. uh and
then I explicitly define in this I use a valve icon but it's actually a flow splitter telling 7 uh the fraction 7 of of this flow here goes in this branch
and then 30% it goes here I explicitly define that in this library oh what happened okay back again not sure what happened
there Um so I use typically use this library in this type of detail in models to evaluate many many concepts and this can
be used to [snorts] create the first conceptual design of a control system.
Uh this conceptual model I ran in the um in a drive cycle because I have a drivetrain and a vehicle model. So I can evaluate in the drive cycle. Uh it does require that I first created a
conceptual control system because otherwise my thermal system won't work without the control system.
It'll work in in in manual mode or steady state modes only.
So before we actually do the drive cycle, we create a large test matrix matrix with thousands of points and then we do something called a system characterization.
Uh or I create data and hand it over to my my control system team members uh who use that to perform a system characterization uh often using Simolink
as tools for this. Modelica and then from that they define a control system uh they define the system from the control system point of view or we decide to do a hybrid approach and maybe
use this data to train an ML algorithm.
uh we did show in an advanced engineering program last year together with with Wolffront that it was possible actually to train with using data from these models exclusively to train an ML
without any different control functions just an ML algorithm a neural net created in Mathematica to control one of these systems uh over 4hour drive cycle in various uh for
various times of the year meaning different ambient temperatures and then once we've done that uh we model the system again using the other library the flow library which I where I
showed you the connector and the media model and we include hydraulics. So this
allows us to actually design the hydraulic circuit. Uh we can select
hydraulic circuit. Uh we can select component. We can use this as a guide in
component. We can use this as a guide in selecting components. Uh pumps, fans, we
selecting components. Uh pumps, fans, we can size the heat pump, uh hose and pipe diameters and lengths.
Um yeah, we design the system hydraulically and at the same time we continue with the next step in the control system development because at this stage we add more functionality, we
add more detail. So the control system designs need to be fine-tuned.
Uh once we have rig testing meaning data from the real world can be scary but we use that data to calibrate these models to see that our pressure losses and flow
balances are correct, our thermal masses are adequ ad adequately uh represented and then we can uh calibrate the control
system again. And the reason we do that
system again. And the reason we do that in steps is that typically historically you would design your system then you would design your control system as a side activity. These come together first
side activity. These come together first time in the vehicle and then you spend months calibrating and fixing things uh on the software in the vehicle which is
very expensive and also not very practical because you only have the vehicle very late in the development process. So now we can do it way before
process. So now we can do it way before years before we actually have a vehicle to find bugs and things we haven't thought of which we always do uh early.
So to wrap things up to provide a couple of minutes for questions no model is perfect. Uh so we utilize a stepwise approach uh a tiered approach
if you want or we add detail as we go along and as we go back and forth. You
can see there's a pendulum or as a spiral in my view to first to down select concepts. We run huge DE tens of
select concepts. We run huge DE tens of thousands of of cases. Uh we haven't really gotten to the tens of thousands yet, but maybe a thousand. It's where we got so far. We're developing a new
workflow as well to do system characterization, train algorithms or something else.
And we add detail as we go. And then we start all over.
Thank you very much.
Loading video analysis...