Interpolates between two sets of unstructured points using 2D Delaunay triangulation. Used in e.g. timeVaryingMapped bcs. More...
Public Member Functions | |
ClassName ("pointToPointPlanarInterpolation") | |
pointToPointPlanarInterpolation (const pointField &sourcePoints, const pointField &destPoints, const scalar perturb, const bool nearestOnly=false) | |
Construct from 3D locations. Determines local coordinate system. More... | |
pointToPointPlanarInterpolation (const coordinateSystem &referenceCS, const pointField &sourcePoints, const pointField &destPoints, const scalar perturb) | |
Construct from coordinate system and locations. More... | |
const coordinateSystem & | referenceCS () const |
Return the coordinateSystem. More... | |
label | sourceSize () const |
Number of source points. More... | |
const List< FixedList< label, 3 > > & | nearestVertex () const |
const List< FixedList< scalar, 3 > > & | nearestVertexWeight () const |
Current interpolation factors to face centres of underlying. More... | |
template<class Type > | |
tmp< Field< Type > > | interpolate (const Field< Type > &sourceFld) const |
Interpolate from field on source points to dest points. More... | |
template<class Type > | |
Foam::tmp< Foam::Field< Type > > | interpolate (const Field< Type > &sourceFld) const |
Static Public Member Functions | |
static wordList | timeNames (const instantList &) |
Helper: extract words of times. More... | |
static bool | findTime (const instantList ×, const label startSampleTime, const scalar timeVal, label &lo, label &hi) |
Helper: find time. Return true if succesful. More... | |
Private Member Functions | |
coordinateSystem | calcCoordinateSystem (const pointField &) const |
Calculate a local coordinate system from set of points. More... | |
void | calcWeights (const pointField &sourcePoints, const pointField &destPoints) |
Calculate addressing and weights. More... | |
Private Attributes | |
const scalar | perturb_ |
Perturbation factor. More... | |
const bool | nearestOnly_ |
Whether to use nearest point only (avoids triangulation, projection) More... | |
coordinateSystem | referenceCS_ |
Coordinate system. More... | |
label | nPoints_ |
Number of source points (for checking) More... | |
List< FixedList< label, 3 > > | nearestVertex_ |
Current interpolation addressing to face centres of underlying. More... | |
List< FixedList< scalar, 3 > > | nearestVertexWeight_ |
Current interpolation factors to face centres of underlying. More... | |
Interpolates between two sets of unstructured points using 2D Delaunay triangulation. Used in e.g. timeVaryingMapped bcs.
Definition at line 51 of file pointToPointPlanarInterpolation.H.
pointToPointPlanarInterpolation | ( | const pointField & | sourcePoints, |
const pointField & | destPoints, | ||
const scalar | perturb, | ||
const bool | nearestOnly = false |
||
) |
Construct from 3D locations. Determines local coordinate system.
from sourcePoints and maps onto that. If nearestOnly skips any local coordinate system and triangulation and uses nearest vertex only
Definition at line 311 of file pointToPointPlanarInterpolation.C.
pointToPointPlanarInterpolation | ( | const coordinateSystem & | referenceCS, |
const pointField & | sourcePoints, | ||
const pointField & | destPoints, | ||
const scalar | perturb | ||
) |
Construct from coordinate system and locations.
Definition at line 328 of file pointToPointPlanarInterpolation.C.
|
private |
Calculate a local coordinate system from set of points.
Definition at line 48 of file pointToPointPlanarInterpolation.C.
References Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::Info, Foam::mag(), n, Foam::nl, and points.
|
private |
Calculate addressing and weights.
Definition at line 132 of file pointToPointPlanarInterpolation.C.
References Foam::endl(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, forAll, Foam::Info, Foam::mag(), Foam::matchPoints(), boundBox::max(), boundBox::midpoint(), boundBox::min(), OFstream::name(), Foam::nl, Foam::Pout, rndGen(), s(), scalarField(), and OBJstream::write().
ClassName | ( | "pointToPointPlanarInterpolation" | ) |
|
inline |
Return the coordinateSystem.
Definition at line 120 of file pointToPointPlanarInterpolation.H.
References pointToPointPlanarInterpolation::referenceCS_.
|
inline |
Number of source points.
Definition at line 126 of file pointToPointPlanarInterpolation.H.
References pointToPointPlanarInterpolation::nPoints_.
Definition at line 132 of file pointToPointPlanarInterpolation.H.
References pointToPointPlanarInterpolation::nearestVertex_.
Current interpolation factors to face centres of underlying.
patch
Definition at line 139 of file pointToPointPlanarInterpolation.H.
|
static |
Helper: extract words of times.
Definition at line 347 of file pointToPointPlanarInterpolation.C.
References forAll, and List::size().
Referenced by timeVaryingMappedFixedValueFvPatchField< Type >::checkTable().
|
static |
Helper: find time. Return true if succesful.
Definition at line 362 of file pointToPointPlanarInterpolation.C.
References Foam::endl(), Foam::Pout, and List::size().
Interpolate from field on source points to dest points.
Foam::tmp<Foam::Field<Type> > interpolate | ( | const Field< Type > & | sourceFld | ) | const |
Definition at line 32 of file pointToPointPlanarInterpolationTemplates.C.
References Foam::exit(), Foam::FatalError, FatalErrorInFunction, fld(), forAll, and w().
|
private |
Perturbation factor.
Definition at line 56 of file pointToPointPlanarInterpolation.H.
|
private |
Whether to use nearest point only (avoids triangulation, projection)
Definition at line 59 of file pointToPointPlanarInterpolation.H.
|
private |
Coordinate system.
Definition at line 62 of file pointToPointPlanarInterpolation.H.
Referenced by pointToPointPlanarInterpolation::referenceCS().
|
private |
Number of source points (for checking)
Definition at line 65 of file pointToPointPlanarInterpolation.H.
Referenced by pointToPointPlanarInterpolation::sourceSize().
Current interpolation addressing to face centres of underlying.
patch
Definition at line 69 of file pointToPointPlanarInterpolation.H.
Referenced by pointToPointPlanarInterpolation::nearestVertex().
Current interpolation factors to face centres of underlying.
patch
Definition at line 73 of file pointToPointPlanarInterpolation.H.
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.