In OpenFoam v7, one can give the wall patches for which the wallHeatFlux field shall be calculated, otherwise wallHeatFlux is calculated for all wall patches.
Code:
wallHeatFlux //funktioniert!!!
{
type wallHeatFlux;
libs ("libfieldFunctionObjects.so");
patches ("wall_heated");
writeControl writeTime;
}
In postprocessing/wallHeatFlux/0/wallHeatFlux.dat, OpenFoam writes the min/max/integral values of the patch "wall_heated" as it should.
However, in the volScalarField that is created for each writeTime, wallHeatFlux is calculated for arbitrary patches, no matter which patches are being specified for calculation. In my case, wallHeatFlux was calculated for wall_heated and for inlet, the latter of which is purely non-sense.
Obviously, wallHeatFlux loops for the field creation over all boundaries and not the ones being specified (wallHeatFlux.C, line 87 f.):
Code:
forAll(wallHeatFluxBf, patchi)
{ ...
In contrast, wallShearStress does what it should (wallShearStress.C, line 79 ff.):
Code:
forAllConstIter(labelHashSet, patchSet_, iter)
{
label patchi = iter.key();
...
Is this a bug or a feature in wallHeatFlux?
Regards, DaveD!