CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM (https://www.cfd-online.com/Forums/openfoam/)
-   -   Problem with zeroGradient wall BC for temperature - Total temperature loss (https://www.cfd-online.com/Forums/openfoam/75824-problem-zerogradient-wall-bc-temperature-total-temperature-loss.html)

cboss May 6, 2010 08:11

Problem with zeroGradient wall BC for temperature - Total temperature loss
 
1 Attachment(s)
For quite a time I have some problems with adiabatic walls, which we set as 'zeroGradient' for temperature BC. If the total Temperature is calculated with Ttot=T+0.5*mag(U)^2/cp, it does not stay constant in the system, though there should be no heat flux at the walls. We calculated several cases and geometries with compressible flow and rhoSimpleFoam and sonicFoam for transonic cases. We generally use the k-omega-SST turbulence model with or without wall-functions.

I'll just add a total temperature plot of a simple test case, turbulent flow over a flat plate. Though the wall BC is 'zero gradient' for temperature, the total Temperature changes at the wall.

One can say, that this small change here can be caused by the turbulence model and perhaps the magnitude of U is somehow influenced by the model at the wall, which causes the total temperature change. But with geometries, that I don't want to post here, we have some serious errors in the temperature and total temperature field. So I think there is a problem in combination with the wall temperature BC.

My question would be, did somebody have a look at the conservation of total Temperature in cases, where no heat flux out of the domain should appear?


Regards,
Christoph

cboss May 17, 2010 03:59

Short update. The zeroGradient wall BC for the temperature seems not to be the problem. Last week I did a tube calculation and set the wall temperature to inlet total temperature. There is still a "loss" of total Temperature in the domain.

Perhaps there is some diffusion of heat through the outlet? Problem still not solved.

Regards,
Christoph

Chrisi1984 May 17, 2010 12:03

I observed preciously the same problem with my calculation. But I also could not find a solution yet. Perhabs we can tackle the problem together.
I once heard that too low relaxation factors caused an energy lost. What about your relaxation factors?

Best regards
Chris

cboss May 17, 2010 12:26

Nice to get a reply on this problem.
To answer your question first. For the latest tube calculation the relaxation factors were:

relaxationFactors
{
p 0.125;
U 0.875;
k 0.8;
omega 0.8;
h 0.8;
}

to get convergence.

At this point I have no idea, what causes the "loss" of total Temperature. If the error is not in the specified boundary conditions, the failure should be in the discretization or the numerical solution.
Discretization would mean fvSchemes, nOrthogonalCorrectors, mesh, ....
Solution would mean something like relaxationFactors, residuals, ....

But the point relaxationFactors seems to be interesting.

Regards,
Christoph

johannesk May 17, 2010 13:39

due to enthalpy equation?
 
I have been told that rhoSimpleFoam (and rhoPorousSimpleFoam) do have this exact behaviour because they solve the equation for static enthalpy not for total enthalpy.
In a case of a more complex internal flow, a colleague also observed that the total temperature towards the outlet is far lower than anticipated.

Unfortunately we did not yet have the time to dig into the code and double check the equation. (At first sight I do not recognize the equation as being correct or wrong.)

cheers,
Johannes

Chrisi1984 May 18, 2010 03:10

at Christoph: I think your relaxation factors should be alright.

The problem is mostly likely the implementation of the energy equation. I have yet noticed that the energy equation is only for static enthalpy. But how can I change the solver?
What must be additional written in file creationFields.H when I expand the energy equation?

Chrisi1984 May 21, 2010 03:37

hEqn changed
 
Hi,
I modified hEqn like this:

volTensorField gradU = fvc::grad(U);

volTensorField tau =
- turbulence->muEff() * (gradU + gradU.T())

+ (2.0/3.0 * turbulence->muEff() * fvc::div(U)) * I;

volScalarField tauGradU = tau && gradU;

fvScalarMatrix hEqn
(
fvm::div(phi, h)
- fvm::Sp(fvc::div(phi), h)
- fvm::laplacian(turbulence->alphaEff(), h)
==
fvc::div(phi/fvc::interpolate(rho), p, "div(U,p)")
- p*fvc::div(phi/fvc::interpolate(rho))
- tauGradU

Now I have an increase of total Enthalpie of about 2%.That causes a too big temperature increase.
I think there is still missing a term.
Can someone help me?

Regards Chrisi

cboss May 21, 2010 03:45

Chris, Johannes,

to look at the energy equation, an perhaps also at the thermophysical model, seems to be a good idea.
I also agree, that the hEqn is solved for static enthalpy, as I cannot find any quadratic velocity terms. What now is quite unclear, if we assume, that the conservation of static enthalpy is ensured by the hEqn and everything else is correct, than the temperature in the domain should not change at all, as with a constant specific heat capacity a change in enthalpy would cause a change in temperature.?

@Chris: I have never edited a solver in this fundamental way. But I would stick to the hEqn.H and try to get the velocity in there. This will automatically give changed values of h. But I don't know how the equation should look like, and how to implement it in OF. At this point I am even not sure, if this will solve the problem. (see above)

Regards,
Christoph

prasant January 28, 2013 03:00

Hello Christoph,

Did you able to solve your problem? I am also getting the same issue which you are facing. Please let us know, If you resolved the temperature issue. I am using rhoPorousMRFSimpleFoam solver. And I am using totalTemperature Boundary condition at inlet.

Regards
Prasanth.

helmut January 28, 2013 14:11

I had a similar problem and found I was losing heat by conduction at the inlet. My problem was solved by setting the thermal conductivity boundary condition at the inlet to fixedValue; value uniform 0;
Your results may vary :)

hrvig March 5, 2015 07:57

I had the same problem for the temperature distribution in a simple pipe flow. I manage to get it right by simply changing the BC's at outlet from zeroGradient to inletOutlet type BC's for U and T :-)

artymk4 October 1, 2018 03:26

I also get wrong temperatures, too low temperature.

Quote:

Originally Posted by helmut (Post 404587)
I had a similar problem and found I was losing heat by conduction at the inlet. My problem was solved by setting the thermal conductivity boundary condition at the inlet to fixedValue; value uniform 0;
Your results may vary :)

