mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
BUG: viewFactor: smoothing when zero visible faces. Fixes #2622
This commit is contained in:
@ -419,26 +419,30 @@ void Foam::radiation::viewFactor::initialise()
|
|||||||
{
|
{
|
||||||
scalar maxDelta = 0;
|
scalar maxDelta = 0;
|
||||||
scalar totalDelta = 0;
|
scalar totalDelta = 0;
|
||||||
forAll (myF, i)
|
|
||||||
|
if (myF.size())
|
||||||
{
|
{
|
||||||
scalar sumF = 0.0;
|
forAll (myF, i)
|
||||||
scalarList& myFij = myF[i];
|
|
||||||
forAll (myFij, j)
|
|
||||||
{
|
{
|
||||||
sumF += myFij[j];
|
scalar sumF = 0.0;
|
||||||
}
|
scalarList& myFij = myF[i];
|
||||||
const scalar delta = sumF - 1.0;
|
forAll (myFij, j)
|
||||||
forAll (myFij, j)
|
{
|
||||||
{
|
sumF += myFij[j];
|
||||||
myFij[j] *= (1.0 - delta/(sumF + 0.001));
|
}
|
||||||
}
|
const scalar delta = sumF - 1.0;
|
||||||
totalDelta += delta;
|
forAll (myFij, j)
|
||||||
if (delta > maxDelta)
|
{
|
||||||
{
|
myFij[j] *= (1.0 - delta/(sumF + 0.001));
|
||||||
maxDelta = delta;
|
}
|
||||||
|
totalDelta += delta;
|
||||||
|
if (delta > maxDelta)
|
||||||
|
{
|
||||||
|
maxDelta = delta;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
totalDelta /= myF.size();
|
||||||
}
|
}
|
||||||
totalDelta /= myF.size();
|
|
||||||
reduce(totalDelta, sumOp<scalar>());
|
reduce(totalDelta, sumOp<scalar>());
|
||||||
reduce(maxDelta, maxOp<scalar>());
|
reduce(maxDelta, maxOp<scalar>());
|
||||||
Info << "Smoothing average delta : " << totalDelta << endl;
|
Info << "Smoothing average delta : " << totalDelta << endl;
|
||||||
@ -1122,7 +1126,7 @@ void Foam::radiation::viewFactor::calculate()
|
|||||||
|
|
||||||
if (debug)
|
if (debug)
|
||||||
{
|
{
|
||||||
forAll(qrBf, patchID)
|
for (const label patchID : selectedPatches_)
|
||||||
{
|
{
|
||||||
const scalarField& qrp = qrBf[patchID];
|
const scalarField& qrp = qrBf[patchID];
|
||||||
const scalarField& magSf = mesh_.magSf().boundaryField()[patchID];
|
const scalarField& magSf = mesh_.magSf().boundaryField()[patchID];
|
||||||
|
|||||||
Reference in New Issue
Block a user