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

pipe flow with heat transfer

Register Blogs Community New Posts Updated Threads Search

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   December 9, 2009, 04:25
Default pipe flow with heat transfer
  #1
New Member
 
Fabian Hampp
Join Date: Dec 2009
Location: Abu Dhabi
Posts: 8
Rep Power: 16
Fabian is on a distinguished road
Hi all,


I recently started using OpenFoam so please apologize if I my question are trivial. But I am stucked right now with my case.




I try to simulated heat transfer from a constant wall temperature or temperature profile to a fluid (air) flow in a pipe. The Reynoldsnumber is about 60. My case is 2D and axis-symmetric. I made the structured mesh in Gambit and translated it with fluentMeshToFoam into an OpenFoam mesh.




What I have done so far:

In the first place I tried to solve it without turbulence model using SimpleFoam with turbulence model "laminar" but I saw a huge dependency of my boundary layer growth or velocity on the symmetry axis of my mesh (same result in fluent).



Second step was using a turbulence model (komegaSST) within SimpleFoam which yields to more realistic results.

Currently I want to add heat transfer from the wall to the fluid with buoyantSimpleRadiationFoam with k-epsilon turbulence model equivalent to the tutorial case. Unlike the tutorial case hotRoom, I have an inlet and outlet BC. The problem I have it calculates negative density after a few time steps (delta t = 0.01s). My best guess is, that my BC and Initial Conditions are messed up but I don't see the mistake. I would appreciate if anybody can give me a hint where to start looking for the error. I added the error message, as well as my BC and IC files.

The error message is as follows:

Starting time loop

Time = 0.01

DILUPBiCG: Solving for Ux, Initial residual = 0.999999, Final residual = 0.00620787, No Iterations 1
DILUPBiCG: Solving for Uy, Initial residual = 1, Final residual = 0.0069703, No Iterations 1
DILUPBiCG: Solving for h, Initial residual = 1, Final residual = 0.0277813, No Iterations 1
GAMG: Solving for p, Initial residual = 1, Final residual = 0.00965327, No Iterations 69
time step continuity errors : sum local = 4.55106e-05, global = -8.73226e-06, cumulative = -8.73226e-06
rho max/min : 0.69517 0.391125
DILUPBiCG: Solving for epsilon, Initial residual = 0.558883, Final residual = 0.0006318, No Iterations 1
DILUPBiCG: Solving for k, Initial residual = 1, Final residual = 0.00294338, No Iterations 1
ExecutionTime = 0.73 s ClockTime = 1 s

Time = 0.02

DILUPBiCG: Solving for Ux, Initial residual = 0.445276, Final residual = 0.000707, No Iterations 2
DILUPBiCG: Solving for Uy, Initial residual = 0.0121541, Final residual = 0.000203211, No Iterations 1
DILUPBiCG: Solving for h, Initial residual = 0.0186012, Final residual = 0.000122994, No Iterations 1
GAMG: Solving for p, Initial residual = 0.95453, Final residual = 0.00787701, No Iterations 85
time step continuity errors : sum local = 2.59707e-05, global = -5.01278e-06, cumulative = -1.3745e-05
rho max/min : 0.695114 -227.645
DILUPBiCG: Solving for epsilon, Initial residual = 0.991925, Final residual = 0.0052452, No Iterations 1
DILUPBiCG: Solving for k, Initial residual = 0.999986, Final residual = 0.00224127, No Iterations 3
ExecutionTime = 1.2 s ClockTime = 1 s

Time = 0.03

DILUPBiCG: Solving for Ux, Initial residual = 0.941892, Final residual = 0.0675285, No Iterations 1
DILUPBiCG: Solving for Uy, Initial residual = 0.0012009, Final residual = 4.10287e-05, No Iterations 1
DILUPBiCG: Solving for h, Initial residual = 7.18965e-06, Final residual = 7.18965e-06, No Iterations 0
GAMG: Solving for p, Initial residual = 0.0799496, Final residual = 0.194671, No Iterations 1000
time step continuity errors : sum local = 2.45316, global = -0.59745, cumulative = -0.597464
rho max/min : 576.072 -3.91344e+12
DILUPBiCG: Solving for epsilon, Initial residual = 0.116192, Final residual = 0.00391972, No Iterations 1
bounding epsilon, min: -7615.77 max: 2366.98 average: -3.64714
DILUPBiCG: Solving for k, Initial residual = 0.0973264, Final residual = 0.0027766, No Iterations 2
bounding k, min: -2.65967e+08 max: 1.58173e+09 average: 120258
ExecutionTime = 5.51 s ClockTime = 6 s

Time = 0.04

