OPALX (Object Oriented Parallel Accelerator Library for Exascal) MINIorX
OPALX
interpolation::VectorMap Class Referenceabstract

#include <VectorMap.h>

Inheritance diagram for interpolation::VectorMap:
Collaboration diagram for interpolation::VectorMap:

Public Member Functions

virtual void function (const double *point, double *value) const =0
virtual void function (const Mesh::Iterator &point, double *value) const
virtual void functionAppend (const std::vector< std::vector< double > > &point_vec, std::vector< std::vector< double > > &value_vec) const
virtual bool checkPoint (const std::vector< double > &point) const
virtual bool checkValue (const std::vector< double > &value) const
virtual unsigned int getPointDimension () const =0
virtual unsigned int getValueDimension () const =0
virtual VectorMapclone () const =0
virtual ~VectorMap ()
virtual MeshgetMesh () const

Detailed Description

VectorMap is an abstract class that defines mapping from one vector to another.

VectorMap is base class primarily envisaged for mesh interpolation that defines interfaces to get interpolated data at a given point, access the mesh, etc.

Input and output dimensions (vector lengths) are arbitrary.

Definition at line 46 of file VectorMap.h.

Constructor & Destructor Documentation

◆ ~VectorMap()

virtual interpolation::VectorMap::~VectorMap ( )
inlinevirtual

Destructor

Definition at line 88 of file VectorMap.h.

Member Function Documentation

◆ checkPoint()

bool interpolation::VectorMap::checkPoint ( const std::vector< double > & point) const
inlinevirtual

Return true if point.size() is the same as this->PointDimension()

Definition at line 95 of file VectorMap.h.

◆ checkValue()

bool interpolation::VectorMap::checkValue ( const std::vector< double > & value) const
inlinevirtual

Return true if value.size() is the same as this->ValueDimension()

Definition at line 99 of file VectorMap.h.

◆ clone()

virtual VectorMap * interpolation::VectorMap::clone ( ) const
pure virtual

◆ function() [1/2]

virtual void interpolation::VectorMap::function ( const double * point,
double * value ) const
pure virtual

Pure virtual function to fill the array value with data evaluated at point.

Implemented in interpolation::PolynomialPatch.

Referenced by interpolation::Interpolator3dGridTo1d::function(), interpolation::Interpolator3dGridTo3d::function(), interpolation::TriLinearInterpolator::function(), function(), and functionAppend().

Here is the caller graph for this function:

◆ function() [2/2]

void interpolation::VectorMap::function ( const Mesh::Iterator & point,
double * value ) const
inlinevirtual

Fill the array value with function data at a point on the mesh.

Implemented for default case where Mesh point dimension is the same as this point dimension (usual case). No default checking for array sizes.

Reimplemented in interpolation::Interpolator3dGridTo1d, interpolation::Interpolator3dGridTo3d, and interpolation::TriLinearInterpolator.

Definition at line 103 of file VectorMap.h.

References function(), getPointDimension(), and interpolation::Mesh::Iterator::getPosition().

Here is the call graph for this function:

◆ functionAppend()

void interpolation::VectorMap::functionAppend ( const std::vector< std::vector< double > > & point_vec,
std::vector< std::vector< double > > & value_vec ) const
inlinevirtual

Calculate F, appending output values to value_vec.

For each item in point_vec not in value_vec, calculate value_vec (urgh)

Definition at line 109 of file VectorMap.h.

References function(), and getValueDimension().

Here is the call graph for this function:

◆ getMesh()

virtual Mesh * interpolation::VectorMap::getMesh ( ) const
inlinevirtual

Return the mesh used by the vector map or nullptr if no mesh

Reimplemented in interpolation::Interpolator3dGridTo1d, interpolation::Interpolator3dGridTo3d, and interpolation::PolynomialPatch.

Definition at line 91 of file VectorMap.h.

◆ getPointDimension()

virtual unsigned int interpolation::VectorMap::getPointDimension ( ) const
pure virtual

Return the dimension of the point (input)

Implemented in interpolation::Interpolator3dGridTo1d, interpolation::Interpolator3dGridTo3d, and interpolation::PolynomialPatch.

Referenced by function().

Here is the caller graph for this function:

◆ getValueDimension()

virtual unsigned int interpolation::VectorMap::getValueDimension ( ) const
pure virtual

Return the dimension of the value (output)

Implemented in interpolation::Interpolator3dGridTo1d, interpolation::Interpolator3dGridTo3d, and interpolation::PolynomialPatch.

Referenced by functionAppend().

Here is the caller graph for this function:

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