mirror of
https://develop.openfoam.com/Development/openfoam.git
synced 2025-11-28 03:28:01 +00:00
ENH: tet decomposed particle tracking.
Squashed merge of particleInteractions up to commit e7cb5bcf0315c359539ef1e715e1d51991343391
This commit is contained in:
@ -56,6 +56,7 @@ void Foam::streamLine::track()
|
||||
//Pout<< "Seeding particles." << endl;
|
||||
|
||||
const sampledSet& seedPoints = sampledSetPtr_();
|
||||
|
||||
forAll(seedPoints, i)
|
||||
{
|
||||
//Pout<< "Seeded particle at " << seedPoints[i]
|
||||
@ -73,10 +74,10 @@ void Foam::streamLine::track()
|
||||
)
|
||||
);
|
||||
}
|
||||
label nSeeds = returnReduce(particles.size(), sumOp<label>());
|
||||
Info<< "Seeded " << nSeeds
|
||||
<< " particles." << endl;
|
||||
|
||||
label nSeeds = returnReduce(particles.size(), sumOp<label>());
|
||||
|
||||
Info<< "Seeded " << nSeeds << " particles." << endl;
|
||||
|
||||
// Read or lookup fields
|
||||
PtrList<volScalarField> vsFlds;
|
||||
@ -84,7 +85,6 @@ void Foam::streamLine::track()
|
||||
PtrList<volVectorField> vvFlds;
|
||||
PtrList<interpolationCellPoint<vector> > vvInterp;
|
||||
|
||||
|
||||
label UIndex = -1;
|
||||
|
||||
if (loadFromFiles_)
|
||||
@ -188,7 +188,6 @@ void Foam::streamLine::track()
|
||||
vectorNames_[i] = vvInterp[i].psi().name();
|
||||
}
|
||||
|
||||
|
||||
// Check that we know the index of U in the interpolators.
|
||||
|
||||
if (UIndex == -1)
|
||||
@ -202,8 +201,6 @@ void Foam::streamLine::track()
|
||||
<< exit(FatalError);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Sampled data
|
||||
// ~~~~~~~~~~~~
|
||||
|
||||
@ -490,7 +487,6 @@ void Foam::streamLine::write()
|
||||
|
||||
mkDir(vtkPath);
|
||||
|
||||
|
||||
// Convert track positions
|
||||
|
||||
PtrList<coordSet> tracks(allTracks_.size());
|
||||
@ -508,8 +504,6 @@ void Foam::streamLine::write()
|
||||
tracks[trackI].transfer(allTracks_[trackI]);
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Convert scalar values
|
||||
|
||||
if (allScalars_.size() > 0)
|
||||
|
||||
@ -88,11 +88,11 @@ Foam::streamLineParticle::streamLineParticle
|
||||
(
|
||||
const Cloud<streamLineParticle>& c,
|
||||
const vector& position,
|
||||
const label celli,
|
||||
const label cellI,
|
||||
const label lifeTime
|
||||
)
|
||||
:
|
||||
Particle<streamLineParticle>(c, position, celli),
|
||||
Particle<streamLineParticle>(c, position, cellI),
|
||||
lifeTime_(lifeTime)
|
||||
{}
|
||||
|
||||
@ -246,7 +246,9 @@ bool Foam::streamLineParticle::hitPatch
|
||||
(
|
||||
const polyPatch&,
|
||||
streamLineParticle::trackData& td,
|
||||
const label patchI
|
||||
const label patchI,
|
||||
const scalar trackFraction,
|
||||
const tetIndices& tetIs
|
||||
)
|
||||
{
|
||||
// Disable generic patch interaction
|
||||
@ -258,7 +260,9 @@ bool Foam::streamLineParticle::hitPatch
|
||||
(
|
||||
const polyPatch&,
|
||||
int&,
|
||||
const label
|
||||
const label,
|
||||
const scalar,
|
||||
const tetIndices&
|
||||
)
|
||||
{
|
||||
// Disable generic patch interaction
|
||||
@ -345,7 +349,8 @@ void Foam::streamLineParticle::hitProcessorPatch
|
||||
void Foam::streamLineParticle::hitWallPatch
|
||||
(
|
||||
const wallPolyPatch& wpp,
|
||||
streamLineParticle::trackData& td
|
||||
streamLineParticle::trackData& td,
|
||||
const tetIndices&
|
||||
)
|
||||
{
|
||||
// Remove particle
|
||||
@ -356,7 +361,8 @@ void Foam::streamLineParticle::hitWallPatch
|
||||
void Foam::streamLineParticle::hitWallPatch
|
||||
(
|
||||
const wallPolyPatch& wpp,
|
||||
int&
|
||||
int&,
|
||||
const tetIndices&
|
||||
)
|
||||
{}
|
||||
|
||||
|
||||
@ -141,7 +141,7 @@ public:
|
||||
(
|
||||
const Cloud<streamLineParticle>& c,
|
||||
const vector& position,
|
||||
const label celli,
|
||||
const label cellI,
|
||||
const label lifeTime
|
||||
);
|
||||
|
||||
@ -182,13 +182,18 @@ public:
|
||||
(
|
||||
const polyPatch&,
|
||||
streamLineParticle::trackData& td,
|
||||
const label patchI
|
||||
const label patchI,
|
||||
const scalar trackFraction,
|
||||
const tetIndices& tetIs
|
||||
);
|
||||
|
||||
bool hitPatch
|
||||
(
|
||||
const polyPatch&,
|
||||
int&,
|
||||
const label patchI
|
||||
const label,
|
||||
const scalar,
|
||||
const tetIndices&
|
||||
);
|
||||
|
||||
//- Overridable function to handle the particle hitting a wedge
|
||||
@ -245,12 +250,14 @@ public:
|
||||
void hitWallPatch
|
||||
(
|
||||
const wallPolyPatch&,
|
||||
streamLineParticle::trackData& td
|
||||
streamLineParticle::trackData& td,
|
||||
const tetIndices&
|
||||
);
|
||||
void hitWallPatch
|
||||
(
|
||||
const wallPolyPatch&,
|
||||
int&
|
||||
int&,
|
||||
const tetIndices&
|
||||
);
|
||||
|
||||
//- Overridable function to handle the particle hitting a polyPatch
|
||||
|
||||
Reference in New Issue
Block a user