pointToPointPlanarInterpolation Class Reference

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 pointToPointPlanarInterpolation &)=default
 Copy construct. More...
 
pointToPointPlanarInterpolationoperator= (const pointToPointPlanarInterpolation &)=default
 Copy assignment. More...
 
 pointToPointPlanarInterpolation (const pointField &sourcePoints, const pointField &destPoints, const scalar perturb, const bool nearestOnly=false)
 Construct from 3D locations. More...
 
 pointToPointPlanarInterpolation (const coordinateSystem &referenceCS, const pointField &sourcePoints, const pointField &destPoints, const scalar perturb)
 Construct from coordinate system and locations. More...
 
 pointToPointPlanarInterpolation (const scalar perturb, const bool nearestOnly, const coordinateSystem &referenceCS, const label sourceSize, List< FixedList< label, 3 >> &&nearestVertex, List< FixedList< scalar, 3 >> &&nearestVertexWeight)
 Construct from components. More...
 
autoPtr< pointToPointPlanarInterpolationclone () const
 Construct and return a clone. More...
 
scalar perturb () const noexcept
 Perturbation factor (for triangulation) More...
 
bool nearestOnly () const noexcept
 Whether to use nearest point only (avoids triangulation, projection) More...
 
const coordSystem::cartesianreferenceCS () const noexcept
 Return the Cartesian reference coordinate system. More...
 
label sourceSize () const noexcept
 Number of source points. More...
 
label targetSize () const noexcept
 Number of target points. More...
 
const List< FixedList< label, 3 > > & nearestVertex () const noexcept
 Interpolation addressing to face centres of underlying patch. More...
 
const List< FixedList< scalar, 3 > > & nearestVertexWeight () const noexcept
 Interpolation factors to face centres of underlying patch. 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 >
tmp< Field< Type > > interpolate (const tmp< Field< Type >> &tsource) 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
 
template<class Type >
Foam::tmp< Foam::Field< Type > > interpolate (const tmp< Field< Type >> &tsource) const
 

Static Public Member Functions

static wordList timeNames (const instantList &times)
 Helper: extract words of times. More...
 

Detailed Description

Interpolates between two sets of unstructured points using 2D Delaunay triangulation. Used in e.g. timeVaryingMapped bcs.

Source files

Definition at line 51 of file pointToPointPlanarInterpolation.H.

Constructor & Destructor Documentation

◆ pointToPointPlanarInterpolation() [1/4]

◆ pointToPointPlanarInterpolation() [2/4]

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 316 of file pointToPointPlanarInterpolation.C.

◆ pointToPointPlanarInterpolation() [3/4]

pointToPointPlanarInterpolation ( const coordinateSystem referenceCS,
const pointField sourcePoints,
const pointField destPoints,
const scalar  perturb 
)

Construct from coordinate system and locations.

Definition at line 337 of file pointToPointPlanarInterpolation.C.

◆ pointToPointPlanarInterpolation() [4/4]

pointToPointPlanarInterpolation ( const scalar  perturb,
const bool  nearestOnly,
const coordinateSystem referenceCS,
const label  sourceSize,
List< FixedList< label, 3 >> &&  nearestVertex,
List< FixedList< scalar, 3 >> &&  nearestVertexWeight 
)

Construct from components.

Definition at line 354 of file pointToPointPlanarInterpolation.C.

Member Function Documentation

◆ ClassName()

ClassName ( "pointToPointPlanarInterpolation"  )

◆ operator=()

Copy assignment.

◆ clone()

autoPtr<pointToPointPlanarInterpolation> clone ( ) const
inline

Construct and return a clone.

Definition at line 173 of file pointToPointPlanarInterpolation.H.

References autoPtr< T >::New().

Here is the call graph for this function:

◆ perturb()

scalar perturb ( ) const
inlinenoexcept

Perturbation factor (for triangulation)

Definition at line 184 of file pointToPointPlanarInterpolation.H.

◆ nearestOnly()

bool nearestOnly ( ) const
inlinenoexcept

Whether to use nearest point only (avoids triangulation, projection)

Definition at line 192 of file pointToPointPlanarInterpolation.H.

◆ referenceCS()

const coordSystem::cartesian& referenceCS ( ) const
inlinenoexcept

Return the Cartesian reference coordinate system.

Definition at line 200 of file pointToPointPlanarInterpolation.H.

◆ sourceSize()

label sourceSize ( ) const
inlinenoexcept

Number of source points.

Definition at line 208 of file pointToPointPlanarInterpolation.H.

◆ targetSize()

label targetSize ( ) const
inlinenoexcept

Number of target points.

Definition at line 216 of file pointToPointPlanarInterpolation.H.

References UList< T >::size().

Here is the call graph for this function:

◆ nearestVertex()

const List<FixedList<label, 3> >& nearestVertex ( ) const
inlinenoexcept

Interpolation addressing to face centres of underlying patch.

Definition at line 224 of file pointToPointPlanarInterpolation.H.

◆ nearestVertexWeight()

const List<FixedList<scalar, 3> >& nearestVertexWeight ( ) const
inlinenoexcept

Interpolation factors to face centres of underlying patch.

Definition at line 232 of file pointToPointPlanarInterpolation.H.

◆ timeNames()

Foam::wordList timeNames ( const instantList times)
static

Helper: extract words of times.

Definition at line 375 of file pointToPointPlanarInterpolation.C.

References forAll, Foam::PtrListOps::names(), and UList< T >::size().

Here is the call graph for this function:

◆ interpolate() [1/4]

tmp<Field<Type> > interpolate ( const Field< Type > &  sourceFld) const

Interpolate from field on source points to dest points.

◆ interpolate() [2/4]

tmp<Field<Type> > interpolate ( const tmp< Field< Type >> &  tsource) const

Interpolate from field on source points to dest points.

◆ interpolate() [3/4]

Foam::tmp<Foam::Field<Type> > interpolate ( const Field< Type > &  sourceFld) const

Definition at line 29 of file pointToPointPlanarInterpolationTemplates.C.

References Foam::exit(), Foam::FatalError, FatalErrorInFunction, fld, forAll, Foam::New(), and UList< Type >::size().

Here is the call graph for this function:

◆ interpolate() [4/4]

Foam::tmp<Foam::Field<Type> > interpolate ( const tmp< Field< Type >> &  tsource) const

Definition at line 81 of file pointToPointPlanarInterpolationTemplates.C.

References Foam::fac::interpolate().

Here is the call graph for this function:

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