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

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

#include <VectorMap.h>

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

Public Member Functions

virtual void function (const double *point, double *value) const =0
 Pure virtual function to fill the array value with data evaluated at point. More...
 
virtual void function (const Mesh::Iterator &point, double *value) const
 Fill the array value with function data at a point on the mesh. More...
 
virtual void functionAppend (const std::vector< std::vector< double > > &point_vec, std::vector< std::vector< double > > &value_vec) const
 Calculate F, appending output values to value_vec. More...
 
virtual bool checkPoint (const std::vector< double > &point) const
 Return true if point.size() is the same as this->PointDimension() More...
 
virtual bool checkValue (const std::vector< double > &value) const
 Return true if value.size() is the same as this->ValueDimension() More...
 
virtual unsigned int getPointDimension () const =0
 Return the dimension of the point (input) More...
 
virtual unsigned int getValueDimension () const =0
 Return the dimension of the value (output) More...
 
virtual VectorMapclone () const =0
 Clone() is like a copy constructor - but copies the child class. More...
 
virtual ~VectorMap ()
 Destructor. More...
 
virtual MeshgetMesh () const
 Return the mesh used by the vector map or nullptr if no mesh. More...
 

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

◆ 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

◆ getPointDimension()

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

◆ getValueDimension()

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

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