Public Member Functions | List of all members
patchCorrectedInterpolation Class Reference

Interpolation of cell-based displacements to the points with additional correction for interpolation inconsistency on patches. More...

Inheritance diagram for patchCorrectedInterpolation:
Inheritance graph
[legend]
Collaboration diagram for patchCorrectedInterpolation:
Collaboration graph
[legend]

Public Member Functions

 TypeName ("patchCorrected")
 
 patchCorrectedInterpolation (const fvMesh &mesh, Istream &entry)
 
virtual ~patchCorrectedInterpolation ()
 
virtual void interpolate (const volScalarField &, pointScalarField &) const
 
virtual void interpolate (const volVectorField &, pointVectorField &) const
 
- Public Member Functions inherited from motionInterpolation
 TypeName ("motionInterpolation")
 
 declareRunTimeSelectionTable (autoPtr, motionInterpolation, Istream,(const fvMesh &mesh, Istream &entry),(mesh, entry))
 
 motionInterpolation (const fvMesh &mesh)
 
 motionInterpolation (const fvMesh &mesh, Istream &entry)
 
virtual ~motionInterpolation ()
 
const fvMeshmesh () const
 

Additional Inherited Members

- Static Public Member Functions inherited from motionInterpolation
static autoPtr< motionInterpolationNew (const fvMesh &mesh)
 
static autoPtr< motionInterpolationNew (const fvMesh &mesh, Istream &entry)
 

Detailed Description

Interpolation of cell-based displacements to the points with additional correction for interpolation inconsistency on patches.

The default interpolation method interpolates from the cells to all points except those on boundaries with value boundary conditions. The discrepancy across the boundary cell can cause shearing and inversion if the cells are of very high aspect ratio.

This method applies the default interpolation to *all* points, including those on value boundaries. The difference between the interpolated value on the boundary and the desired boundary condition is then propagated into the mesh with a wave. Contributions from different patches are inverse-distance weighted, and the result is added to the default interpolation. The result of this is that thin boundary cells are maintained much more accurately for non-uniform patch displacements.

The user must specify the patch groups from which to propagate the motion. Ideally, these groups will be opposing; i.e. one group with the aerofoil, and one with the far field:

    interpolation patchCorrected
    (
        (aerofoilUpper aerofoilLower)
        (farField)
    );
Source files

Definition at line 72 of file patchCorrectedInterpolation.H.

Constructor & Destructor Documentation

◆ patchCorrectedInterpolation()

patchCorrectedInterpolation ( const fvMesh mesh,
Istream entry 
)

Definition at line 79 of file patchCorrectedInterpolation.C.

◆ ~patchCorrectedInterpolation()

Definition at line 91 of file patchCorrectedInterpolation.C.

Member Function Documentation

◆ TypeName()

TypeName ( "patchCorrected"  )

◆ interpolate() [1/2]

void interpolate ( const volScalarField cellDisplacement,
pointScalarField pointDisplacement 
) const
virtual

Reimplemented from motionInterpolation.

Definition at line 98 of file patchCorrectedInterpolation.C.

◆ interpolate() [2/2]

void interpolate ( const volVectorField cellDisplacement,
pointVectorField pointDisplacement 
) const
virtual

Reimplemented from motionInterpolation.

Definition at line 108 of file patchCorrectedInterpolation.C.


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