particle: Improvements to tracking across AMIs
The projection direction has been corrected to include the effect of mesh motion. The case where the source and receiving faces are of differing orientations and the particle displacement points into both is now detected and handled.
This commit is contained in:
@ -176,9 +176,10 @@ void Foam::findCellParticle::hitCyclicPatch
|
||||
|
||||
void Foam::findCellParticle::hitCyclicAMIPatch
|
||||
(
|
||||
const vector&,
|
||||
const scalar,
|
||||
Cloud<findCellParticle>&,
|
||||
trackingData& td,
|
||||
const vector&
|
||||
trackingData& td
|
||||
)
|
||||
{
|
||||
// Remove particle
|
||||
@ -188,9 +189,23 @@ void Foam::findCellParticle::hitCyclicAMIPatch
|
||||
|
||||
void Foam::findCellParticle::hitCyclicACMIPatch
|
||||
(
|
||||
const vector&,
|
||||
const scalar,
|
||||
Cloud<findCellParticle>&,
|
||||
trackingData& td,
|
||||
const vector&
|
||||
trackingData& td
|
||||
)
|
||||
{
|
||||
// Remove particle
|
||||
td.keepParticle = false;
|
||||
}
|
||||
|
||||
|
||||
void Foam::findCellParticle::hitCyclicRepeatAMIPatch
|
||||
(
|
||||
const vector&,
|
||||
const scalar,
|
||||
Cloud<findCellParticle>&,
|
||||
trackingData& td
|
||||
)
|
||||
{
|
||||
// Remove particle
|
||||
|
||||
@ -228,17 +228,29 @@ public:
|
||||
//- Overridable function to handle the particle hitting a cyclicAMI
|
||||
void hitCyclicAMIPatch
|
||||
(
|
||||
const vector&,
|
||||
const scalar,
|
||||
Cloud<findCellParticle>&,
|
||||
trackingData&,
|
||||
const vector&
|
||||
trackingData&
|
||||
);
|
||||
|
||||
//- Overridable function to handle the particle hitting a cyclicACMI
|
||||
void hitCyclicACMIPatch
|
||||
(
|
||||
const vector&,
|
||||
const scalar,
|
||||
Cloud<findCellParticle>&,
|
||||
trackingData&,
|
||||
const vector&
|
||||
trackingData&
|
||||
);
|
||||
|
||||
//- Overridable function to handle the particle hitting a
|
||||
//cyclicRepeatAMI
|
||||
void hitCyclicRepeatAMIPatch
|
||||
(
|
||||
const vector&,
|
||||
const scalar,
|
||||
Cloud<findCellParticle>&,
|
||||
trackingData&
|
||||
);
|
||||
|
||||
//- Overridable function to handle the particle hitting a
|
||||
|
||||
@ -323,9 +323,10 @@ void Foam::streamLineParticle::hitCyclicPatch
|
||||
|
||||
void Foam::streamLineParticle::hitCyclicAMIPatch
|
||||
(
|
||||
const vector&,
|
||||
const scalar,
|
||||
streamLineParticleCloud&,
|
||||
trackingData& td,
|
||||
const vector&
|
||||
trackingData& td
|
||||
)
|
||||
{
|
||||
// Remove particle
|
||||
@ -335,9 +336,23 @@ void Foam::streamLineParticle::hitCyclicAMIPatch
|
||||
|
||||
void Foam::streamLineParticle::hitCyclicACMIPatch
|
||||
(
|
||||
const vector&,
|
||||
const scalar,
|
||||
streamLineParticleCloud&,
|
||||
trackingData& td,
|
||||
const vector&
|
||||
trackingData& td
|
||||
)
|
||||
{
|
||||
// Remove particle
|
||||
td.keepParticle = false;
|
||||
}
|
||||
|
||||
|
||||
void Foam::streamLineParticle::hitCyclicRepeatAMIPatch
|
||||
(
|
||||
const vector&,
|
||||
const scalar,
|
||||
streamLineParticleCloud&,
|
||||
trackingData& td
|
||||
)
|
||||
{
|
||||
// Remove particle
|
||||
|
||||
@ -231,18 +231,30 @@ public:
|
||||
// cyclicAMIPatch
|
||||
void hitCyclicAMIPatch
|
||||
(
|
||||
const vector&,
|
||||
const scalar,
|
||||
streamLineParticleCloud&,
|
||||
trackingData&,
|
||||
const vector& direction
|
||||
trackingData&
|
||||
);
|
||||
|
||||
//- Overridable function to handle the particle hitting a
|
||||
// cyclicACMIPatch
|
||||
void hitCyclicACMIPatch
|
||||
(
|
||||
const vector&,
|
||||
const scalar,
|
||||
streamLineParticleCloud&,
|
||||
trackingData&,
|
||||
const vector& direction
|
||||
trackingData&
|
||||
);
|
||||
|
||||
//- Overridable function to handle the particle hitting a
|
||||
// cyclicRepeatAMIPatch
|
||||
void hitCyclicRepeatAMIPatch
|
||||
(
|
||||
const vector&,
|
||||
const scalar,
|
||||
streamLineParticleCloud&,
|
||||
trackingData&
|
||||
);
|
||||
|
||||
//- Overridable function to handle the particle hitting a
|
||||
|
||||
Reference in New Issue
Block a user