Thermal resistance in turbulentTemperatureRadCoupledMixed boundary conditions not working properly
Summary
When defining thicknessLayers and kappaLayers in the turbulentTemperatureRadCoupledMixed boundary conditions, energy conservation over the interface is broken, resulting in wrong temperatures at the interface and inside the domain. Exactly the same settings in combination with turbulentTemperatureCoupledBaffleMixed produce the correct results.
Steps to reproduce
Run a multi-region heat transfer case using chtMultiRegion(Simple)Foam with turbulentTemperatureRadCoupledMixed in combination with one or more thermal resistance layers at the interface. Radiation is switched off.
Example case
Attached, a simple 2-region conduction case is added. The regions are 'leftSolid' and 'rightSolid'. Both have a length of 1m. A 1kW heat flux is imposed at heatFluxWall in leftSolid, a fixed temperature of 300K is imposed at fixedTWall in rightSolid. At the interface (leftSolid_to_rightSolid and rightSolid_to_leftSolid) a thermal resistance with kappa 0.1 and thickness 0.001 is added. Four different 0-folders are added for comparison, switch between turbulentTemperatureRadCoupledMixed and turbulentTemperatureCoupledBaffleMixed and switching the resistance on and off.
Analytically, the temperatures including thermal resistance are: fixedTWall = 300 rightSolid_to_leftSolid = 312.5 leftSolid_to_rightSolid = 322.5 heatFluxWall = 335
turbulentTemperatureCoupledBaffleMixed reproduces these values, turbulentTemperatureRadCoupledMixed does not.
What is the current bug behaviour?
See example case. turbulentTemperatureCoupledBaffleMixed reproduces the correct temperatures, turbulentTemperatureRadCoupledMixed does not.
Relevant logs and/or images
Output of the last iteration when running the test case.
Output with turbulentTemperatureCoupledBaffleMixed:
Solving for solid region leftSolid DICPCG: Solving for h, Initial residual = 9.282926e-10, Final residual = 9.282926e-10, No Iterations 0 Min/max T:322.5 335
Solving for solid region rightSolid DICPCG: Solving for h, Initial residual = 8.370484e-10, Final residual = 8.370484e-10, No Iterations 0 Min/max T:300 312.5 ExecutionTime = 0.99 s ClockTime = 2 s
*Output with turbulentTemperatureRadCoupledMixed:"
Solving for solid region leftSolid DICPCG: Solving for h, Initial residual = 2.955242e-10, Final residual = 2.955242e-10, No Iterations 0 Min/max T:322.375 334.875
Solving for solid region rightSolid DICPCG: Solving for h, Initial residual = 9.524563e-10, Final residual = 9.524563e-10, No Iterations 0 Min/max T:300 312.5 ExecutionTime = 1.03 s ClockTime = 1 s
Environment information
- OpenFOAM version : v1906
- Operating system : CentOS 7
- Hardware info :
- Compiler :
Possible fixes
I suspect the bug is related to the definition of TcNbr at line 206 in turbulentTemperatureRadCoupledMixedFvPatchScalarField.C, which is independent of contactRes_. In turbulentTemperatureCoupledBaffleMixed, there is a dependency on constantRes_.