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

buoyantBoussinesqPimpleFoam - Heat capacity on wall BC

Register Blogs Community New Posts Updated Threads Search

Like Tree2Likes
  • 1 Post By wyldckat
  • 1 Post By danvica

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   May 11, 2012, 07:25
Default buoyantBoussinesqPimpleFoam - Heat capacity on wall BC
  #1
Senior Member
 
Daniele Vicario
Join Date: Mar 2009
Location: Novara, Italy
Posts: 142
Rep Power: 17
danvica is on a distinguished road
Hello,
I'm working with buoyantBoussinesqPimpleFoam solver simulating the flow of water in pipes.
Is it possible to define the walls as having heat capacity ?

This could give a first approximation of how a warmer fluid is going to be cooled (and for how long) flowing in colder pipes. Without using multiple regions solvers, I mean.

Thanks,
__________________
Daniele Vicario

blueCFD2.1 - Windows 7
danvica is offline   Reply With Quote

Old   May 11, 2012, 14:09
Default
  #2
Senior Member
 
Daniele Vicario
Join Date: Mar 2009
Location: Novara, Italy
Posts: 142
Rep Power: 17
danvica is on a distinguished road
At the moment I'm trying to use groovyBC to create a relation between the temperature of each cell on the walls to the one of closer cell (but not of the walls).

Someone could indicate whether this could be the right (approximate) approach ?

Or do I definetely need a multiregion case ?

Thanks.
__________________
Daniele Vicario

blueCFD2.1 - Windows 7
danvica is offline   Reply With Quote

Old   May 13, 2012, 05:02
Default
  #3
Senior Member
 
Daniele Vicario
Join Date: Mar 2009
Location: Novara, Italy
Posts: 142
Rep Power: 17
danvica is on a distinguished road
I found a good BC... in CFX . Here enclosed you can see a picture I found on one of its paper (I hope one is allowed to reproduce them here).

The note on this picture is:
Quote:
Bulk Heat Transfer Coefficient / Heat Transfer Coefficient
Specify the heat flux at a Wall boundary implicitly using a solid side
heat transfer coefficient, hc , and an external temperature, Ts.
This boundary condition can be used to model several sources of
thermal resistance outside the computational domain. In the diagram
below, a lumped resistance consisting of the thermal resistance of an
external boundary layer and the bounding wall is modelled using a
single heat transfer coefficient and external temperature.


Tp is the temperature at the internal near-wall boundary element centre node.
I hope now it's more clear what I'd like to obtain. Is there any possibility to get the same result in OF ?
I know the answer is yes but my math capability are a little...rusty .

Any help ?
Attached Images
File Type: jpg wallbc.jpg (25.9 KB, 154 views)
__________________
Daniele Vicario

blueCFD2.1 - Windows 7
danvica is offline   Reply With Quote

Old   May 14, 2012, 07:09
Default
  #4
Senior Member
 
Aurelien Thinat
Join Date: Jul 2010
Posts: 165
Rep Power: 15
Aurelien Thinat is on a distinguished road
I'm not sure I understood your question. But if you need a BC with a heat transfer coefficient and an external temperature you already have the BC named "externalWallHeatFluxTemperature" in OF.

The input is [h & T external] OR [q] with q = h * (T external - T internal).
Aurelien Thinat is offline   Reply With Quote

Old   May 14, 2012, 13:16
Default
  #5
Senior Member
 
Daniele Vicario
Join Date: Mar 2009
Location: Novara, Italy
Posts: 142
Rep Power: 17
danvica is on a distinguished road
Thanks Aurelien, It seems what I need.

Unfortunately I don't have it as a BC choice...

Code:
 