DILUPBiCG: Solving for Ux, Initial residual = 0.348629, Final residual = 0.00986564, No Iterations 1
DILUPBiCG: Solving for Uy, Initial residual = 0.337128, Final residual = 0.00389718, No Iterations 1
DILUPBiCG: Solving for h, Initial residual = 1.21621e-05, Final residual = 9.17565e-07, No Iterations 1
#0 Foam::error:rintStack(Foam::Ostream&) in "/home/fhampp/OpenFOAM/OpenFOAM-1.6/lib/linux64GccDPOpt/libOpenFOAM.so"
#1 Foam::sigFpe::sigFpeHandler(int) in "/home/fhampp/OpenFOAM/OpenFOAM-1.6/lib/linux64GccDPOpt/libOpenFOAM.so"
#2 ?? in "/lib/libc.so.6"
#3 Foam::GAMGSolver::scalingFactor(Foam::Field<double >&, Foam::Field<double> const&, Foam::Field<double> const&, Foam::Field<double> const&) const in "/home/fhampp/OpenFOAM/OpenFOAM-1.6/lib/linux64GccDPOpt/libOpenFOAM.so"
#4 Foam::GAMGSolver::scalingFactor(Foam::Field<double >&, Foam::lduMatrix const&, Foam::Field<double>&, Foam::FieldField<Foam::Field, double> const&, Foam::UPtrList<Foam::lduInterfaceField const> const&, Foam::Field<double> const&, unsigned char) const in "/home/fhampp/OpenFOAM/OpenFOAM-1.6/lib/linux64GccDPOpt/libOpenFOAM.so"
#5 Foam::GAMGSolver::Vcycle(Foam::PtrList<Foam::lduMa trix::smoother> const&, Foam::Field<double>&, Foam::Field<double> const&, Foam::Field<double>&, Foam::Field<double>&, Foam::Field<double>&, Foam::PtrList<Foam::Field<double> >&, Foam::PtrList<Foam::Field<double> >&, unsigned char) const in "/home/fhampp/OpenFOAM/OpenFOAM-1.6/lib/linux64GccDPOpt/libOpenFOAM.so"
#6 Foam::GAMGSolver::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const in "/home/fhampp/OpenFOAM/OpenFOAM-1.6/lib/linux64GccDPOpt/libOpenFOAM.so"
#7 Foam::fvMatrix<double>::solve(Foam::dictionary const&) in "/home/fhampp/OpenFOAM/OpenFOAM-1.6/lib/linux64GccDPOpt/libfiniteVolume.so"
#8 main in "/home/fhampp/OpenFOAM/OpenFOAM-1.6/applications/bin/linux64GccDPOpt/buoyantSimpleRadiationFoam"
#9 __libc_start_main in "/lib/libc.so.6"
#10 _start at /usr/src/packages/BUILD/glibc-2.9/csu/../sysdeps/x86_64/elf/start.S:116
Floating point exception


The radiation model is fvDOM with following coefficients

fvDOMCoeffs
{
nPhi 3; // azimuthal angles in PI/2 on X-Y.(from Y to X)
nTheta 5; // polar angles in PI (from Z to X-Y plane)
convergence 1e-3; // convergence criteria for radiation iteration
maxIter 10; // maximum number of iterations
}

turbulence Model is k-epsilon model with following coefficients

kEpsilonCoeffs
{
Cmu Cmu [ 0 0 0 0 0 0 0 ] 0.09;
C1 C1 [ 0 0 0 0 0 0 0 ] 1.44;
C2 C2 [ 0 0 0 0 0 0 0 ] 1.92;
alphaEps alphaEps [ 0 0 0 0 0 0 0 ] 0.76923;
}

I just copied the thermophysical properties from the tutorial case

thermoType hPsiThermo<pureMixture<constTransport<specieThermo <hConstThermo<perfectGas>>>>>;
mixture air 1 28.9 1000 0 1.8e-05 0.7;
pRef 1.0e5;



Here my BC and IC:

U
internalField uniform (0 -0.1 0);
boundaryField
{
inlet
{
type fixedValue;
value uniform (0 -0.1 0);
}
outflow
{
type zeroGradient;
}
wall
{
type fixedValue;
value uniform (0 0 0);
}
symmetry
{
type symmetryPlane;
}
frontAndBackPlanes
{
type empty;
}
}

p
internalField uniform 1.0e5;
boundaryField
{
inlet
{
type zeroGradient;
}
outflow
{
type fixedValue;
value uniform 1.0e5;
}
wall
{
type zeroGradient;
}
symmetry
{
type symmetryPlane;
}
frontAndBackPlanes
{
type empty;
}
}

