Foam::fvPatchDistWave Namespace Reference

Classes

struct  WallLocationDataType
 

Functions

List< labelPairgetChangedPatchAndFaces (const fvMesh &mesh, const labelHashSet &patchIDs, const scalar minFaceFraction)
 Get initial set of changed faces. More...
 
template<class FvWallInfoType , class TrackingData , template< class > class PatchField, class GeoMesh , class ... DataType>
label wave (const fvMesh &mesh, const List< labelPair > &changedPatchAndFaces, const label nCorrections, GeometricField< scalar, PatchField, GeoMesh > &distance, TrackingData &td, GeometricField< DataType, PatchField, GeoMesh > &... data)
 Wave distance (and maybe additional) data from faces. If nCorrections is. More...
 
template<template< class > class PatchField, class GeoMesh >
label calculate (const fvMesh &mesh, const labelHashSet &patchIDs, const scalar minFaceFraction, GeometricField< scalar, PatchField, GeoMesh > &distance)
 Calculate distance data from patches. More...
 
template<template< class > class PatchField, class GeoMesh >
void correct (const fvMesh &mesh, const labelHashSet &patchIDs, const scalar minFaceFraction, const label nCorrections, GeometricField< scalar, PatchField, GeoMesh > &distance)
 Correct distance data from patches. More...
 
template<template< class > class PatchField, class GeoMesh >
label calculateAndCorrect (const fvMesh &mesh, const labelHashSet &patchIDs, const scalar minFaceFraction, const label nCorrections, GeometricField< scalar, PatchField, GeoMesh > &distance)
 Calculate and correct distance data from patches. More...
 
template<template< class > class WallLocation, class DataType , template< class > class PatchField, class GeoMesh , class TrackingData = int>
label calculate (const fvMesh &mesh, const labelHashSet &patchIDs, const scalar minFaceFraction, GeometricField< scalar, PatchField, GeoMesh > &distance, GeometricField< DataType, PatchField, GeoMesh > &data, TrackingData &td=FvFaceCellWave< nil >::defaultTrackingData_)
 Calculate distance and additional data from patches, using an. More...
 
template<template< class > class WallLocation, class DataType , template< class > class PatchField, class GeoMesh , class TrackingData = int>
void correct (const fvMesh &mesh, const labelHashSet &patchIDs, const scalar minFaceFraction, const label nCorrections, GeometricField< scalar, PatchField, GeoMesh > &distance, GeometricField< DataType, PatchField, GeoMesh > &data, TrackingData &td=FvFaceCellWave< nil >::defaultTrackingData_)
 Correct distance and additional data from patches, using an. More...
 
template<template< class > class WallLocation, class DataType , template< class > class PatchField, class GeoMesh , class TrackingData = int>
label calculateAndCorrect (const fvMesh &mesh, const labelHashSet &patchIDs, const scalar minFaceFraction, const label nCorrections, GeometricField< scalar, PatchField, GeoMesh > &distance, GeometricField< DataType, PatchField, GeoMesh > &data, TrackingData &td=FvFaceCellWave< nil >::defaultTrackingData_)
 Calculate and correct distance and additional data from patches, using an. More...
 
template<class DataType , template< class > class PatchField, class GeoMesh , class TrackingData = int>
label calculate (const fvMesh &mesh, const labelHashSet &patchIDs, const scalar minFaceFraction, GeometricField< scalar, PatchField, GeoMesh > &distance, GeometricField< DataType, PatchField, GeoMesh > &data, TrackingData &td=FvFaceCellWave< nil >::defaultTrackingData_)
 Calculate distance and additional data from patches. More...
 
template<class DataType , template< class > class PatchField, class GeoMesh , class TrackingData = int>
void correct (const fvMesh &mesh, const labelHashSet &patchIDs, const scalar minFaceFraction, const label nCorrections, GeometricField< scalar, PatchField, GeoMesh > &distance, GeometricField< DataType, PatchField, GeoMesh > &data, TrackingData &td=FvFaceCellWave< nil >::defaultTrackingData_)
 Correct distance and additional data from patches. More...
 
template<class DataType , template< class > class PatchField, class GeoMesh , class TrackingData = int>
label calculateAndCorrect (const fvMesh &mesh, const labelHashSet &patchIDs, const scalar minFaceFraction, const label nCorrections, GeometricField< scalar, PatchField, GeoMesh > &distance, GeometricField< DataType, PatchField, GeoMesh > &data, TrackingData &td=FvFaceCellWave< nil >::defaultTrackingData_)
 Calculate and correct distance and additional data from patches. More...
 
template<class FvWallInfoType , class TrackingData >
const List< FvWallInfoType > & getInternalInfo (const volScalarField &distance, FvFaceCellWave< FvWallInfoType, TrackingData > &wave)
 
template<class FvWallInfoType , class TrackingData >
const List< FvWallInfoType > & getInternalInfo (const surfaceScalarField &distance, FvFaceCellWave< FvWallInfoType, TrackingData > &wave)
 

Function Documentation

◆ getChangedPatchAndFaces()

List<labelPair> Foam::fvPatchDistWave::getChangedPatchAndFaces ( const fvMesh mesh,
const labelHashSet patchIDs,
const scalar  minFaceFraction 
)

