# Problem with zeroGradient wall BC for temperature - Total temperature loss

 Register Blogs Members List Search Today's Posts Mark Forums Read

May 6, 2010, 07:11
Problem with zeroGradient wall BC for temperature - Total temperature loss
#1
New Member

Join Date: Feb 2010
Posts: 24
Rep Power: 16
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
Attached Images
 fpturb_007_Ttot.jpg (23.7 KB, 224 views)

 May 17, 2010, 02:59 #2 New Member   Join Date: Feb 2010 Posts: 24 Rep Power: 16 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

 May 17, 2010, 11:03 #3 Senior Member   Join Date: Jan 2010 Location: Stuttgart Posts: 150 Rep Power: 16 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

 May 17, 2010, 11:26 #4 New Member   Join Date: Feb 2010 Posts: 24 Rep Power: 16 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

 May 17, 2010, 12:39 due to enthalpy equation? #5 New Member   Johannes Kneer Join Date: Mar 2009 Location: Germany, Karlsruhe Posts: 13 Rep Power: 17 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 Last edited by johannesk; May 17, 2010 at 12:40. Reason: signature

 May 18, 2010, 02:10 #6 Senior Member   Join Date: Jan 2010 Location: Stuttgart Posts: 150 Rep Power: 16 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?

 May 21, 2010, 02:37 hEqn changed #7 Senior Member   Join Date: Jan 2010 Location: Stuttgart Posts: 150 Rep Power: 16 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

 May 21, 2010, 02:45 #8 New Member   Join Date: Feb 2010 Posts: 24 Rep Power: 16 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

 January 28, 2013, 02:00 #9 Member   prasant Join Date: Jan 2013 Posts: 33 Rep Power: 13 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.

 January 28, 2013, 13:11 #10 New Member   Helmut Roth Join Date: Mar 2009 Posts: 23 Rep Power: 17 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

 March 5, 2015, 06:57 #11 New Member   Jakob Hærvig Join Date: Sep 2012 Location: Aalborg, Denmark Posts: 27 Rep Power: 13 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 :-)

October 1, 2018, 02:26
#12
Member

Martin
Join Date: Aug 2018
Posts: 33
Rep Power: 7
I also get wrong temperatures, too low temperature.

Quote:
 Originally Posted by helmut 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 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.

October 1, 2018, 06:36
#13
Super Moderator

Tobias Holzmann
Join Date: Oct 2010
Location: Tussenhausen
Posts: 2,708
Blog Entries: 6
Rep Power: 51
Quote:
 Originally Posted by artymk4 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

, 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.
__________________
Keep foaming,
Tobias Holzmann