mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
BUG: meshRefinementProblemCells: conversion of angle into cos
This commit is contained in:
@ -286,6 +286,10 @@ bool Foam::meshRefinement::isCollapsedFace
|
|||||||
const label faceI
|
const label faceI
|
||||||
) const
|
) const
|
||||||
{
|
{
|
||||||
|
// Severe nonorthogonality threshold
|
||||||
|
const scalar severeNonorthogonalityThreshold =
|
||||||
|
::cos(degToRad(maxNonOrtho));
|
||||||
|
|
||||||
vector s = mesh_.faces()[faceI].normal(points);
|
vector s = mesh_.faces()[faceI].normal(points);
|
||||||
scalar magS = mag(s);
|
scalar magS = mag(s);
|
||||||
|
|
||||||
@ -301,11 +305,11 @@ bool Foam::meshRefinement::isCollapsedFace
|
|||||||
if (mesh_.isInternalFace(faceI))
|
if (mesh_.isInternalFace(faceI))
|
||||||
{
|
{
|
||||||
label nei = mesh_.faceNeighbour()[faceI];
|
label nei = mesh_.faceNeighbour()[faceI];
|
||||||
vector d = ownCc - mesh_.cellCentres()[nei];
|
vector d = mesh_.cellCentres()[nei] - ownCc;
|
||||||
|
|
||||||
scalar dDotS = (d & s)/(mag(d)*magS + VSMALL);
|
scalar dDotS = (d & s)/(mag(d)*magS + VSMALL);
|
||||||
|
|
||||||
if (dDotS < maxNonOrtho)
|
if (dDotS < severeNonorthogonalityThreshold)
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -320,11 +324,11 @@ bool Foam::meshRefinement::isCollapsedFace
|
|||||||
|
|
||||||
if (mesh_.boundaryMesh()[patchI].coupled())
|
if (mesh_.boundaryMesh()[patchI].coupled())
|
||||||
{
|
{
|
||||||
vector d = ownCc - neiCc[faceI-mesh_.nInternalFaces()];
|
vector d = neiCc[faceI-mesh_.nInternalFaces()] - ownCc;
|
||||||
|
|
||||||
scalar dDotS = (d & s)/(mag(d)*magS + VSMALL);
|
scalar dDotS = (d & s)/(mag(d)*magS + VSMALL);
|
||||||
|
|
||||||
if (dDotS < maxNonOrtho)
|
if (dDotS < severeNonorthogonalityThreshold)
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -337,7 +341,7 @@ bool Foam::meshRefinement::isCollapsedFace
|
|||||||
{
|
{
|
||||||
// Collapsing normal boundary face does not cause problems with
|
// Collapsing normal boundary face does not cause problems with
|
||||||
// non-orthogonality
|
// non-orthogonality
|
||||||
return true;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -663,7 +667,8 @@ Foam::labelList Foam::meshRefinement::markFacesOnProblemCells
|
|||||||
)
|
)
|
||||||
{
|
{
|
||||||
nPrevented++;
|
nPrevented++;
|
||||||
//Pout<< "Preventing collapse of 8 anchor point cell "
|
//Pout<< "Preventing baffling/removal of 8 anchor point"
|
||||||
|
// << " cell "
|
||||||
// << cellI << " at " << mesh_.cellCentres()[cellI]
|
// << cellI << " at " << mesh_.cellCentres()[cellI]
|
||||||
// << " since new volume "
|
// << " since new volume "
|
||||||
// << mesh_.cells()[cellI].mag(newPoints, mesh_.faces())
|
// << mesh_.cells()[cellI].mag(newPoints, mesh_.faces())
|
||||||
@ -747,7 +752,7 @@ Foam::labelList Foam::meshRefinement::markFacesOnProblemCells
|
|||||||
)
|
)
|
||||||
{
|
{
|
||||||
nPrevented++;
|
nPrevented++;
|
||||||
//Pout<< "Preventing collapse of 7 anchor cell "
|
//Pout<< "Preventing baffling of 7 anchor cell "
|
||||||
// << cellI
|
// << cellI
|
||||||
// << " at " << mesh_.cellCentres()[cellI]
|
// << " at " << mesh_.cellCentres()[cellI]
|
||||||
// << " since new volume "
|
// << " since new volume "
|
||||||
@ -853,7 +858,8 @@ Foam::labelList Foam::meshRefinement::markFacesOnProblemCells
|
|||||||
)
|
)
|
||||||
{
|
{
|
||||||
nPrevented++;
|
nPrevented++;
|
||||||
//Pout<< "Preventing collapse of face " << faceI
|
//Pout<< "Preventing baffling (to avoid collapse) of face "
|
||||||
|
// << faceI
|
||||||
// << " with all boundary edges "
|
// << " with all boundary edges "
|
||||||
// << " at " << mesh_.faceCentres()[faceI]
|
// << " at " << mesh_.faceCentres()[faceI]
|
||||||
// << endl;
|
// << endl;
|
||||||
@ -909,7 +915,7 @@ Foam::labelList Foam::meshRefinement::markFacesOnProblemCells
|
|||||||
)
|
)
|
||||||
{
|
{
|
||||||
nPrevented++;
|
nPrevented++;
|
||||||
//Pout<< "Preventing collapse of coupled face "
|
//Pout<< "Preventing baffling of coupled face "
|
||||||
// << faceI
|
// << faceI
|
||||||
// << " with all boundary edges "
|
// << " with all boundary edges "
|
||||||
// << " at " << mesh_.faceCentres()[faceI]
|
// << " at " << mesh_.faceCentres()[faceI]
|
||||||
@ -943,7 +949,7 @@ Foam::labelList Foam::meshRefinement::markFacesOnProblemCells
|
|||||||
{
|
{
|
||||||
Info<< "markFacesOnProblemCells : prevented "
|
Info<< "markFacesOnProblemCells : prevented "
|
||||||
<< returnReduce(nPrevented, sumOp<label>())
|
<< returnReduce(nPrevented, sumOp<label>())
|
||||||
<< " internal faces fom getting converted into baffles."
|
<< " internal faces from getting converted into baffles."
|
||||||
<< endl;
|
<< endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user