Problems with the "useImplicit" feature for coupled patches
Summary
Hey everybody, since we introduced the useImplicit
keyword for coupled patches, I had the feeling that we have discrepancies using this feature in the energy equation (e.g., for chtMultiRegionSimpleFoam cases). After having some discussions on the 17th OpenFOAM workshop, people second my statement, that the implicit
implementation is somehow buggy and lead to different results compared to running the case in the weakly coupling mode (standard one).
Hence, I made further investigations by using the multiRegionHeaterRadiation tutorial:
- Added a FO to record the average temperature inside each region
- Running the case in standard mode
- Running the case by adding the
useImplicit
keyword to the mapped boundary conditions (for all regions) - Comparing the average temperatures of all regions between both simulations
- Simulation was run for 5000 iterations
- Simulation was performed in serial (no parallel run performed up to now)
The comparison is attached and as we can see, we get different results. I also attached both cases and the gnuplot script.
If we do have mismatches for the CHT cases, I guess the cyclic*
patches might have problems as well (e.g., AMI and aero).
Steps to reproduce
Unpack the tar ball with the two cases + the gnuplot script. Run the Allrun script for both cases and execute the gnuplot script.
Example case
Already mentioned above. No further information required here. chtMultiRegionTestCasesImplicitBug.tar.gz
What is the current bug behaviour?
Energy-Mismatch. It seems that the implicit
somehow adds some sink term which reduces the temperature in the regions.
What is the expected correct behavior?
Having the same results for both, the standard and implicit case.
Relevant logs and/or images
Environment information
- OpenFOAM version : v2206
- Operating system : Ubuntu 20.04
- Hardware info : Not interesting
- Compiler : Gcc v 9.4