|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0002776||OpenFOAM||[All Projects] Bug||public||2017-11-29 21:14||2017-11-30 19:59|
|Target Version||Fixed in Version||dev|
|Summary||0002776: 'wallHeatFlux' function object does not work in parallel due to issue with "coupledFvPatchField::snGrad"|
|Description||Following up on what I commented in report #2722, I've now got more details on the issue regarding the tutorial case "chtMultiRegionSimpleFoam/multiRegionHeaterRadiation" and using the function object 'wallHeatFlux':|
- If the script 'Allrun' is used, everything works just fine.
- If the script 'Allrun-parallel' is used, it crashes with the following message on all processes (only showing for the master here):
 --> FOAM FATAL ERROR:
 Not implemented
 From function Foam::tmp<Foam::Field<Type> > Foam::coupledFvPatchField<Type>::snGrad() const [with Type = double]
 in file lnInclude/coupledFvPatchField.H at line 151.
 #2 Foam::coupledFvPatchField<double>::snGrad() const
 #3 Foam::functionObjects::wallHeatFlux::calcHeatFlux[...]
I've confirmed that this only happens with OpenFOAM-dev (latest Deb, dev-17954fc1734a), since OpenFOAM-5.x (latest Deb, 5.x-197d9d3bf20a) works just fine.
|Steps To Reproduce||Append the following to 'system/controlDict':|
(Left commented out the other entries, so that it's easier to uncomment and re-check once the issue is fixed.)
Then run the script:
Wait a few seconds, the solver crashes at time step 300 (at write time), then check the file 'log.chtMultiRegionSimpleFoam' to see the complete stack trace.
|Additional Information||Given the error message and the indication that one version works and the other doesn't, is the reason why I suspect that this is due to the optimization that was done for #2725: https://bugs.openfoam.org/view.php?id=2725|
However, I suspected that this issue was related to the region-coupled boundaries, but instead it's related to the processor boundaries... or at least so it seems, since I haven't investigated any further than this.
|Tags||No tags attached.|
The simplest solution to this problem is to filter out coupled patches:
as the wall heat flux functionObject is not really appropriate to calculate the heat flux across patches other than walls.
|2017-11-29 21:14||wyldckat||New Issue|
|2017-11-29 21:14||wyldckat||Status||new => assigned|
|2017-11-29 21:14||wyldckat||Assigned To||=> henry|
|2017-11-30 19:59||henry||Status||assigned => resolved|
|2017-11-30 19:59||henry||Resolution||open => fixed|
|2017-11-30 19:59||henry||Fixed in Version||=> dev|
|2017-11-30 19:59||henry||Note Added: 0009112|