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

#include <VectorInterpolator.h>

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

Public Member Functions

 VectorInterpolator (std::vector< Vector * > parameter_points, std::vector< Matrix * > rotation_matrices, std::vector< Vector * > reduced_vectors, int ref_point, std::string rbf="G", double epsilon=1.0)
 Constructor. More...
 
Vectorinterpolate (Vector *point)
 Obtain the interpolated reduced vector of the unsampled parameter point. More...
 

Additional Inherited Members

- Protected Member Functions inherited from CAROM::Interpolator
 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 inherited from CAROM::Interpolator
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

VectorInterpolator interpolates reduced vectors of a set of parameter points and returns an interpolated reduced vector for an unseen parameter point. 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::VectorInterpolator::VectorInterpolator ( std::vector< Vector * >  parameter_points,
std::vector< Matrix * >  rotation_matrices,
std::vector< Vector * >  reduced_vectors,
int  ref_point,
std::string  rbf = "G",
double  epsilon = 1.0 
)

Constructor.

Parameters
[in]parameter_pointsThe parameter points.
[in]rotation_matricesThe rotation matrices associated with each parameter point.
[in]reduced_vectorsThe reduced vectors 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

Vector* CAROM::VectorInterpolator::interpolate ( Vector point)

Obtain the interpolated reduced vector of the unsampled parameter point.

Parameters
[in]pointThe unsampled parameter point.

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