AMIMethod: Virtualised the maximum walk angle

The maximum walk angle determines the angle at which the face-face walk
stops. For some methods, this prevents calculation of overlaps on pairs
of faces which do not project on to each other. Derived AMI methods can
now override this angle as appropriate for their projection procedure.
This commit is contained in:
Will Bainbridge
2017-10-31 09:26:39 +00:00
parent db8751c521
commit 474f8f923c
2 changed files with 13 additions and 3 deletions

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2013-2016 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2013-2017 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -301,7 +301,7 @@ void Foam::AMIMethod<SourcePatch, TargetPatch>::appendNbrFaces
scalar cosI = n1 & n2;
if (cosI > Foam::cos(degToRad(89.0)))
if (cosI > cos(maxWalkAngle()))
{
faceIDs.append(nbrFacei);
}
@ -310,6 +310,13 @@ void Foam::AMIMethod<SourcePatch, TargetPatch>::appendNbrFaces
}
template<class SourcePatch, class TargetPatch>
Foam::scalar Foam::AMIMethod<SourcePatch, TargetPatch>::maxWalkAngle() const
{
return degToRad(89);
}
// * * * * * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * //
template<class SourcePatch, class TargetPatch>

View File

@ -2,7 +2,7 @@
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 2013-2016 OpenFOAM Foundation
\\ / A nd | Copyright (C) 2013-2017 OpenFOAM Foundation
\\/ M anipulation |
-------------------------------------------------------------------------------
License
@ -152,6 +152,9 @@ protected:
DynamicList<label>& faceIDs
) const;
//- The maximum edge angle that the walk will cross
virtual scalar maxWalkAngle() const;
public: