|
[Sponsors] | |||||
buoyantBoussinesqPimpleFoam - Heat capacity on wall BC |
![]() |
|
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
|
|
|
#1 |
|
Senior Member
Daniele Vicario
Join Date: Mar 2009
Location: Novara, Italy
Posts: 142
Rep Power: 18 ![]() |
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 |
|
|
|
|
|
|
|
|
#2 |
|
Senior Member
Daniele Vicario
Join Date: Mar 2009
Location: Novara, Italy
Posts: 142
Rep Power: 18 ![]() |
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 |
|
|
|
|
|
|
|
|
#3 | |
|
Senior Member
Daniele Vicario
Join Date: Mar 2009
Location: Novara, Italy
Posts: 142
Rep Power: 18 ![]() |
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:
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 ?
__________________
Daniele Vicario blueCFD2.1 - Windows 7 |
||
|
|
|
||
|
|
|
#4 |
|
Senior Member
Aurelien Thinat
Join Date: Jul 2010
Posts: 165
Rep Power: 17 ![]() |
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). |
|
|
|
|
|
|
|
|
#5 |
|
Senior Member
Daniele Vicario
Join Date: Mar 2009
Location: Novara, Italy
Posts: 142
Rep Power: 18 ![]() |
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
__________________
Daniele Vicario blueCFD2.1 - Windows 7 |
|
|
|
|
|
|
|
|
#6 |
|
Senior Member
Daniele Vicario
Join Date: Mar 2009
Location: Novara, Italy
Posts: 142
Rep Power: 18 ![]() |
Well, I think externalWallHeatFluxTemperature is just for compressible solvers.
Is there any way to have it using buoyantBoussinesqPimpleFoam ?
__________________
Daniele Vicario blueCFD2.1 - Windows 7 |
|
|
|
|
|
|
|
|
#7 | |
|
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,981
Blog Entries: 45
Rep Power: 130 ![]() ![]() ![]() ![]() ![]() ![]() |
Greetings to all!
@Daniele: Quote:
Code:
compressible::externalWallHeatFluxTemperature Code:
grep -r 'compressible::' * Best regards, Bruno
__________________
|
||
|
|
|
||
|
|
|
#8 |
|
Senior Member
Daniele Vicario
Join Date: Mar 2009
Location: Novara, Italy
Posts: 142
Rep Power: 18 ![]() |
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;
}
__________________
Daniele Vicario blueCFD2.1 - Windows 7 |
|
|
|
|
|
|
|
|
#9 |
|
Senior Member
Aurelien Thinat
Join Date: Jul 2010
Posts: 165
Rep Power: 17 ![]() |
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. |
|
|
|
|
|
|
|
|
#10 |
|
Senior Member
Daniele Vicario
Join Date: Mar 2009
Location: Novara, Italy
Posts: 142
Rep Power: 18 ![]() |
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 } 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 ();
}
- 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.
__________________
Daniele Vicario blueCFD2.1 - Windows 7 |
|
|
|
|
|
|
|
|
#11 |
|
New Member
Romain
Join Date: Jun 2010
Location: Lyon
Posts: 28
Rep Power: 17 ![]() |
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 ();
}
I was also using wallexternalHF as an entering heat flux. Could it be also done with groovyBC ? |
|
|
|
|
|
|
|
|
#12 |
|
Member
Paula
Join Date: Aug 2012
Posts: 30
Rep Power: 15 ![]() |
||
|
|
|
|
![]() |
| Thread Tools | Search this Thread |
| Display Modes | |
|
|
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 06:21 |
| error message | cuteapathy | CFX | 14 | March 20, 2012 07:45 |
| Syntax errors with Thread Types and Wall Heat Transfer calculation | jcespada | Fluent UDF and Scheme Programming | 2 | March 16, 2012 03:23 |
| [ICEM] Export ICEM mesh to Gambit / Fluent | romekr | ANSYS Meshing & Geometry | 1 | November 26, 2011 13:11 |
| how to impose experimental dat as boundary conditi | Rogerio Fernandes Brito | FLUENT | 14 | November 25, 2008 06:47 |