CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

ChtMultiRegionFoam Liquid Cooling

Register Blogs Community New Posts Updated Threads Search

Like Tree5Likes
  • 1 Post By rafaelmacedo
  • 1 Post By Tobi
  • 1 Post By Pappelau
  • 1 Post By Pappelau
  • 1 Post By peterhess

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   November 21, 2021, 17:07
Unhappy ChtMultiRegionFoam Liquid Cooling
  #1
New Member
 
Rafael
Join Date: Nov 2021
Location: Brazil
Posts: 9
Rep Power: 5
rafaelmacedo is on a distinguished road
Hello Everyone,

I'm running a simulation in which I have 3 regions, the water, the aluminum channels, and the battery. I am setting up a liquid cooling system to perform the thermal management of the battery.

I have the whole case set and I'm starting to perform the simulations. Since then, I'm stuck and can't evolve anymore. My problem is: assuming the water inlet value in the channels, such as 300K, this water should be heating up over time, but it is cooling down.

I've tried different ways to change this but I don't really know what's going on. I have nothing set at 297K and even so my minimum water temperature reaches this value after 1 hour. My outlet temperature should be higher than the inlet temperature, and not the opposite.

Could someone help me understand the reason for this? what can I be doing wrong? it helps me a lot, as it is part of my course completion work and I am really stuck at this point.

I'm relying on this article, more specifically on his first case, with just one line of channels, to validate my model. (in the drive file link) (LAN2016.pdf).

https://drive.google.com/drive/folde...N8?usp=sharing

Just to complete it, I've already tried taking the battery out and running the simulation with only the channels and water, but I'm getting the same problem.

Below is also my case. (in the drive file link)
Tobi likes this.

Last edited by rafaelmacedo; November 21, 2021 at 18:16.
rafaelmacedo is offline   Reply With Quote

Old   February 1, 2022, 14:08
Default
  #2
Super Moderator
 