--> FOAM FATAL IO ERROR:
Unknown patchField type externalWallHeatFluxTemperature for patch type wall
Valid patchField types are :
66
(
advective
atmBoundaryLayerInletEpsilon
buoyantPressure
calculated
codedFixedValue
codedMixed
cyclic
cyclicAMI
cyclicSlip
directionMixed
empty
epsilonWallFunction
fan
fanPressure
fixedFluxPressure
fixedGradient
fixedInternalValue
fixedPressureCompressibleDensity
fixedValue
freestream
freestreamPressure
inletOutlet
inletOutletTotalTemperature
kappatJayatillekeWallFunction
kqRWallFunction
mapped
mappedField
mappedFixedInternalValue
mappedFixedPushedInternalValue
mixed
nonuniformTransformCyclic
nutLowReWallFunction
nutTabulatedWallFunction
nutURoughWallFunction
nutUSpaldingWallFunction
nutUWallFunction
nutkAtmRoughWallFunction
nutkRoughWallFunction
nutkWallFunction
omegaWallFunction
oscillatingFixedValue
outletInlet
outletMappedUniformInlet
partialSlip
processor
processorCyclic
rotatingTotalPressure
sliced
slip
symmetryPlane
syringePressure
timeVaryingMappedFixedValue
totalPressure
totalTemperature
turbulentHeatFluxTemperature
turbulentInlet
turbulentIntensityKineticEnergyInlet
turbulentMixingLengthDissipationRateInlet
turbulentMixingLengthFrequencyInlet
uniformDensityHydrostaticPressure
uniformFixedValue
uniformTotalPressure
waveSurfacePressure
waveTransmissive
wedge
zeroGradient
)
 
file: F:/TAPS/CFD/f900buoyw/0/T::boundaryField::walls from line 41 to line 45.
    From function fvPatchField<Type>::New(const fvPatch&, const DimensionedField<Type, volMesh>&, const dictionary&)
    in file /home/bmss/OpenFOAM/OpenFOAM-2.1/src/finiteVolume/lnInclude/fvPatchFieldNew.C at line 135.
FOAM exiting
I have to check whether in last releases its name has been changed. I'll post any progress.
__________________
Daniele Vicario

blueCFD2.1 - Windows 7
danvica is offline   Reply With Quote

Old   May 14, 2012, 13:28
Default
  #6
Senior Member
 
Daniele Vicario
Join Date: Mar 2009
Location: Novara, Italy
Posts: 142
Rep Power: 17
danvica is on a distinguished road
Well, I think externalWallHeatFluxTemperature is just for compressible solvers.

Is there any way to have it using buoyantBoussinesqPimpleFoam ?
__________________
Daniele Vicario

blueCFD2.1 - Windows 7
danvica is offline   Reply With Quote

Old   May 14, 2012, 17:38
Default
  #7
Retired Super Moderator
 
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,974
Blog Entries: 45
Rep Power: 128
wyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to allwyldckat is a name known to all
Greetings to all!

@Daniele:
Quote:
Originally Posted by danvica View Post
Well, I think externalWallHeatFluxTemperature is just for compressible solvers.
Try this:
Code:
compressible::externalWallHeatFluxTemperature
If you go to the tutorials folder and run (in MSys) this command:
Code:
grep -r 'compressible::' *
You'll see several other tutorials where this is explicitly defined.

Best regards,
Bruno
arvindpj likes this.
__________________
wyldckat is offline   Reply With Quote

Old   May 15, 2012, 00:53
Default
  #8
Senior Member
 
Daniele Vicario
Join Date: Mar 2009
Location: Novara, Italy
Posts: 142
Rep Power: 17
danvica is on a distinguished road
Thanks Bruno.

Unfortunately, it still returns the same errror.

BTW, my BC is:

Code:
walls
    {
        type            compressible::externalWallHeatFluxTemperature;
        Ta              uniform 300;
        h               uniform 3;           // test value
        value           uniform 300;
    }
Do I need to include some object/class ? I checked the tutorials but I wasn't able to find any info.
__________________
Daniele Vicario

blueCFD2.1 - Windows 7
danvica is offline   Reply With Quote

Old   May 15, 2012, 05:20
Default
  #9
Senior Member
 
Aurelien Thinat
Join Date: Jul 2010
Posts: 165
Rep Power: 15
Aurelien Thinat is on a distinguished road
I think I was using this BC with a "BasicRhoThermo" for the fluid. If you are using a BasicPsiThermo it could lead to an error.

