OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
interpolation::VectorMap Class Referenceabstract

#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
 
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 86 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 94 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 98 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, interpolation::PolynomialPatch, and interpolation::TriLinearInterpolator.

Definition at line 102 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 89 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().

◆ 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().


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