diff --git a/src/functionObjects/field/streamLine/streamLineBase.C b/src/functionObjects/field/streamLine/streamLineBase.C index 305ab37636edd1f23aa71d964cc6b89a30cf56f8..9eaae07a82229b7d9c6036c9ddc30931c2dc2b4f 100644 --- a/src/functionObjects/field/streamLine/streamLineBase.C +++ b/src/functionObjects/field/streamLine/streamLineBase.C @@ -767,7 +767,7 @@ bool Foam::functionObjects::streamLineBase::write() // Convert scalar values - if (allScalars_.size() > 0) + if (allScalars_.size() > 0 && tracks.size() > 0) { List<List<scalarField>> scalarValues(allScalars_.size()); @@ -811,7 +811,7 @@ bool Foam::functionObjects::streamLineBase::write() // Convert vector values - if (allVectors_.size() > 0) + if (allVectors_.size() > 0 && tracks.size() > 0) { List<List<vectorField>> vectorValues(allVectors_.size()); diff --git a/src/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLine.C b/src/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLine.C index 0799254290c0ebbec5348878927a975aa9debe61..66ff518d127820453a27f8d26cc522ea62acff20 100644 --- a/src/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLine.C +++ b/src/functionObjects/field/wallBoundedStreamLine/wallBoundedStreamLine.C @@ -139,39 +139,43 @@ void Foam::functionObjects::wallBoundedStreamLine::track() forAll(seedPoints, i) { - const point& seedPt = seedPoints[i]; label celli = seedPoints.cells()[i]; - tetIndices ids(findNearestTet(isWallPatch, seedPt, celli)); - - if (ids.face() != -1 && isWallPatch[ids.face()]) + if (celli != -1) { - //Pout<< "Seeding particle :" << nl - // << " seedPt:" << seedPt << nl - // << " face :" << ids.face() << nl - // << " at :" << mesh_.faceCentres()[ids.face()] << nl - // << " cell :" << mesh_.cellCentres()[ids.cell()] << nl - // << endl; - - particles.addParticle - ( - new wallBoundedStreamLineParticle + const point& seedPt = seedPoints[i]; + tetIndices ids(findNearestTet(isWallPatch, seedPt, celli)); + + if (ids.face() != -1 && isWallPatch[ids.face()]) + { + //Pout<< "Seeding particle :" << nl + // << " seedPt:" << seedPt << nl + // << " face :" << ids.face() << nl + // << " at :" << mesh_.faceCentres()[ids.face()] + // << nl + // << " cell :" << mesh_.cellCentres()[ids.cell()] + // << nl << endl; + + particles.addParticle ( - mesh_, - ids.faceTri(mesh_).centre(), - ids.cell(), - ids.face(), // tetFace - ids.tetPt(), - -1, // not on a mesh edge - -1, // not on a diagonal edge - lifeTime_ // lifetime - ) - ); - } - else - { - Pout<< type() << " : ignoring seed " << seedPt - << " since not in wall cell." << endl; + new wallBoundedStreamLineParticle + ( + mesh_, + ids.faceTri(mesh_).centre(), + ids.cell(), + ids.face(), // tetFace + ids.tetPt(), + -1, // not on a mesh edge + -1, // not on a diagonal edge + lifeTime_ // lifetime + ) + ); + } + else + { + Pout<< type() << " : ignoring seed " << seedPt + << " since not in wall cell." << endl; + } } } }