mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: globalIndexAndTransform: Don't generate transforms from coincident-full-match patches
Another exception has been added to globalIndexAndTransform to prevent transformations being generated from coupled patch pairs marked with coincident-full-match transformations. Foamy generates such patches, and the faces on them at intermediate stages of meshing can be degenerate, making the calculation of transformations unreliable. This change enforces the definition that coincident-full-match patch pairs are not transformed.
This commit is contained in:
committed by
Andrew Heather
parent
3839f7478a
commit
5688340a05
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2016 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -139,15 +139,19 @@ void Foam::globalIndexAndTransform::determineTransforms()
|
||||
|
||||
// Note: special check for unordered cyclics. These are in fact
|
||||
// transform bcs and should probably be split off.
|
||||
// Note: We don't want to be finding transforms for patches marked as
|
||||
// coincident full match. These should have no transform by definition.
|
||||
if
|
||||
(
|
||||
isA<coupledPolyPatch>(pp)
|
||||
&& !(
|
||||
isA<cyclicPolyPatch>(pp)
|
||||
&& (
|
||||
refCast<const cyclicPolyPatch>(pp).transform()
|
||||
== cyclicPolyPatch::NOORDERING
|
||||
)
|
||||
&& refCast<const cyclicPolyPatch>(pp).transform()
|
||||
== cyclicPolyPatch::NOORDERING
|
||||
)
|
||||
&& !(
|
||||
refCast<const coupledPolyPatch>(pp).transform()
|
||||
== coupledPolyPatch::COINCIDENTFULLMATCH
|
||||
)
|
||||
)
|
||||
{
|
||||
@ -319,15 +323,19 @@ void Foam::globalIndexAndTransform::determinePatchTransformSign()
|
||||
|
||||
// Note: special check for unordered cyclics. These are in fact
|
||||
// transform bcs and should probably be split off.
|
||||
// Note: We don't want to be finding transforms for patches marked as
|
||||
// coincident full match. These should have no transform by definition.
|
||||
if
|
||||
(
|
||||
isA<coupledPolyPatch>(pp)
|
||||
&& !(
|
||||
isA<cyclicPolyPatch>(pp)
|
||||
&& (
|
||||
refCast<const cyclicPolyPatch>(pp).transform()
|
||||
== cyclicPolyPatch::NOORDERING
|
||||
)
|
||||
&& refCast<const cyclicPolyPatch>(pp).transform()
|
||||
== cyclicPolyPatch::NOORDERING
|
||||
)
|
||||
&& !(
|
||||
refCast<const coupledPolyPatch>(pp).transform()
|
||||
== coupledPolyPatch::COINCIDENTFULLMATCH
|
||||
)
|
||||
)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user