Interpolation of cell-based displacements to the points with additional correction for interpolation inconsistency on patches. More...
Public Member Functions | |
TypeName ("patchCorrected") | |
Runtime type information. More... | |
patchCorrectedInterpolation (const fvMesh &mesh, Istream &entry) | |
Construct from an fvMesh and an Istream. More... | |
virtual | ~patchCorrectedInterpolation () |
Destructor. More... | |
virtual void | interpolate (const volScalarField &, pointScalarField &) const |
Interpolate the given scalar cell displacement. More... | |
virtual void | interpolate (const volVectorField &, pointVectorField &) const |
Interpolate the given vector cell displacement. More... | |
Public Member Functions inherited from motionInterpolation | |
TypeName ("motionInterpolation") | |
Runtime type information. More... | |
declareRunTimeSelectionTable (autoPtr, motionInterpolation, Istream,(const fvMesh &mesh, Istream &entry),(mesh, entry)) | |
motionInterpolation (const fvMesh &mesh) | |
Construct from an fvMesh. More... | |
motionInterpolation (const fvMesh &mesh, Istream &entry) | |
Construct from an fvMesh and an Istream. More... | |
virtual | ~motionInterpolation () |
Destructor. More... | |
const fvMesh & | mesh () const |
Return const-reference to the mesh. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from motionInterpolation | |
static autoPtr< motionInterpolation > | New (const fvMesh &mesh) |
Select default. More... | |
static autoPtr< motionInterpolation > | New (const fvMesh &mesh, Istream &entry) |
Select from stream. More... | |
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) );
Definition at line 72 of file patchCorrectedInterpolation.H.
patchCorrectedInterpolation | ( | const fvMesh & | mesh, |
Istream & | entry | ||
) |
Construct from an fvMesh and an Istream.
Definition at line 79 of file patchCorrectedInterpolation.C.
|
virtual |
Destructor.
Definition at line 91 of file patchCorrectedInterpolation.C.
TypeName | ( | "patchCorrected" | ) |
Runtime type information.
|
virtual |
Interpolate the given scalar cell displacement.
Reimplemented from motionInterpolation.
Definition at line 98 of file patchCorrectedInterpolation.C.
|
virtual |
Interpolate the given vector cell displacement.
Reimplemented from motionInterpolation.
Definition at line 108 of file patchCorrectedInterpolation.C.
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.