libROM  v1.0
Data-driven physical simulation library
 All Classes Functions Variables Enumerations
Protected Member Functions | Protected Attributes | List of all members
CAROM::Interpolator Class Reference

#include <Interpolator.h>

Inheritance diagram for CAROM::Interpolator:
CAROM::MatrixInterpolator CAROM::VectorInterpolator

Protected Member Functions

 Interpolator (std::vector< Vector * > parameter_points, std::vector< Matrix * > rotation_matrices, int ref_point, std::string rbf, double epsilon=1.0)
 Constructor. More...
 
std::vector< double > obtainRBFToTrainingPoints (Vector *point)
 Compute the RBF from the parameter points with the unsampled parameter point. More...
 
double obtainRBF (Vector *point1, Vector *point2)
 Compute the RBF between two points. More...
 

Protected Attributes

int d_rank
 The rank of the process this object belongs to.
 
int d_num_procs
 The number of processors being run on.
 
int d_ref_point
 The index within the vector of parameter points to the reference point.
 
std::string d_rbf
 The RBF type (gaussian, multiquadric, inverse quadratic, inverse multiquadric)
 
int d_epsilon
 The RBF parameter that determines the width of influence. a small epsilon: larger influential width a large epsilon: smaller influential width.
 
std::vector< Vector * > d_parameter_points
 The sampled parameter points.
 
std::vector< Matrix * > d_rotation_matrices
 The reduced bases with compatible coordinates.
 
Matrixd_lambda_T
 The reduced elements in tangential space.
 

Detailed Description

Interpolator is an uninstantiable protected class that retains common functionality between the MatrixInterpolator and VectorInterpolator classes. The interpolation algorithm was adapted from "Gradient-based Constrained Optimization Using a Database of Linear Reduced-Order Models" by Y. Choi et al.

Constructor & Destructor Documentation

CAROM::Interpolator::Interpolator ( std::vector< Vector * >  parameter_points,
std::vector< Matrix * >  rotation_matrices,
int  ref_point,
std::string  rbf,
double  epsilon = 1.0 
)
protected

Constructor.

Parameters
[in]parameter_pointsThe parameter points.
[in]rotation_matricesThe rotation matrices associated with each parameter point.
[in]ref_pointThe index within the vector of parameter points to the reference point
[in]rbfThe RBF type ("G" == gaussian, "MQ" == multiquadric, "IQ" == inverse quadratic, "IMQ" == inverse multiquadric)
[in]epsilonThe RBF parameter that determines the width of influence.

Member Function Documentation

double CAROM::Interpolator::obtainRBF ( Vector point1,
Vector point2 
)
protected

Compute the RBF between two points.

Parameters
[in]point1The first point.
[in]point2The second point.
std::vector<double> CAROM::Interpolator::obtainRBFToTrainingPoints ( Vector point)
protected

Compute the RBF from the parameter points with the unsampled parameter point.

Parameters
[in]pointThe unsampled parameter point.

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