Try to use it by modifying a tutorial. If it works, you will have to change the source code or your solver.
Aurelien Thinat is offline   Reply With Quote

Old   May 16, 2012, 00:45
Default
  #10
Senior Member
 
Daniele Vicario
Join Date: Mar 2009
Location: Novara, Italy
Posts: 142
Rep Power: 17
danvica is on a distinguished road
Just a small update.
I checked what's inside externalWallHeatFluxTemperature and basically it's what I need:

Code:
00222     forAll (*this, i)
00223     {
00224         if (q[i] > 0) //in
00225         {
00226             this->refGrad()[i] = q[i]/K(*this)()[i];
00227             this->refValue()[i] = 0.0;
00228             this->valueFraction()[i] = 0.0;
00229         }
00230         else //out
00231         {
00232             this->refGrad()[i] = 0.0;
00233             this->refValue()[i] = KDelta[i]*q[i] + patchInternalField()()[i];
00234             this->valueFraction()[i] = 1.0;
00235         }
00236     }
where q is defined as q = (Ta_ - *this)*h_;


So, based on the direction of the Heat flux (q), externalWallHeatFluxTemperature sets the right BC.

In order to reproduce this behavior I used groovyBC in this way:
Code:
 
walls
    {
        type groovyBC;
        value uniform 300;
        gradientExpression "gradT";
        fractionExpression "0";
        variables "Text=300;hc=10000;gradT=(Text-T)*hc;";
        timelines ();
    }
Note:
- I'm just considering an entering flux.
- I still have to understand what physical value has hc (normally, heat transfer coefficient). In my BC it groups K too, that I think it rappresent specific heat.
- hc=10000 is just a test value.

Any comment or suggestion would be helpfull, thanks.
JR22 likes this.
__________________
Daniele Vicario

blueCFD2.1 - Windows 7
danvica is offline   Reply With Quote

Old   November 20, 2012, 04:41
Default
  #11
New Member
 
Romain
Join Date: Jun 2010
Location: Lyon
Posts: 28
Rep Power: 15
nakor is on a distinguished road
Hello,
I have some problem with externalWallHeatFluxTemperature which is not working properly with OF2.1.0
I can not switch to OF211 because GroovyBC is not working with this new version.

Thus, I tried to replace externalWallHeatFluxTemperature with a groovy boundary condition.
Code:
walls
    {
        type groovyBC;
        value uniform 300;
        gradientExpression "gradT";
        fractionExpression "0";
        variables "Text=300;hc=10000;gradT=(Text-T)*hc;";
        timelines ();
    }
This boundary condition seems to work, but I have to use hc=hext/lambda, and I am not sure why. Can someone explain this ?

I was also using wallexternalHF as an entering heat flux.
Could it be also done with groovyBC ?
nakor is offline   Reply With Quote

Old   December 17, 2012, 03:06
Default
  #12
Member
 
Paula
Join Date: Aug 2012
Posts: 30
Rep Power: 13
curiosity is on a distinguished road
Quote:
Originally Posted by danvica View Post
Well, I think externalWallHeatFluxTemperature is just for compressible solvers.

Is there any way to have it using buoyantBoussinesqPimpleFoam ?
Hi,

Iīm having the same problem... did anyone manage to compile this for an incompressible solver?

Thanks,

Paula
curiosity 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
mass flow in is not equal to mass flow out saii CFX 12 March 19, 2018 05:21
error message cuteapathy CFX 14 March 20, 2012 06:45
Syntax errors with Thread Types and Wall Heat Transfer calculation jcespada Fluent UDF and Scheme Programming 2 March 16, 2012 02:23
[ICEM] Export ICEM mesh to Gambit / Fluent romekr ANSYS Meshing & Geometry 1 November 26, 2011 12:11
how to impose experimental dat as boundary conditi Rogerio Fernandes Brito FLUENT 14 November 25, 2008 05:47


All times are GMT -4. The time now is 06:26.