- **OpenFOAM**
(*http://www.cfd-online.com/Forums/openfoam/*)

- - **Slow convergence of chtMultiRegionSimpleFoam**
(*http://www.cfd-online.com/Forums/openfoam/80564-slow-convergence-chtmultiregionsimplefoam.html*)

Slow convergence of chtMultiRegionSimpleFoam2 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. |

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 16:50. |