Heat transfer, natural convection: Heat sink <-> Air
1 Attachment(s)
Hi everybody,
in the last weeks I tried to start with OpenFOAM and I would like to solve the following case: The attached Heat sink gets a Heat Flux of 50 W on its lower surface. The natural convection of the air arround the Heat sink cools it. Seems to be a simple case. I want to solve it with the chtMultiRegionSimpleFoam solver because all i need is the steady state (right solver?). I can't find a description how to load my heatsink.stl file and to create a air box around it. The tutorials don't give enough hints except that I could use a refinementBox (searchableBox) for this. My Questions: - What is the best tutorial I can build up my case with? - How do I load my STL file into this case? - How can I create the Airbox? - How does OpenFOAM know what is the solid and what is the fluid? I'm happy about every help I get. Thanks |
The best starting point would be the chtMultiRegionFoam tutorial snappyMultiRegionHeater.
Study the Allrun-script and the whole case structure and all files. If you would like to get a correct solution you will also need to add a radiation model, either viewFactor (chtMultiRegionSimpleFoam/multiRegionHeaterRadiation) or fvDOM (buoyantSimpleFoam/hotRadiationRoomFvDOM). Furthermore you have to study which boundary conditions you need for natural convection. |
Hi mirx,
thank you for your reply. I started with snappyMultiRegionHeater already. I tried to run the case with only two regions: heater and topAir. I commented the other regions out in every file I found. Code:
--> FOAM FATAL ERROR: https://dl.dropboxusercontent.com/u/...HeaterSven.zip |
splitMeshRegion created a third region: domain0.
This region is present in your boundary files: constant/heater/polyMesh/boundary Code:
heater_to_domain0 |
That was a nice advice! Like the other regions I removed the topAir now and made domain0 fluid in constant/regionProperties. Where can I set the size of the box? I don't understand the code of blockMeshDict, but maybe I will find out by searching the Internet in the next minutes ;)
I copied the properties (g, radiationProperties, thermophysicalProperties etc.) into the constant/domain0 folder. After running it again, I got a "new" error: Code:
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // EDIT: The box is bigger now. https://dl.dropboxusercontent.com/u/...eaterSven2.zip |
1 Attachment(s)
I learned a bit about meshing with snappyHexMesh today and my heat sink is part of the case now.
Can anybody help me with that error from my last post? And where do I define the heat source on my heat sink? Case: https://dl.dropboxusercontent.com/u/...eaterSven3.zip |
Try to get a proper mesh an case structure first. You have domain(0-10) and no mesh for the heatsink.
I would recommend to use volumetric heat fluxes instead of surface heat fluxes. This is much more realistic. Either you assign a volumetric heat flux on the heatsink itself, or you create a second body, which represents the heater and is in contact with the heatsink. A volumetric heat flux can be created by fvOptions (scalarSemiImplicitSource). |
1 Attachment(s)
For me it looks like the heatsink has a mesh :confused: And why are there now 11 domains? Do the domains all need the fluid properties?
|
1 Attachment(s)
The domains seem to be from a previous mesh run, which failed.
Run the attached Allclean script. It removes all domains except domain0. Then mesh again. |
Thanks mirx!
Now I have only the heater and domain0 again. I still try to fix the error. It seems that there is something wrong with the thermophysicalProperties in domain0, right?. I started to change some of these properties but this results in other (fatal) errors. The mesh of the heatsink is OK? |
hi i am also working on the similar case did you completed the case simulation...
|
All times are GMT -4. The time now is 00:01. |