butterfly icon indicating copy to clipboard operation
butterfly copied to clipboard

No heat transfer

Open MaxMarschall opened this issue 7 years ago • 30 comments

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. plates

The resulting temperature domain is tiny: domain

What am I doing wrong? Do I need to change the heat transfer recipe parameters?

Cheers, Max Indoor.zip

MaxMarschall avatar Nov 28 '16 12:11 MaxMarschall

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.

MaxMarschall avatar Nov 28 '16 13:11 MaxMarschall

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.

TheodoreGalanos avatar Nov 28 '16 13:11 TheodoreGalanos

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: meshoutline

Blockmesh is set to 1,1,1. Here is the case folder and definition.

hotcoldplates - Kopie.zip

Cheers, Max

MaxMarschall avatar Nov 28 '16 14:11 MaxMarschall

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.

TheodoreGalanos avatar Nov 29 '16 06:11 TheodoreGalanos

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: asis

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): almostasis

As you can see there is virtually NO domain...how can that be?

Cheers, Max

MaxMarschall avatar Nov 29 '16 09:11 MaxMarschall

Adding a 100° plate (plane srf) hardly changes anything: 06_roof100walls18plate100

This is what it looks like in OpenFoam: 06_roof100walls18plate100

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? 06_roof100walls18plate100def

The "T" file in the "0" folder: 06_roof100walls18plate100t

The "boundary" file in constant_polyMesh: 06_roof100walls18plate100boundary

Cheers, Max

MaxMarschall avatar Nov 29 '16 10:11 MaxMarschall

@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 avatar Nov 29 '16 15:11 MaxMarschall

@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 avatar Dec 03 '16 20:12 mostaphaRoudsari

@mostaphaRoudsari , No worries, thanks for all the great work!

MaxMarschall avatar Dec 04 '16 16:12 MaxMarschall

@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

MaxMarschall avatar Jan 02 '17 10:01 MaxMarschall

Hi @MaxMarschall Happy New Year,

I have tested a similar case to yours and applied different boundary conditions with a laminar flow. indoor_airflow_heat19_state27

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.

DambronOlivier avatar Jan 02 '17 13:01 DambronOlivier

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 avatar Jan 02 '17 14:01 MaxMarschall

@MaxMarschall The results remain incoherent in many ways although it is closer.

capture capture2 image_wallzerograd_ras

DambronOlivier avatar Jan 03 '17 00:01 DambronOlivier

@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.

thinklikeanarchitect avatar Jan 03 '17 04:01 thinklikeanarchitect

@DambronOlivier ,

Trying to reconstruct your definition and this happens: canvas at 10 00 58

Any idea what I'm missing?

Cheers, Max

MaxMarschall avatar Jan 03 '17 09:01 MaxMarschall

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").

MaxMarschall avatar Jan 03 '17 09:01 MaxMarschall

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

buoyantBoussinesqSimpleFoam.zip

MaxMarschall avatar Jan 03 '17 10:01 MaxMarschall

@DambronOlivier ,

I am...but it's funny, I opened your file and also used multiple processors and everything worked out fine.

MaxMarschall avatar Jan 03 '17 13:01 MaxMarschall

@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?

DambronOlivier avatar Jan 04 '17 14:01 DambronOlivier

@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.

t probe

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.

split list

thinklikeanarchitect avatar Jan 04 '17 14:01 thinklikeanarchitect

@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.

MaxMarschall avatar Jan 04 '17 14:01 MaxMarschall

Here I've used the default BF inlet boundary condition component for an opening top right and an outlet bottom left: rh Above is in Rhino at time step 150, below in ParaView at time stepp 350: diff

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

MaxMarschall avatar Jan 04 '17 15:01 MaxMarschall

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.

thinklikeanarchitect avatar Jan 04 '17 15:01 thinklikeanarchitect

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.

TheodoreGalanos avatar Jan 04 '17 15:01 TheodoreGalanos

Hi Theodore,

I ran it once with the surface of the inlet flipped and it turned out the same: rh g2

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

MaxMarschall avatar Jan 04 '17 15:01 MaxMarschall

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);

TheodoreGalanos avatar Jan 04 '17 15:01 TheodoreGalanos

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)... value0 0 20 value20 0 0 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.

MaxMarschall avatar Jan 04 '17 15:01 MaxMarschall

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

MikkiSeidenschnur avatar Feb 06 '17 10:02 MikkiSeidenschnur

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

MaxMarschall avatar Feb 06 '17 12:02 MaxMarschall