CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM (https://www.cfd-online.com/Forums/openfoam/)
-   -   Slow convergence of chtMultiRegionSimpleFoam (https://www.cfd-online.com/Forums/openfoam/80564-slow-convergence-chtmultiregionsimplefoam.html)

 crmccreary September 29, 2010 13:21

Slow convergence of chtMultiRegionSimpleFoam

2 Attachment(s)
I have a rather simple chtMultiRegionSimpleFoam problem that I am using to verify and validate a natural convection simulation. Unlike the chtMultiRegionSimpleFoam tutorial, I have applied a fixed gradient bc of q/k instead of a fixed temperature. I would expect that the solid would heat up much quicker than it does. Instead, the temperature rises very slowly and is still nowhere near the back-of-the-envelope calculation after a time of 10000.

I've attached the case, in case someone would like to see what the problem is.

Update:

Although, I've given up hope for the cht solver working with all flux inputs, I can obtain the desired solution iteratively by applying a temperature and monitoring the flux at the interfacial boundary by setting the debug flag

solidWallHeatFluxTemperatureFvPatchScalarField 2;

in the master or home (~/.OpenFOAM/1.7.0/controlDict) controlDict.

I am attaching a case in which I model the aluminum frame of a thin LED light fixture nearly flush against the ceiling. To generate the mesh, I have a written a small python program to generate the blockMeshDict file.

Update 2:

From inspection of the coupling patch code, it appears that only the calculated wall temperature is exchanged. Thus if I start the solid at 300 deg and the fluid at 300 deg, the wall temperature will be 300 deg. Considering that q = delta_T/R_tot where R_tot is the thermal resistance, the expected delta_T will be very small.

If instead of sharing the wall temperature, we instead calculate the flux at the interface and apply a fixed gradient to the solid and the harmonic mean of Ts, Tf to the wall for the fluid, then the initial fixed gradient will be zero (adiabatic). In this way, I think the temperature convergence problem can be solved when applying only a directGradient to the solid. I will be pursuing creating and/or funding such a boundary condition. A cursory literature search has indicated that this has been done before in OpenFOAM. I will start with compressible::turbulentTemperatureCoupledBaffle and extend from there.

In the interim, I have found that I can iterate a few times with applied temperature while monitoring the interfacial wall flux to determine the applied temperature that produces the desired flux. Not optimum, but workable.

 crmccreary November 11, 2010 21:52

Update 3:
The solution was in OpenFOAM I think since 1.6.
Steps for a chtMultiRegionSimpleFoam solution:
1.) Apply the heatFlux with solidWallHeatFluxTemperature
2.) Couple the fluid and solid with solidWallMixedTemperatureCoupled. This requires copying and modfying the solidWallMixedTemperatureCoupled in applications/solvers/heatTransfer/chtMultiRegionFoam/derivedFvPatchFields/solidWallMixedTemperatureCoupled to applications/solvers/heatTransfer/chtMultiRegionSimpleFoam/derivedFvPatchFields/solidWallMixedTemperatureCoupled
3.) Make changes to the solid solution similar to this post

I have pushed a git branch of OpenFOAM 1.7.x to git://github.com/crmccreary/chtMultiRegionSimpleFoam-example.git as well as the sample problem git://github.com/crmccreary/chtMultiRegionSimpleFoam-example.git

 All times are GMT -4. The time now is 06:40.