Get initial set of changed faces.

◆ wave()

label Foam::fvPatchDistWave::wave ( const fvMesh mesh,
const List< labelPair > &  changedPatchAndFaces,
const label  nCorrections,
GeometricField< scalar, PatchField, GeoMesh > &  distance,
TrackingData &  td,
GeometricField< DataType, PatchField, GeoMesh > &...  data 
)

Wave distance (and maybe additional) data from faces. If nCorrections is.

negative (-1) then the wave propagates through the entire mesh and all values are calculated. If nCorrections is positive, then this many wave steps are computed and the result is corrected only on cells and faces that the wave reaches. Don't use this directly. Use calculate/correct/calculateAndCorrect functions below.

Referenced by getInternalInfo(), cellsToCellsStabilisation::update(), and patchToPatchStabilisation::update().

Here is the caller graph for this function:

◆ calculate() [1/3]

◆ correct() [1/3]

void Foam::fvPatchDistWave::correct ( const fvMesh mesh,
const labelHashSet patchIDs,
const scalar  minFaceFraction,
const label  nCorrections,
GeometricField< scalar, PatchField, GeoMesh > &  distance 
)

Correct distance data from patches.

◆ calculateAndCorrect() [1/3]

label Foam::fvPatchDistWave::calculateAndCorrect ( const fvMesh mesh,
const labelHashSet patchIDs,
const scalar  minFaceFraction,
const label  nCorrections,
GeometricField< scalar, PatchField, GeoMesh > &  distance 
)

Calculate and correct distance data from patches.

Referenced by meshWave::correct().

Here is the caller graph for this function:

◆ calculate() [2/3]

label Foam::fvPatchDistWave::calculate ( const fvMesh mesh,
const labelHashSet patchIDs,
const scalar  minFaceFraction,
GeometricField< scalar, PatchField, GeoMesh > &  distance,
GeometricField< DataType, PatchField, GeoMesh > &  data,
TrackingData &  td = FvFaceCellWavenil >::defaultTrackingData_ 
)

Calculate distance and additional data from patches, using an.

arbitrary wall location wave class

◆ correct() [2/3]

void Foam::fvPatchDistWave::correct ( const fvMesh mesh,
const labelHashSet patchIDs,
const scalar  minFaceFraction,
const label  nCorrections,
GeometricField< scalar, PatchField, GeoMesh > &  distance,
GeometricField< DataType, PatchField, GeoMesh > &  data,
TrackingData &  td = FvFaceCellWavenil >::defaultTrackingData_ 
)

Correct distance and additional data from patches, using an.

arbitrary wall location wave class

◆ calculateAndCorrect() [2/3]

label Foam::fvPatchDistWave::calculateAndCorrect ( const fvMesh mesh,
const labelHashSet patchIDs,
const scalar  minFaceFraction,
const label  nCorrections,
GeometricField< scalar, PatchField, GeoMesh > &  distance,
GeometricField< DataType, PatchField, GeoMesh > &  data,
TrackingData &  td = FvFaceCellWavenil >::defaultTrackingData_ 
)

Calculate and correct distance and additional data from patches, using an.

arbitrary wall location wave class

◆ calculate() [3/3]

label Foam::fvPatchDistWave::calculate ( const fvMesh mesh,
const labelHashSet patchIDs,
const scalar  minFaceFraction,
GeometricField< scalar, PatchField, GeoMesh > &  distance,
GeometricField< DataType, PatchField, GeoMesh > &  data,
TrackingData &  td = FvFaceCellWavenil >::defaultTrackingData_ 
)

Calculate distance and additional data from patches.

◆ correct() [3/3]

void Foam::fvPatchDistWave::correct ( const fvMesh mesh,
const labelHashSet patchIDs,
const scalar  minFaceFraction,
const label  nCorrections,
GeometricField< scalar, PatchField, GeoMesh > &  distance,
GeometricField< DataType, PatchField, GeoMesh > &  data,
TrackingData &  td = FvFaceCellWavenil >::defaultTrackingData_ 
)

Correct distance and additional data from patches.

◆ calculateAndCorrect() [3/3]

label Foam::fvPatchDistWave::calculateAndCorrect ( const fvMesh mesh,
const labelHashSet patchIDs,
const scalar  minFaceFraction,
const label  nCorrections,
GeometricField< scalar, PatchField, GeoMesh > &  distance,
GeometricField< DataType, PatchField, GeoMesh > &  data,
TrackingData &  td = FvFaceCellWavenil >::defaultTrackingData_ 
)

Calculate and correct distance and additional data from patches.

◆ getInternalInfo() [1/2]

const List<FvWallInfoType>& Foam::fvPatchDistWave::getInternalInfo ( const volScalarField distance,
FvFaceCellWave< FvWallInfoType, TrackingData > &  wave 
)

Definition at line 37 of file fvPatchDistWaveTemplates.C.

References wave().

Here is the call graph for this function:

◆ getInternalInfo() [2/2]

const List<FvWallInfoType>& Foam::fvPatchDistWave::getInternalInfo ( const surfaceScalarField distance,
FvFaceCellWave< FvWallInfoType, TrackingData > &  wave 
)

Definition at line 47 of file fvPatchDistWaveTemplates.C.

References wave().

Here is the call graph for this function: