butterfly
butterfly copied to clipboard
No heat transfer
Hello,
I'm doing some tests using your indoor airflow with temperature sample definition. I have a box as a room boundary at 21°, inside it is a 10° plate and an 80° plate. I ran it for 500 timesteps but nothing is showing up in ParaView, even if I run an animation over all timesteps.
The resulting temperature domain is tiny:
What am I doing wrong? Do I need to change the heat transfer recipe parameters?
Cheers, Max Indoor.zip
Running the sample file without changing anything outputs a temperature domain from around 24-31°C, although the surface temperatures are 100 and 18°...how can that be? I thought it had something to do with the refinement level, but when I increased it to 3 the domain was even smaller.
Hi @MaxMarschall
Unfortunately my laptop is probably the worst computer hardware around. I will find some time and take a look at the case tomorrow. This should be pretty straightforward, we add temperature to wall boundaries, they emit heat, smth happens.
The screenshot you are showing, is that the itnernal mesh? Is there any temperature gradient in a slice on the y or x axis (doesn't matter as long as it slices the heated surfaces)? blockMesh seems to be 1,1,1 that is quite high for this room but again not sure that is what's wrong.
Is it possible to send me over your case folder to take a look? Without the solution folders. If not I'll take a look tomorrow.
Sorry for not being much help atm.
Kind regards, Theodore.
Hi @TheodoreGalanos ,
No worries, you guys have already been incredibly helpful so far, I really can't complain!
Yes, it's the internal mesh which is actually clipped in the middle right through the heat/cold sources:
Blockmesh is set to 1,1,1. Here is the case folder and definition.
Cheers, Max
Hi @MaxMarschall
I didn't have the chance to run the case but I went through the files.
In your boundary file there are only 3 boundaries stated: the plates and the roof. However in your 0 folder you have a boundary called boundingbox. Is this supposed to be the rest of the walls? Unless the roof boundary is indeed all the walls then I think you should mesh in a way that the walls are within the boundary file as well. It is strange that no error came from OF on this one.
If the bounding box is indeed the surrounding walls of the room then I think it should be modelled as a wall as well. Right now it is set as zeroGradient in all the 0 folder files.
Other than that it looks ok but it's hard to judge without running it. I'll try and do that if work allows.
Edit: I now see that you have a 1.org folder that includes the bounding box so I'm guessing you tried it as well. I'm pretty sure the correct way to go is to include it as well. Try setting it as a wall boundary, which it should be in reality.
Kind regards, Theodore.
Thanks @TheodoreGalanos , It's funny, I never defined anything called "boundingbox"... The geometry called "roof" is actually an entire box (6 surfaces) representing all the room boundaries, I just didn't change the name from the original file.
Anyway...even if I run the sample file "as is", this is what it looks like at timestep 2000:
In your file, the roof is 100° and the other boundaries 18°...shouldn't the domain therefore be 18 To 100?
In this next picture, all I have done is change the roof temperature from the sample file from 100° to 1° (also changed the directory name to avoid potential conflicts):
As you can see there is virtually NO domain...how can that be?
Cheers, Max
Adding a 100° plate (plane srf) hardly changes anything:
This is what it looks like in OpenFoam:
So obviously there is some heat transfer between the roof and walls but it looks like there is none at the plate. Did I input the plate correctly into the definition?
The "T" file in the "0" folder:
The "boundary" file in constant_polyMesh:
Cheers, Max
@TheodoreGalanos and @mostaphaRoudsari ,
I'm beginning to think this could have something to do with the wall functions. I am an absolute beginner when it comes to this, but from what I've understood they specify material qualities of the surfaces (?). I've noticed that in the 0/nut
file (what does "nut" mean?) the geometries are listed with a type
and value
property. In the documentation there is an example where the objects have a value
of uniform 0
, but in my case folders it is uniform 0.01
. I have no idea what this means, but is there any way to play around with these properties in BF, and would you even recommend that? I'm assuming this is what the fvSchemes_
input for the HeatTransferRecipe
is for, but I don't understand in what format to input such data.
Edit: I have just realized the BoundaryCondition tab...where do I input those components into the definition? Also, looking at your source code it seems they might not be implemented yet...?
Cheers, Max
@MaxMarschall thank you for posting the issues and sorry for not being able to respond on a timely manner. I'm busy with some other development. Should be able to check all of these closer to the end of the December.
@mostaphaRoudsari , No worries, thanks for all the great work!
@TheodoreGalanos and @mostaphaRoudsari ,
Happy New Year! Sorry to be bothering your so soon, but is there anything new on this? Has anyone else been having similar problems?
Cheers, Max
Hi @MaxMarschall Happy New Year,
I have tested a similar case to yours and applied different boundary conditions with a laminar flow.
I believe the boundary conditions are to be validated by an experienced CFD user for reliability of results. These could be set for several generic cases. Perhaps you could follow this thread to follow up the recent manifestation of @mimarilker : https://github.com/mostaphaRoudsari/butterfly/issues/133#issuecomment-269949993
Also I have briefly compiled several research papers on the thermal environmental around the human body for CFD, if you wish to read some of them, I still haven't finished: RPapers_HumanHeatTransferCFD.zip
Let's stick together, we'll learn faster.
Hi @DambronOlivier ,
Thanks for sharing the papers. Your result does look more promising than what I got, however the gradient is still a bit small isn't it? If I'm reading this correctly, just 4.9K? What temperature did you set for the objects?
Could you maybe upload a screenshot of your definition so I can compare with mine?
Cheers, Max
@MaxMarschall The results remain incoherent in many ways although it is closer.
@DambronOlivier, could you share the link of grasshopper file, or please just pm for it ([email protected]). I am interested in reviewing the heat transfer issue. I have a friend who is very very experienced on heat transfer, so he can provide very valuable feedbacks.
@DambronOlivier ,
Trying to reconstruct your definition and this happens:
Any idea what I'm missing?
Cheers, Max
OK I had to change the type hint of refLevels to interval and write the result to the proper output name ("boundary" instead of "boundaryFields").
There's still something fishy with this. Each time I try using that custom boundary there appears a buoyantBoussinesqSimpleFoam.log that has this message in it:
Radiation model not active: radiationProperties not found Selecting radiationModel none No MRF models present
No finite volume options present
See attached. What does this mean?
Cheers, Max
@DambronOlivier ,
I am...but it's funny, I opened your file and also used multiple processors and everything worked out fine.
@MaxMarschall One thing to beware of is the behaviour at the ceiling.. seems that the airflow escapes from there as if the boundary conditions were not specified correctly. The heat should stratify or flow back by convection. @TheodoreGalanos , would you have an idea on this issue?
@MaxMarschall there is something wrong with temparture probe values, so I just created a standart wall boundary for heat source and give it 300 degree C to see if it works, but no success. You can see the numeric domain of temperature probe values in the image below, this should be handled first.
Moreover, I have found a solution for visualisation problem, the "new legend" output of LB recolor mesh can work if you use split list component, there is an error in the first output value of "new legend", so I just emitted it, see the attached image for details.
@mimarilker @DambronOlivier , Which model are you referring to - my original one or Olivier's? I think the unusual numeric domain is usually due to probe points lying outside boundaries...Not a problem if you define the bounds for display yourself.
Here I've used the default BF inlet boundary condition component for an opening top right and an outlet bottom left:
Above is in Rhino at time step 150, below in ParaView at time stepp 350:
Weirdly it seems like they're switched...Also I'd expect the white wind direction arrows to point straight inwards at probes near the inlet, and straight outwards near the outlet. Why is this not the case?
Regards, Max
I couldnt excatly understand the problem, but I have solved the problem with temp. probe values. I just replaced the weird numbers (100000000000000000000...) with 300 degree(temp. of the heat source) and it worked at the end.
Hi Max,
Usually OF follows the normal direction of the surface.
You can do one of two things I believe. Make sure the normals of the surfaces point in the right direction (you can use the dir command in Rhino to see) or put negative numbers in the boundary condition.
Again though I never have to do the second if I make sure the first is set correctly.
I am sorry I can't provide more insight. Today I finished a big part of a project I was working on so tomorrow I will go over these issues first thing.
Kind regards, Theodore.
Hi Theodore,
I ran it once with the surface of the inlet flipped and it turned out the same:
In both cases I set the _velocityVec of the inlet to an X vector of 20. If you say OF takes the normals, would I have to enter a Z vector?
Cheers, Max
Ehm yes you should have the same vector that you want your inlet to follow. It's hard to see from the screenshot but if the inlet vector is the Z then yes it should be smth like uniform (0 0 20);
It looked just the same when I entered a Z vector with the inlet component, and again the same if I try the custom component, be it uniform (0 0 20)
(1st pic) or uniform (20 0 0)
(2nd pic)...
I stopped at an earlier time step which is why it differs slightly from the earlier post. Something else altogether seems to be going wrong here.
Hi @MaxMarschall & @TheodoreGalanos
I was just wondering whether you have any updates on this issue? I will be devoting my full time to validate the use of the heat transfer module for the next month or two, so just wanted to know if you have any updates on the matter?
Best regards Mikki
Unfortunately not, I tried out a whole lot of things but it always turned out the same...I'm moving countries atm and won't be able to continue with this for at least 1 or 2 months. Good luck and keep us updated!
Cheers, Max