tracking.C File Reference
Include dependency graph for tracking.C:

Go to the source code of this file.

Namespaces

 Foam
 Namespace for OpenFOAM.
 
 Foam::tracking
 Functions for tracking locations through a mesh.
 

Macros

#define debugIndent   string(debugPrefix.size(), ' ').c_str() << ": "
 
#define debugIndent   string(debugPrefix.size(), ' ').c_str() << ": "
 
#define debugIndent   string(debugPrefix.size(), ' ').c_str() << ": "
 

Functions

void stationaryTetReverseTransform (const polyMesh &mesh, const label celli, const label facei, const label faceTrii, vector &centre, scalar &detA, barycentricTensor &T)
 Get the reverse transform associated with the current tet. The. More...
 
void movingTetReverseTransform (const polyMesh &mesh, const label celli, const label facei, const label faceTrii, const scalar startStepFraction, const scalar endStepFraction, Pair< vector > &centre, FixedList< scalar, 4 > &detA, FixedList< barycentricTensor, 3 > &T)
 Get the reverse transformation associated with the current,. More...
 
Tuple2< label, scalar > toStationaryTri (const polyMesh &mesh, const vector &displacement, const scalar fraction, barycentric &coordinates, label &celli, label &facei, label &faceTrii, scalar &stepFraction, scalar &stepFractionBehind, label &nTracksBehind, const string &debugPrefix=NullObjectRef< string >())
 See toTri. For a stationary mesh. More...
 
Tuple2< label, scalar > toStationaryTri (const polyMesh &mesh, const Pair< vector > &displacement, const scalar fraction, barycentric &coordinates, label &celli, label &facei, label &faceTrii, scalar &stepFraction, scalar &stepFractionBehind, label &nTracksBehind, const string &debugPrefix=NullObjectRef< string >())
 See toTri. Second order. For a stationary mesh. More...
 
Tuple2< label, scalar > toMovingTri (const polyMesh &mesh, const vector &displacement, const scalar fraction, barycentric &coordinates, label &celli, label &facei, label &faceTrii, scalar &stepFraction, scalar &stepFractionBehind, label &nTracksBehind, const string &debugPrefix=NullObjectRef< string >())
 See toTri. For a moving mesh. More...
 
Tuple2< label, scalar > toMovingTri (const polyMesh &mesh, const Pair< vector > &displacement, const scalar fraction, barycentric &coordinates, label &celli, label &facei, label &faceTrii, scalar &stepFraction, scalar &stepFractionBehind, label &nTracksBehind, const string &debugPrefix=NullObjectRef< string >())
 See toTri. Second order. For a moving mesh. Not implemented. More...
 
template<class Displacement >
Tuple2< label, scalar > toTri (const polyMesh &mesh, const Displacement &displacement, const scalar fraction, barycentric &coordinates, label &celli, label &facei, label &faceTrii, scalar &stepFraction, scalar &stepFractionBehind, label &nTracksBehind, const string &debugPrefix=NullObjectRef< string >())
 Track along the displacement for a given fraction of the overall. More...
 
Pair< vector > operator* (const scalar f, const Pair< vector > &displacement)
 Scale a second-order displacement. More...
 
void reflect (barycentric &coordinates)
 Reflection transform. Corrects the coordinates when the track moves. More...
 
void rotate (const bool reverse, barycentric &coordinates)
 Rotation transform. Corrects the coordinates when the track moves. More...
 
void changeFaceTri (const polyMesh &mesh, const label tetTrii, barycentric &coordinates, const label celli, label &facei, label &faceTrii)
 Change face-triangle within a cell. Called after a tet-triangle is hit. More...
 
void changeFace (const polyMesh &mesh, const label tetTrii, barycentric &coordinates, const label celli, label &facei, label &faceTrii)
 Change face within a cell. Called (if necessary) by changeFaceTri. More...
 
template Foam::Tuple2< bool, Foam::scalar > Foam::tracking::toFace< Foam::vector > (const polyMesh &mesh, const vector &displacement, const scalar fraction, barycentric &coordinates, label &celli, label &facei, label &faceTrii, scalar &stepFraction, scalar &stepFractionBehind, label &nTracksBehind, const string &debugPrefix)
 
template Foam::Tuple2< bool, Foam::scalar > Foam::tracking::toFace< Foam::Pair< Foam::vector > > (const polyMesh &mesh, const Pair< vector > &displacement, const scalar fraction, barycentric &coordinates, label &celli, label &facei, label &faceTrii, scalar &stepFraction, scalar &stepFractionBehind, label &nTracksBehind, const string &debugPrefix)
 
template Foam::Tuple2< bool, Foam::scalar > Foam::tracking::toCell< Foam::vector > (const polyMesh &mesh, const vector &displacement, const scalar fraction, barycentric &coordinates, label &celli, label &facei, label &faceTrii, scalar &stepFraction, scalar &stepFractionBehind, label &nTracksBehind, const string &debugPrefix)
 