Tobi's Avatar
 
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 52
Tobi has a spectacular aura aboutTobi has a spectacular aura aboutTobi has a spectacular aura about
Send a message via ICQ to Tobi Send a message via Skype™ to Tobi
Did not investigate to much now but some question:
  • Are you interested in a steady-state solution or in a transient one?
  • The mesh for the water is not really that good (in terms of spacing between the walls (3 cells) dont expect good results
  • I could not open your time folders (some errors) needed to recalculate

So your 3-cell approach is not a good idea. I guess that you have some problems here. And why should your water be higher at the outlet? Your heater (I guess it is the battery) has a fixed value at 300 K, your water inlet temperature has 300K, I cannot see any source you apply to heat anything up. So for me it seems okay-level. Of course, the temperature change to 297 is not reliable but you should first optimize your 3-cell-approach for the fluid.

Furthermore, I guess you want to investigate into the steady-state solution, right? No need to use transient stuff. Furthemore, use the new implicit coupling approach. And remove the GAMG for your simple mesh. It needs 305 Iterations for the pressure.


But the main issue you probably have (as always), is your scaling.

Code:
Overall domain bounding box (-5 -5 0) (168 44 173)
I don´t believe that your battery or setup is 170 m long.
Tobi
rafaelmacedo likes this.
__________________
Keep foaming,
Tobias Holzmann
Tobi is offline   Reply With Quote

Old   February 14, 2022, 10:24
Default
  #3
New Member
 
Rafael
Join Date: Nov 2021
Location: Brazil
Posts: 9
Rep Power: 5
rafaelmacedo is on a distinguished road
Quote:
Originally Posted by Tobi View Post
Did not investigate to much now but some question:
  • Are you interested in a steady-state solution or in a transient one?
  • The mesh for the water is not really that good (in terms of spacing between the walls (3 cells) dont expect good results
  • I could not open your time folders (some errors) needed to recalculate

So your 3-cell approach is not a good idea. I guess that you have some problems here. And why should your water be higher at the outlet? Your heater (I guess it is the battery) has a fixed value at 300 K, your water inlet temperature has 300K, I cannot see any source you apply to heat anything up. So for me it seems okay-level. Of course, the temperature change to 297 is not reliable but you should first optimize your 3-cell-approach for the fluid.

Furthermore, I guess you want to investigate into the steady-state solution, right? No need to use transient stuff. Furthemore, use the new implicit coupling approach. And remove the GAMG for your simple mesh. It needs 305 Iterations for the pressure.


But the main issue you probably have (as always), is your scaling.

Code:
Overall domain bounding box (-5 -5 0) (168 44 173)
I don´t believe that your battery or setup is 170 m long.
Tobi
Dear Tobi,

Thanks a lot for the reply and help.

Regarding your question, yes, I would like to do the analysis for the steady-state, so the transient for me is not that important. Really, I believe my problem was the scale because my case is in millimeters, not meters. Making these corrections, my case starts with the temperature at 299.99...K and then goes over 300K and goes. This issue has been solved!

Regarding the heat source, it does exist, I set it on my heater with the fvOptions folder, using a 7.6W source (1C) on the entire volume. This is correct, right?

Finally, really, the mesh is coarse, seeing that we only have 3 volumes for water. I made these corrections and doubled the mesh number. However, I'm having problems now in the simulation, because with this mesh refinement it is getting very slow, taking days to finish. What can I do about it? Is there any way I can configure my controlDict or blockMesh folder to improve this simulation time?

I believe that this is happening because as the meshes are defined together in the solver, I have to increase the mesh of all the blocks to increase the water mesh, keeping the coherence.
rafaelmacedo is offline   Reply With Quote

Old   February 18, 2022, 07:23
Default
  #4
Member
 
Lukas
Join Date: Sep 2021
Posts: 36
Rep Power: 5
Pappelau is on a distinguished road
Hello Rafael,
watching your google drive link:
As u simulate Steady State, dont save your Solution every 10 timesteps this cost enormeous time on big meshes. And u dont have any benfits form this. This should only be used to debugg simulations.
rafaelmacedo likes this.
Pappelau is offline   Reply With Quote

Old   February 24, 2022, 08:16
Default
  #5
New Member
 
Rafael
Join Date: Nov 2021
Location: Brazil
Posts: 9
Rep Power: 5
rafaelmacedo is on a distinguished road
Hello Pappelau,
I agree with you, being a long simulation and a fine mesh, I should increase my WriteInterval. The problem is as follows, as I set my maxCo to 1.0, at the moment my solver is forcing my deltaT to 0.002 and this is slowing down my simulation a lot. How to get around this? Because I believe that increasing my maximum number of courant is not a good option either. Attached is a photo of my Courant and deltaT number.
(deltaT = 0.002 and max: 0.9999...)

https://drive.google.com/file/d/1MxK...ew?usp=sharing

rafaelmacedo is offline   Reply With Quote

Old   February 28, 2022, 02:14
Default
  #6
Member
 
Lukas
Join Date: Sep 2021
Posts: 36
Rep Power: 5
Pappelau is on a distinguished road
Hello again,
u mentioned three post above your only interested in a steady-state ?
So you shouldn't need to mess around with Courant....
To change your case from transient to steady :

(fvSchemes)

ddtSchemes
{
default steadyState;
}
Further chtMultiregion Temperature is even in steadyState mode quiet slow so don't expect a super fast converge.
Pappelau is offline   Reply With Quote

Old   April 3, 2022, 13:23
Default
  #7
New Member
 
Rafael
Join Date: Nov 2021
Location: Brazil
Posts: 9
Rep Power: 5
rafaelmacedo is on a distinguished road
Quote:
Originally Posted by Pappelau View Post
Hello again,
u mentioned three post above your only interested in a steady-state ?
So you shouldn't need to mess around with Courant....
To change your case from transient to steady :

(fvSchemes)

ddtSchemes
{
default steadyState;
}
Further chtMultiregion Temperature is even in steadyState mode quiet slow so don't expect a super fast converge.
Hi Pappelau,

Thanks for your replying, I did what you said and really the simulation flows quite faster than previously.

I have another question, about the mesh with blockmesh. I would like to refine my mesh just in the water region, but the problem is how the meshes of others regions are correlated, I am having a "ortogonality" problem, that is, the number of blocks need to match. Have some way to I do that?

I would like to refine my mesh a lot in the water region, but I don't have to do the same for the other regions, increasing the computational time.
rafaelmacedo is offline   Reply With Quote

Old   April 4, 2022, 03:18
Default
  #8
Member
 
Lukas
Join Date: Sep 2021
Posts: 36
Rep Power: 5
Pappelau is on a distinguished road
Glad i could help you at the first place,
about refinement : you can either use special blockMesh comands to "stitch" two non conformal meshes, but then you cant use the blockmesh for snappyHex. Another way is to you take your
ready to go blockMesh and go with it to snappyHexMesh and do a "Region" castelation step of the Water. (Dont do a snap just castelation)

Here it depends a lot on your geometry...
rafaelmacedo likes this.
Pappelau is offline   Reply With Quote

Old   May 8, 2022, 01:34
Default
  #9
New Member
 
Rafael
Join Date: Nov 2021
Location: Brazil
Posts: 9
Rep Power: 5
rafaelmacedo is on a distinguished road
Quote:
Originally Posted by Pappelau View Post
Glad i could help you at the first place,
about refinement : you can either use special blockMesh comands to "stitch" two non conformal meshes, but then you cant use the blockmesh for snappyHex. Another way is to you take your
ready to go blockMesh and go with it to snappyHexMesh and do a "Region" castelation step of the Water. (Dont do a snap just castelation)

Here it depends a lot on your geometry...
Hello again Pappelau,

Thanks for all your answers, made me evolve a lot on my problem.

There would be one more point that I'm having difficulty with and I would like to see if somehow you could help me.

In this link https://drive.google.com/drive/folde...jQ?usp=sharing , follows my whole case so you can see and get more details.

I'm running and reaching the equilibrium point, between water, channels, and battery. However, if you notice, along the water, in the temperature profile, I don't see it heating up along the passage through the channels, but a maximum temperature exactly in the center. What could this problem be? The correct thing, in my view, would be for it to have a low temperature in the inlet (300K) and due to the heat source in the battery, it would heat up, obtaining a maximum temperature in the outlet. Is the problem in the boundary conditions? Something that is keeping my temperature even across the channel at 300K? I hope you can help me,

Thanks in advance.
rafaelmacedo is offline   Reply With Quote

Old   May 8, 2022, 10:58
Default
  #10
Senior Member
 
Peter Hess
Join Date: Apr 2011
Location: Austria
Posts: 250
Rep Power: 17
peterhess is on a distinguished road
Hello!
The simplest way to refine is to use:

refineWallLayer

after using blockMesh, topoSet and splitMeshRegions.

and before running decomposePar.

The file uploaded is doing that for you.

You need to change the FLUID region to your fluid region name and the boundary you need to refine from FLUID_to_SOLID to your region you want to refine...

0.3 is the rate of the refinement.

I could not download the case and sent you a request for downloading.

OF version?

Regards

Peter
Attached Files
File Type: zip Refine.zip (281 Bytes, 8 views)
rafaelmacedo likes this.
peterhess is offline   Reply With Quote

Old   May 8, 2022, 12:25
Default
  #11
New Member
 
Rafael
Join Date: Nov 2021
Location: Brazil
Posts: 9
Rep Power: 5
rafaelmacedo is on a distinguished road
Quote:
Originally Posted by peterhess View Post
Hello!
The simplest way to refine is to use:

refineWallLayer

after using blockMesh, topoSet and splitMeshRegions.

and before running decomposePar.

The file uploaded is doing that for you.

You need to change the FLUID region to your fluid region name and the boundary you need to refine from FLUID_to_SOLID to your region you want to refine...

0.3 is the rate of the refinement.

I could not download the case and sent you a request for downloading.

OF version?

Regards

Peter
Hello Peter,

Thanks for all!!

I do not understand what you said about changing the FLUID region name. I will do that, refine the interface FLUID_to_SOLID between Water and Channel. Do you think that I need to do the same for SOLID_to_SOLID in Channel and Heater (batterry)?

Try this link here, I open to view and edit. https://drive.google.com/drive/folde...jQ?usp=sharing

And about my question above, do you have any idea that what can be? I think the issue maybe is the initial condition T in Water. The water should be heating up across the channel, and not remains uniform and simmetric.

Thanks in advance.
rafaelmacedo is offline   Reply With Quote

Old   May 8, 2022, 12:26
Default
  #12
New Member
 
Rafael
Join Date: Nov 2021
Location: Brazil
Posts: 9
Rep Power: 5
rafaelmacedo is on a distinguished road
Quote:
Originally Posted by rafaelmacedo View Post
Hello Peter,

Thanks for all!!

I do not understand what you said about changing the FLUID region name. I will do that, refine the interface FLUID_to_SOLID between Water and Channel. Do you think that I need to do the same for SOLID_to_SOLID in Channel and Heater (batterry)?

Try this link here, I open to view and edit. https://drive.google.com/drive/folde...jQ?usp=sharing

And about my question above, do you have any idea that what can be? I think the issue maybe is the initial condition T in Water. The water should be heating up across the channel, and not remains uniform and simmetric.

Thanks in advance.
My OpenFOAM version is OpenFOAM-v2012.

Thanks!
rafaelmacedo is offline   Reply With Quote

Old   May 8, 2022, 15:46
Default
  #13
Senior Member
 
Peter Hess
Join Date: Apr 2011
Location: Austria
Posts: 250
Rep Power: 17
peterhess is on a distinguished road
Quote:
Originally Posted by rafaelmacedo View Post

I do not understand what you said about changing the FLUID region name. I will do that, refine the interface FLUID_to_SOLID between Water and Channel. Do you think that I need to do the same for SOLID_to_SOLID in Channel and Heater (batterry)?

.
In the file attached:

refineWallLayer -overwrite -region FLUID '(FLUID_to_SOLID)' 0.3

change FLUID to your region name water and Water_to_Channel as your boundary you want to refine or any other boundary in the region water...

I will take a look to your case and answer you later.

Regards

Peter

Last edited by peterhess; May 9, 2022 at 13:26.
peterhess is offline   Reply With Quote

Old   May 10, 2022, 03:00
Default
  #14
Member
 
Lukas
Join Date: Sep 2021
Posts: 36
Rep Power: 5
Pappelau is on a distinguished road
Good Morning Rafael, what i can see from inspecting your case : You are limiting rho for water in fvSolution from 0.2 to 2 this cant give u physical results . If u inspect ur case with paraview u will see that rho of water is indeed 2 i think the solver breaks here.
Pappelau is offline   Reply With Quote

Old   May 11, 2022, 21:53
Default
  #15
New Member
 
Rafael
Join Date: Nov 2021
Location: Brazil
Posts: 9
Rep Power: 5
rafaelmacedo is on a distinguished road
Quote:
Originally Posted by peterhess View Post
In the file attached:

refineWallLayer -overwrite -region FLUID '(FLUID_to_SOLID)' 0.3

change FLUID to your region name water and Water_to_Channel as your boundary you want to refine or any other boundary in the region water...

I will take a look to your case and answer you later.

Regards

Peter
Hello Peter,

Ok, I will do that. And I will wait for your answer about the question above.

Thanks for all!!

Regards,

Rafael Macedo.
rafaelmacedo is offline   Reply With Quote

Old   May 11, 2022, 21:57
Default
  #16
New Member
 
Rafael
Join Date: Nov 2021
Location: Brazil
Posts: 9
Rep Power: 5
rafaelmacedo is on a distinguished road
Quote:
Originally Posted by Pappelau View Post
Good Morning Rafael, what i can see from inspecting your case : You are limiting rho for water in fvSolution from 0.2 to 2 this cant give u physical results . If u inspect ur case with paraview u will see that rho of water is indeed 2 i think the solver breaks here.
Hello Pappelau,

Ohh I did not see that... I did not find this set on fvSolution in Water. Where can I change that?

Thanks!!
rafaelmacedo is offline   Reply With Quote

Old   May 12, 2022, 03:34
Default
  #17
Member
 
Lukas
Join Date: Sep 2021
Posts: 36
Rep Power: 5
Pappelau is on a distinguished road
system/water/fvSolution



Simple{
rhoMin 0.2;
rhoMax 2;

}
remove these two lines ?
Pappelau is offline   Reply With Quote

Reply

Tags
battery, chtmultiregionfoam, heattransfer, liquid cooling


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
convergence problem of steady 2D film cooling calculation using chtMultiRegionFoam ruanyg968tf OpenFOAM Running, Solving & CFD 1 April 10, 2024 03:23
cooling process for high temperature liquid metal with forced gas IronLyon CFX 15 March 3, 2019 06:11
Boundary for cooling - chtMultiRegionFoam styx OpenFOAM Running, Solving & CFD 0 January 24, 2014 05:05
Cooling behavior of liquid aluminum in a closed container §$§eth STAR-CCM+ 15 May 21, 2013 06:29
chtMultiRegionFoam with liquid phsieh2005 OpenFOAM Running, Solving & CFD 0 October 9, 2010 07:07


All times are GMT -4. The time now is 10:12.