Merge commit '333c815d8fbb0a0b57250be9f8f4d47120245f1d' into nextRelease
This commit is contained in:
commit
ee38fbdc4e
2 changed files with 48 additions and 33 deletions
|
@ -36,48 +36,49 @@ Description
|
|||
|
||||
namespace Foam
|
||||
{
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
defineTypeNameAndDebug(wedgeFaPatch, 0);
|
||||
addToRunTimeSelectionTable(faPatch, wedgeFaPatch, dictionary);
|
||||
defineTypeNameAndDebug(Foam::wedgeFaPatch, 0);
|
||||
addToRunTimeSelectionTable(faPatch, wedgeFaPatch, dictionary);
|
||||
}
|
||||
|
||||
// * * * * * * * * * * * * Private Member Functions * * * * * * * * * * * * //
|
||||
|
||||
void wedgeFaPatch::findAxisPoint() const
|
||||
void Foam::wedgeFaPatch::findAxisPoints() const
|
||||
{
|
||||
// Find axis point
|
||||
|
||||
labelList ptLabels = pointLabels();
|
||||
const labelList& ptLabels = pointLabels();
|
||||
|
||||
labelListList ptEdges = pointEdges();
|
||||
const labelListList& ptEdges = pointEdges();
|
||||
|
||||
const vectorField& points = boundaryMesh().mesh().points();
|
||||
|
||||
const scalarField& magL = magEdgeLengths();
|
||||
|
||||
forAll(ptEdges, pointI)
|
||||
labelHashSet axisPointsSet;
|
||||
|
||||
forAll (ptEdges, pointI)
|
||||
{
|
||||
if( ptEdges[pointI].size() == 1 )
|
||||
if (ptEdges[pointI].size() == 1 )
|
||||
{
|
||||
scalar r = mag((I-axis()*axis())&points[ptLabels[pointI]]);
|
||||
|
||||
if( r < magL[ptEdges[pointI][0]] )
|
||||
{
|
||||
axisPoint_ = ptLabels[pointI];
|
||||
break;
|
||||
axisPointsSet.insert(ptLabels[pointI]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
axisPointChecked_ = true;
|
||||
axisPoints_ = axisPointsSet.toc();
|
||||
|
||||
axisPointsChecked_ = true;
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * Constructors * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
//- Construct from polyPatch
|
||||
wedgeFaPatch::wedgeFaPatch
|
||||
Foam::wedgeFaPatch::wedgeFaPatch
|
||||
(
|
||||
const word& name,
|
||||
const dictionary& dict,
|
||||
|
@ -87,14 +88,14 @@ wedgeFaPatch::wedgeFaPatch
|
|||
:
|
||||
faPatch(name, dict, index, bm),
|
||||
wedgePolyPatchPtr_(NULL),
|
||||
axisPoint_(-1),
|
||||
axisPointChecked_(false)
|
||||
axisPointsChecked_(false)
|
||||
{
|
||||
if(ngbPolyPatchIndex() == -1)
|
||||
{
|
||||
FatalErrorIn
|
||||
(
|
||||
"wedgeFaPatch::wedgeFaPatch(const word&, const dictionary&, const label, const faBoundaryMesh&)"
|
||||
"wedgeFaPatch::wedgeFaPatch(const word&, const dictionary&,"
|
||||
" const label, const faBoundaryMesh&)"
|
||||
) << "Neighbour polyPatch index is not specified for faPatch "
|
||||
<< this->name() << exit(FatalError);
|
||||
}
|
||||
|
@ -117,16 +118,12 @@ wedgeFaPatch::wedgeFaPatch
|
|||
{
|
||||
FatalErrorIn
|
||||
(
|
||||
"wedgeFaPatch::wedgeFaPatch(const word&, const dictionary&, const label, const faBoundaryMesh&)"
|
||||
"wedgeFaPatch::wedgeFaPatch(const word&, const dictionary&,"
|
||||
"const label, const faBoundaryMesh&)"
|
||||
) << "Neighbour polyPatch is not of type "
|
||||
<< wedgePolyPatch::typeName
|
||||
<< exit(FatalError);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
|
||||
|
||||
} // End namespace Foam
|
||||
|
||||
// ************************************************************************* //
|
||||
|
|
|
@ -55,14 +55,14 @@ class wedgeFaPatch
|
|||
|
||||
const wedgePolyPatch* wedgePolyPatchPtr_;
|
||||
|
||||
//- Axis point label
|
||||
mutable label axisPoint_;
|
||||
//- Axis point labels
|
||||
mutable labelList axisPoints_;
|
||||
|
||||
//- Is it axis point looked for?
|
||||
mutable bool axisPointChecked_;
|
||||
//- Have axis points already been checked?
|
||||
mutable bool axisPointsChecked_;
|
||||
|
||||
//- Finde axis point
|
||||
void findAxisPoint() const;
|
||||
//- Find axis points
|
||||
void findAxisPoints() const;
|
||||
|
||||
public:
|
||||
|
||||
|
@ -116,15 +116,33 @@ public:
|
|||
return wedgePolyPatchPtr_->cellT();
|
||||
}
|
||||
|
||||
//- Return axis point label
|
||||
//- Return first axis point label
|
||||
label axisPoint() const
|
||||
{
|
||||
if(axisPoint_ == -1 && !axisPointChecked_)
|
||||
if (!axisPointsChecked_)
|
||||
{
|
||||
findAxisPoint();
|
||||
findAxisPoints();
|
||||
}
|
||||
|
||||
return axisPoint_;
|
||||
if (axisPoints_.size() > 0)
|
||||
{
|
||||
return axisPoints_[0];
|
||||
}
|
||||
else
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
//- Return all axis point labels
|
||||
const labelList& axisPoints() const
|
||||
{
|
||||
if (!axisPointsChecked_)
|
||||
{
|
||||
findAxisPoints();
|
||||
}
|
||||
|
||||
return axisPoints_;
|
||||
}
|
||||
};
|
||||
|
||||
|
|
Reference in a new issue