All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Poisson Class Reference

Calculation of approximate distance to nearest patch for all cells and boundary by solving Poisson's equation. More...

Inheritance diagram for Poisson:
Collaboration diagram for Poisson:

Public Member Functions

 TypeName ("Poisson")
 Runtime type information. More...
 
 Poisson (const dictionary &dict, const fvMesh &mesh, const labelHashSet &patchIDs)
 Construct from coefficients dictionary, mesh. More...
 
 Poisson (const fvMesh &mesh, const labelHashSet &patchIDs)
 Construct from mesh and fixed-value patch set. More...
 
 Poisson (const Poisson &)=delete
 Disallow default bitwise copy construction. More...
 
virtual bool correct (volScalarField &y)
 Correct the given distance-to-patch field. More...
 
virtual bool correct (volScalarField &y, volVectorField &n)
 Correct the given distance-to-patch and normal-to-patch fields. More...
 
void operator= (const Poisson &)=delete
 Disallow default bitwise assignment. More...
 
- Public Member Functions inherited from patchDistMethod
 TypeName ("patchDistMethod")
 Runtime type information. More...
 
 declareRunTimeSelectionTable (autoPtr, patchDistMethod, dictionary,(const dictionary &dict, const fvMesh &mesh, const labelHashSet &patchIDs),(dict, mesh, patchIDs))
 
 patchDistMethod (const fvMesh &mesh, const labelHashSet &patchIDs)
 Construct from mesh and patch ID set. More...
 
 patchDistMethod (const patchDistMethod &)=delete
 Disallow default bitwise copy construction. More...
 
virtual ~patchDistMethod ()
 Destructor. More...
 
const labelHashSetpatchIDs () const
 Return the patchIDs. More...
 
virtual bool movePoints ()
 Update cached geometry when the mesh moves. More...
 
virtual void updateMesh (const mapPolyMesh &)
 Update cached topology and geometry when the mesh changes. More...
 
void operator= (const patchDistMethod &)=delete
 Disallow default bitwise assignment. More...
 
template<class Type >
Foam::wordList patchTypes (const fvMesh &mesh, const labelHashSet &patchIDs)
 

Additional Inherited Members

- Static Public Member Functions inherited from patchDistMethod
static autoPtr< patchDistMethodNew (const dictionary &dict, const fvMesh &mesh, const labelHashSet &patchIDs)
 
template<class Type >
static wordList patchTypes (const fvMesh &mesh, const labelHashSet &patchIDs)
 Return the patch types for y and n. More...
 
- Protected Attributes inherited from patchDistMethod
const fvMeshmesh_
 Reference to the mesh. More...
 
const labelHashSet patchIDs_
 Set of patch IDs. More...
 

Detailed Description

Calculation of approximate distance to nearest patch for all cells and boundary by solving Poisson's equation.

References:

    D.B. Spalding,
    "Calculation of turbulent heat transfer in cluttered spaces",
    Proc. 10th Int. Heat Transfer Conference, Brighton, UK, (1994).

    E. Fares and W. Schroder,
    "Differential Equation for Approximate Wall Distance",
    Int.J.Numer.Meth., 39:743-762, (2002).

    P.G. Tucker,
    "Differential equation based wall distance computation for DES and
     RANS",
    J.Comp.Phys., Vol. 190, Issue 1, 1 st September, pp. 229-248 (2003)

Example of the wallDist specification in fvSchemes:

    laplacianSchemes
    {
        .
        .
        laplacian(yPsi) Gauss linear corrected;
        .
        .
    }

    wallDist
    {
        method Poisson;

        // Optional entry enabling the calculation
        // of the normal-to-wall field
        nRequired false;
    }

Also the solver specification for yPsi is required in fvSolution, e.g. for simple cases:

    yPsi
    {
        solver          PCG;
        preconditioner  DIC;
        tolerance       1e-5;
        relTol          0;
    }

or for more complex cases:

    yPsi
    {
        solver          GAMG;
        smoother        GaussSeidel;
        cacheAgglomeration true;
        nCellsInCoarsestLevel 10;
        agglomerator    faceAreaPair;
        mergeLevels     1;
        tolerance       1e-5;
        relTol          0;
    }
See also
Foam::patchDistMethod::meshWave Foam::wallDist
Source files

Definition at line 117 of file PoissonPatchDistMethod.H.

Constructor & Destructor Documentation

◆ Poisson() [1/3]

Poisson ( const dictionary dict,
const fvMesh mesh,
const labelHashSet patchIDs 
)

Construct from coefficients dictionary, mesh.

and fixed-value patch set

Definition at line 45 of file PoissonPatchDistMethod.C.

◆ Poisson() [2/3]

Poisson ( const fvMesh mesh,
const labelHashSet patchIDs 
)

Construct from mesh and fixed-value patch set.

Definition at line 56 of file PoissonPatchDistMethod.C.

◆ Poisson() [3/3]

Poisson ( const Poisson )
delete

Disallow default bitwise copy construction.

Member Function Documentation

◆ TypeName()

TypeName ( "Poisson"  )

Runtime type information.

◆ correct() [1/2]

bool correct ( volScalarField y)
virtual

Correct the given distance-to-patch field.

Implements patchDistMethod.

Definition at line 67 of file PoissonPatchDistMethod.C.

References correct, and GeometricField< vector, fvPatchField, volMesh >::null().

Here is the call graph for this function:

◆ correct() [2/2]

◆ operator=()

void operator= ( const Poisson )
delete

Disallow default bitwise assignment.


The documentation for this class was generated from the following files: