ENH: streamline improvements

- barycentric coordinates in interpolation (instead of x/y/z)

- ease U (velocity) requirement.
  Needn't be named in the sampled fields.

- default tracking direction is 'forward'
This commit is contained in:
Mark Olesen
2022-07-05 16:01:17 +02:00
parent 71246b94b7
commit f16f3da645
24 changed files with 360 additions and 391 deletions

View File

@ -6,7 +6,7 @@
\\/ M anipulation |
-------------------------------------------------------------------------------
Copyright (C) 2011-2016 OpenFOAM Foundation
Copyright (C) 2015-2020 OpenCFD Ltd.
Copyright (C) 2015-2022 OpenCFD Ltd.
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
@ -231,23 +231,13 @@ void Foam::functionObjects::wallBoundedStreamLine::track()
Log << type() << " : seeded " << nSeeds << " particles." << endl;
// Read or lookup fields
PtrList<volScalarField> vsFlds;
// Field interpolators
PtrList<interpolation<scalar>> vsInterp;
PtrList<volVectorField> vvFlds;
PtrList<interpolation<vector>> vvInterp;
label UIndex = -1;
initInterpolations
refPtr<interpolation<vector>> UInterp
(
nSeeds,
UIndex,
vsFlds,
vsInterp,
vvFlds,
vvInterp
initInterpolations(nSeeds, vsInterp, vvInterp)
);
// Additional particle info
@ -256,7 +246,7 @@ void Foam::functionObjects::wallBoundedStreamLine::track()
particles,
vsInterp,
vvInterp,
UIndex, // index of U in vvInterp
UInterp.cref(), // velocity interpolator (possibly within vvInterp)
trackLength_, // fixed track length
isWallPatch, // which faces are to follow