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

Conjugate Heat Transfer: Contact Thermal Resistance on Both Patches

Register Blogs Community New Posts Updated Threads Search

Like Tree4Likes
  • 2 Post By Tobi
  • 1 Post By bikooo3878
  • 1 Post By Yann

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   January 18, 2021, 07:17
Default Conjugate Heat Transfer: Contact Thermal Resistance on Both Patches
  #1
Member
 
Mostafa
Join Date: Sep 2016
Posts: 30
Rep Power: 9
bikooo3878 is on a distinguished road
Hello everyone

I am learning how to use chtMultiRegion and have been reading the documentation and inspecting the tutorials when something stopped me in externalCoupledHeater. It is the patch between leftSolid and heater where a thermal resistance exists.

Now this resistance exists on both patches (heater_to_leftSolid and leftSolid_to_heater) But doesn't this create twice the desired value? I have tried to remove the resistance from one of the patches and no errors occurred so is it safe to assume this tutorial added half the resistance to each patch?

Code:
    heater_to_leftSolid
    {
        type            compressible::turbulentTemperatureCoupledBaffleMixed;
        value           uniform 300;
        Tnbr            T;
        kappaMethod     solidThermo;
        thicknessLayers ( 0.001 );
        kappaLayers     ( 0.0005 );
Code:
    leftSolid_to_heater
    {
        type            compressible::turbulentTemperatureCoupledBaffleMixed;
        value           uniform 300;
        Tnbr            T;
        kappaMethod     solidThermo;
        thicknessLayers ( 0.001 );
        kappaLayers     ( 0.0005 );
    }
I couldn't fine the answer to this question here nor in the description



I hope I haven't missed something obvious before asking and thank you all
bikooo3878 is offline   Reply With Quote

Old   January 19, 2021, 07:21
Default
  #2
Super Moderator
 
Tobi's Avatar
 
Tobias Holzmann
Join Date: Oct 2010
Location: Tussenhausen
Posts: 2,708
Blog Entries: 6
Rep Power: 51
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
Dear Mostafa,

your analysis are correct. You can remove one resistance from one side and make the other side layer thickness larger. This should be identical, hence, you are absolutely correct that in the tutorial half the resistance is applied on both sides.
Yann and bikooo3878 like this.
__________________
Keep foaming,
Tobias Holzmann
Tobi is offline   Reply With Quote

Old   January 19, 2021, 10:37
Default
  #3
Member
 
Mostafa
Join Date: Sep 2016
Posts: 30
Rep Power: 9
bikooo3878 is on a distinguished road
Thank you for your answer and many thanks for all the effort you make to spread your knowledge.

Please don't stop
Tobi likes this.
bikooo3878 is offline   Reply With Quote

Old   April 22, 2021, 06:26
Default
  #4
Senior Member
 
Yann
Join Date: Apr 2012
Location: France
Posts: 1,090
Rep Power: 26
Yann will become famous soon enough
Quote:
Originally Posted by Tobi View Post
Dear Mostafa,

your analysis are correct. You can remove one resistance from one side and make the other side layer thickness larger. This should be identical, hence, you are absolutely correct that in the tutorial half the resistance is applied on both sides.
Hi Tobias,

Are you sure about this?

I'm working on a chtMultiRegionSimpleFoam case and I have an interface between 2 solids where I use the turbulentTemperatureCoupledBaffleMixed with kappaLayers to model the thermal resistance between these solids.
Since I read this thread few months ago, I defined kappaLayers and kappaThicknesses on one side of the interface only. It leads to something like this:

Code:
    solid1_to_solid2
    {
        type            compressible::turbulentTemperatureCoupledBaffleMixed;
        value           uniform 300;
        Tnbr            T;
    }    
    solid2_to_solid1
    {
        type            compressible::turbulentTemperatureCoupledBaffleMixed;
        value           uniform 300;
        Tnbr            T;
        kappaMethod     solidThermo;
        thicknessLayers ( 0.001 );
        kappaLayers     ( 0.0005 );
      }
With this setup, I get different wall heat fluxes on both patches so it seems to violate energy conservation.
When defining the same layers on both sides (see below) I get coherent wall heat fluxes.

Code:
    solid1_to_solid2
    {
        type            compressible::turbulentTemperatureCoupledBaffleMixed;
        value           uniform 300;
        Tnbr            T;
        kappaMethod     solidThermo;
        thicknessLayers ( 0.001 );
        kappaLayers     ( 0.0005 );
    }    
    solid2_to_solid1
    {
        type            compressible::turbulentTemperatureCoupledBaffleMixed;
        value           uniform 300;
        Tnbr            T;
        kappaMethod     solidThermo;
        thicknessLayers ( 0.001 );
        kappaLayers     ( 0.0005 );
     }
I did not dig into the code to see exactly how the layers are handled, but from this test it looks like the layers should be fully defined on both sides of the interface to work properly.

Let me know your opinion about that!


Cheers,
Yann


EDIT: I'm running OpenFOAM-v2012 but I don't think it is version-dependent
bikooo3878 likes this.

Last edited by Yann; April 22, 2021 at 07:51. Reason: adding openFOAM version
Yann is offline   Reply With Quote

Old   March 1, 2023, 05:40
Default
  #5
New Member
 
Lgonzalez
Join Date: Jan 2023
Posts: 1
Rep Power: 0
LuGonMon is on a distinguished road
Hi all,

I have face up the same question as I started adding layers between solids. I have been reading posts about the kappalayers addition but I haven't found a clear answer to this question. I think that you have to add the thicknessLayers and kappaLayers terms in both patches. However, I don't know if the thickness has to be splitted in half or it must be the whole thickness in both patches.

In this case I'm running OpenFOAM 8
LuGonMon is offline   Reply With Quote

Old   August 21, 2023, 13:40
Default
  #6
Member
 
Jairo A. Gutiérrez S
Join Date: Nov 2014
Posts: 60
Rep Power: 11
jairoandres is on a distinguished road
Dear Yann,

I would like to clarify something. Based on what you mentioned, is it correct to conclude that both regions must have the exact same thin-layer configuration to establish a thin layer region between them? If possible, could you share more about any additional tests you might have conducted to corroborate this?

Best regards,

Jairo
jairoandres is offline   Reply With Quote

Old   August 22, 2023, 03:59
Default
  #7
Senior Member
 
Yann
Join Date: Apr 2012
Location: France
Posts: 1,090
Rep Power: 26
Yann will become famous soon enough
Hello Jairo,

Based on my tests, you need indeed the same layer configuration on both faces to maintain energy conservation.
However, I did not make further validation tests on this matter. If you do so, please share your conclusions here, I would be glad to have additional information about it.

Also please note I only tested this on OpenFOAM-v2012, and there might have been some updates on new versions, or on other development branches such as the OpenFOAM foundation (I know they renamed the BC in OpenFOAM-11 but I don't know if the code itself changed)

I just had a look to OpenFOAM-v2306, (https://doc.openfoam.com/2306/tools/...edBaffleMixed/) and my understanding of the code is that you indeed need the full layers configuration on each side, since this is what the code uses to compute the conductivity at the interface.
Have a look at the kappa member function in the code :

Code:
tmp<Foam::scalarField>
turbulentTemperatureCoupledBaffleMixedFvPatchScalarField::kappa
(
    const scalarField& Tp
) const
{
    // Get kappa from relevant thermo
    tmp<scalarField> tk(temperatureCoupledBase::kappa(Tp));

    // Optionally modify with explicit resistance
    if (thicknessLayer_ || thicknessLayers_.size())
    {
        scalarField KDelta(tk*patch().deltaCoeffs());

        // Harmonic averaging of kappa*deltaCoeffs
        {
            KDelta = 1.0/KDelta;
            if (thicknessLayer_)
            {
                const scalar t = db().time().timeOutputValue();
                KDelta +=
                    thicknessLayer_().value(t)
                   /kappaLayer_().value(t);
            }
            if (thicknessLayers_.size())
            {
                forAll(thicknessLayers_, iLayer)
                {
                    KDelta += thicknessLayers_[iLayer]/kappaLayers_[iLayer];
                }
            }
            KDelta = 1.0/KDelta;
        }

        // Update kappa from KDelta
        tk = KDelta/patch().deltaCoeffs();
    }

    return tk;
}
source: https://develop.openfoam.com/Develop...hScalarField.C

Let me know what you think about it!
Yann
Yann is offline   Reply With Quote

Reply


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
Foam::error::PrintStack almir OpenFOAM Running, Solving & CFD 92 May 21, 2024 07:56
Error - Solar absorber - Solar Thermal Radiation MichaelK CFX 12 September 1, 2016 05:15
conjugate heat transfer - temperature at coupled patches maHein OpenFOAM Running, Solving & CFD 1 September 6, 2012 06:30
Conjugate heat transfer problem hvem10 FLUENT 2 October 29, 2009 17:31
Convective Heat Transfer - Heat Exchanger Mark CFX 6 November 15, 2004 15:55


All times are GMT -4. The time now is 05:44.