template Foam::Tuple2< bool, Foam::scalar > Foam::tracking::toCell< Foam::Pair< Foam::vector > > (const polyMesh &mesh, const Pair< vector > &displacement, const scalar fraction, barycentric &coordinates, label &celli, label &facei, label &faceTrii, scalar &stepFraction, scalar &stepFractionBehind, label &nTracksBehind, const string &debugPrefix)
 
template Foam::Tuple2< bool, Foam::scalar > Foam::tracking::toBoundary< Foam::vector > (const polyMesh &mesh, const vector &displacement, const scalar fraction, barycentric &coordinates, label &celli, label &facei, label &faceTrii, scalar &stepFraction, scalar &stepFractionBehind, label &nTracksBehind, const string &debugPrefix)
 
template Foam::Tuple2< bool, Foam::scalar > Foam::tracking::toBoundary< Foam::Pair< Foam::vector > > (const polyMesh &mesh, const Pair< vector > &displacement, const scalar fraction, barycentric &coordinates, label &celli, label &facei, label &faceTrii, scalar &stepFraction, scalar &stepFractionBehind, label &nTracksBehind, const string &debugPrefix)
 

Variables

static const label maxNTracksBehind = 48
 The counter nTracksBehind is the number of tracks carried out that. More...
 

Detailed Description

Original source file tracking.C

Definition in file tracking.C.

Macro Definition Documentation

◆ debugIndent [1/3]

#define debugIndent   string(debugPrefix.size(), ' ').c_str() << ": "

◆ debugIndent [2/3]

#define debugIndent   string(debugPrefix.size(), ' ').c_str() << ": "

◆ debugIndent [3/3]

#define debugIndent   string(debugPrefix.size(), ' ').c_str() << ": "

Function Documentation

◆ Foam::tracking::toFace< Foam::vector >()

template Foam::Tuple2<bool, Foam::scalar> Foam::tracking::toFace< Foam::vector > ( const polyMesh &  mesh,
const vector &  displacement,
const scalar  fraction,
barycentric &  coordinates,
label &  celli,
label &  facei,
label &  faceTrii,
scalar &  stepFraction,
scalar &  stepFractionBehind,
label &  nTracksBehind,
const string &  debugPrefix 
)

◆ Foam::tracking::toFace< Foam::Pair< Foam::vector > >()

template Foam::Tuple2<bool, Foam::scalar> Foam::tracking::toFace< Foam::Pair< Foam::vector > > ( const polyMesh &  mesh,
const Pair< vector > &  displacement,
const scalar  fraction,
barycentric &  coordinates,
label &  celli,
label &  facei,
label &  faceTrii,
scalar &  stepFraction,
scalar &  stepFractionBehind,
label &  nTracksBehind,
const string &  debugPrefix 
)

◆ Foam::tracking::toCell< Foam::vector >()

template Foam::Tuple2<bool, Foam::scalar> Foam::tracking::toCell< Foam::vector > ( const polyMesh &  mesh,
const vector &  displacement,
const scalar  fraction,
barycentric &  coordinates,
label &  celli,
label &  facei,
label &  faceTrii,
scalar &  stepFraction,
scalar &  stepFractionBehind,
label &  nTracksBehind,
const string &  debugPrefix 
)

◆ Foam::tracking::toCell< Foam::Pair< Foam::vector > >()

template Foam::Tuple2<bool, Foam::scalar> Foam::tracking::toCell< Foam::Pair< Foam::vector > > ( const polyMesh &  mesh,
const Pair< vector > &  displacement,
const scalar  fraction,
barycentric &  coordinates,
label &  celli,
label &  facei,
label &  faceTrii,
scalar &  stepFraction,
scalar &  stepFractionBehind,
label &  nTracksBehind,
const string &  debugPrefix 
)

◆ Foam::tracking::toBoundary< Foam::vector >()

template Foam::Tuple2<bool, Foam::scalar> Foam::tracking::toBoundary< Foam::vector > ( const polyMesh &  mesh,
const vector &  displacement,
const scalar  fraction,
barycentric &  coordinates,
label &  celli,
label &  facei,
label &  faceTrii,
scalar &  stepFraction,
scalar &  stepFractionBehind,
label &  nTracksBehind,
const string &  debugPrefix 
)

◆ Foam::tracking::toBoundary< Foam::Pair< Foam::vector > >()

template Foam::Tuple2<bool, Foam::scalar> Foam::tracking::toBoundary< Foam::Pair< Foam::vector > > ( const polyMesh &  mesh,
const Pair< vector > &  displacement,
const scalar  fraction,
barycentric &  coordinates,
label &  celli,
label &  facei,
label &  faceTrii,
scalar &  stepFraction,
scalar &  stepFractionBehind,
label &  nTracksBehind,
const string &  debugPrefix 
)