lagrangian: Removed unnecessary patch argument from hit methods
The patch can be determined from the particle when it is needed. Most of the time it is not.
This commit is contained in:
@ -126,12 +126,7 @@ bool Foam::findCellParticle::move
|
||||
}
|
||||
|
||||
|
||||
bool Foam::findCellParticle::hitPatch
|
||||
(
|
||||
const polyPatch&,
|
||||
Cloud<findCellParticle>& cloud,
|
||||
trackingData& td
|
||||
)
|
||||
bool Foam::findCellParticle::hitPatch(Cloud<findCellParticle>&, trackingData&)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -139,8 +134,7 @@ bool Foam::findCellParticle::hitPatch
|
||||
|
||||
void Foam::findCellParticle::hitWedgePatch
|
||||
(
|
||||
const wedgePolyPatch&,
|
||||
Cloud<findCellParticle>& cloud,
|
||||
Cloud<findCellParticle>&,
|
||||
trackingData& td
|
||||
)
|
||||
{
|
||||
@ -151,8 +145,7 @@ void Foam::findCellParticle::hitWedgePatch
|
||||
|
||||
void Foam::findCellParticle::hitSymmetryPlanePatch
|
||||
(
|
||||
const symmetryPlanePolyPatch&,
|
||||
Cloud<findCellParticle>& cloud,
|
||||
Cloud<findCellParticle>&,
|
||||
trackingData& td
|
||||
)
|
||||
{
|
||||
@ -163,8 +156,7 @@ void Foam::findCellParticle::hitSymmetryPlanePatch
|
||||
|
||||
void Foam::findCellParticle::hitSymmetryPatch
|
||||
(
|
||||
const symmetryPolyPatch&,
|
||||
Cloud<findCellParticle>& cloud,
|
||||
Cloud<findCellParticle>&,
|
||||
trackingData& td
|
||||
)
|
||||
{
|
||||
@ -175,8 +167,7 @@ void Foam::findCellParticle::hitSymmetryPatch
|
||||
|
||||
void Foam::findCellParticle::hitCyclicPatch
|
||||
(
|
||||
const cyclicPolyPatch&,
|
||||
Cloud<findCellParticle>& cloud,
|
||||
Cloud<findCellParticle>&,
|
||||
trackingData& td
|
||||
)
|
||||
{
|
||||
@ -187,8 +178,7 @@ void Foam::findCellParticle::hitCyclicPatch
|
||||
|
||||
void Foam::findCellParticle::hitCyclicAMIPatch
|
||||
(
|
||||
const cyclicAMIPolyPatch&,
|
||||
Cloud<findCellParticle>& cloud,
|
||||
Cloud<findCellParticle>&,
|
||||
trackingData& td,
|
||||
const vector&
|
||||
)
|
||||
@ -200,8 +190,7 @@ void Foam::findCellParticle::hitCyclicAMIPatch
|
||||
|
||||
void Foam::findCellParticle::hitCyclicACMIPatch
|
||||
(
|
||||
const cyclicACMIPolyPatch&,
|
||||
Cloud<findCellParticle>& cloud,
|
||||
Cloud<findCellParticle>&,
|
||||
trackingData& td,
|
||||
const vector&
|
||||
)
|
||||
@ -213,8 +202,7 @@ void Foam::findCellParticle::hitCyclicACMIPatch
|
||||
|
||||
void Foam::findCellParticle::hitProcessorPatch
|
||||
(
|
||||
const processorPolyPatch&,
|
||||
Cloud<findCellParticle>& cloud,
|
||||
Cloud<findCellParticle>&,
|
||||
trackingData& td
|
||||
)
|
||||
{
|
||||
@ -225,8 +213,7 @@ void Foam::findCellParticle::hitProcessorPatch
|
||||
|
||||
void Foam::findCellParticle::hitWallPatch
|
||||
(
|
||||
const wallPolyPatch& wpp,
|
||||
Cloud<findCellParticle>& cloud,
|
||||
Cloud<findCellParticle>&,
|
||||
trackingData& td
|
||||
)
|
||||
{
|
||||
|
||||
@ -222,84 +222,46 @@ public:
|
||||
//- Track all particles to their end point
|
||||
bool move(Cloud<findCellParticle>&, trackingData&, const scalar);
|
||||
|
||||
|
||||
//- Overridable function to handle the particle hitting a patch
|
||||
// Executed before other patch-hitting functions
|
||||
bool hitPatch
|
||||
(
|
||||
const polyPatch&,
|
||||
Cloud<findCellParticle>&,
|
||||
trackingData& td
|
||||
);
|
||||
bool hitPatch(Cloud<findCellParticle>&, trackingData&);
|
||||
|
||||
//- Overridable function to handle the particle hitting a wedge
|
||||
void hitWedgePatch
|
||||
(
|
||||
const wedgePolyPatch&,
|
||||
Cloud<findCellParticle>&,
|
||||
trackingData& td
|
||||
);
|
||||
void hitWedgePatch(Cloud<findCellParticle>&, trackingData&);
|
||||
|
||||
//- Overridable function to handle the particle hitting a
|
||||
// symmetry plane
|
||||
void hitSymmetryPlanePatch
|
||||
(
|
||||
const symmetryPlanePolyPatch&,
|
||||
Cloud<findCellParticle>&,
|
||||
trackingData& td
|
||||
);
|
||||
void hitSymmetryPlanePatch(Cloud<findCellParticle>&, trackingData&);
|
||||
|
||||
//- Overridable function to handle the particle hitting a
|
||||
// symmetry patch
|
||||
void hitSymmetryPatch
|
||||
(
|
||||
const symmetryPolyPatch&,
|
||||
Cloud<findCellParticle>&,
|
||||
trackingData& td
|
||||
);
|
||||
void hitSymmetryPatch(Cloud<findCellParticle>&, trackingData&);
|
||||
|
||||
//- Overridable function to handle the particle hitting a cyclic
|
||||
void hitCyclicPatch
|
||||
(
|
||||
const cyclicPolyPatch&,
|
||||
Cloud<findCellParticle>&,
|
||||
trackingData& td
|
||||
);
|
||||
void hitCyclicPatch(Cloud<findCellParticle>&, trackingData&);
|
||||
|
||||
//- Overridable function to handle the particle hitting a cyclicAMI
|
||||
void hitCyclicAMIPatch
|
||||
(
|
||||
const cyclicAMIPolyPatch&,
|
||||
Cloud<findCellParticle>& cloud,
|
||||
trackingData& td,
|
||||
Cloud<findCellParticle>&,
|
||||
trackingData&,
|
||||
const vector&
|
||||
);
|
||||
|
||||
//- Overridable function to handle the particle hitting a cyclicACMI
|
||||
void hitCyclicACMIPatch
|
||||
(
|
||||
const cyclicACMIPolyPatch&,
|
||||
Cloud<findCellParticle>& cloud,
|
||||
trackingData& td,
|
||||
Cloud<findCellParticle>&,
|
||||
trackingData&,
|
||||
const vector&
|
||||
);
|
||||
|
||||
//- Overridable function to handle the particle hitting a
|
||||
//- processorPatch
|
||||
void hitProcessorPatch
|
||||
(
|
||||
const processorPolyPatch&,
|
||||
Cloud<findCellParticle>&,
|
||||
trackingData& td
|
||||
);
|
||||
void hitProcessorPatch(Cloud<findCellParticle>&, trackingData&);
|
||||
|
||||
//- Overridable function to handle the particle hitting a wallPatch
|
||||
void hitWallPatch
|
||||
(
|
||||
const wallPolyPatch&,
|
||||
Cloud<findCellParticle>&,
|
||||
trackingData& td
|
||||
);
|
||||
void hitWallPatch(Cloud<findCellParticle>&, trackingData&);
|
||||
|
||||
|
||||
// Ostream Operator
|
||||
|
||||
@ -270,12 +270,7 @@ bool Foam::streamLineParticle::move
|
||||
}
|
||||
|
||||
|
||||
bool Foam::streamLineParticle::hitPatch
|
||||
(
|
||||
const polyPatch&,
|
||||
streamLineParticleCloud& cloud,
|
||||
trackingData& td
|
||||
)
|
||||
bool Foam::streamLineParticle::hitPatch(streamLineParticleCloud&, trackingData&)
|
||||
{
|
||||
// Disable generic patch interaction
|
||||
return false;
|
||||
@ -284,8 +279,7 @@ bool Foam::streamLineParticle::hitPatch
|
||||
|
||||
void Foam::streamLineParticle::hitWedgePatch
|
||||
(
|
||||
const wedgePolyPatch& pp,
|
||||
streamLineParticleCloud& cloud,
|
||||
streamLineParticleCloud&,
|
||||
trackingData& td
|
||||
)
|
||||
{
|
||||
@ -296,8 +290,7 @@ void Foam::streamLineParticle::hitWedgePatch
|
||||
|
||||
void Foam::streamLineParticle::hitSymmetryPlanePatch
|
||||
(
|
||||
const symmetryPlanePolyPatch& pp,
|
||||
streamLineParticleCloud& cloud,
|
||||
streamLineParticleCloud&,
|
||||
trackingData& td
|
||||
)
|
||||
{
|
||||
@ -308,8 +301,7 @@ void Foam::streamLineParticle::hitSymmetryPlanePatch
|
||||
|
||||
void Foam::streamLineParticle::hitSymmetryPatch
|
||||
(
|
||||
const symmetryPolyPatch& pp,
|
||||
streamLineParticleCloud& cloud,
|
||||
streamLineParticleCloud&,
|
||||
trackingData& td
|
||||
)
|
||||
{
|
||||
@ -320,8 +312,7 @@ void Foam::streamLineParticle::hitSymmetryPatch
|
||||
|
||||
void Foam::streamLineParticle::hitCyclicPatch
|
||||
(
|
||||
const cyclicPolyPatch& pp,
|
||||
streamLineParticleCloud& cloud,
|
||||
streamLineParticleCloud&,
|
||||
trackingData& td
|
||||
)
|
||||
{
|
||||
@ -332,8 +323,7 @@ void Foam::streamLineParticle::hitCyclicPatch
|
||||
|
||||
void Foam::streamLineParticle::hitCyclicAMIPatch
|
||||
(
|
||||
const cyclicAMIPolyPatch&,
|
||||
streamLineParticleCloud& cloud,
|
||||
streamLineParticleCloud&,
|
||||
trackingData& td,
|
||||
const vector&
|
||||
)
|
||||
@ -345,8 +335,7 @@ void Foam::streamLineParticle::hitCyclicAMIPatch
|
||||
|
||||
void Foam::streamLineParticle::hitCyclicACMIPatch
|
||||
(
|
||||
const cyclicACMIPolyPatch&,
|
||||
streamLineParticleCloud& cloud,
|
||||
streamLineParticleCloud&,
|
||||
trackingData& td,
|
||||
const vector&
|
||||
)
|
||||
@ -358,8 +347,7 @@ void Foam::streamLineParticle::hitCyclicACMIPatch
|
||||
|
||||
void Foam::streamLineParticle::hitProcessorPatch
|
||||
(
|
||||
const processorPolyPatch&,
|
||||
streamLineParticleCloud& cloud,
|
||||
streamLineParticleCloud&,
|
||||
trackingData& td
|
||||
)
|
||||
{
|
||||
@ -370,8 +358,7 @@ void Foam::streamLineParticle::hitProcessorPatch
|
||||
|
||||
void Foam::streamLineParticle::hitWallPatch
|
||||
(
|
||||
const wallPolyPatch& wpp,
|
||||
streamLineParticleCloud& cloud,
|
||||
streamLineParticleCloud&,
|
||||
trackingData& td
|
||||
)
|
||||
{
|
||||
|
||||
@ -207,63 +207,32 @@ public:
|
||||
// Tracking
|
||||
|
||||
//- Track all particles to their end point
|
||||
bool move
|
||||
(
|
||||
streamLineParticleCloud& cloud,
|
||||
trackingData&,
|
||||
const scalar
|
||||
);
|
||||
bool move(streamLineParticleCloud&, trackingData&, const scalar);
|
||||
|
||||
//- Overridable function to handle the particle hitting a patch
|
||||
// Executed before other patch-hitting functions
|
||||
bool hitPatch
|
||||
(
|
||||
const polyPatch&,
|
||||
streamLineParticleCloud& cloud,
|
||||
trackingData& td
|
||||
);
|
||||
bool hitPatch(streamLineParticleCloud&, trackingData&);
|
||||
|
||||
//- Overridable function to handle the particle hitting a wedge
|
||||
void hitWedgePatch
|
||||
(
|
||||
const wedgePolyPatch&,
|
||||
streamLineParticleCloud& cloud,
|
||||
trackingData& td
|
||||
);
|
||||
void hitWedgePatch(streamLineParticleCloud&, trackingData&);
|
||||
|
||||
//- Overridable function to handle the particle hitting a
|
||||
// symmetry plane
|
||||
void hitSymmetryPlanePatch
|
||||
(
|
||||
const symmetryPlanePolyPatch&,
|
||||
streamLineParticleCloud& cloud,
|
||||
trackingData& td
|
||||
);
|
||||
void hitSymmetryPlanePatch(streamLineParticleCloud&, trackingData&);
|
||||
|
||||
//- Overridable function to handle the particle hitting a
|
||||
// symmetry patch
|
||||
void hitSymmetryPatch
|
||||
(
|
||||
const symmetryPolyPatch&,
|
||||
streamLineParticleCloud& cloud,
|
||||
trackingData& td
|
||||
);
|
||||
void hitSymmetryPatch(streamLineParticleCloud&, trackingData&);
|
||||
|
||||
//- Overridable function to handle the particle hitting a cyclic
|
||||
void hitCyclicPatch
|
||||
(
|
||||
const cyclicPolyPatch&,
|
||||
streamLineParticleCloud& cloud,
|
||||
trackingData& td
|
||||
);
|
||||
void hitCyclicPatch(streamLineParticleCloud&, trackingData&);
|
||||
|
||||
//- Overridable function to handle the particle hitting a
|
||||
// cyclicAMIPatch
|
||||
void hitCyclicAMIPatch
|
||||
(
|
||||
const cyclicAMIPolyPatch&,
|
||||
streamLineParticleCloud& cloud,
|
||||
trackingData& td,
|
||||
streamLineParticleCloud&,
|
||||
trackingData&,
|
||||
const vector& direction
|
||||
);
|
||||
|
||||
@ -271,28 +240,17 @@ public:
|
||||
// cyclicACMIPatch
|
||||
void hitCyclicACMIPatch
|
||||
(
|
||||
const cyclicACMIPolyPatch&,
|
||||
streamLineParticleCloud& cloud,
|
||||
trackingData& td,
|
||||
streamLineParticleCloud&,
|
||||
trackingData&,
|
||||
const vector& direction
|
||||
);
|
||||
|
||||
//- Overridable function to handle the particle hitting a
|
||||
//- processorPatch
|
||||
void hitProcessorPatch
|
||||
(
|
||||
const processorPolyPatch&,
|
||||
streamLineParticleCloud& cloud,
|
||||
trackingData& td
|
||||
);
|
||||
void hitProcessorPatch(streamLineParticleCloud&, trackingData&);
|
||||
|
||||
//- Overridable function to handle the particle hitting a wallPatch
|
||||
void hitWallPatch
|
||||
(
|
||||
const wallPolyPatch&,
|
||||
streamLineParticleCloud& cloud,
|
||||
trackingData& td
|
||||
);
|
||||
void hitWallPatch(streamLineParticleCloud&, trackingData&);
|
||||
|
||||
|
||||
// I-O
|
||||
|
||||
@ -81,12 +81,7 @@ bool Foam::DSMCParcel<ParcelType>::move
|
||||
|
||||
template<class ParcelType>
|
||||
template<class TrackCloudType>
|
||||
bool Foam::DSMCParcel<ParcelType>::hitPatch
|
||||
(
|
||||
const polyPatch&,
|
||||
TrackCloudType& cloud,
|
||||
trackingData& td
|
||||
)
|
||||
bool Foam::DSMCParcel<ParcelType>::hitPatch(TrackCloudType&, trackingData&)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -96,8 +91,7 @@ template<class ParcelType>
|
||||
template<class TrackCloudType>
|
||||
void Foam::DSMCParcel<ParcelType>::hitProcessorPatch
|
||||
(
|
||||
const processorPolyPatch&,
|
||||
TrackCloudType& cloud,
|
||||
TrackCloudType&,
|
||||
trackingData& td
|
||||
)
|
||||
{
|
||||
@ -109,14 +103,19 @@ template<class ParcelType>
|
||||
template<class TrackCloudType>
|
||||
void Foam::DSMCParcel<ParcelType>::hitWallPatch
|
||||
(
|
||||
const wallPolyPatch& wpp,
|
||||
TrackCloudType& cloud,
|
||||
trackingData& td
|
||||
trackingData&
|
||||
)
|
||||
{
|
||||
label wppIndex = wpp.index();
|
||||
const label wppIndex = this->patch();
|
||||
|
||||
label wppLocalFace = wpp.whichFace(this->face());
|
||||
const wallPolyPatch& wpp =
|
||||
static_cast<const wallPolyPatch&>
|
||||
(
|
||||
this->mesh().boundaryMesh()[wppIndex]
|
||||
);
|
||||
|
||||
const label wppLocalFace = wpp.whichFace(this->face());
|
||||
|
||||
const scalar fA = mag(wpp.faceAreas()[wppLocalFace]);
|
||||
|
||||
@ -155,11 +154,7 @@ void Foam::DSMCParcel<ParcelType>::hitWallPatch
|
||||
// pre-interaction momentum
|
||||
vector preIMom = m*U_;
|
||||
|
||||
cloud.wallInteraction().correct
|
||||
(
|
||||
static_cast<DSMCParcel<ParcelType> &>(*this),
|
||||
wpp
|
||||
);
|
||||
cloud.wallInteraction().correct(*this);
|
||||
|
||||
U_dot_nw = U_ & nw;
|
||||
|
||||
@ -194,7 +189,6 @@ void Foam::DSMCParcel<ParcelType>::hitWallPatch
|
||||
cloud.qBF()[wppIndex][wppLocalFace] += deltaQ;
|
||||
|
||||
cloud.fDBF()[wppIndex][wppLocalFace] += deltaFD;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -262,31 +262,16 @@ public:
|
||||
//- Overridable function to handle the particle hitting a patch
|
||||
// Executed before other patch-hitting functions
|
||||
template<class TrackCloudType>
|
||||
bool hitPatch
|
||||
(
|
||||
const polyPatch&,
|
||||
TrackCloudType& cloud,
|
||||
trackingData& td
|
||||
);
|
||||
bool hitPatch(TrackCloudType&, trackingData&);
|
||||
|
||||
//- Overridable function to handle the particle hitting a
|
||||
// processorPatch
|
||||
template<class TrackCloudType>
|
||||
void hitProcessorPatch
|
||||
(
|
||||
const processorPolyPatch&,
|
||||
TrackCloudType& cloud,
|
||||
trackingData& td
|
||||
);
|
||||
void hitProcessorPatch(TrackCloudType&, trackingData&);
|
||||
|
||||
//- Overridable function to handle the particle hitting a wallPatch
|
||||
template<class TrackCloudType>
|
||||
void hitWallPatch
|
||||
(
|
||||
const wallPolyPatch&,
|
||||
TrackCloudType& cloud,
|
||||
trackingData& td
|
||||
);
|
||||
void hitWallPatch(TrackCloudType&, trackingData&);
|
||||
|
||||
//- Transform the physical properties of the particle
|
||||
// according to the given transformation tensor
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -53,8 +53,7 @@ Foam::MaxwellianThermal<CloudType>::~MaxwellianThermal()
|
||||
template<class CloudType>
|
||||
void Foam::MaxwellianThermal<CloudType>::correct
|
||||
(
|
||||
typename CloudType::parcelType& p,
|
||||
const wallPolyPatch& wpp
|
||||
typename CloudType::parcelType& p
|
||||
)
|
||||
{
|
||||
vector& U = p.U();
|
||||
@ -63,7 +62,9 @@ void Foam::MaxwellianThermal<CloudType>::correct
|
||||
|
||||
label typeId = p.typeId();
|
||||
|
||||
label wppIndex = wpp.index();
|
||||
const label wppIndex = p.patch();
|
||||
|
||||
const polyPatch& wpp = p.mesh().boundaryMesh()[wppIndex];
|
||||
|
||||
label wppLocalFace = wpp.whichFace(p.face());
|
||||
|
||||
|
||||
@ -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
|
||||
@ -72,11 +72,7 @@ public:
|
||||
// Member Functions
|
||||
|
||||
//- Apply wall correction
|
||||
virtual void correct
|
||||
(
|
||||
typename CloudType::parcelType& p,
|
||||
const wallPolyPatch& wpp
|
||||
);
|
||||
virtual void correct(typename CloudType::parcelType& p);
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -51,8 +51,7 @@ Foam::MixedDiffuseSpecular<CloudType>::~MixedDiffuseSpecular()
|
||||
template<class CloudType>
|
||||
void Foam::MixedDiffuseSpecular<CloudType>::correct
|
||||
(
|
||||
typename CloudType::parcelType& p,
|
||||
const wallPolyPatch& wpp
|
||||
typename CloudType::parcelType& p
|
||||
)
|
||||
{
|
||||
vector& U = p.U();
|
||||
@ -61,7 +60,9 @@ void Foam::MixedDiffuseSpecular<CloudType>::correct
|
||||
|
||||
label typeId = p.typeId();
|
||||
|
||||
label wppIndex = wpp.index();
|
||||
const label wppIndex = p.patch();
|
||||
|
||||
const polyPatch& wpp = p.mesh().boundaryMesh()[wppIndex];
|
||||
|
||||
label wppLocalFace = wpp.whichFace(p.face());
|
||||
|
||||
|
||||
@ -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
|
||||
@ -80,11 +80,7 @@ public:
|
||||
// Member Functions
|
||||
|
||||
//- Apply wall correction
|
||||
virtual void correct
|
||||
(
|
||||
typename CloudType::parcelType& p,
|
||||
const wallPolyPatch& wpp
|
||||
);
|
||||
virtual void correct(typename CloudType::parcelType& p);
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
========= |
|
||||
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
|
||||
\\ / O peration |
|
||||
\\ / A nd | Copyright (C) 2011-2015 OpenFOAM Foundation
|
||||
\\ / A nd | Copyright (C) 2011-2017 OpenFOAM Foundation
|
||||
\\/ M anipulation |
|
||||
-------------------------------------------------------------------------------
|
||||
License
|
||||
@ -52,8 +52,7 @@ Foam::SpecularReflection<CloudType>::~SpecularReflection()
|
||||
template<class CloudType>
|
||||
void Foam::SpecularReflection<CloudType>::correct
|
||||
(
|
||||
typename CloudType::parcelType& p,
|
||||
const wallPolyPatch& wpp
|
||||
typename CloudType::parcelType& p
|
||||
)
|
||||
{
|
||||
vector& U = p.U();
|
||||
|
||||
@ -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
|
||||
@ -70,11 +70,7 @@ public:
|
||||
// Member Functions
|
||||
|
||||
//- Apply wall correction
|
||||
virtual void correct
|
||||
(
|
||||
typename CloudType::parcelType& p,
|
||||
const wallPolyPatch& wpp
|
||||
);
|
||||
virtual void correct(typename CloudType::parcelType& p);
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -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
|
||||
@ -127,11 +127,7 @@ public:
|
||||
// Member Functions
|
||||
|
||||
//- Apply wall correction
|
||||
virtual void correct
|
||||
(
|
||||
typename CloudType::parcelType& p,
|
||||
const wallPolyPatch& wpp
|
||||
) = 0;
|
||||
virtual void correct(typename CloudType::parcelType& p) = 0;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@ -284,93 +284,44 @@ protected:
|
||||
|
||||
// Patch interactions
|
||||
|
||||
//- Overridable function to handle the particle hitting a
|
||||
// patch. Executed before other patch-hitting functions.
|
||||
//- Overridable function to handle the particle hitting a patch.
|
||||
// Executed before other patch-hitting functions.
|
||||
template<class TrackCloudType>
|
||||
bool hitPatch
|
||||
(
|
||||
const polyPatch&,
|
||||
TrackCloudType& cloud,
|
||||
trackingData& td
|
||||
);
|
||||
bool hitPatch(TrackCloudType&, trackingData&);
|
||||
|
||||
//- Overridable function to handle the particle hitting a wedgePatch
|
||||
template<class TrackCloudType>
|
||||
void hitWedgePatch
|
||||
(
|
||||
const wedgePolyPatch&,
|
||||
TrackCloudType& cloud,
|
||||
trackingData& td
|
||||
);
|
||||
void hitWedgePatch(TrackCloudType&, trackingData&);
|
||||
|
||||
//- Overridable function to handle the particle hitting a
|
||||
// symmetryPlanePatch
|
||||
template<class TrackCloudType>
|
||||
void hitSymmetryPlanePatch
|
||||
(
|
||||
const symmetryPlanePolyPatch&,
|
||||
TrackCloudType& cloud,
|
||||
trackingData& td
|
||||
);
|
||||
void hitSymmetryPlanePatch(TrackCloudType&, trackingData&);
|
||||
|
||||
//- Overridable function to handle the particle hitting a
|
||||
// symmetryPatch
|
||||
//- Overridable function to handle the particle hitting a symmetryPatch
|
||||
template<class TrackCloudType>
|
||||
void hitSymmetryPatch
|
||||
(
|
||||
const symmetryPolyPatch&,
|
||||
TrackCloudType& cloud,
|
||||
trackingData& td
|
||||
);
|
||||
void hitSymmetryPatch(TrackCloudType&, trackingData&);
|
||||
|
||||
//- Overridable function to handle the particle hitting a cyclicPatch
|
||||
template<class TrackCloudType>
|
||||
void hitCyclicPatch
|
||||
(
|
||||
const cyclicPolyPatch&,
|
||||
TrackCloudType& cloud,
|
||||
trackingData& td
|
||||
);
|
||||
void hitCyclicPatch(TrackCloudType&, trackingData&);
|
||||
|
||||
//- Overridable function to handle the particle hitting a cyclicAMIPatch
|
||||
template<class TrackCloudType>
|
||||
void hitCyclicAMIPatch
|
||||
(
|
||||
const cyclicAMIPolyPatch&,
|
||||
TrackCloudType& cloud,
|
||||
trackingData& td,
|
||||
const vector& direction
|
||||
);
|
||||
void hitCyclicAMIPatch(TrackCloudType&, trackingData&, const vector&);
|
||||
|
||||
//- Overridable function to handle the particle hitting a
|
||||
// cyclicACMIPatch
|
||||
template<class TrackCloudType>
|
||||
void hitCyclicACMIPatch
|
||||
(
|
||||
const cyclicACMIPolyPatch&,
|
||||
TrackCloudType& cloud,
|
||||
trackingData& td,
|
||||
const vector& direction
|
||||
);
|
||||
void hitCyclicACMIPatch(TrackCloudType&, trackingData&, const vector&);
|
||||
|
||||
//- Overridable function to handle the particle hitting a
|
||||
// processorPatch
|
||||
//- Overridable function to handle the particle hitting a processorPatch
|
||||
template<class TrackCloudType>
|
||||
void hitProcessorPatch
|
||||
(
|
||||
const processorPolyPatch&,
|
||||
TrackCloudType& cloud,
|
||||
trackingData& td
|
||||
);
|
||||
void hitProcessorPatch(TrackCloudType&, trackingData&);
|
||||
|
||||
//- Overridable function to handle the particle hitting a wallPatch
|
||||
template<class TrackCloudType>
|
||||
void hitWallPatch
|
||||
(
|
||||
const wallPolyPatch&,
|
||||
TrackCloudType& cloud,
|
||||
trackingData& td
|
||||
);
|
||||
void hitWallPatch(TrackCloudType&, trackingData&);
|
||||
|
||||
|
||||
public:
|
||||
|
||||
@ -122,73 +122,41 @@ void Foam::particle::hitFace
|
||||
}
|
||||
else if (onBoundaryFace())
|
||||
{
|
||||
if(!p.hitPatch(mesh_.boundaryMesh()[p.patch()], cloud, ttd))
|
||||
if(!p.hitPatch(cloud, ttd))
|
||||
{
|
||||
const polyPatch& patch = mesh_.boundaryMesh()[p.patch()];
|
||||
|
||||
if (isA<wedgePolyPatch>(patch))
|
||||
{
|
||||
p.hitWedgePatch
|
||||
(
|
||||
static_cast<const wedgePolyPatch&>(patch), cloud, ttd
|
||||
);
|
||||
p.hitWedgePatch(cloud, ttd);
|
||||
}
|
||||
else if (isA<symmetryPlanePolyPatch>(patch))
|
||||
{
|
||||
p.hitSymmetryPlanePatch
|
||||
(
|
||||
static_cast<const symmetryPlanePolyPatch&>(patch),
|
||||
cloud,
|
||||
ttd
|
||||
);
|
||||
p.hitSymmetryPlanePatch(cloud, ttd);
|
||||
}
|
||||
else if (isA<symmetryPolyPatch>(patch))
|
||||
{
|
||||
p.hitSymmetryPatch
|
||||
(
|
||||
static_cast<const symmetryPolyPatch&>(patch), cloud, ttd
|
||||
);
|
||||
p.hitSymmetryPatch(cloud, ttd);
|
||||
}
|
||||
else if (isA<cyclicPolyPatch>(patch))
|
||||
{
|
||||
p.hitCyclicPatch
|
||||
(
|
||||
static_cast<const cyclicPolyPatch&>(patch), cloud, ttd
|
||||
);
|
||||
p.hitCyclicPatch(cloud, ttd);
|
||||
}
|
||||
else if (isA<cyclicACMIPolyPatch>(patch))
|
||||
{
|
||||
p.hitCyclicACMIPatch
|
||||
(
|
||||
static_cast<const cyclicACMIPolyPatch&>(patch),
|
||||
cloud,
|
||||
ttd,
|
||||
direction
|
||||
);
|
||||
p.hitCyclicACMIPatch(cloud, ttd, direction);
|
||||
}
|
||||
else if (isA<cyclicAMIPolyPatch>(patch))
|
||||
{
|
||||
p.hitCyclicAMIPatch
|
||||
(
|
||||
static_cast<const cyclicAMIPolyPatch&>(patch),
|
||||
cloud,
|
||||
ttd,
|
||||
direction
|
||||
);
|
||||
p.hitCyclicAMIPatch(cloud, ttd, direction);
|
||||
}
|
||||
else if (isA<processorPolyPatch>(patch))
|
||||
{
|
||||
p.hitProcessorPatch
|
||||
(
|
||||
static_cast<const processorPolyPatch&>(patch), cloud, ttd
|
||||
);
|
||||
p.hitProcessorPatch(cloud, ttd);
|
||||
}
|
||||
else if (isA<wallPolyPatch>(patch))
|
||||
{
|
||||
p.hitWallPatch
|
||||
(
|
||||
static_cast<const wallPolyPatch&>(patch), cloud, ttd
|
||||
);
|
||||
p.hitWallPatch(cloud, ttd);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -220,43 +188,36 @@ void Foam::particle::trackToAndHitFace
|
||||
|
||||
|
||||
template<class TrackCloudType>
|
||||
bool Foam::particle::hitPatch
|
||||
(
|
||||
const polyPatch&,
|
||||
TrackCloudType&,
|
||||
trackingData&
|
||||
)
|
||||
bool Foam::particle::hitPatch(TrackCloudType&, trackingData&)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
template<class TrackCloudType>
|
||||
void Foam::particle::hitWedgePatch
|
||||
(
|
||||
const wedgePolyPatch& wpp,
|
||||
TrackCloudType&,
|
||||
trackingData&
|
||||
)
|
||||
void Foam::particle::hitWedgePatch(TrackCloudType& cloud, trackingData& td)
|
||||
{
|
||||
FatalErrorInFunction
|
||||
<< "Hitting a wedge patch should not be possible."
|
||||
<< abort(FatalError);
|
||||
|
||||
vector nf = normal();
|
||||
nf /= mag(nf);
|
||||
|
||||
transformProperties(I - 2.0*nf*nf);
|
||||
hitSymmetryPatch(cloud, td);
|
||||
}
|
||||
|
||||
|
||||
template<class TrackCloudType>
|
||||
void Foam::particle::hitSymmetryPlanePatch
|
||||
(
|
||||
const symmetryPlanePolyPatch& spp,
|
||||
TrackCloudType&,
|
||||
trackingData&
|
||||
TrackCloudType& cloud,
|
||||
trackingData& td
|
||||
)
|
||||
{
|
||||
hitSymmetryPatch(cloud, td);
|
||||
}
|
||||
|
||||
|
||||
template<class TrackCloudType>
|
||||
void Foam::particle::hitSymmetryPatch(TrackCloudType&, trackingData&)
|
||||
{
|
||||
vector nf = normal();
|
||||
nf /= mag(nf);
|
||||
@ -266,28 +227,10 @@ void Foam::particle::hitSymmetryPlanePatch
|
||||
|
||||
|
||||
template<class TrackCloudType>
|
||||
void Foam::particle::hitSymmetryPatch
|
||||
(
|
||||
const symmetryPolyPatch& spp,
|
||||
TrackCloudType&,
|
||||
trackingData&
|
||||
)
|
||||
{
|
||||
vector nf = normal();
|
||||
nf /= mag(nf);
|
||||
|
||||
transformProperties(I - 2.0*nf*nf);
|
||||
}
|
||||
|
||||
|
||||
template<class TrackCloudType>
|
||||
void Foam::particle::hitCyclicPatch
|
||||
(
|
||||
const cyclicPolyPatch& cpp,
|
||||
TrackCloudType&,
|
||||
trackingData&
|
||||
)
|
||||
void Foam::particle::hitCyclicPatch(TrackCloudType&, trackingData&)
|
||||
{
|
||||
const cyclicPolyPatch& cpp =
|
||||
static_cast<const cyclicPolyPatch&>(mesh_.boundaryMesh()[patch()]);
|
||||
const cyclicPolyPatch& receiveCpp = cpp.neighbPatch();
|
||||
const label receiveFacei = receiveCpp.whichFace(facei_);
|
||||
|
||||
@ -327,14 +270,15 @@ void Foam::particle::hitCyclicPatch
|
||||
template<class TrackCloudType>
|
||||
void Foam::particle::hitCyclicAMIPatch
|
||||
(
|
||||
const cyclicAMIPolyPatch& cpp,
|
||||
TrackCloudType& cloud,
|
||||
TrackCloudType&,
|
||||
trackingData& td,
|
||||
const vector& direction
|
||||
)
|
||||
{
|
||||
vector pos = position();
|
||||
|
||||
const cyclicAMIPolyPatch& cpp =
|
||||
static_cast<const cyclicAMIPolyPatch&>(mesh_.boundaryMesh()[patch()]);
|
||||
const cyclicAMIPolyPatch& receiveCpp = cpp.neighbPatch();
|
||||
const label sendFacei = cpp.whichFace(facei_);
|
||||
const label receiveFacei = cpp.pointFace(sendFacei, direction, pos);
|
||||
@ -398,12 +342,14 @@ void Foam::particle::hitCyclicAMIPatch
|
||||
template<class TrackCloudType>
|
||||
void Foam::particle::hitCyclicACMIPatch
|
||||
(
|
||||
const cyclicACMIPolyPatch& cpp,
|
||||
TrackCloudType& cloud,
|
||||
trackingData& td,
|
||||
const vector& direction
|
||||
)
|
||||
{
|
||||
const cyclicACMIPolyPatch& cpp =
|
||||
static_cast<const cyclicACMIPolyPatch&>(mesh_.boundaryMesh()[patch()]);
|
||||
|
||||
const label localFacei = cpp.whichFace(facei_);
|
||||
|
||||
// If the mask is within the patch tolerance at either end, then we can
|
||||
@ -424,7 +370,7 @@ void Foam::particle::hitCyclicACMIPatch
|
||||
|
||||
if (couple)
|
||||
{
|
||||
hitCyclicAMIPatch(cpp, cloud, td, direction);
|
||||
hitCyclicAMIPatch(cloud, td, direction);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -437,22 +383,12 @@ void Foam::particle::hitCyclicACMIPatch
|
||||
|
||||
|
||||
template<class TrackCloudType>
|
||||
void Foam::particle::hitProcessorPatch
|
||||
(
|
||||
const processorPolyPatch&,
|
||||
TrackCloudType&,
|
||||
trackingData&
|
||||
)
|
||||
void Foam::particle::hitProcessorPatch(TrackCloudType&, trackingData&)
|
||||
{}
|
||||
|
||||
|
||||
template<class TrackCloudType>
|
||||
void Foam::particle::hitWallPatch
|
||||
(
|
||||
const wallPolyPatch&,
|
||||
TrackCloudType&,
|
||||
trackingData&
|
||||
)
|
||||
void Foam::particle::hitWallPatch(TrackCloudType&, trackingData&)
|
||||
{}
|
||||
|
||||
|
||||
|
||||
@ -352,7 +352,6 @@ template<class ParcelType>
|
||||
template<class TrackCloudType>
|
||||
bool Foam::KinematicParcel<ParcelType>::hitPatch
|
||||
(
|
||||
const polyPatch& pp,
|
||||
TrackCloudType& cloud,
|
||||
trackingData& td
|
||||
)
|
||||
@ -360,6 +359,8 @@ bool Foam::KinematicParcel<ParcelType>::hitPatch
|
||||
typename TrackCloudType::parcelType& p =
|
||||
static_cast<typename TrackCloudType::parcelType&>(*this);
|
||||
|
||||
const polyPatch& pp = p.mesh().boundaryMesh()[p.patch()];
|
||||
|
||||
// Invoke post-processing model
|
||||
cloud.functions().postPatch(p, pp, td.keepParticle);
|
||||
|
||||
@ -386,8 +387,7 @@ template<class ParcelType>
|
||||
template<class TrackCloudType>
|
||||
void Foam::KinematicParcel<ParcelType>::hitProcessorPatch
|
||||
(
|
||||
const processorPolyPatch&,
|
||||
TrackCloudType& cloud,
|
||||
TrackCloudType&,
|
||||
trackingData& td
|
||||
)
|
||||
{
|
||||
@ -399,12 +399,11 @@ template<class ParcelType>
|
||||
template<class TrackCloudType>
|
||||
void Foam::KinematicParcel<ParcelType>::hitWallPatch
|
||||
(
|
||||
const wallPolyPatch& wpp,
|
||||
TrackCloudType& cloud,
|
||||
trackingData& td
|
||||
TrackCloudType&,
|
||||
trackingData&
|
||||
)
|
||||
{
|
||||
// Wall interactions handled by generic hitPatch function
|
||||
// wall interactions are handled by the generic hitPatch method
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -585,31 +585,16 @@ public:
|
||||
//- Overridable function to handle the particle hitting a patch
|
||||
// Executed before other patch-hitting functions
|
||||
template<class TrackCloudType>
|
||||
bool hitPatch
|
||||
(
|
||||
const polyPatch& p,
|
||||
TrackCloudType& cloud,
|
||||
trackingData& td
|
||||
);
|
||||
bool hitPatch(TrackCloudType& cloud, trackingData& td);
|
||||
|
||||
//- Overridable function to handle the particle hitting a
|
||||
// processorPatch
|
||||
template<class TrackCloudType>
|
||||
void hitProcessorPatch
|
||||
(
|
||||
const processorPolyPatch&,
|
||||
TrackCloudType& cloud,
|
||||
trackingData& td
|
||||
);
|
||||
void hitProcessorPatch(TrackCloudType& cloud, trackingData& td);
|
||||
|
||||
//- Overridable function to handle the particle hitting a wallPatch
|
||||
template<class TrackCloudType>
|
||||
void hitWallPatch
|
||||
(
|
||||
const wallPolyPatch&,
|
||||
TrackCloudType& cloud,
|
||||
trackingData& td
|
||||
);
|
||||
void hitWallPatch(TrackCloudType& cloud, trackingData& td);
|
||||
|
||||
//- Transform the physical properties of the particle
|
||||
// according to the given transformation tensor
|
||||
|
||||
@ -235,34 +235,19 @@ void Foam::molecule::setSiteSizes(label size)
|
||||
}
|
||||
|
||||
|
||||
bool Foam::molecule::hitPatch
|
||||
(
|
||||
const polyPatch&,
|
||||
moleculeCloud&,
|
||||
trackingData&
|
||||
)
|
||||
bool Foam::molecule::hitPatch(moleculeCloud&, trackingData&)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
void Foam::molecule::hitProcessorPatch
|
||||
(
|
||||
const processorPolyPatch&,
|
||||
moleculeCloud&,
|
||||
trackingData& td
|
||||
)
|
||||
void Foam::molecule::hitProcessorPatch(moleculeCloud&, trackingData& td)
|
||||
{
|
||||
td.switchProcessor = true;
|
||||
}
|
||||
|
||||
|
||||
void Foam::molecule::hitWallPatch
|
||||
(
|
||||
const wallPolyPatch& wpp,
|
||||
moleculeCloud& cloud,
|
||||
trackingData& td
|
||||
)
|
||||
void Foam::molecule::hitWallPatch(moleculeCloud&, trackingData&)
|
||||
{
|
||||
vector nw = normal();
|
||||
nw /= mag(nw);
|
||||
|
||||
@ -364,28 +364,13 @@ public:
|
||||
|
||||
//- Overridable function to handle the particle hitting a patch
|
||||
// Executed before other patch-hitting functions
|
||||
bool hitPatch
|
||||
(
|
||||
const polyPatch&,
|
||||
moleculeCloud& cloud,
|
||||
trackingData& td
|
||||
);
|
||||
bool hitPatch(moleculeCloud& cloud, trackingData& td);
|
||||
|
||||
//- Overridable function to handle the particle hitting a processorPatch
|
||||
void hitProcessorPatch
|
||||
(
|
||||
const processorPolyPatch&,
|
||||
moleculeCloud& cloud,
|
||||
trackingData& td
|
||||
);
|
||||
void hitProcessorPatch(moleculeCloud& cloud, trackingData& td);
|
||||
|
||||
//- Overridable function to handle the particle hitting a wallPatch
|
||||
void hitWallPatch
|
||||
(
|
||||
const wallPolyPatch&,
|
||||
moleculeCloud& cloud,
|
||||
trackingData& td
|
||||
);
|
||||
void hitWallPatch(moleculeCloud& cloud, trackingData& td);
|
||||
|
||||
|
||||
// I-O
|
||||
|
||||
@ -96,12 +96,7 @@ bool Foam::solidParticle::move
|
||||
}
|
||||
|
||||
|
||||
bool Foam::solidParticle::hitPatch
|
||||
(
|
||||
const polyPatch&,
|
||||
solidParticleCloud& cloud,
|
||||
trackingData&
|
||||
)
|
||||
bool Foam::solidParticle::hitPatch(solidParticleCloud&, trackingData&)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -109,8 +104,7 @@ bool Foam::solidParticle::hitPatch
|
||||
|
||||
void Foam::solidParticle::hitProcessorPatch
|
||||
(
|
||||
const processorPolyPatch&,
|
||||
solidParticleCloud& cloud,
|
||||
solidParticleCloud&,
|
||||
trackingData& td
|
||||
)
|
||||
{
|
||||
@ -118,12 +112,7 @@ void Foam::solidParticle::hitProcessorPatch
|
||||
}
|
||||
|
||||
|
||||
void Foam::solidParticle::hitWallPatch
|
||||
(
|
||||
const wallPolyPatch& wpp,
|
||||
solidParticleCloud& cloud,
|
||||
trackingData& td
|
||||
)
|
||||
void Foam::solidParticle::hitWallPatch(solidParticleCloud& cloud, trackingData&)
|
||||
{
|
||||
vector nw = normal();
|
||||
nw /= mag(nw);
|
||||
@ -140,7 +129,7 @@ void Foam::solidParticle::hitWallPatch
|
||||
}
|
||||
|
||||
|
||||
void Foam::solidParticle::transformProperties (const tensor& T)
|
||||
void Foam::solidParticle::transformProperties(const tensor& T)
|
||||
{
|
||||
particle::transformProperties(T);
|
||||
U_ = transform(T, U_);
|
||||
|
||||
@ -196,29 +196,14 @@ public:
|
||||
|
||||
//- Overridable function to handle the particle hitting a patch
|
||||
// Executed before other patch-hitting functions
|
||||
bool hitPatch
|
||||
(
|
||||
const polyPatch&,
|
||||
solidParticleCloud& cloud,
|
||||
trackingData& td
|
||||
);
|
||||
bool hitPatch(solidParticleCloud& cloud, trackingData& td);
|
||||
|
||||
//- Overridable function to handle the particle hitting a
|
||||
// processorPatch
|
||||
void hitProcessorPatch
|
||||
(
|
||||
const processorPolyPatch&,
|
||||
solidParticleCloud& cloud,
|
||||
trackingData& td
|
||||
);
|
||||
void hitProcessorPatch(solidParticleCloud& cloud, trackingData& td);
|
||||
|
||||
//- Overridable function to handle the particle hitting a wallPatch
|
||||
void hitWallPatch
|
||||
(
|
||||
const wallPolyPatch&,
|
||||
solidParticleCloud& cloud,
|
||||
trackingData& td
|
||||
);
|
||||
void hitWallPatch(solidParticleCloud& cloud, trackingData& td);
|
||||
|
||||
//- Transform the physical properties of the particle
|
||||
// according to the given transformation tensor
|
||||
|
||||
@ -154,12 +154,7 @@ bool Foam::trackedParticle::move
|
||||
}
|
||||
|
||||
|
||||
bool Foam::trackedParticle::hitPatch
|
||||
(
|
||||
const polyPatch&,
|
||||
Cloud<trackedParticle>& cloud,
|
||||
trackingData& td
|
||||
)
|
||||
bool Foam::trackedParticle::hitPatch(Cloud<trackedParticle>&, trackingData&)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
@ -167,8 +162,7 @@ bool Foam::trackedParticle::hitPatch
|
||||
|
||||
void Foam::trackedParticle::hitWedgePatch
|
||||
(
|
||||
const wedgePolyPatch&,
|
||||
Cloud<trackedParticle>& cloud,
|
||||
Cloud<trackedParticle>&,
|
||||
trackingData& td
|
||||
)
|
||||
{
|
||||
@ -179,8 +173,7 @@ void Foam::trackedParticle::hitWedgePatch
|
||||
|
||||
void Foam::trackedParticle::hitSymmetryPlanePatch
|
||||
(
|
||||
const symmetryPlanePolyPatch&,
|
||||
Cloud<trackedParticle>& cloud,
|
||||
Cloud<trackedParticle>&,
|
||||
trackingData& td
|
||||
)
|
||||
{
|
||||
@ -191,8 +184,7 @@ void Foam::trackedParticle::hitSymmetryPlanePatch
|
||||
|
||||
void Foam::trackedParticle::hitSymmetryPatch
|
||||
(
|
||||
const symmetryPolyPatch&,
|
||||
Cloud<trackedParticle>& cloud,
|
||||
Cloud<trackedParticle>&,
|
||||
trackingData& td
|
||||
)
|
||||
{
|
||||
@ -203,8 +195,7 @@ void Foam::trackedParticle::hitSymmetryPatch
|
||||
|
||||
void Foam::trackedParticle::hitCyclicPatch
|
||||
(
|
||||
const cyclicPolyPatch&,
|
||||
Cloud<trackedParticle>& cloud,
|
||||
Cloud<trackedParticle>&,
|
||||
trackingData& td
|
||||
)
|
||||
{
|
||||
@ -215,10 +206,9 @@ void Foam::trackedParticle::hitCyclicPatch
|
||||
|
||||
void Foam::trackedParticle::hitCyclicAMIPatch
|
||||
(
|
||||
const cyclicAMIPolyPatch&,
|
||||
Cloud<trackedParticle>& cloud,
|
||||
Cloud<trackedParticle>&,
|
||||
trackingData& td,
|
||||
const vector&
|
||||
const vector& direction
|
||||
)
|
||||
{
|
||||
// Remove particle
|
||||
@ -228,8 +218,7 @@ void Foam::trackedParticle::hitCyclicAMIPatch
|
||||
|
||||
void Foam::trackedParticle::hitCyclicACMIPatch
|
||||
(
|
||||
const cyclicACMIPolyPatch&,
|
||||
Cloud<trackedParticle>& cloud,
|
||||
Cloud<trackedParticle>&,
|
||||
trackingData& td,
|
||||
const vector&
|
||||
)
|
||||
@ -241,8 +230,7 @@ void Foam::trackedParticle::hitCyclicACMIPatch
|
||||
|
||||
void Foam::trackedParticle::hitProcessorPatch
|
||||
(
|
||||
const processorPolyPatch&,
|
||||
Cloud<trackedParticle>& cloud,
|
||||
Cloud<trackedParticle>&,
|
||||
trackingData& td
|
||||
)
|
||||
{
|
||||
@ -253,8 +241,7 @@ void Foam::trackedParticle::hitProcessorPatch
|
||||
|
||||
void Foam::trackedParticle::hitWallPatch
|
||||
(
|
||||
const wallPolyPatch& wpp,
|
||||
Cloud<trackedParticle>& cloud,
|
||||
Cloud<trackedParticle>&,
|
||||
trackingData& td
|
||||
)
|
||||
{
|
||||
|
||||
@ -242,88 +242,50 @@ public:
|
||||
//- Track all particles to their end point
|
||||
bool move(Cloud<trackedParticle>&, trackingData&, const scalar);
|
||||
|
||||
|
||||
//- Overridable function to handle the particle hitting a patch
|
||||
// Executed before other patch-hitting functions
|
||||
bool hitPatch
|
||||
(
|
||||
const polyPatch&,
|
||||
Cloud<trackedParticle>& cloud,
|
||||
trackingData& td
|
||||
);
|
||||
bool hitPatch(Cloud<trackedParticle>&, trackingData&);
|
||||
|
||||
//- Overridable function to handle the particle hitting a wedge
|
||||
void hitWedgePatch
|
||||
(
|
||||
const wedgePolyPatch&,
|
||||
Cloud<trackedParticle>& cloud,
|
||||
trackingData& td
|
||||
);
|
||||
void hitWedgePatch(Cloud<trackedParticle>&, trackingData&);
|
||||
|
||||
//- Overridable function to handle the particle hitting a
|
||||
// symmetry plane
|
||||
void hitSymmetryPlanePatch
|
||||
(
|
||||
const symmetryPlanePolyPatch&,
|
||||
Cloud<trackedParticle>& cloud,
|
||||
trackingData& td
|
||||
);
|
||||
void hitSymmetryPlanePatch(Cloud<trackedParticle>&, trackingData&);
|
||||
|
||||
//- Overridable function to handle the particle hitting a
|
||||
// symmetry patch
|
||||
void hitSymmetryPatch
|
||||
(
|
||||
const symmetryPolyPatch&,
|
||||
Cloud<trackedParticle>& cloud,
|
||||
trackingData& td
|
||||
);
|
||||
void hitSymmetryPatch(Cloud<trackedParticle>&, trackingData&);
|
||||
|
||||
//- Overridable function to handle the particle hitting a cyclic
|
||||
void hitCyclicPatch
|
||||
(
|
||||
const cyclicPolyPatch&,
|
||||
Cloud<trackedParticle>& cloud,
|
||||
trackingData& td
|
||||
);
|
||||
void hitCyclicPatch(Cloud<trackedParticle>&, trackingData&);
|
||||
|
||||
//- Overridable function to handle the particle hitting a cyclicAMI
|
||||
void hitCyclicAMIPatch
|
||||
(
|
||||
const cyclicAMIPolyPatch&,
|
||||
Cloud<trackedParticle>& cloud,
|
||||
trackingData& td,
|
||||
Cloud<trackedParticle>&,
|
||||
trackingData&,
|
||||
const vector&
|
||||
);
|
||||
|
||||
//- Overridable function to handle the particle hitting a cyclicACMI
|
||||
void hitCyclicACMIPatch
|
||||
(
|
||||
const cyclicACMIPolyPatch&,
|
||||
Cloud<trackedParticle>& cloud,
|
||||
trackingData& td,
|
||||
Cloud<trackedParticle>&,
|
||||
trackingData&,
|
||||
const vector&
|
||||
);
|
||||
|
||||
//- Overridable function to handle the particle hitting a
|
||||
//- processorPatch
|
||||
void hitProcessorPatch
|
||||
(
|
||||
const processorPolyPatch&,
|
||||
Cloud<trackedParticle>& cloud,
|
||||
trackingData& td
|
||||
);
|
||||
void hitProcessorPatch(Cloud<trackedParticle>&, trackingData&);
|
||||
|
||||
//- Overridable function to handle the particle hitting a wallPatch
|
||||
void hitWallPatch
|
||||
(
|
||||
const wallPolyPatch&,
|
||||
Cloud<trackedParticle>& cloud,
|
||||
trackingData& td
|
||||
);
|
||||
void hitWallPatch(Cloud<trackedParticle>&, trackingData&);
|
||||
|
||||
//- Convert processor patch addressing to the global equivalents
|
||||
// and set the celli to the face-neighbour
|
||||
void correctAfterParallelTransfer(const label, trackingData& td);
|
||||
void correctAfterParallelTransfer(const label, trackingData&);
|
||||
|
||||
|
||||
// Ostream Operator
|
||||
|
||||
Reference in New Issue
Block a user