chtMultiRegionFoam log files fluid regions incorrect
Summary
When running chtMultiRegionFoam the line solving for fluid region <REGION> appears only after the solvers for rho, the momentumPredicton and h for the region are called.
Steps to reproduce
run chtMultiRegionFoam with a fluid region
Example case
any of the tutorial cases for chtMultiRegionFoam e.g. $FOAM_TUTORIALS/heatTransfer/chtMultiRegionFoam/multiRegionHeater/
What is the current bug behaviour?
When running chtMultiRegionFoam the line solving for fluid region <REGION> appears only after the solvers for rho, the momentumPredicton and h for the region are called. This makes parsing the logfiles (when information about the region is needed way harder. The logs for an iteration begin with the deltaT and Time lines. Then the solver starts with the solver for rho the momentumPredictor and the solver for h for the first fluid region. Only then it messages for which fluid region it solves. Here is a snippet from the log produced by running chtMultiRegionFoam case with 2 fluid and 1 solid region.
deltaT = 0.025688136
Time = 99.8202
diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
DILUPBiCGStab: Solving for Ux, Initial residual = 4.6979226e-06, Final residual = 2.7012339e-09, No Iterations 1
DILUPBiCGStab: Solving for Uy, Initial residual = 8.234292e-06, Final residual = 4.7161133e-09, No Iterations 1
DILUPBiCGStab: Solving for Uz, Initial residual = 6.9417542e-06, Final residual = 5.7346116e-09, No Iterations 1
DILUPBiCGStab: Solving for h, Initial residual = 0.00010765677, Final residual = 5.2701057e-08, No Iterations 1
Min/max T:299.99999 483.48761
Solving for fluid region bottomWater
GAMG: Solving for p_rgh, Initial residual = 1.2317329e-06, Final residual = 7.6503088e-08, No Iterations 1
diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors (bottomWater): sum local = 3.3811182e-13, global = -3.0455458e-14, cumulative = -8.0373665e-07
GAMG: Solving for p_rgh, Initial residual = 7.6752019e-08, Final residual = 7.6752019e-08, No Iterations 0
diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors (bottomWater): sum local = 3.3921443e-13, global = -2.9292893e-14, cumulative = -8.0373668e-07
diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
DILUPBiCGStab: Solving for Ux, Initial residual = 1.9057288e-05, Final residual = 7.0911141e-09, No Iterations 1
DILUPBiCGStab: Solving for Uy, Initial residual = 0.00010171719, Final residual = 1.8216675e-08, No Iterations 1
DILUPBiCGStab: Solving for Uz, Initial residual = 5.8083583e-05, Final residual = 1.3251995e-08, No Iterations 1
DILUPBiCGStab: Solving for h, Initial residual = 6.8565381e-05, Final residual = 5.0231883e-08, No Iterations 1
Min/max T:300 376.80786
Solving for fluid region topAir
GAMG: Solving for p_rgh, Initial residual = 8.1275063e-05, Final residual = 3.255789e-07, No Iterations 3
diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors (topAir): sum local = 6.7345697e-09, global = 4.143179e-09, cumulative = 3.5786046e-05
GAMG: Solving for p_rgh, Initial residual = 9.9059285e-06, Final residual = 7.9263165e-08, No Iterations 2
diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors (topAir): sum local = 1.6587116e-09, global = -4.2689999e-10, cumulative = 3.5785619e-05
Solving for solid region heater
DICPCG: Solving for h, Initial residual = 5.3645433e-05, Final residual = 4.2895873e-09, No Iterations 1
Min/max T:328.15659 500
Region: bottomWater Courant Number mean: 0.0041808019 max: 0.007760704
Region: topAir Courant Number mean: 0.3968489 max: 0.60459634
Region: heater Diffusion Number mean: 0.0092762714 max: 0.051376277
What is the expected correct behavior?
The expected behaviur would be that the message Solving for fluid region <REGION> appears before any equation for the region is solved e.g.:
deltaT = 0.025688136
Time = 99.8202
Solving for fluid region bottomWater
diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
DILUPBiCGStab: Solving for Ux, Initial residual = 4.6979226e-06, Final residual = 2.7012339e-09, No Iterations 1
DILUPBiCGStab: Solving for Uy, Initial residual = 8.234292e-06, Final residual = 4.7161133e-09, No Iterations 1
DILUPBiCGStab: Solving for Uz, Initial residual = 6.9417542e-06, Final residual = 5.7346116e-09, No Iterations 1
DILUPBiCGStab: Solving for h, Initial residual = 0.00010765677, Final residual = 5.2701057e-08, No Iterations 1
Min/max T:299.99999 483.48761
GAMG: Solving for p_rgh, Initial residual = 1.2317329e-06, Final residual = 7.6503088e-08, No Iterations 1
diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors (bottomWater): sum local = 3.3811182e-13, global = -3.0455458e-14, cumulative = -8.0373665e-07
GAMG: Solving for p_rgh, Initial residual = 7.6752019e-08, Final residual = 7.6752019e-08, No Iterations 0
diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors (bottomWater): sum local = 3.3921443e-13, global = -2.9292893e-14, cumulative = -8.0373668e-07
Solving for fluid region topAir
diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
DILUPBiCGStab: Solving for Ux, Initial residual = 1.9057288e-05, Final residual = 7.0911141e-09, No Iterations 1
DILUPBiCGStab: Solving for Uy, Initial residual = 0.00010171719, Final residual = 1.8216675e-08, No Iterations 1
DILUPBiCGStab: Solving for Uz, Initial residual = 5.8083583e-05, Final residual = 1.3251995e-08, No Iterations 1
DILUPBiCGStab: Solving for h, Initial residual = 6.8565381e-05, Final residual = 5.0231883e-08, No Iterations 1
Min/max T:300 376.80786
GAMG: Solving for p_rgh, Initial residual = 8.1275063e-05, Final residual = 3.255789e-07, No Iterations 3
diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors (topAir): sum local = 6.7345697e-09, global = 4.143179e-09, cumulative = 3.5786046e-05
GAMG: Solving for p_rgh, Initial residual = 9.9059285e-06, Final residual = 7.9263165e-08, No Iterations 2
diagonal: Solving for rho, Initial residual = 0, Final residual = 0, No Iterations 0
time step continuity errors (topAir): sum local = 1.6587116e-09, global = -4.2689999e-10, cumulative = 3.5785619e-05
Solving for solid region heater
DICPCG: Solving for h, Initial residual = 5.3645433e-05, Final residual = 4.2895873e-09, No Iterations 1
Min/max T:328.15659 500
Region: bottomWater Courant Number mean: 0.0041808019 max: 0.007760704
Region: topAir Courant Number mean: 0.3968489 max: 0.60459634
Region: heater Diffusion Number mean: 0.0092762714 max: 0.051376277
Environment information
- OpenFOAM version : v2406
- Operating system : Ubuntu 22.04
- Hardware info : tested on different machines (intel Xeon and AMD Threadripper)
- Compiler : gcc
Possible fixes
In file applications/solvers/heatTransfer/chtMultiRegionFoam/fluid/solveFluid.H move the Info<< "\nSolving for fluid region " << fluidRegions[i].name() << endl; from line 23 to line 5 (before the if (frozen Flow) statement).