- **OpenFOAM Running, Solving & CFD**
(*http://www.cfd-online.com/Forums/openfoam-solving/*)

- - **Cyclic heat transfer**
(*http://www.cfd-online.com/Forums/openfoam-solving/108735-cyclic-heat-transfer.html*)

Cyclic heat transferDear Foamers,
I am currently working on evaluation of the heating characteristics and pressure drops in different pipe geometries. I would like to do this by simulating a short part of the tube and applying cyclic streamwise boundary conditions to obtain fully developed flow. For this I am using a modified version of channelFoam in which the temperature equation is solved as well. However, I'm unsure on how to make the temperature cyclic. So far I have used a fixedGradient at the wall to impose constant heat flux, while scaling the temperature everywhere so that the mass-weighted averaged temperature equals the inlet bulk temperature. Is this a correct approach to obtain a developed temperature profile? In literature I keep seeing people use dimensionless temperatures and energy source terms but I'm quite clueless on how to implement this in the solver... Apparently the basic article on this matter is by Patankar et al. (1977), “Fully developed flow and heat transfer in ducts having streamwise-periodic variation of cross-sectional area” but I can't seem to get my hands on that one for now. I know the question has been asked before but it was never fully resolved so I would really appreciate any input/hints you might be able to offer! Best regards, David |

1 Attachment(s)
I noticed that the way Fluent does this is by scaling the entire "outlet" temperature profile with (Twall-Tbulk,out)/(Twall-Tbulk,in). This quantity is actually very useful for a constant wall temperature as it allows fast evaluation of the convection coefficient. Attached is a cylinder simulation of what I'm trying to achieve.
Now my question is how to implement this in openFOAM? I have tried using groovyBC to copy the scaled outlet values to the inlet but I think this messed up my gradients as the TEquation requires more and more iterations. The boundary conditions in the 0/T file are as such: boundaryField { wall { type fixedValue; value uniform 350; } periodic_half0 { type groovyBC; patchType cyclic; valueExpression "350-(350-TCyc)*0.995"; //0.5% increase of temperature predicted variables "TCyc{periodic_half1}=T;"; } periodic_half1 { type cyclic; } } Could anyone give me some hints on what I'm doing wrong and/or if there's an easier way to transfer conditions from one patch to another? jumpCyclic looks interesting also but so far I have not been able to find an example of how that works... Best regards, David |

Hi David,
Have you solved the problem of cyclic temperature with fixedGradient at walls? Is there a way to set the "upstream bulk temperature" like FLUENT? Thanks, Mohammadreza |

Quote:
In the case of a constant cross-section this is very easily implemented, otherwise you need to solve for lambda first. Make sure to check out the paper by Patankar about this. Best regards, David |

All times are GMT -4. The time now is 14:20. |