T
internalField uniform 500.0;
boundaryField
{
inlet
{
type fixedValue;
value uniform 500.0;
}
outflow
{
type zeroGradient;
}
wall
{
type fixedValue;
value uniform 800.0;
}
symmetry
{
type symmetryPlane;
}
frontAndBackPlanes
{
type empty;
}
}

k
internalField uniform 1.38e-4;
boundaryField
{
inlet
{
type fixedValue;
value uniform 1.38e-4;
}
outflow
{
type zeroGradient;
}
wall
{
type compressible::kqRWallFunction;
value uniform 0;
}
symmetry
{
type symmetryPlane;
}
frontAndBackPlanes
{
type empty;
}
}

epsilon
internalField uniform 1.90e-4;
boundaryField
{
inlet
{
type fixedValue;
value uniform 1.90e-4;
}
outflow
{
type zeroGradient;
}
wall
{
type compressible::epsilonWallFunction;
Cmu 0.09;
kappa 0.41;
E 9.8;
value uniform 0;
}
symmetry
{
type symmetryPlane;
}
frontAndBackPlanes
{
type empty;
}
}

alphat
internalField uniform 0;
boundaryField
{
inlet
{
type fixedValue;
value uniform 0.0;
}
outflow
{
type fixedValue;
value uniform 0.0;
}
wall
{
type compressible::alphatWallFunction;
Prt 0.85;
value uniform 0;
}
symmetry
{
type symmetryPlane;
}
frontAndBackPlanes
{
type empty;
}
}

IDefault
internalField uniform 0;
boundaryField
{
inlet
{
type fixedValue;
value uniform 0.0;
}
outflow
{
type fixedValue;
value uniform 0.0;
}
wall
{
type greyDiffusiveRadiation;
T T;
emissivity 0.5;
value uniform 0;
}
symmetry
{
type symmetryPlane;
}
frontAndBackPlanes
{
type empty;
}
}

G
internalField uniform 0;
boundaryField
{
inlet
{
type fixedValue;
value uniform 0.0;
}
outflow
{
type fixedValue;
value uniform 0.0;
}
wall
{
type MarshakRadiation;
T T;
emissivity 1;
value uniform 0;
}
symmetry
{
type symmetryPlane;
}
frontAndBackPlanes
{
type empty;
}
}

mut
internalField uniform 0;
boundaryField
{
inlet
{
type zeroGradient;
}
outflow
{
type zeroGradient;
}
wall
{
type compressible::mutWallFunction;
Cmu 0.09;
kappa 0.41;
E 9.8;
value uniform 0;
}
symmetry
{
type symmetryPlane;
}
frontAndBackPlanes
{
type empty;
}
}



Thanks a lot for your help I appreciate it. If you need any further details about the case please let me know and I will post them.

Best regards, Fabian
Fabian is offline   Reply With Quote

Old   December 10, 2009, 04:49
Default
  #2
Senior Member
 
Join Date: Apr 2009
Location: Karlsruhe, Germany
Posts: 103
Rep Power: 17
Thomas Baumann is on a distinguished road
Hi Fabian,

I don't know the answer for your negative density problem.

But I think because of the low Reynolds-number (indeed the Machnumber should be < 0.2) should your case be incompressible, density changes should only be there because of temperature changes. So why don't solving the problem with a boussinesq-solver... You solved the problem without heat-transfer incompressible, too.

In a first step I would set the wall-temperature everywhere to the temperature of the flow and set the gravity to zero. The solution should be the same as using simpleFoam.
In the next step change the wall-temperature...and set the right gravity...

Regards Thomas

Last edited by Thomas Baumann; December 11, 2009 at 03:12.
Thomas Baumann is offline   Reply With Quote

Old   December 12, 2009, 04:53
Default
  #3
New Member
 
Fabian Hampp
Join Date: Dec 2009
Location: Abu Dhabi
Posts: 8
Rep Power: 16
Fabian is on a distinguished road
Hi Thomas,

Thank you very much for your help. I am using buoyantBoussinesqPisoFoam now and it works fine. Now I only have to implement a radiation model into this solver. So we will see how it goes...

Thanks again and best regards,

Fabian
Fabian 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
Flow around pipes - heat transfer coefficient on the wall of pipe doodek Main CFD Forum 2 November 23, 2009 08:48
Convective / Conductive Heat Transfer in Hypersonic flows enigma Main CFD Forum 2 November 1, 2009 22:53
Concentric tube heat exchanger (Air-Water) Young CFX 5 October 6, 2008 23:17
axial flow around a cylinder -heat transfer model? Ralf Schmidt FLUENT 0 March 21, 2006 03:29
How to simulate heat transfer and water flow arwang FLUENT 1 April 26, 2005 10:20


All times are GMT -4. The time now is 17:31.