How do I set thermal conductivity at inlet to fixedValue 0? I use solver rhoSimpleFoam. Do I need to add new file to 0 folder or...?


Quote:

Originally Posted by hrvig (Post 534525)
I had the same problem for the temperature distribution in a simple pipe flow. I manage to get it right by simply changing the BC's at outlet from zeroGradient to inletOutlet type BC's for U and T :-)

I already have inletOutlet for outlet patch so it doesn't work for me.

Tobi October 1, 2018 07:36

Quote:

Originally Posted by artymk4 (Post 708405)
I also get wrong temperatures, too low temperature.


How do I set thermal conductivity at inlet to fixedValue 0? I use solver rhoSimpleFoam. Do I need to add new file to 0 folder or...?



I already have inletOutlet for outlet patch so it doesn't work for me.


Dear Martin & all others,

I want to comment on the thread, although it is already an old one - reactivated by Martin this day. First of all, Martin, we cannot give any help if you donīt provide information. However, if you want to change the boundary condition for the thermal conductivity, you have to add the field kappa to the 0 folder and apply the appropriate boundary conditions you think to apply. Right now I am not 100 % sure if it is kappa but as it is stated here:
Code:

virtual scalar        kappa (scalar p, scalar T) const =0
        Liquid thermal conductivity [W/(m K)].

, it should be the correct field. However, to be sure, check the code.

A comment to the first post (8 years ago) and the change of total temperature. The result presented should be physically correct. Based on the equation

T_{total} = T + \frac{1}{2}\frac{|\textbf{U}|^2}{ c_p}
, it is obvious that the boundary layer of the velocity field acts as the source for the result. I expect that the inlet boundary condition for U was set to fixedValue. Thus, there is no viscose sublayer at the inlet and therefore has to be established first; at the length of the pipe. Based on that, the contribution of the temperature increase based on the velocity value goes to zero close to the boundary. Hence, the given total temperature profile could be the correct physical result. However, as the thread starter mentioned, he does not believe that this causes the problem. A simple calculation would help to clarify the problem; as it was discussed, maybe it was related to the enthalpy calculation in former releases - but I donīt believe that. At least, it is a try to comment on the phenomenon in happening there - I never realized this behavior.


All times are GMT -4. The time now is 10:12.